構造体変数の記述の読み出し
この命令は、入力Variableの構造体変数(DUT、ARRAY)の変数の記述を取得し、この記述を出力変数adutDataTypeInfoに書き込みます。
入力
構造体変数の先頭アドレス
出力
変数の記述配列の先頭アドレス
入力Variableの有効な型は、任意の基本型(BOOL型以外)、同じく基本型の配列、およびその基本型を構成する構造体のいずれかの要素変数を持った構造型データです。
変数adutDataTypeInfoのデータ型は、DATA_TYPE_INFO_DUTの配列に限られます。
配列のサイズは、処理データの要素数と同じまたはそれ以上であることが必要です。
POUヘッダには、このプログラムで使用するすべての入力変数と出力変数を宣言します。POUヘッダは全プログラム言語で使用できます。
VAR
bEnable: BOOL:=FALSE;
asSimpleVariable: ARRAY [0..2] OF STRING[32]:=[3('')];
adutDataTypeInfo: ARRAY [0..0] OF DATA_TYPE_INFO_DUT;
END_VAR
変数bEnableがTRUEにセットされたとき、ファンクションが実行されます。
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 4 ;
NETWORK_BODY
B(B_CONTACT,,bEnable,4,1,6,3,);
B(B_F,E_GetDataTypeInfo!,,15,0,28,4,,?DEN?dVariable?AENO?cadutDataTypeInfo);
B(B_VARIN,,asSimpleVariable,13,2,15,4,);
B(B_VAROUT,,adutDataTypeInfo,28,2,30,4,);
L(1,0,1,4);
L(1,2,4,2);
L(6,2,15,2);
END_NETWORK_BODY
END_NET_WORK
END_BODY
if (bEnable) then
adutDataTypeInfo := GetDataTypeInfo(asSimpleVariable);
end_if;
dutVariableは、以下のようなExample_2_DUT構造体(DUT)型の変数です:
POUヘッダには、このプログラムで使用するすべての入力変数と出力変数を宣言します。POUヘッダは全プログラム言語で使用できます。
VAR
bEnable: BOOL:=FALSE;
dutVariable: Example_2_DUT;
adutDataTypeInfo: ARRAY [0..2] OF DATA_TYPE_INFO_DUT;
END_VAR
変数bEnableがTRUEにセットされたとき、ファンクションが実行されます。
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 5 ;
NETWORK_BODY
B(B_CONTACT,,bEnable,4,1,6,3,);
B(B_F,E_GetDataTypeInfo!,,13,0,26,4,,?DEN?dVariable?AENO?cadutDataTypeInfo);
B(B_VARIN,,dutVariable,11,2,13,4,);
B(B_VAROUT,,adutDataTypeInfo,26,2,28,4,);
L(1,0,1,5);
L(1,2,4,2);
L(6,2,13,2);
END_NETWORK_BODY
END_NET_WORK
END_BODY
if (bEnable) then
adutDataTypeInfo := GetDataTypeInfo(dutVariable);
end_if;