Funktion „Write variable value by handle“

Index-Gruppe: IdxGrp = 0x122300 + Kanal_ID

Index-Offset: IdxOffs = 0x49

Schreiben über
Handle

Mit dieser Funktion kann der Wert einer Variablen über ihr Handle geändert werden.

Übergabeparameter: (hier mit Angabe der Stream-Offsets)::

0

4

8

12

...

8 + 4 * n

Handle auf die Variable

Anzahl n

Arrayindizes

1. Index

2. Index

...

Variablenwert

wobei

Inhalt

Typ

Größe

Handle auf die Variable

UNS32

fest, 4 Byte

Anzahl n übertragener Arrayindizes

UNS32

fest, 4 Byte

1. – n. Arrayindex

UNS32

variabel, n * 4 Byte

Variablenwert

String, REAL64, SGN32, REAL64[ ], SGN32[ ][ ], ...

variabel, max. 2040 Byte

=> Streamlänge max. 2048 Byte

Diese Funktion besitzt keinen Rückgabewert.

Bei einer Array-Variablen kann neben einem Einzelwert auch das komplette Feld geschrieben werden, in dem keine Array-Indizes übergeben werden.

Beispiel Variable V.G.array[0 .. 9]:

Handle auf die Variable

Anzahl Arrayindizes

 

1. Index

Variablenwert

Handle auf das Array

1

4

Wert des 5. Elements V.G.array[4]

Handle auf das Array

0

Wert der Array-Elemente 0 - 9

Anwendungsbeispiele

1. Beispiel für das Schreiben eines Arrayelements eines eindimensionalen Arrays:

Übergabeparameter:

0x2001234

1

4

123

0x2001234 Handle der Variablen

1 Anzahl Arraydimensionen

4 für den Index 4 also das 5. Element der Variablen V.E.test[] → V.E.test4[]

123 Neuer Wert des 5. Elements der Variablen

Rückgabewert: -

2. Beispiel für das Schreiben eines gesamten Arrays mit 5 Elementen:

0x2001234

0

123

234

345

456

567

0x2001234 Handle der Variablen

0 Anzahl Arraydimensionen

123 Neuer Wert des 1. Elements der Variablen

234 Neuer Wert des 2. Elements der Variablen

345 Neuer Wert des 3. Elements der Variablen

456 Neuer Wert des 4. Elements der Variablen

567 Neuer Wert des 5. Elements der Variablen

Rückgabewert: -