コンテンツにスキップ
JelinaJelina Documentation技術ドキュメント
公式サイトに戻る

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 アップロードプラグイン

(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) 上記の方針に基づく接続構成は次のとおりです。

(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 収集】をクリックして処理後の【リアルタイムデータ】を確認します。