FP_COM_SET_PARAMETER

CPU/SCU/MCUポートの通信パラメータ設定

このFP命令は、通信パラメータの変更をユニットに送信します。変更は、s1_Portで指定される通信ポート用のs2_dutParameterによって指定されます。通信モードが「PLCリンク」に設定されている場合、PLCリンクパラメータをs3_dutPlcLinkParameterによって指定できます。

注記

この命令を使用するときは、指定したポートの通信モードが「PLCリンク」に設定されていることを確認してください。

入力

s1_Port (WORD, INT, UINT)

通信ポートの指定(PLC機種による):

  • COMポート、例:SYS_COM0_PORT

  • Ethernetポート 例: SYS_ETHERNET_USER_CONNECTION_1

  • MCU/SCU、例:16#xx01 (xx =スロット番号) COM01

s2_dutParameter (FP_COM_PARAMETER_DUT)

CPU/SCU/MCUボートに設定するパラメータ

s3_dutPlcLinkParameter (FP_COM_PLCLINK_PARAMETER_DUT)

「PLCリンク」に設定するパラメータ

出力

d_Result (WORD, INT, UINT)

処理結果(1ワード)を格納するマスターユニット内のメモリエリアの先頭アドレス

処理結果d_Resultの内容

  1.  (1) 上位バイト
  2.  (2) 実行結果フラグ

    FALSE正常完了

    TRUE: 異常完了

  3.  (3) 処理進行中フラグ

    FALSE処理が完了

    TRUE: 処理が進行中

  4.  (4) 下位バイト(処理が実行されているときのみ設定)
    • 0:正常完了
    • 1: 指定した通信ポートが無効
    • 2: 設定エラー
    • 3: モード変更エラー
    • 4: 指定した通信ポートが使用中
    • 5: 変更対象パラメータの不一致(設定処理開始時/完了時に、オペランド指定のパラメータが異なっている場合)
    • 7: マルチワイヤリンクユニットの前面パネルのユニット番号設定(ロータリスイッチが0以外に設定されている場合)

解説

  • 命令を実行する前に、dResultで指定された処理結果ストレージエリアのビット15(プロセス進行中フラグ)がFALSEであることを確認します。

  • 送信/受信が進行中のCOMポートに対してパラメータの変更を行うと、送信/受信のプロセスはキャンセルされ、パラメータが変更されます。このとき、受信データは失われます。送信プロセスは停止状態になります。

  • 要求された変更が処理される間、処理結果の格納エリアd_Resultのビット15はTRUEになります。処理が完了するとFALSEになります。

  • 処理結果は、d_Resultで指定したエリアに格納されます。 エラーが発生した場合、実行結果フラグ(ビット14)はTRUEになります。エラーコードは、d_Resultの下位バイトに格納されます。

エラーフラグ

sys_bIsOperationErrorHold (TRUEになり、TRUEを保持)
  • インデックス修飾時にエリアを超えたとき

  • 指定したポートの通信モードが「PLCリンク」に設定されていないとき

sys_bIsOperationErrorNonHold (1回のスキャンに対してTRUE)
  • インデックス修飾時にエリアを超えたとき

  • 指定したポートの通信モードが「PLCリンク」に設定されていないとき

POUヘッダ

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

	VAR
		nPort: INT;
		dutParameter: FP_COM_PARAMETER_DUT;
		dutPlcLinkParameter: FP_COM_PLCLINK_PARAMETER_DUT;
		wResult: WORD:=0;
		bEnable: BOOL:=FALSE;
	END_VAR

LDボディ

変数bEnableTRUEにセットされたとき、ファンクションが実行されます。

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

ST body

if (bEnable) then
FP_COM_SET_PARAMETER(s1_Port := nPort,
                     s2_dutParameter := dutParameter,
                     s3_dutPlcLinkParameter := dutPlcLinkParameter, 
					 d_Result => wResult);
end_if;

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