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

Modbus TCP による Modbus Slave データの収集

Modbus Slave シミュレーションツールで Modbus TCP スレーブデバイスを模擬し、Modbus クライアント【マスター】プラグインの Modbus TCP プロトコルでデータを収集します。収集したデータを処理し、リアルタイムで表示します。

2. 使用するシミュレーター、デバイス、プラグイン

Section titled “2. 使用するシミュレーター、デバイス、プラグイン”
  • シミュレーター

Modbus Slave:Modbus スレーブデバイスを模擬するスレーブシミュレーター。マスターのコマンドパケットを受信し、データパケットを返します。

模擬する接続とデータポイントの情報は次のとおりです。

key name
プロトコル(Connection) Modbus TCP/IP
IP アドレス 0.0.0.0
ポート番号 502
Slave ID 1
レジスター種別 Holding Registers
データ型 Unsigned
  • デバイス

    RSB-3720 デバイス

  • プラグイン

    Modbus クライアント【マスター】、データ処理プラグイン、MQTT アップロードプラグイン

(1) Modbus Slave で 3 つのデータポイントを模擬します。

- プロトコル:Modbus TCP
- レジスター種別:Holding Register
- データ型:uint16
- バイトオーダー:ビッグエンディアン(AB)
- データポイントアドレス:0、1、2

(2) Modbus TCP プロトコルで 3 つの Modbus データポイントを収集し、データ名を X、Y、Z とします。計算式は X が {X}/10、Y が {Y}**3、Z が {Z}*3.1412 です。

(3) 上記の方針に基づく接続構成は次のとおりです。

(1) Modbus Slave のシミュレーション設定

1). 【Modbus slave】を開き、【File】→【New】の順にクリックして Mbslave を追加します。

  • No Connection:どのデバイスにも接続していません。
  • ID=1:スレーブデバイスの Slave ID は 1 です。任意に設定できます。
  • F=3:Function は 03 Holding Registers(4x)です。収集プラグインで設定するデータのレジスター種別と一致させます。
  • 左側の数値 0-7:データアドレスを表します。

2). 【Connection】→【Connect…】の順にクリックし、パラメーターを入力して【OK】をクリックします。

  • Connection:Modbus Slave が模擬する接続プロトコルは Modbus TCP/IP です。
  • IP Address:模擬デバイスの IP アドレス。既定値は 0.0.0.0 です(プラグインから実際に接続する際は、シミュレーターを実行する PC の IP アドレスを入力します)。
  • Port:模擬デバイスのポート番号。既定値は 502。

3). 【SetUp】→【Slave Definition…】の順にクリックし、パラメーターを入力して【OK】をクリックします。

  • Slave ID:スレーブデバイスのアドレス ID。既定値は 1。
  • Funtion:レジスター種別。03 Holding Register(4x) を選択します。
  • Address:開始アドレス。0 を入力します。
  • Quantity:レジスター数。3 を入力します。

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

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

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

(2) Modbus クライアント【マスター】の収集設定

1). 接続設定(注:プラン名は必須)

Modbus Slave シミュレーターのパラメーターに合わせ、次のように設定します。

  • プラン名:slave 収集
  • プロトコル:Modbus TCP
  • 同期収集:Yes
  • 収集周期 (ms):1000
  • タイムアウト:500
  • 収集有効時間 (ms):500

2). グループの追加

【グループを追加】→【データを入力】→【完了】の順に操作し、次のように設定します。

  • グループ名:グループ 1
  • Slave ID:1
  • IP:172.21.78.157
  • ポート:502

注意:IP、ポート、Slave ID は Modbus Slave シミュレーターと一致させます。IP アドレスはシミュレーターを実行するデバイスのアドレスです。

3). データポイントの追加

【データを追加】→【データを入力】→【確認】の順に操作し、次のように設定します。

  • データエイリアス:X
  • アドレス:0
  • レジスター種別:Holding Registers
  • データ型:uint16
  • レジスター数:1
  • バイトオーダー:AB
  • 読み書きモード:r
  • 計算:{X}/10

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

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

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