三菱電機FX5UCをModbus/TCP Serverとして動作させ、パソコン上のクライアントソフト(ModbusTool)で通信確認を行います。
なお、三菱電機側の表記「マスタ/スレーブ」は「Client/Server」と同義です。
1 構成
2 三菱電機FX5UCの設定
GX-Works3でプロジェクトを新規作成します。
“表示”の“ドッキングウィンドウ”から“ガイダンスフロー”を選択します。
(ガイダンスフローなしでも設定できますが、今回はお試しで使ってみます)
“MODBUS/TCP機器と通信するスレーブ局を設定したい”を選択します。
“IPアドレスを設定する”を選択すると“ユニットパラメータ Ethernetポート”が開くのでFX5UCのIPアドレスとサブネットマスクを設定します。
“MODBUS/TCPの接続構成を設定する”を選択すると“相手機器接続構成設定”がアクティブになるので下記赤枠ボタンを選択します。
“Ethernet構成”ウィンドウでユニット一覧の“Ethernet機器(汎用)”の中から“MODBUS/TCP接続機器”を配置し、“設定を反映して閉じる”を選択します。
“デバイス割り付けを設定する”を選択し、“デバイス割り付け”の詳細設定を選択します。
今回は以下のデフォルト設定のままで”OK”を選択します。
“適用”を選択します。
プロジェクトをFX5UCに書き込み、リセットします。(手順略)
3 ModbusToolを使用した動作確認
3.1 接続
パソコン上で動作するModbusTCP Client用ソフトとして“ModbusTool”を利用します。
インストール後、“ModbusMaster”を起動し、以下のようにFX5UCのポート及びIPアドレスを設定して“Connect”を選択します。
接続成功した場合、GX-Works3の“診断”から“Ethernet診断”を開くと以下のようにTCP状態が“接続中”となります。
3.2 Function Code:03 hex(Read holding register)
GX-Works3でウォッチウィンドウを開き、“D100”を登録し値を10進数“9999”に変更します。
ModbusMasterで“Start”に“100”、Sizeに“1”を設定して“Apply”を選択して“Read Holding register”を実行します。
正常に完了した場合、FX5UCから読み出した“D100”の値“9999”が“100”の欄に格納されます。
3.3 Function Code:06 hex(Write single register)
“100”の欄に“0”を設定して“Apply”し、“Write single register”を実行します。
GX-Works3のウォッチウィンドウで確認すると、“D100”の値が“0”になっています。
3.4 Function Code:10 hex(Write multiple register)
“Start”に“100”、“Size”に“2”、“100”の欄に“1”、“100”の欄に“2”を設定して“Apply”し、“Write multiple register”を実行します。
GX-Works3のウォッチウィンドウで確認すると、“D100”の値が“1”、“D101”の値が“2”になっています。
4 参考文献
三菱電機:MELSEC iQ-F FX5ユーザーズマニュアル(MODBUS通信編)
ModbusTool:https://github.com/ClassicDIY/ModbusTool/releases/tag/2.1.0.0
以上。