AnyBuffer_To_OctetString
Konvertiert und kopiert die Daten einer beliebigen Variablen in den Oktett-String oder ein eindimensionales Byte-Array.
Namensraum: Tc3_Collections
Bibliothek: Tc3_Collections (Tc3_Collections.compiled-library)
FUNCTION AnyBuffer_To_OctetString : UDINT
VAR_IN_OUT
target : ARRAY[*] OF BYTE;
END_VAR
VAR_INPUT
pSource : PVOID;
cbSource : UDINT;
bSwapBytes : BOOL;
END_VAR
VAR_OUTPUT
bUnderflow : BOOL;
bOverflow : BOOL;
END_VAR
/
Ein-/Ausgänge
Name | Typ | Beschreibung |
---|---|---|
target | ARRAY[*] OF BYTE | Zielvariable. |
Eingänge
Name | Typ | Beschreibung |
---|---|---|
pSource | PVOID | Adresszeiger der Quellvariablen. |
cbSource | UDINT | Bytegröße des Quellvariablen. |
bSwapBytes | BOOL | Bei TRUE werden die Datenbytes getauscht. |
Ausgänge
Name | Typ | Beschreibung |
---|---|---|
bUnderflow | BOOL | Wenn TRUE dann ist die Quellvariable kleiner als die Zielvariable. |
bOverflow | BOOL | Wenn TRUE dann ist die Quellvariable größer als die Zielvariable. |
Rückgabewert
Name | Typ | Beschreibung |
---|---|---|
AnyBuffer_To_OctetString | UDINT | Anzahl der erfolgreich kopierten Datenbytes. |
Beispiel
METHOD FINAL Sample_AnyBuffer_To_OctetString : BOOL
VAR
sValue : STRING:='0123456789';
ui64 : LWORD:=16#3031323334353637;
ui32 : UDINT:=16#30313233;
o6 : T_OCTET6;
o8 : T_OCTET8;
o64 : T_OCTET64;
size : UDINT;
bOverflow : BOOL;
bUnderflow : BOOL;
END_VAR
size:=AnyBuffer_To_OctetString(target:=o6, pSource:=ADR(sValue), cbSource:=SIZEOF(sValue), bSwapBytes:=FALSE, bUnderflow=>bUnderflow, bOverflow=>bOverflow);(* size:=6 *)
size:=AnyBuffer_To_OctetString(target:=o8, pSource:=ADR(ui64), cbSource:=SIZEOF(ui64), bSwapBytes:=TRUE, bUnderflow=>bUnderflow, bOverflow=>bOverflow);(* size:=8 *)
size:=AnyBuffer_To_OctetString(target:=o64, pSource:=ADR(ui32), cbSource:=SIZEOF(ui32), bSwapBytes:=TRUE, bUnderflow=>bUnderflow, bOverflow=>bOverflow);(* size:=4 *)
Sample_AnyBuffer_To_OctetString:=TRUE;