「ModRSsim」と「Modbus_Tool」でRS485/Modbus RTUのスレーブ・マスタ機を模擬【シミュレーション】

「Modbus simulator」と「Modbus_Tool」でRS485/Modbus RTU通信テストをする方法について紹介します。

「Modbus Slave」と「Modbus_Tool」でRS485/Modbus RTU通信テスト

Modbus(モドバス)とは、Modicon社がPLC (プログラマブルロジックコントローラ) 用途に開発したシリアル通信プロトコルです。 通信方式はマスタ・スレーブ方式で、マスターからのクエリー(コマンド:通信の開始)とスレーブからの応答メッセージで通信します(詳細は以下記事参照)。

温度湿度センサ(WTR10-E)とModbus_ToolでRS485/Modbus RTU通信テスト
温度湿度センサ(WTR10-E)とModbus_Tool(Windowsパソコン)でRS485/Modbus RTUの通信テストをする方法について紹介します。

「ModRSsim」とは、Modbusのスレーブ機用シミュレータソフトです。
「Modbus_Tool」は、Modbusのマスタ機用シミュレータソフトです。
両方とも無料で使用できます。

今回は、以下のフローで「ModRSsim」「Modbus_Tool」を対抗させて通信し、その動作検証を行いました。

● 「ModRSsim」「Modbus_Tool」を以下のリンクから入手します。

ModRSsim:https://sourceforge.net/projects/modrssim2/
Modbus_Tool:https://www.fa.hdl.co.jp/jp/html/app/Modbus_Tool/index.html

● 1台のWindows PCにUSB/RS485変換器(CH340)を2台USBで接続します。
(Windows10だとネットに繋がっていれば自動でドライバをインストールしてくれます)
そして、2台の「USB/RS485変換器(CH340)」のAとBをそれぞれ接続します。

● 「ModRSsim」を起動し、[Dsubのアイコン]をクリックして以下の通信設定を行います。

項目 設定値
Port USB/RS485変換器のCOMポートを選択(Modbus simulatorで選択したポートと異なる方を選びます)
Boud rate 9600bps
Data bits 8bit
Parity なし
Stop bits
RTU Control Enable

● 「ModRSsim」のトップ画面でAddress:0001-0001の+0に「226」、+1に「498」を入力します。
[Prot:]からプロトコルを[MODBUS RS-232]に変更し、[Hex]のラジオボタンをOnにして[Save all register values]をクリックします。

● 「Modbus_Tool」を起動し、接続設定を以下のようにします。

項目 設定値
USB ポートを選択(Modbus simulatorで選択したポートと異なる方を選びます)
通信速度 9600bps
データ 8bit
パリティー なし
ストップビット
フロー制御 なし

● 「Modbus_Tool」の送信クエリ欄に以下の内容を入力し[送信]をクリックし、下画像のようにメッセージが返ってきたら通信成功です。

●送信クエリ(Tx)

01 03 00 00 00 02
項目 概要
スレーブID 01
ファンクションコード 03
レジスタアドレス 00 00
読み出すデータの長さ(データ数) 00 02

【補足】
※1 C4 0B(CRCチェック)が送信クエリの末尾に自動的に付加されるので送信ボックスには入力しません
※2 RS485 Modbus-RTU での測定データの読み出しは Read Holding Register function で、開始アドレス 0x0000 から2 つのレジスター値を取得する方法を使います。

●受信メッセージ(Rx)

01 03 04 00 E2 01 F2 DA 10
項目 概要
スレーブID 01
ファンクションコード 03
データ長さ(byte数) 04
データ1 00 E2(10進数:226)
データ2 01 F2(10進数:498)
CRC DA 10

なお、このクエリと応答メッセージは「温度湿度センサ(WTR10-E)とModbus_ToolでRS485/Modbus RTU通信テスト」での検証結果を模擬したものです(このときと同じ送信クエリと受信メッセージを、同じ通信設定でやり取りしています)。
これで、温度湿度センサ(WTR10-E)のModbusスレーブとしての機能をシミュレーションすることができました。

【jQuery入門】使い方とサンプル集
jQueryの使い方とサンプル集について紹介します。

コメント