Debug-Panel

SUMMARY

This document describes the Debug-Panel available on SoftPLC7

CONTENTS

  1. Introduction
  2. Debug-Panel

Introduction

The SoftPLC7 offers a fast and simple method to inspect and control the flow of a running S7 Program. The small start-up window may be enlarged to a broad dialog window.

Via the pull-down menu 'View', it may be switched between Debug and Test mode.



Debug-Panel

List box

COLUMN OPERAND
Any global operands may be inputted. The syntax for operands is equivalent to that of the SIMATIC Manager i.e. 'M0.0'.
Letters are used to classify the <Type>:
'B' (byte), 'W' (word), 'D' (dword) and 'X' (bit) for Data Block.

Operands may be divided into 3 classes.

Syntax: <Prefix><Type><Address> with type for BYTE, WORD or DWORD
Or: <Prefix><Address><Bit> for Bit operands

Example:

'MB 0'     represents Byte 0 within the Memory Area
'EW 8'     represents Input Word starting at address 8,  
           ATTENTION: does NOT represent Input-Bytes at addresses 16 and 17!
'PAD 4'    represents Peripheral-Output-Double-Word starting address 4
'PE 10.2'  represents Bit 2 of Peripheral-Input Bytes starting address 10
'LW 4'     represents the WORD in the local-data- area starting address 4 
           (STOP condition only)
'DBX 1.0'  represents Bit 0 of Byte 1 of the opened Global-DB
	 	   		(STOP condition only)
'DID 20'   represents the DOUBLE WORD starting address 20 of the opened 
	 	   Instance-DB STOP condition only)

Syntax: <Prefix><Type><Address> with types for BYTE, WORD or DWORD
Or <Prefix><Address><Bit> for Bit operands

Example:

'DB 100.DBB 3'  represents the byte at address 3 within the data block No.100
'DB 20.DBX 3.4' represents bit 4 of the byte at address 3 within the data 
		   				   	   	 			 			  		 	block No.20
          

Syntax: <Prefix><Number>
Example:

'T1' represents timer value of timer No. 1
'C2' represents counter value of counter No.2
          


Iteration is permitted, except for Bit-Operands, Counters and Timers.

Example:

'MD 2,5'           5 Double-Words (=20 bytes), starting address 2 within Memory-Area
'DB 100.DBW 10,3'  3 Words (=6 bytes), starting address 10 within DB No.100
          

The areas L, DB and DI may be displayed or modified in STOP-condition only. Any other condition leaves the 'state' indication empty.

The hook in the tick box in front of the operand defines whether the value should be actualized after OB1-Cycle.

A list of operands with format indication also known as 'Variables-Table', short 'VAT', it may be stored and loaded.



COLUMN DISPLAY FORMAT
A left mouse click in the field opens a combo box that offers different formats to display status= and control values.

The options are:


COLUMN STATE
The values read after any OB1- respectively any OB-cycle are displayed here. See also Section [watch] in 'SoftPLC.ini' file


COLUMN FORCE VALUE
Values inputted here are written to SoftPLC7 once.


COLUMN FORCE PER.
A left mouse click in that field causes the value in column 'Force value' to be written to the SoftPLC7 periodically. This function is applicable for peripheral data also. (Not to be mistaken by the functionality 'Force' – that one is not available on SoftPLC7, due to performance reasons.)


Icon 'save'- Button 'Save as'
A created Operand-List may be saved for later use. B utton 'Save as ..'' opens a dialog asking a file name. By confirming via the 'ok' button the columns 'Operand' and 'Display format' and 'Force value' are written to file <filename.vat.ini> in the directory 'Vat'. 'Vat' is a subfolder to the SoftPLC-Project directory.
Icon 'save' merely saves the actual Operand-List to the file shown in the field 'VAT'. The old condense is overwritten.

VAT
A left mouse click in that field opens a combo box showing all saved Operand-Lists. On selection the saved file is restored, the existing list is thrown away.

Cycle Times
The 3 adjoining fields on the right top display the cycle times of OB1. (Left = shortest; Middle = actual; Right = so far longest time)
The field on the very right shows the average cycle time of the OB1..
After program restart the calculation is averaged new.