GET_SINTLesen eines vorzeichenbehafteten Integerwerts 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 Ergebnis enthält den vorzeichenbehafteten Integerwert im Bereich von -128 bis 127. Das Vorzeichen-Bit, d. h. Bit Nummer 7 des Ergebnisbyte-Werts, wird auf die oberen Bits erweitert. Das bedeutet, dass, wenn das Vorzeichen-Bit 0 ist, alle oberen Bits 0 sind. Wenn das Vorzeichen-Bit 1 ist, sind alle oberen Bits 1.

Eingang
Byte-Daten, aus denen das Byte entnommen wird
Byte-Offset relativ zum ersten Byte von Data #, beginnend bei 0, muss größer oder gleich 0 sein
Ausgang
Vorzeichenbehafteter Integerwert im Bereich von -128 bis 127. Das Vorzeichen-Bit, d. h. Bit Nummer 7 des Ergebnisbyte-Werts, wird auf die oberen Bits erweitert.
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.
Um die beste Leistung zu erzielen, verwenden Sie bitte so oft wie möglich konstante Eingabewerte!
Umgekehrter Befehl: SET_SINT

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;
iResult: INT:=0;
awByteData: ARRAY [0..4] OF WORD:=[100,200,300,400,501];
iOffs: INT:=0;
END_VAR
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 := 7 ;
NETWORK_BODY
B(B_CONTACT,,bStart,4,3,6,5,);
B(B_F,E_GET_SINT!,,11,2,19,7,,?DEN?DData?DiByteOffset?AENO?C);
B(B_VARIN,,awByteData,9,4,11,6,);
B(B_VAROUT,,iResult,19,4,21,6,);
B(B_VARIN,,iOffs,9,5,11,7,);
L(1,0,1,7);
L(1,4,4,4);
L(6,4,11,4);
END_NETWORK_BODY
END_NET_WORK
END_BODY
if (bSTart) then
iResult:=GET_SINT(Data := awByteData, iByteOffset := iOffs);
end_if;