Modbus RTU による Modbus Slave データの収集
Modbus Slave シミュレーションツールで Modbus RTU スレーブデバイスを模擬し、Modbus クライアント【マスター】プラグインの Modbus RTU プロトコルでデータを収集します。収集したデータを処理し、リアルタイムで表示します。
2. 使用するシミュレーター、デバイス、プラグイン
Section titled “2. 使用するシミュレーター、デバイス、プラグイン”- シミュレーター
Modbus Slave:Modbus スレーブデバイスを模擬するスレーブシミュレーター。マスターのコマンドパケットを受信し、データパケットを返します。
模擬する接続とデータポイントの情報は次のとおりです。
| key | name |
|---|---|
| プロトコル(Connection) | Serial Port |
| ボーレート | 19200 |
| データビット | 8 |
| パリティ | None |
| ストップビット | 1 |
| Slave ID | 1 |
| レジスター種別 | Holding Registers |
| データ型 | Unsigned |
-
デバイス
RSB-3720 デバイス
-
プラグイン
Modbus クライアント【マスター】、データ処理プラグイン、MQTT アップロードプラグイン
3. 設定方針
Section titled “3. 設定方針”(1) USB ケーブルで PC とデバイスを接続します。
(2) Modbus Slave で 3 つのデータポイントを模擬します。
- プロトコル:Modbus RTU- レジスター種別:Holding Register- データ型:uint16- バイトオーダー:ビッグエンディアン(AB)- データポイントアドレス:0、1、2(3) Modbus RTU プロトコルで 3 つの Modbus データポイントを収集し、データ名を X、Y、Z とします。計算式は X が {X}/10+8、Y が {Y}*3.1412、Z が ({Z}-10)*5 です。
(4) 上記の方針に基づく接続構成は次のとおりです。

4. 主な手順
Section titled “4. 主な手順”(1) Modbus Slave のシミュレーション設定

a. 【Modbus slave】を開き、【File】→【New】の順にクリックして Mbslave を追加します。
- No Connection:どのデバイスにも接続していません。
- ID=1:スレーブデバイスの Slave ID は 1 です。任意に設定できます。
- F=3:Function は 03 Holding Registers(4x)です。収集プラグインで設定するデータのレジスター種別と一致させます。
- 左側の数値 0-7:データアドレスを表します。

b. 【Connection】→【Connect…】の順にクリックし、パラメーターを入力して【OK】をクリックします。
- Connection:Modbus Slave が模擬する接続プロトコルは Serial Port です。
- Serial Settings:接続するシリアルポートの設定。
- シリアルポート:Prolific PL2303GT USB Serial COM Port (COM8)
- ボーレート:19200 Baud
- データビット:8 Data bits
- パリティ:None Parity
- ストップビット:1 Stop Bit

c. 【SetUp】→【Slave Definition…】の順にクリックし、パラメーターを入力して【OK】をクリックします。
- Slave ID:スレーブデバイスのアドレス ID。既定値は 1。
- Funtion:レジスター種別。03 Holding Register(4x) を選択します。
- Address:開始アドレス。0 を入力します。
- Quantity:レジスター数。3 を入力します。

d. 3 つのデータポイントを選択し、【Didplay】→【Unsigned】の順に選択します。

e. 1 行目のデータをダブルクリックし、value に 88 を入力して【OK】をクリックします。

f. 2 番目と 3 番目のデータポイントに、それぞれ 12 と 35 を入力します。

(2) Modbus クライアント【マスター】の収集設定
a. 接続設定(注:プラン名は必須)
Modbus Slave シミュレーターのパラメーターに合わせ、次のように設定します。
- プラン名:rtu 収集
- プロトコル:Modbus RTU
- インターフェース:ttyUSB5
- ボーレート:19200
- データビット:8
- パリティ:None
- ストップビット:1
- 同期収集:Yes
- 収集周期 (ms):1000
- タイムアウト:500
- 収集有効時間 (ms):500

b. グループの追加
【グループを追加】→【データを入力】→【完了】の順に操作し、次のように設定します。
- グループ名:グループ 1
- Slave ID:1
注意:IP、ポート、Slave ID は Modbus Slave シミュレーターと一致させます。IP アドレスはシミュレーターを実行するデバイスのアドレスです。

c. データポイントの追加
【データを追加】→【データを入力】→【確認】の順に操作し、次のように設定します。
- データエイリアス:X
- アドレス:0
- レジスター種別:Holding Registers
- データ型:uint16
- レジスター数:1
- バイトオーダー:AB
- 読み書きモード:r
- 計算:{X}/10+8

(1) 【デバイス接続】の【デプロイ】をクリックし、デプロイを完了します。

(2) 【スマートツイン】に切り替え、Modbus クライアント【マスター】ノードにマウスポインターを合わせ、【rtu 収集】をクリックして収集した【リアルタイムデータ】を確認します。

(3) データ処理ノードにマウスポインターを合わせ、【rtu 収集】をクリックして処理後の【リアルタイムデータ】を確認します。
