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

modbus-RTU 収集

(1) CommBridge の【スマートツイン】を開き、左側で【デバイス接続】に切り替えます。

(2) Modbus クライアント【マスター】、データ処理、MQTT アップロードの各プラグインをプラグインワークスペースへ順にドラッグし、3 つのノードを作成します。

(3) Modbus クライアント【マスター】 → データ処理 → MQTT アップロードの順に 3 つのノードを接続します。

プロトコルには Modbus-RTU を選択します。

(1) Modbus クライアント【マスター】をダブルクリックし、【プランを追加】をクリックします。

(2) 接続設定を入力し、【次へ】をクリックします。

(3) 【グループを追加】をクリックし、グループ情報を入力して【確認】をクリックします。

(4) 【データを追加】をクリックし、データポイントを入力して【確認】をクリックします。

(5) 【完了】をクリックし、収集プランの追加を完了します。

(6) プランのスイッチをオンにし、【保存】をクリックします。

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

CommBridge のデプロイボタンと成功通知の画面例

図は共通の「デプロイ」操作を示しています。このページのノードとプランには、前述の Modbus-RTU 設定を使用してください。

(2) 【スマートツイン】に切り替え、Modbus クライアント【マスター】ノードにマウスポインターを合わせると、ノード情報の一覧が表示されます。

(3) プランをクリックし、そのプランの各グループに含まれるデータポイントのリアルタイムデータと履歴データを確認します。

書き込み設定は Modbus-TCP と同じです。

パラメーター 説明 形式 例
プラン名 ユーザーが設定するプランの名前 必須 温度収集
プロトコル Modbus プロトコル Modbus TCP、Modbus RTU Modbus RTU
同期収集 同期収集を行うかどうか。Yes または No Yes、No YES
収集周期 データ読み取りのポーリング周期。プラン全体の各グループがレジスターを読み取る間隔 数値、範囲:(100,2147483647] 2000
収集有効時間 グループ内のすべてのデータポイントを指定時間内に収集できなければ、そのグループのデータを破棄します。この時間にはフレーム遅延を含みます 数値、範囲:(0, 収集周期] 1000
タイムアウト プラン内の各グループで 1 回のデータ収集に許容する時間。超過すると、その回の読み取りデータを破棄します 数値、範囲:(0, 収集周期] 1000
最大一括レジスター数 連続するデータポイントを一括収集する際の最大レジスター数 自然数、範囲:[1,120] 120
インターフェース デバイスに実装されているシリアルポートに応じて選択します。一般に RS485 を使用し、USB を挿入すると対応するインターフェース名が追加されます ttyS0、ttyS1 ttyO4
データビット 1 組のデータに実際に含まれるデータビット数 7、8 8
ストップビット 1 つのパケットの終端を示します 1、2 1
パリティ シリアル通信で使用する簡易的な誤り検出方式 Odd、Even、None None
ボーレート シンボルの伝送速度を表すパラメーター。1 秒間に伝送するシンボル数 115200、57600、38400、19200、9600、4800 9600
フレーム遅延 2 回の収集の最小間隔。既定値は 0。収集時にタイムアウトが頻発する場合は適宜増やします。それ以外では変更不要です 単位:ミリ秒、数値、範囲:[0, 2147483647] 0
書き込みフレーム遅延 データ書き込み時の追加待機時間。書き込み処理が遅いデバイスで設定します。0 は追加遅延なし 単位:ミリ秒、数値、範囲:[0, 2147483647] 0
レジスター書き込み機能コード 保持レジスターへの書き込み機能コードを設定します Auto、06、10。下記の説明を参照 Auto
変化時収集 データ収集方式。No:変化時収集なし。SingleData:変化したデータポイントのみ送信。WholeGroup:グループ内のいずれかのデータが変化したらグループ全体を送信 No、SingleData、WholeGroup SingleData
変化時収集のリセット時間 データが変化しない状態がこの時間を超えたら、強制的にデータを 1 回送信します。0 にすると実行しません 単位:秒、数値、範囲:(0, 2147483647] 0
失敗時バックオフ 収集失敗後、バックオフ率に応じて次の収集までの時間を延長します。最大時間は収集周期 × 最大バックオフ率 Yes、No。下記の説明を参照 Yes
バックオフ率 失敗時の時間増加率。0 より大きく、1 以外であること 数値 2
最大バックオフ率 最大バックオフ時間の倍率。この倍率に達すると、それ以上変化しません 数値 16

同期収集:

  1. Yes:プラン内の全グループの収集周期、タイムアウト、収集有効時間を共通で設定します。適用範囲はプラン内のすべてのデータポイントです。
  2. No:グループごとに収集周期、タイムアウト、収集有効時間を設定します。

レジスター書き込み機能コード:Auto はレジスター 1 個の書き込みに 06、複数個の書き込みに 10 を使用します。06 はすべての書き込みに 06 を使用し、10 はすべての書き込みに 10 を使用します。

