PLC間リンクエリアのシステムレジスタ変更
PLC間リンクエリアのシステムレジスタNo.40~No.47の内容を変更することができます。(FP0R、FP-S 32k、FP-Xの場合は、No.50~No.57も変更することができます)。
PLCがRUNモードのとき、SYS2命令は指定したシステムレジスタの設定を変更します。d_Startとd_Endで指定されたシステムレジスタにs_Startの値を設定します。
この命令を実行しても、PLC本体のシステムROMの内容は書き替わりません。電源を再度OFF→ONにすると、ツールソフトウェアで設定したシステムレジスタの内容に書き替わります。
d_Start、d_Endには、40~47の値を指定してください。また、必ずd_Start£d_Endとなるようにしてください。
システムレジスタの値が変更されますので、プログラム照合時に照合エラーが発生することがあります。
入力
システムレジスタに設定する値を格納しているエリア
指定するシステムレジスタの先頭番号(40~47)
必ず定数指定するシステムレジスタの最終番号(40~47)
必ず定数d_Start > d_EndのときON
各システムレジスタ設定値の指定範囲以外の値を設定したときON
d_Start > d_EndのときON
各システムレジスタ設定値の指定範囲以外の値を設定したときON
DUT構造体はData Unit Typeの略で、複数の異なるデータ型をもつ変数で構成されます。構造体をまず定義し、その後、標準的なデータ型(BOOL、INTなど)と同様にグローバル変数リストやPOUヘッダで使用します。
POUヘッダには、このプログラムで使用するすべての入力変数と出力変数を宣言します。 POUヘッダは全プログラム言語で使用できます。
VAR
LinkAreas: @'LINK_AREAS':=RelayArea := 64, RegisterArea := 128;
SetLinkAreas: BOOL:=FALSE;
END_VAR
実行条件SetLinkAreasがONになると、LinkAreasで指定された内容に従って、システムレジスタNo.40~No.45のPC (PLC)リンクエリアの設定値が変更されます。
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