ReadDataFromFileRegisterBank

ファイルレジスタバンク1または2からのデータ読み出し

この命令は、BankNumberBankOffsetで指定されたファイルレジスタバンクから、DataNumberOfWordsワード分を読み出し、DataStartAddressで指定されたアドレスへ格納します。

パラメータ

入力

BankNumber (INT)

バンクNo.の指定

BankOffset (INT)

バンクNo.オフセットの指定

DataNumberOfWords (INT)

ファイルレジスタバンクから読み出すワード数

出力

DataStartAddress (WORD, INT, UINT)

ファイルレジスタバンクから読み出したデータを格納する先頭アドレス

解説

この命令を使って、FLエリア(ファイルレジスタバンク0)からデータを読み出すことはできません。また、変数DataStartAddressは、FLエリアに割り付ける必要はありません。

POUヘッダ

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

_VAR
	VAR_OUTPUT
		p32ActualPosition: POINTER32;
			(*shows the area, offset and size where the data of the IC card is stored*)
	END_VAR
	VAR
	END_VAR
	VAR_INPUT
		p32Pointer: POINTER32;
			(*area, offset and size of data values*)
		diPosition: DINT:=0;
			(*beginning position from which the data should be read from the IC card*)
	END_VAR
	VAR_OUTPUT
		p32ActualPosition: POINTER32;
			(*shows the area, offset and size where the data of the IC card is stored*)
	END_VAR
	VAR
	END_VAR

LDボディ

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_VARIN,,2,20,3,22,5,);
B(B_VARIN,,1000,20,4,22,6,);
B(B_VARIN,,awProcessDataToGet[0],10,5,12,7,);
B(B_CONTACT,,bGetData,5,2,7,4,R);
B(B_F,Size_Of_Var!,Instance,12,5,19,7,,?D?C);
B(B_F,E_ReadFromIcCard!,Instance,22,1,37,7,,?DEN?DBankNumber?DBankOffset?DDataNumberOfWords?AENO?CDataStartAddress);
B(B_F,Adr_Of_Var_O!,Instance,37,3,45,5,,?D?C);
B(B_VAROUT,,awProcessDataToGet,45,3,47,5,);
L(1,3,5,3);
L(19,6,22,6);
L(1,0,1,9);
L(7,3,22,3);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

STボディ

if (DF(bGetData)) then
    ReadDataFromFileRegisterBank(BankNumber := 2, 
    BankOffset := 1000, 
    DataNumberOfWords := Size_Of_Var(awProcessDataToGet), 
    DataStartAddress => Adr_Of_Var(awProcessDataToGet));
end_if;

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