Adr_Of_Var

入出力アドレスの取得

多重定義されていないシステム命令の入出力変数のアドレスを取得します。

パラメータ

入力

未定義入力 (ANY)

このピンは、基本ファンクションの入出力に接続してください。有効なデータ型はINT型、WORD型です。

入出力変数が割り付けられたメモリエリアの先頭アドレス(16ビット)が取得されます。

出力

未定義出力 (ANY_IN_UNITS_OF_WORDS)

先頭アドレスを取得する入出力変数を指定します。

解説

  • 入出力変数Varに割り付けられているメモリエリアの先頭アドレス(16ビット)が、入出力Adrに格納されます。この入出力は、多重定義ではないシステム命令の入出力(16ビット)に直接接続してください。

  • このファンクションは、LDエディタとFBDエディタでのみ使用することができます。「命令」ペインで「入力命令」または「出力命令」を使って、必要な命令をプログラミングウィンドウに挿入してください。

DUT

「DUT」では、非BOOL型変数が宣言された様々な構造の構造型データが割り付けられます。

POUヘッダ

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

	VAR
		start: BOOL:=FALSE;
		DutNonBoolean: @'Dut_NonBoolean';
	END_VAR

ここでは、上記DUTに割り付けられたデータ型の変数DutNonBooleanを宣言します。POUヘッダやボディでは、変数DutNonBooleanの要素に値は割り付けていません。これは、ファンクションF12_ICRDが実行されると、変数DutNonBooleanの値が上書きされるからです。

変数startTRUEにセットされると、F12_ICRDファンクションが実行されます。ICカードの開始アドレス100から値を読み込み、その情報を変数DutNonBooleanに書き込みます。メニューバーから、「オンライン」 > 「ICメモリカードマネージャ」を選択して適切にICカードをフォーマットし、必要に応じて、アドレス100を先頭に、ICカードに値を書き込んでください。

LDボディ

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 12 ;
        NETWORK_BODY
B(B_COMMENT,,It reads the values on the IC card from address 100 and writes theø^information to the variable DutNonBoolean,2,0,27,2,);
B(B_F,P12_ICRD!,Instance,9,2,17,7,,?DEN?Ds1_Start?Ds2_Number?AENO?Cd_Start);
B(B_VARIN,,start,7,3,9,5,);
B(B_VARIN,,100,7,4,9,6,);
B(B_VAROUT,,DutNonBoolean,26,4,28,6,);
B(B_F,Adr_Of_Var_O!,Instance,18,4,26,6,,?D?C);
B(B_F,Size_Of_Var!,Instance,10,10,17,12,,?D?C);
B(B_VARIN,,DutNonBoolean,8,10,10,12,);
B(B_F,INT_TO_DINT!,Instance,17,10,25,12,,?D?C);
L(17,5,18,5);
L(1,0,1,12);
L(7,6,9,6);
L(7,6,7,9);
L(7,9,26,9);
L(26,9,26,11);
L(25,11,26,11);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

プロジェクトのサンプルは、FPWIN Pro CDに収納されています。インストール先の"Samples"フォルダから、以下のファイルを開いてください。

  • Read, write IC card (REAL, DUT, FP10SH, FP2SH) (ICメモリカードの読み書き)

  • Read, write shared memory (REAL, DUT, FP10SH, FP2SH, FP2) (共有メモリの読み書き)

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