WriteDataToFileRegisterBankファイルレジスタバンク1または2へのデータ書き込み
この命令は、DataStartAddressからDataNumberOfWordsワード分のデータを、BankNumberとBankOffsetで指定されたファイルレジスタバンクへ格納します。

入力
バンクNo.の指定
バンクNo.オフセットの指定
ファイルレジスタバンクへ書き込むデータの先頭アドレス
ファイルレジスタバンクへ書き込むデータのワード数
この命令を使って、FLエリア(ファイルレジスタバンク0)へデータを書き込むことはできません。また、変数DataStartAddressは、FLエリアに割り付ける必要はありません。

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

VAR
awProcessDataToStore: ARRAY [0..10] OF INT:=[-111,111,222,333,444,555,666,777,888,999,1100];
awProcessDataToGet: ARRAY [0..10] OF INT:=[11(0)];
bStoreData: BOOL:=FALSE;
bGetData: BOOL:=FALSE;
END_VAR実行条件bStoreDataがFALSEからTRUEになると、宣言された構造体awProcessDataToStore (11個の要素を持つDUT)のデータを読み出し、ファイルレジスタバンク2バンクオフセット1000へ書き込みます。


BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 9 ;
NETWORK_BODY
B(B_F,WriteDataToFileRegisterBank!,Instance,22,1,36,7,,?DBankNumber?DBankOffset?DDataStartAddress?DDataNumberOfWords);
B(B_VARIN,,2,20,3,22,5,);
B(B_VARIN,,1000,20,4,22,6,);
B(B_VARIN,,awProcessDataToStore[0],10,5,12,7,);
B(B_CONTACT,,bStoreData,5,2,7,4,R);
B(B_F,Adr_Of_Var_I!,Instance,12,5,19,7,,?D?C);
B(B_F,Size_Of_Var!,Instance,12,7,19,9,,?D?C);
L(1,3,5,3);
L(7,3,22,3);
L(19,6,19,8);
L(12,6,12,8);
L(1,0,1,9);
L(19,6,22,6);
END_NETWORK_BODY
END_NET_WORK
END_BODY
if (DF(bStoreData)) then
WriteDataToFileRegisterBank(BankNumber := 2,
BankOffset := 1000,
DataStartAddress := Adr_Of_Var(awProcessDataToStore),
DataNumberOfWords := Size_Of_Var(awProcessDataToStore));
end_if;