Configuration syntax up to and including V253

The configurations of the variables of a channel are specified in a textual list.

Example:

#
***************************************##       External
variables V253##
****************************************#anzahl_belegt       2#var[0].name        
GLOBAL_SWRvar[0].index       
0        # Start positionvar[0].var_typ     
16       # SGN16_Arrayvar[0].mode        
0x1      # 1 : VE_SYNCH, 2 : VE_ASYNCHvar[0].access      
0x0202       # 0x100 : local, 0x200 global                      # 0x1 : read,
0x2 : writevar[0].max_element     
0        # Array sizevar[0].offset      
2        # 2 bytes per elementvar[0].kennung     
0        # Not used#var[1].name        
CHANNEL_WRvar[1].index       
0        # Start positionvar[1].var_typ     
8        # SGN32var[1].mode        
0x2      # 1 : VE_SYNCH, 2 : VE_ASYNCHvar[1].access      
0x0101       # 0x100 : local, 0x200 global                      # 0x1 : read,
0x2 : writevar[1].max_element     
10       # Array sizevar[1].offset      
4        # 4 bytes per elementvar[1].kennung     
0        # Not used#Ende

The elements have the following significance

Designator

Value range

Default

Significance

anzahl_belegt

[0; MAX_UNS16]

0

If var[i].* is assigned without gap, here the index of the variable defined last +1 is entered (ilast+1).

If var[i].* is assigned with gaps, here the highest index of the defined variables +1 is entered (imax+1).

var[i].*

i:= [0; 214]

Data records for the definition of variables.

name

ASCII string

 

The variable is identified on the basis of the name. The name is used to compose an overall name for the NC-channel and the GUI (e.g. V.E.<name>).

Upper case letters and lower case letters are differentiated.

index

[ 0; MAX_SNG32]

-1

The index defines the position in the memory at which the variable is saved. The overall memory is structured as an array of units with a size of 24 bytes.

An index of –1 indicates that the entry is not used.

var_typ

2 – BOOLEAN,
3 - UNS08,
4 - SGN08,
5 - UNS16,
6 - SGN16,
7 - UNS32,
8 - SGN32;
9 - REAL64,
10 - STRING

12 –BOOLEAN Array,
13 - UNS08 Array,
…

UNS32

The type indicates the data type of the variable. Besides elementary data types (SGN08, ..., REAL64, ARRAY_OF_SGN08, ...), there is also the data type String which currently comprises 24 bytes, including end mark.

mode

1 – synchronous,
2 – asynchronous

1

For optimization purposes, variables can also be accessed during decoding non-synchronously with respect to current program execution.

access

0x100 – CHANNEL,
0x200 – GLOBAL,


0x1 – READ
0x2 – WRITE

0x103

In the case of the scope of validity, a distinction is made between a channel-specific scope and a cross-channel, global scope.

Write/read access (0x3) to the variables is possible by default, and this access can be restricted with access protection.

max_element

[ 0; MAX_UNS16]

0

If the variable is not configured as an array, the array size must be specified as 0. Otherwise, the total size of the array is defined at this point.

offset

[ 0; MAX_UNS32]

4

Indicates the size of the variable including any alignment bytes, i.e. the difference between two consecutive array elements. Depending on computer architecture and alignment strategy, this size may comprise the real wanted data and additional alignment bytes.

kennung

[0; MAX_SGN16]

0

Not used. Free available user specific parameter.