F143_IORF

部分I/Oリフレッシュ

実行条件ENがONになると、プログラムが実行され、d1_Start (先頭ワードアドレス)からd2_End (終了ワードアドレス)の間の入出力について、I/Oリフレッシュを行います。

パラメータ

入力

d1_Start (WORD, INT, UINT)

先頭ワードアドレス

d2_End (WORD, INT, UINT)

終端ワードアドレス

解説

この命令を使用することによって、スキャンタイムの遅れの影響を受けることなく、I/Oリフレッシュを実行することができます。

変数d1_Startd2_Endには、同じ種類のオペランドを指定してください。

FP2, FP2SH, FP3 /5 /10 /10SH (マザーボードを持つPLC)

  • ワードアドレスは、0 £d1_Start£d2_End£ 127の範囲で指定してください。WX10 (またはWY10)のみをI/Oリフレッシュした場合は、d1_Startd2_Endを次のように同じ値に指定してください: d1_Start = 10、d2_End = 10.

  • d1_Startd2_Endに同じ値を指定すると、1ワード分のみI/Oリフレッシュされます。

I/Oリフレッシュは、基本マザーボードまたは増設マザーボードに装着されているI/Oユニットに対してのみ実行されます。リモートI/Oシステムの子局に装着されているI/Oユニットに対しては、実行されません。

FP-S, FP0 (マザーボードを持たないPLC)

実行条件がONになると、F143_IORF命令が実行され、d1_Start (先頭ワードアドレス)とd2_End (終了ワードアドレス)で指定された入出力が、I/Oリフレッシュされます。

注記
  • FP0FP-Sの場合、F143 IORF命令でI/Oリフレッシュができるのは、コントロールユニットの入出力のみです。

  • d1_Startd2_Endが定数ではなく変数のときは、コンパイラがインデックスレジスタを経由して自動的に変数値にアクセスします。

  • 変数d1_Startd2_Endには、同じ種類のオペランドを指定してください。

  • 入力リフレッシュの場合、d1_Startd2_EndにWX0を指定してください。

  • 出力リフレッシュの場合、d1_Startd2_EndにWY0を指定してください。

POUヘッダ

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

	VAR
		start: BOOL:=FALSE;
			(*activates the funtion*)
		FirstRefreshAddr: INT:=10;
		LastRefreshAddr: INT:=10;
	END_VAR

POUボディ

変数startFALSEからTRUEになったとき、命令が実行されます。

WX10、WY10をI/Oリフレッシュするには、d1 = 10、d2 = 10に設定します。

LDボディ

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 5 ;
        NETWORK_BODY
B(B_CONTACT,,start,5,1,7,3,);
B(B_F,F143_IORF!,Instance,9,0,16,5,,?DEN?Dd1_Start?Dd2_End?AENO);
B(B_VARIN,,FirstRefreshAddr,7,2,9,4,);
B(B_VARIN,,LastRefreshAddr,7,3,9,5,);
L(1,2,5,2);
L(1,0,1,5);
L(7,2,9,2);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

STボディ

(* PLCs with backplanes  FP-C/FP2/FP2SH/FP3/FP10SH *)
IF start then
    (* Updates the input/output of word no. 0 to 1 *)
    F143_IORF( 0, 1);
END_IF;
(* PLCs without backplanes FP0, FP-Sigma *)
IF start then
    (* Updates the input/output of word no. 0 to 1 *)
    F143_IORF(WX0, WX1);
    F143_IORF(WY0, WY1);
END_IF;

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