CPU/SCU/MCUポートの通信パラメータ設定
このFP命令は、通信パラメータの変更をユニットに送信します。変更は、s1_Portで指定される通信ポート用のs2_dutParameterによって指定されます。通信モードが「PLCリンク」に設定されている場合、PLCリンクパラメータをs3_dutPlcLinkParameterによって指定できます。
この命令を使用するときは、指定したポートの通信モードが「PLCリンク」に設定されていることを確認してください。
入力
通信ポートの指定(PLC機種による):
COMポート、例:SYS_COM0_PORT
Ethernetポート 例: SYS_ETHERNET_USER_CONNECTION_1
MCU/SCU、例:16#xx01 (xx =スロット番号) COM01
CPU/SCU/MCUボートに設定するパラメータ
「PLCリンク」に設定するパラメータ
出力
処理結果(1ワード)を格納するマスターユニット内のメモリエリアの先頭アドレス
処理結果d_Resultの内容
FALSE:正常完了
TRUE: 異常完了
FALSE:処理が完了
TRUE: 処理が進行中
命令を実行する前に、dResultで指定された処理結果ストレージエリアのビット15(プロセス進行中フラグ)がFALSEであることを確認します。
送信/受信が進行中のCOMポートに対してパラメータの変更を行うと、送信/受信のプロセスはキャンセルされ、パラメータが変更されます。このとき、受信データは失われます。送信プロセスは停止状態になります。
要求された変更が処理される間、処理結果の格納エリアd_Resultのビット15はTRUEになります。処理が完了するとFALSEになります。
処理結果は、d_Resultで指定したエリアに格納されます。 エラーが発生した場合、実行結果フラグ(ビット14)はTRUEになります。エラーコードは、d_Resultの下位バイトに格納されます。
インデックス修飾時にエリアを超えたとき
指定したポートの通信モードが「PLCリンク」に設定されていないとき
インデックス修飾時にエリアを超えたとき
指定したポートの通信モードが「PLCリンク」に設定されていないとき
POUヘッダには、このプログラムで使用するすべての入力変数と出力変数を宣言します。POUヘッダは全プログラム言語で使用できます。
VAR
nPort: INT;
dutParameter: FP_COM_PARAMETER_DUT;
dutPlcLinkParameter: FP_COM_PLCLINK_PARAMETER_DUT;
wResult: WORD:=0;
bEnable: BOOL:=FALSE;
END_VAR
変数bEnableがTRUEにセットされたとき、ファンクションが実行されます。
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 7 ;
NETWORK_BODY
B(B_CONTACT,,bEnable,3,2,5,4,);
B(B_F,FP_COM_SET_PARAMETER!,,12,1,25,7,,?DEN?Ds1_Port?Ds2_dutParameter?Ds3_dutPlcLinkParameter?AENO?Ad_Result);
B(B_VARIN,,nPort,10,3,12,5,);
B(B_VAROUT,,wResult,25,3,27,5,);
B(B_VARIN,,dutParameter,10,4,12,6,);
B(B_VARIN,,dutPlcLinkParameter,10,5,12,7,);
L(1,0,1,7);
L(1,3,3,3);
L(5,3,12,3);
END_NETWORK_BODY
END_NET_WORK
END_BODY
if (bEnable) then
FP_COM_SET_PARAMETER(s1_Port := nPort,
s2_dutParameter := dutParameter,
s3_dutPlcLinkParameter := dutPlcLinkParameter,
d_Result => wResult);
end_if;