失敗時バックオフ:収集周期が 1 秒、バックオフ率が 2、最大バックオフ率が 16 の場合、収集失敗が続くと待機時間は 1s、2s、4s、8s、16s となります。同様に、収集周期が 10 秒、バックオフ率が 0.5、最大バックオフ率が 0.1 の場合は、10s、5s、2.5s、1.25s となります。収集が成功すると、最初の収集周期に戻ります。

バックオフ率が 1 より大きい場合、最大バックオフ率はバックオフ率より大きくする必要があります。バックオフ率が 1 より小さい場合、最大バックオフ率はバックオフ率より小さくする必要があります。

パラメーター 説明 形式 例
グループ名 ユーザーが設定するグループの名前 必須 温度グループ 1
Slave ID Modbus デバイスのアドレス。収集対象デバイスのスレーブアドレス 数値、範囲:(0,255] 1
収集周期 データ読み取りのポーリング周期。個々のグループがレジスターを読み取る間隔 数値、範囲:(100,2147483647] 1000
収集有効時間 個々のグループに含まれる全データポイントの収集有効時間。時間内に全ポイントを読み取れなければ、そのグループの全データを破棄します 数値、範囲:(0, 収集周期] 500
タイムアウト 個々のグループで 1 回の収集に許容する時間。超過すると、その回の読み取りデータを破棄します 数値、範囲:(0, 収集周期] 500

注意: 接続設定の同期収集が No の場合、グループ内のデータポイント全体に適用されます。 Modbus には、1 回に読み取れるレジスター数の上限があります。連続レジスターのグループを 1 回で読み取る場合、Holding Register と Input Register は最大 120 ポイント、Discrete と Coils は最大 2000 ポイントです。

パラメーター 前提条件 説明 形式 例
データエイリアス データポイントの名前。同じグループ内で一意であること 必須。数字やアンダースコアで始めることはできず、空白も使用不可 T
アドレス レジスターアドレス。同じグループ内で重複不可 数値、範囲:(0,2147483647) 0
レジスター種別 Modbus の操作コード Holding Register、Input Register、Discrete、Coils。下記の説明を参照 Holding Register
データ型 レジスター種別により決定 レジスターデータの元の型 uint16、int16、uint32、int32、float、boolean、combine、string、hex string。下記の説明を参照 uint16
バイトオーダー レジスター種別とデータ型により決定 1 バイトを超えるデータ型のメモリー内格納順序 AB、BA、ABCD、CDAB、BADC、DCBA。下記の説明を参照 AB
レジスター数 レジスター種別とデータ型により決定 データ型に必要なレジスターの数 下記の説明を参照 1
読み書きモード レジスター種別により決定 r(読み取り専用)、rw(読み書き)に対応 r、rw r
計算 データのエイリアスを使用してユーザーが定義する式 T/10
オフセット データ型が bit バイトオーダーの調整後、上位から下位へのビットオフセット 数値、範囲:[0,15]

例えば温度プロパティをデバッグする場合、デバイスの温度プロパティのアドレスが 1 であれば、レジスターアドレスを 1 に設定します。

  1. レジスター種別が Discrete または Coils の場合、データ型の既定値は boolean です。
  2. データ型が uint16、int16、combine の場合は AB、BA、uint32、int32、float の場合は ABCD、CDAB、BADC、DCBA を選択できます。その他のデータ型にはバイトオーダーの設定はありません。
  3. レジスター種別が Discrete、Coils の場合、レジスター数の既定値は 1 です。データ型が uint16、int16、boolean の場合も既定値は 1、uint32、int32、float の場合は 2 です。combine の場合は 1、2 から選択できます。string、hex string の場合は手動で入力できます。

16 ビットの順序:

  1. AB:1 ワードのレジスター。上位ワード、下位ワードの順で、ワード内は上位バイト、下位バイトの順(ビッグエンディアン)。
  2. BA:1 ワードのレジスター。上位ワード、下位ワードの順で、ワード内は下位バイト、上位バイトの順(リトルエンディアン)。

32 ビットの順序:

  1. ABCD:2 ワードのレジスター。上位ワード、下位ワードの順で、ワード内は上位バイト、下位バイトの順(ビッグエンディアン)。
  2. BADC:2 ワードのレジスター。上位ワード、下位ワードの順で、ワード内は下位バイト、上位バイトの順(ビッグエンディアンのバイトスワップ)。
  3. CDAB:2 ワードのレジスター。下位ワード、上位ワードの順で、ワード内は上位バイト、下位バイトの順(リトルエンディアンのバイトスワップ)。
  4. DCBA:2 ワードのレジスター。下位ワード、上位ワードの順で、ワード内は下位バイト、上位バイトの順(リトルエンディアン)。

6. Modbus プロトコルの関連パラメーター

Section titled “6. Modbus プロトコルの関連パラメーター”

modbus-RTU の関連プロトコル設定は modbus-TCP と同じです。