GET_BYTE

Lesen eines Byte-Wertes aus Byte-Daten mit Offset

Diese Funktion liefert den 8-Bit-Byte-Wert von Data, wobei iByteOffset den Offset in Byte angibt. Die Byte-Nummerierung beginnt bei 0, was sich auf das erste Byte von Data bezieht.

Das untere Byte des Ergebnisses enthält den Byte-Wert im Bereich von 16#00 bis 16#FF, die oberen Bytes des Ergebnisses werden mit Nullen aufgefüllt.

Eingang

Data (ANY) alle einfachen und abgeleiteten Datentypen (ARRAYs, SDTs), die keine BOOL-Daten enthalten

Byte-Daten, aus denen das Byte entnommen wird

iByteOffset (INT, DINT, UINT, UDINT)

Byte-Offset relativ zum ersten Byte von Data #, beginnend bei 0, muss größer oder gleich 0 sein

Ausgang

Unnamed output (WORD, DWORD)

Ergebnisbyte-Wert im Bereich von 16#00 bis 16#FF, wobei die oberen Bytes mit Nullen aufgefüllt werden

Anmerkungen

  • Bitte überprüfen Sie die Gültigkeit der Eingabedaten, da Control FPWIN Pro7 die Gültigkeit der Daten, auf die zugegriffen wird, nicht überprüft.

Anmerkung

Um die beste Leistung zu erzielen, verwenden Sie bitte so oft wie möglich konstante Eingabewerte!

Verwandte Themen

Beispiel

POE-Kopf

Im POE-Kopf werden alle Ein- und Ausgangsvariablen deklariert, die für die Programmierung dieser Funktion verwendet werden. Für alle Programmiersprachen wird der gleiche POE-Kopf verwendet.

	VAR
		bStart: BOOL:=FALSE;
		awByteData: ARRAY [0..4] OF WORD:=[100,101,111,2(0)];
		iOffset: INT:=2;
		wByteValue: WORD:=0;
	END_VAR

KOP-Rumpf

Wenn die Variable bStart auf TRUE gesetzt wird, wird die Funktion ausgeführt.

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 6 ;
        NETWORK_BODY
B(B_CONTACT,,bStart,5,1,7,3,);
B(B_F,E_GET_BYTE!,,8,0,16,5,,?DEN?DData?DiByteOffset?AENO?C);
B(B_VARIN,,awByteData,6,2,8,4,);
B(B_VAROUT,,wByteValue,16,2,18,4,);
B(B_VARIN,,iOffset,6,3,8,5,);
L(1,0,1,6);
L(1,2,5,2);
L(7,2,8,2);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ST-Rumpf

if (bStart) then
	wByteValue:=GET_BYTE(Data := awByteData, iByteOffset := iOffset);
end_if;

Letzte Änderung: 2025-03-12Feedback zu dieser SeitePanasonic Hotline