今回の記事ではSeeedStudioのreComputer R1025-10にNode-Redを使ってModbus TCP Serverを立ち上げ、EXORのJMobileを使用しModbus TCP Clientでデータをアクセスできるまでの手順を1から説明します。
さ、FAを楽しもう。
Reference Link
http://soup01.com/ja/category/exor-ja/
Implementation
SeeedStudio Side
SeeedStudioのreComputer R1025-10エッジデバイスから構築していきます。
Install Node-red
こちらのLinkもしくはNode-Redの公式からNode-Redを参考にしながら、Node‐Redをインストールしてください。
Install Modbus Node
今回Node-RedにこちらのNodeを使ってModbus TCP Serverを実装します。
node-red-contrib-modbus |
Node-Redの右側のMenuアイコンをクリック>Manage Paletteをクリックします。
InstallのTabでnode-red-contrib-modbusを検索し、該当するNodeをインストールしましょう。
Done!Modbus Nodeがインストールされました。
Add Modbus TCP Server
Modbus>Modbus-ServerをFlowにDropしてください。
Done!それだけでModbus Serverが立ち上げました。
Configure Modbus TCP Server
先ほど追加したModbus Server Nodeをダブルクリックしてください。
こちらはModbus Server Nodeの設定画面になります。
Host Name
Host nameは0.0.0.0に設定すればOKです。
Port
PortはModbus Serverの使用Portを設定できます。
Register
赤枠にModbus Serverのレジスタ数を設定できます。下記の例では、
- Coils:1個
- Holdings:400個
- Inputs:400個
- Discretes:1個
Deloy
最後はDeployをクリックしFlowをDownloadしましょう。
EXOR Side
次はEXOR側を設定します。今回使用するのはex707Mです。
Add Protocols
JMobileを立ち上げ、新しいプロジェクトを作成してください。
Drop-listからModbus TCPを選択してください。
Configure Modbus TCP Client
Modbus TCP Clientの設定画面が表示されます。
PLC Network
PLC Network機能を有効にしてください。それを使用することにより、1つの通信Driverで複数のModbus TCP Serverを設定できます。
Addをクリックし新しいModbus Clientを作成します。
こちらはModbus TCP Clientの設定画面です。
IP address
IP AddressはSeeedStudioのreComputer R1025-10側に合わせてください。
Port
PortはSeeedStudioのreComputer R1025-10のNode-Red設定に合わせてください。
Write Register Function
Holding RegisterとWrite Coils(つまりレジスタに書き込み)するとき使用するFunction Codeを設定できます。
PLC Model
PLC ModelはModbus Server側に合わせてください。今回はNode-Redのnode-red-contrib-modbusを使用するので、Generic Modbus(0‐Based)に設定してください。
Add Tags
次はTagsを追加します。
こちらはTagの設定画面になります。
先ほど追加したProtocolを選択し>+をクリックしてください。
Protocolを構築するときはPLC Networkモードを設定しましたので、Slave Id画面に適切のModbus Serverを選択します。
このTagはModbus TCP Serverに40000から100のHolding Registerを読み書きできます。
また、各Tagはアプリケーションに合わせて更新周期を設定できます。
Screen
最後は簡単な画面を作成し、結果を確認しましょう。
Download
Run>Downlaod to Targetでプロジェクトをex707MにDownloadしてください。
Result
Done!Modbus TCP Severに正常にアクセスできました。