入出力アドレスの取得
ファンクションの入出力変数のアドレスを取得します。
入力
このピンは、基本ファンクションの入出力に接続してください。有効なデータ型はINT型、WORD型です。
入出力変数が割り付けられたメモリエリアの最終アドレス(16ビット)が出力されます。
出力
最終アドレス(16ビット)を取得する入出力変数を指定します。
入出力変数Varの16ビット最終アドレスが、入出力AdrLastに格納されます。この入出力は、ファンクションの入出力(16ビット)に直接接続してください。
このファンクションは、LDエディタとFBDエディタでのみ使用することができます。「命令」ペインで「入力命令」または「出力命令」を使って、必要な命令をプログラミングウィンドウに挿入してください。
POUヘッダには、このプログラムで使用するすべての入力変数と出力変数を宣言します。 POUヘッダは全プログラム言語で使用できます。
VAR
start: BOOL:=FALSE;
data_field: ARRAY [0..5] OF INT:=[6(111)];
END_VAR
変数startがON (TRUE)のとき、このファンクションが実行されます。 このファンクションは、値"100"をデータフィールドのすべての要素に複写します。data_fieldの6つの要素の値は"100"になります。
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 8 ;
NETWORK_BODY
B(B_COMMENT,,Initialization of all data fields with the values,2,0,22,1,);
B(B_F,F11_COPY!,Instance,5,2,12,7,,?DEN?Ds?AENO?Cd1_Start?Cd2_End);
B(B_VARIN,,start,3,3,5,5,);
B(B_VARIN,,100,3,4,5,6,);
B(B_F,AdrLast_Of_Var_O!,Instance,14,6,24,8,,?D?C);
B(B_VAROUT,,data_field,24,6,26,8,);
B(B_F,Adr_Of_Var_O!,Instance,14,4,22,6,,?D?C);
B(B_VAROUT,,data_field,22,4,24,6,);
L(12,5,14,5);
L(12,6,12,7);
L(12,7,14,7);
L(1,0,1,8);
END_NETWORK_BODY
END_NET_WORK
END_BODY
そのほかの例: 例