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

AnyBuffer_To_OctetString 1:/AnyBuffer_To_OctetString 2: Ein-/Ausgänge

Name

Typ

Beschreibung

target

ARRAY[*] OF BYTE

Zielvariable.

AnyBuffer_To_OctetString 3: Eingänge

Name

Typ

Beschreibung

pSource

PVOID

Adresszeiger der Quellvariablen.

cbSource

UDINT

Bytegröße des Quellvariablen.

bSwapBytes

BOOL

Bei TRUE werden die Datenbytes getauscht.

AnyBuffer_To_OctetString 4: 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.

AnyBuffer_To_OctetString 5: 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;