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
以上。