GET_SINT

オフセットに基づいてバイトデータから符号付き整数値を読み取り

このファンクションは、バイト単位のオフセットを表すiByteOffsetに基づいて、Dataの8ビットバイト値を取得します。 バイト番号は0から始まります。0は、Dataの最初のバイトを表します。

結果には、-128~127の符号付き整数値が含まれます。符号ビット(取得したバイトのビット番号7)は、上位ビットに拡張されます。つまり、符号ビットが0の場合は、すべての上位ビットが0になるということです。符号ビットが1の場合は、上位ビットがすべて1になります。

入力

Data (ANY) BOOLデータを含まない、すべての単純なデータ型および派生データ型(ARRAY、DUT)

バイトの取得元のバイトデータ

iByteOffset (INT, DINT, UINT, UDINT)

Dataの最初のバイトを基準にした、0から始まるバイトオフセット。0以上である必要があります

出力

Unnamed output INT, DINT (ANY_SIGNED_INT)

-128~127の符号付き整数値。符号ビット(取得したバイトのビット番号7)は、上位ビットに拡張されます。

解説

  • Control FPWIN Pro7はアクセスするデータの有効性をチェックしないため、入力データの有効性をチェックしてください。

注記

最高のパフォーマンスを得るには、可能な限り定数入力値を使用してください。

POUヘッダ

POUヘッダには、このプログラムで使用するすべての入力変数と出力変数を宣言します。 POUヘッダは全プログラム言語で使用できます。

	VAR
		bStart: BOOL:=FALSE;
		iResult: INT:=0;
		awByteData: ARRAY [0..4] OF WORD:=[100,200,300,400,501];
		iOffs: INT:=0;
	END_VAR

LDボディ

変数bStartTRUEにセットされると、このファンクションが実行されます。

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

STボディ

if (bSTart) then
	iResult:=GET_SINT(Data := awByteData, iByteOffset := iOffs);
end_if;

最終修正日: 2025-07-03このページに関するフィードバックお問い合わせ窓口