GET_BYTE

バイトデータからオフセット位置のバイト値を読み取り

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

結果の下位バイトには、16#00~16#FFのバイト値が格納され、結果の上位バイトはゼロで埋められます。

入力

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

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

iByteOffset (INT, DINT, UINT, UDINT)

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

出力

Unnamed output (WORD, DWORD)

16#00~16#FFの結果バイト値。上位バイトはゼロで埋められます

解説

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

注記

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

POUヘッダ

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

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

LDボディ

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

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ボディ

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

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