F_iecMoveStreamToStream
Diese Funktion kopiert Datenbytes von der source-Variablen zur target-Variablen und löscht anschließend die kopieren Datenbytes aus der source-Variablen. Der Speicherinhalt der source-Variablen wird verkleinert und der, der target-Variablen vergrößert.
Syntax
FUNCTION F_iecMoveStreamToStream : UDINT
VAR_INPUT
cbCopy : UDINT;
END_VAR
VAR_IN_OUT
target : ST_IEC870_5_101Stream;
source : ST_IEC870_5_101Stream;
END_VAR
Eingänge
cbCopy: Anzahl der Datenbytes die von der source-Variablen in die target-Variablen kopiert werden sollen.
Beispiel in ST
PROGRAM P_iecMoveStreamToStream
VAR
target : ST_IEC870_5_101Stream := ( length := 2, data := [16#AA, 16#BB] );
source : ST_IEC870_5_101Stream := ( length := 8, data := [1,2,3,4,5,6,7,8] );
cbReturn : UDINT;
bMove : BOOL := TRUE;
END_VAR
IF bMove THEN
bMove := FALSE;
cbReturn := F_iecMoveStreamToStream( source.length, target, source );
END_IF
Inhalt der target-Variablen nach Programmstart:
length | data | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
10 | 16#AA | 16#BB | 16#01 | 16#02 | 16#03 | 16#04 | 16#05 | 16#06 | 16#07 | 16#08 | ... | IEC870_MAX_ASDU_DATA_BYTE |
inhalt der source-Variablen nach dem Programmstart:
length | data | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 16#01 | 16#02 | 16#03 | 16#04 | 16#05 | 16#06 | 16#07 | 16#08 | 16#00 | 16#00 | ... | IEC870_MAX_ASDU_DATA_BYTE |
Voraussetzungen
Entwicklungsumgebung |
Zielplattform |
Einzubindende SPS Bibliotheken (Kategoriegruppe) |
---|---|---|
TwinCAT v3.1.4012.0 |
PC oder CX (x86, x64, ARM) |
Tc2_IEC60870_5_10x (Communication->IEC60870) |