SYS2

PLC間リンクエリアのシステムレジスタ変更

PLC間リンクエリアのシステムレジスタNo.40~No.47の内容を変更することができます。(FP0R、FP-S 32k、FP-Xの場合は、No.50~No.57も変更することができます)。

PLCがRUNモードのとき、SYS2命令は指定したシステムレジスタの設定を変更します。d_Startd_Endで指定されたシステムレジスタにs_Startの値を設定します。

解説

  • この命令を実行しても、PLC本体のシステムROMの内容は書き替わりません。電源を再度OFF→ONにすると、ツールソフトウェアで設定したシステムレジスタの内容に書き替わります。

  • d_Startd_Endには、40~47の値を指定してください。また、必ずd_Start£d_Endとなるようにしてください。

  • システムレジスタの値が変更されますので、プログラム照合時に照合エラーが発生することがあります。

パラメータ

入力

s_Start (WORD, INT, UINT)

システムレジスタに設定する値を格納しているエリア

d_Start (WORD, INT, UINT)

指定するシステムレジスタの先頭番号(40~47)

必ず定数
d_End (WORD, INT, UINT)

指定するシステムレジスタの最終番号(40~47)

必ず定数

エラーフラグ

sys_bIsOperationErrorHold (TRUEになり、TRUEを保持)
  • d_Start > d_EndのときON

  • 各システムレジスタ設定値の指定範囲以外の値を設定したときON

sys_bIsOperationErrorNonHold (1回のスキャンに対してTRUE)
  • d_Start > d_EndのときON

  • 各システムレジスタ設定値の指定範囲以外の値を設定したときON

DUT

DUT構造体はData Unit Typeの略で、複数の異なるデータ型をもつ変数で構成されます。構造体をまず定義し、その後、標準的なデータ型(BOOLINTなど)と同様にグローバル変数リストやPOUヘッダで使用します。

POUヘッダ

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

	VAR
		LinkAreas: @'LINK_AREAS':=RelayArea := 64, RegisterArea := 128;
		SetLinkAreas: BOOL:=FALSE;
	END_VAR

POUボディ

実行条件SetLinkAreasがONになると、LinkAreasで指定された内容に従って、システムレジスタNo.40~No.45のPC (PLC)リンクエリアの設定値が変更されます。

LDボディ

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 6 ;
        NETWORK_BODY
B(B_F,SYS2!,Instance,10,0,16,6,,?DEN?Ds_Start?Hd_Start?Hd_End?AENO);
B(B_VARIN,,SetLinkAreas,8,1,10,3,);
B(B_VARIN,,LinkAreas.RelayArea,8,2,10,4,);
B(B_VARIN,,40,8,3,10,5,);
B(B_VARIN,,45,8,4,10,6,);
L(1,0,1,6);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

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