OMRON CP2E-N(Server) & ModbusTool(Client): Modbus/TCP

PLC

OMRON CP2E-Nに公式のFBを導入してModbus/TCP Serverとして動作させ、パソコン上のクライアントソフト(ModbusTool)で通信確認を行います。

1 構成

2 OMRON CP2E-N用ModbusTCP Sever FBのダウンロード~書込み

OMRONの下記リンク先からFBをダウンロードします。
https://www.fa.omron.co.jp/product/tool/cp2e/cp_fb/index.html

ダウンロードしたZipを解凍し、フォルダ「Programming Examples」の中のプログラムをCX-Programmerで開きます。

オンライン接続してCP2E-Nに書き込み、電源再投入します。

オンライン接続して動作モードをモニタモードに変更し、“W0.00”の値を“1”に設定します。


3 ModbusToolを使用した動作確認
3.1 接続

パソコン上で動作するModbusTCP Client用ソフトとして“ModbusTool”を利用します。

インストールした“ModbusMaster”を起動し、以下のようにCP2E-Nのポート及びIPアドレスを設定して“Connect”を選択します。

接続成功した場合、CX-Programmerで確認すると“Established”に割り付けた“W1.00”がONし、“ClientIPAddr”に割り付けた“D20~D23”にパソコンのIPアドレス、ポート番号が格納されます。

なお、“ModbusTool”側のポート番号“ClientTcpPortNo”の値は“60946”となっていますが、Wiresharkでパケットを見ると“Src Port”の値と一致しています。


3.2 Function Code:03 hex(Read holding register)

CX-Programmerでウォッチウィンドウを開き、“D100”を登録し値を“#F”(10進数“15”)に変更します。

ModbusMasterで“Start”に“100”、Sizeに“1”を設定して“Apply”を選択して“Read Holding register”を実行します。
正常に完了した場合、CP2E-Nから読み出した“D100”の値“15”が“100”の欄に格納されます。


3.3 Function Code:06 hex(Write single register)

“100”の欄に“0”を設定して“Apply”し、“Write single register”を実行します。

CX-Programmerのウォッチウィンドウで確認すると、“D100”の値が“0”になっています。


3.4 Function Code:10 hex(Write multiple register)

“Start”に“100”、“Size”に“2”、“100”の欄に“1”、“100”の欄に“2”を設定して“Apply”し、“Write multiple register”を実行します。

CX-Programmerのウォッチウィンドウで確認すると、“D100”の値が“1”、“D101”の値が“2”になっています。


4 参考文献

OMRON:https://www.fa.omron.co.jp/product/tool/cp2e/cp_fb/index.html
ModbusTool:https://github.com/ClassicDIY/ModbusTool/releases/tag/2.1.0.0

以上。