Mitsubishi FX5UC(Server) & ModbusTool(Client): Modbus/TCP

PLC

三菱電機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

以上。