Modbus RTU Smart Wireless Sensor Gatewayプロトコル仕様-レジスタマッピングテーブルとCommunicationフレームフォーマット-Modbusプロダクトセンター

freeFree Technical Resource

This content is free to read, suitable for basic learning and search traffic.

Modbus RTU Smart Wireless Sensor Gatewayプロトコル仕様-レジスタマッピングテーブルとCommunicationフレームフォーマット-Modbusプロダクトセンター
Modbus RTU Smart Wireless Sensor Gatewayプロトコル仕様書

I.製品の概要

この製品はサポート規格です。Modbus RTUプロトコルのはスマートワイヤレスセンサゲートウェイデバイス有する。マルチノードセンサデータ収集Communicationパラメータの設定そして、デバイス管理。RS 485インターフェースを通じて上位コンピュータ(PLC、タッチスクリーン、SCADAシステムなど)とCommunicationし、完全なレジスタ読み書きOperationをサポートし、広く使用できます。産業用オートメーション環境モニタリングスマート農業家畜の飼育建築物のセキュリティなどの分野です

ゲートウェイは、ワイヤレスセンサーネットワークの中核ハブとして機能し、最大の同時管理が可能です。64個のワイヤレスセンサーノード各センサからのデータを標準Modbus RTUプロトコルフォーマットに変換し、上位コンピュータシステムの統合を容易にします。

二、コア機能体系の概要(プロトコルから推定)

このプロトコルドキュメントのレジスタ定義、操作例、データ構造に基づいて、製品の以下の機能モジュールを完全に推定することができます。

シリアル番号。機能モジュール機能の説明対応するレジスタ/ベース
1Modbus RTUスレーブCommunication標準Modbus RTUスレーブモード、RS 485物理インタフェース、機能コードをサポート0 3/0 6/10Chapter 2、Chapter 3
2マルチノードセンサー管理最大64個のワイヤレスセンサノードを同時にオンラインでサポートし、各ノードは独立してアドレス指定可能0002Hレジスタ范囲0~63、センサデータエリア割当てルール
37種類のセンサータイプをサポートTemperature & Humidity、耳タグ(畜産)、煙感知、レーダー、赤外線、リモコン、汎用1527機器Inde xレジスタ下位8ビット型符号化定義
4デュアル·データ·エスカレーション·モデルアクティブエスカレーションモード(センサー自動プッシュ)+クエリーエスカレーションモード(ホストポーリング読み取り)00 05 Hレジスタ
5センサバインディングペアリングシステムソフトウェアCommandバインディング+ハードウェアキーバインディング(5秒間長押し)、LEDステータスフィードバック0006Hレジスタ、Chapter 6バインド管理
6フルパラメータレジスタ構成スレーブアドレス(1~247)、ボーレート(5ビット)、エスカレーションモードはレジスタで変更できます。0003H ~ 0005Hレジスタ
7センサーライフサイクル管理ノードの追加、データの読み取り、個々のノードの削除、ワンクリックですべてのバインドをクリア複数のレジスタへの書き込み(0 x 10)Operation +0007Hレジスタ
8多次元データ収集temperature/湿度/振動/煙濃度/人体検出/電気量/サブデバイスの種類など、さまざまな種類のデータData1/Data2/Batteryフィールド定義
9バッテリー電力監視各ワイヤレスセンサノードのリアルタイムバッテリ容量モニタリング(0%~ 100%)Batteryレジスタ+5オフセット
10ファームウェアのバージョン照会デバイスのファームウェアのバージョン番号を読み取ることで、バージョン管理とメンテナンス確認が容易になります0001H読み取り専用レジスタ
11ブロードキャストアドレスのサポートModbusブロードキャストアドレス0 xFF(25 5)をサポートし、すべてのスレーブにコマンドを発行できます。住所範囲の説明
12CRC16チェックメカニズムCRC-16/MODBUS多項式0 x A 001検証により、データ伝送の完全性を確保Chapter 2検証方式 +付録C言語アルゴリズム

サポートするセンサタイプの詳細

プロトコル内のIndexレジスタの下位8ビット(センサタイプフィールド)エンコーディング定義によると、ゲートウェイは以下をサポートします。7種類のセンサーさらに拡張できます:

3.1センサタイプコードの概要

タイプコードの種類センサーの名前主なデータフィールドデータ1の意味データ2の意味典型的な応用シナリオ
00Hユニバーサル152 7コーディング装置サブデバイスタイプ+ステータスデータアイドル状態。サブデバイスタイプエンコーディングユニバーサルワイヤレスリモコン/ドア磁気/ドア/窓センサ
01Htemperatureと湿度センサーtemperature + 湿度 +電気temperature(0.1°C)湿度(0.1%)温室、倉庫、機械室、実験室
02H耳标センサー牧畜専用temperature +振動数+電気量temperature(0.1°C)振動数(回)家畜の体温監視、発情·健康警告
03H煙センサー/煙センサー煙の濃度+電気アイドル状態。煙の濃度(ppm)倉庫火災、キッチンセキュリティ、工場火災
04Hレーダー人体存在センサーパワー +パワーアイドル状態。existenceの状態(0=誰も/1=誰も)スマート照明、会議室、トイレの連動
05H赤外線PIRセンサーパワー +パワーアイドル状態。existenceの状態(0=誰も/1=誰も)侵入警報、廊下センシング、セキュリティ監視
06Hワイヤレスリモコン。キーステータス+サブデバイスタイプアイドル状態。キーステータスデータリモートコントロール、ライトコントロール、機器スイッチ
07H+予約済み拡張機能定義する(XXX X)定義される。定義される。将来の新しいセンサータイプの拡張ビット

3.2各センサデータフォーマットの詳細説明

① Temperature & Humidityセンサー(Type=01H)

バイト位置フィールド名Field Nameデータ型ユニットユニット値の範囲例:例
+0~+1 (Byte0~1)IndexUINT16-上位8ビット=番号0~63、下位8ビット=型0 x 010 x 00 01は温度湿度センサ番号1を表します。
+2~+5 (Byte2~5)デバイスアドレスAddrUINT32-32のユニークな識別子0x12345678
+6~+7 (Byte6~7)temperatureデータ1INT160.1°C-3276.8 ~ 3276.7°C0x00FB = 25.1°C;0xFFEC = -2.0°C
+8~+9 (Byte8~9)湿度データ2UINT160.1%0 ~ 100%0x028B = 65.1%;0x01F4 = 50.0%
+10~+11 (Byte10~11)バッテリー BatteryUINT161%0% ~ 100%0x0064 = 100%;0x0032 = 50%

② 耳标センサー-牧畜専用(Type= 02H)

牛や羊などの家畜用に特別に設計されたワイヤレス耳タグセンサーは、この製品の主要な機能です。

バイト位置フィールド名Field Nameデータ型ユニットユニット値の範囲ビジネスの意味
+0~+1IndexUINT16-下位8ビット= 0 x 0 2耳标タイプとして識別
+2~+5デバイスアドレスAddrUINT32-一意の識別子各家畜の固有ID
+6~+7temperatureデータ1INT160.1°C体温の範囲家畜の体温(38.5°C =牛の体温)
+8~+9ショックデータ2UINT16次は。0 ~ 65535家畜の活動や異常行動を判断するための活動/振動数
+10~+11バッテリー BatteryUINT161%0% ~ 100%耳タグのバッテリー残量
典型的なアプリケーションシナリオ:大規模な養豚/牛農場では、各家畜の体温と活動を監視することによって、病気の早期警戒(発熱識別)、発情検出(活動の急増)、迷子警報などの機能を実現します。

③煙·煙感知センサ(Type=03H)

バイト位置フィールド名Field Nameデータ型ユニットユニット値の範囲備考:コメント
+6~+7Data1アイドル状態。未使用の予約
+8~+9煙濃度データ2UINT16ppm0 ~ 5000 ppm0 x 1388 = 5000 ppm(高濃度アラームのしきい値)
+10~+11バッテリー BatteryUINT161%0% ~ 100%センサーのバッテリー残量

レーダー人体存在センサ(Type= 0 4 H)赤外線PIRセンサ(Type= 0 5 H)

両方のセンサは人体の存在検出に使用されますが、技術原理は異なります。

比較の項レーダーセンサー Type= 04H赤外線PIRセンサType= 05H
検出の原理ミリ波レーダードップラー効果热电线検出
データ2の価値0 x 0000 =誰も、0 x 00 01 =誰もいない。0 x 0000 =誰も、0 x 00 01 =誰もいない。
利点はプラスチック/ガラスを貫通し、temperatureの影響を受けず、微小な動き(呼吸など)を検出でき、“人がすぐに輝く”のに適しています。低コスト、極めて低消費電力、移動検出に適している
弱点は高コスト化静止した人体を検出できず、周囲温度の影響を受ける
適用可能なシーンスマートオフィス/会議室/トイレ(正確な存在検出)廊下/通路/入り口(移動検知)

無線リモコン(Type= 0 6 H)汎用1527符号化装置(Type= 0 0 H)

フィールドフィールドワイヤレスリモコン06Hユニバーサル1527ユニット00H
Data1アイドル状態。アイドル状態。
Data2キーステータスデータ(コードはリモコンのモデルによって異なります)サブデバイスタイプのエンコードバインド後にホストが更新して設定
備考:コメント433MHzリモコンのキー信号を受信するため市販されているほとんどのEV1527コード(ドア磁気、洪水、振動など)に対応しています。

Communicationパラメータとフレームフォーマットの仕様

4.1基本的なCommunicationパラメータ

パラメータアイテムデフォルト値オプション値/範囲構成方式の設定
CommunicationプロトコルModbus RTU固定された
物理インタフェースRS485固定された
データ形式8 N 1(8データビット、チェックなし、1ストップビット)設定可能です。背番号は8 N 1。
駅からの住所11 ~ 2470003Hレジスタへの書き込み
放送アドレス255(0xFF)たった25 5すべてのスレーブにコマンドを送信
ボーレート9600 bps9600 / 19200 / 38400 / 57600 / 1152000004Hレジスタへの書き込み
検証方式の検証CRC16多項式0xA001 MODBUS規格固定された
センサーの最大数64位。ハードウェアの制限
フレーム間隔時間≥3.5時間の使い方@9600bps ≈ 3.6ms;@115200bps ≈ 0.3msRTUプロトコルの要件

4.2ボーレート対照表0004Hレジスタ

値の書き込み実際のボーレート1文字の時間3.5文字の間隔適用可能なシーン
09600 bps≈ 1.04 ms≈ 3.6 ms信頼性の高い推奨。
119200 bps≈ 0.52 ms≈ 1.8 msミディアムスピードの必要性
238400 bps≈ 0.26 ms≈ 0.9 ms高速である。
357600 bps≈ 0.17 ms≈ 0.6 ms高速伝送を行う。
4115200 bps≈ 0.087 ms≈ 0.3 ms最高速度、回線品質の確保

4.3サポートする機能コード

関数コードの特徴名前は方向性は目的は
0x03リードホールドレジスタ駅からの駅。バージョン番号、ノード数、センサーデータなどの読み取り
0x06単一レジスタの書き込み駅からの駅。アドレス、ボーレート、モード、起動バインディングなどの設定
0x10複数のレジスタを書く。駅からの駅。センサーの追加、ノードの削除、データの一括书き込みなど

5.完全なレジスタマッピングテーブル

5.1システム制御レジスタ(0001H ~ 000)

レジスター·アドレスレジスターの名前読取りおよび書込みアクセス権データ形式値の範囲/説明
0001Hバージョン番号。読み取り専用UINT16デバイスのファームウェアバージョン番号V1.2の場合は0x0102など
0002H現在のオンラインノード数読み取り専用UINT16現在登録されている結合のセンサノード数(0 ~ 63)
0003HRS 485アドレス読み取りと書き込みUINT16Modbusスレーブアドレス、デフォルト1、範囲1 ~ 247
0004Hシリアルポートボーレート読み取りと書き込みUINT160=9600, 1=19200, 2=38400, 3=57600, 4=115200
0005Hプロアクティブなエスカレーションモードの設定読み取りと書き込みUINT160=プロアクティブなエスカレーション有効(デフォルト)、1=クエリーエスカレーション有効
0006H結合ペアの起動執筆のみ。UINT16書き込み1起動バインド(LED点滅、20 秒のタイムアウトで自動的に終了)
0007Hすべてのバインド·データの消去執筆のみ。UINT16バインドされたセンサーデータをすべて消去し、再バインドする必要がある
0008H ~ 000FH予約済み予約将来の拡張のための予約

5.2センサデータレジスタ(0010Hより)

各センサーの占有連続レジスタ(12バイト)x 6最大64個のセンサーをサポートします。

センサーの番号レジスタアドレス範囲+0 Index+1 Addr_H+2 Addr_L+3 Data1+4 Data2+5 Battery
センサー 1。0010H ~ 0015H数字+型アドレスは16です。アドレスは16ビット。データ1。データ2。バッテリーパワー
センサー 2。0016H ~ 001BH同上、同じ同上、同じ同上、同じ同上、同じ同上、同じ同上、同じ
センサー 3。001CH ~ 0021H同上、同じ同上、同じ同上、同じ同上、同じ同上、同じ同上、同じ
センサー 4。0022H ~ 0027H同上、同じ同上、同じ同上、同じ同上、同じ同上、同じ同上、同じ
...+ 6で増分..................
センサー N。0010H+(N-1)*6 ~ 0015H+(N-1)*6同上、同じ同上、同じ同上、同じ同上、同じ同上、同じ同上、同じ
センサー 64012AH ~ 012FH同上、同じ同上、同じ同上、同じ同上、同じ同上、同じ同上、同じ
住所の計算式:センサNのスタートレジスタアドレス= 0010H + N-1 6

6.作業方法の詳細

6.1デュアル·データ·エスカレーション·モデル

ゲートウェイは、0005Hレジスタスイッチを介して、2つのデータエスカレーションモードをサポートします。

モード0プロアクティブエスカレーションモード(デフォルト)

  • ワイヤレスセンサーがデータの変化を検知した後、ゲートウェイへのデータの自動アップロード
  • ゲートウェイは受信後すぐに内部レジスタ·キャッシュを更新
  • コンピュータは0 x 0 3機能コードを使用できます。いつでもポーリングして最新データを読み取る
  • 利点:リアルタイムで良い。センサー側のアクティブプッシュ、タイムリーなデータ更新
  • シナリオ:必要性リアルタイムモニタリングシナリオ(温度超過警報、人員侵入検知など)

モード1クエリ·エスカレーション·モード

  • ワイヤレスセンサーのみ。ゲートウェイクエリコマンドを受信した場合データを返す。
  • ホストコンピュータは読み取り要求ゲートウェイを開始し、センサにデータを照会します。
  • 利点:電気の節約センサーはほとんどの時間休止状態です。
  • 適用シーン:バッテリー駆動。センサ、低消費電力優先のシナリオ(農業遠隔監視など)

6.2バインディング·ペアリング·プロセス

ワイヤレスセンサーをゲートウェイに追加する前に、結合ペアリングOperationを完了する必要があります。サポートする。2つのトリガーモード

モード1:ソフトウェアCommandバインディング(Modbus経由で00 06 H書き込み)

  1. 上位机は0006Hレジスタに値を书き込む1送信:0 1 0 6 0 0 0 6 0 0 1 A 8 0B
  2. ゲートウェイは結合モードに入り、LEDが点滅を開始
  3. ターゲットワイヤレスセンサーを使用するデータを1回送信(または送信信号を送信する)
  4. ゲートウェイはセンサー信号を受信し認識し、空きストレージスロットを自動的に割り当てます。センサーのアドレスを記録する
  5. バインド成功LEDの点灭が止まり、ゲートウェイが応答01 06 00 06 00 01A8 0B(成功コード1)を返す
  6. 20 秒以内にセンサー信号が受信されない場合、タイムアウト応答0 1 0 6 0 0 0 0 6 0 0 2 E 8 0 A(タイムアウトコード2)を返し、バインドモードを終了します。

方法2:ハードウェアの結合

  1. ゲートウェイパネルのペアリングボタンを5秒間長押し
  2. バインディングモードに入る(ソフトウェアCommandとまったく同じ効果)
  3. 次のステップはモード1と同じです。
ヒント:いずれの方法でも、各バインドOperationは追加のみ可能です。1つのセンサーです。複数のセンサーを追加する場合は、バインディングプロセスを繰り返します。

完全な運用事例(バイト単位のParseを含む10例)

以下は、16進リクエスト/レスポンスフレームと単語解析を含む、すべての機能をカバーする完全な操作例です。

7.1システムレジスタOperation(6 例)

ケース1デバイスファームウェアバージョン番号の読み取り0001Hの読み取り

プロジェクトプロジェクト#内容は
オペレーションの種類リードホールドレジスタ(関数コード0 x 0 3)
要求フレーム16進数01 03 00 01 00 01 D5 CA
リクエストの解決[アドレス=01] [ファンクションコード=03] [アドレス= 0001H] [レジスタ数=1] [CRC= D5CA]
応答フレーム16進01 03 02 01 02 B8 44
応答のParse[アドレス=01] [ファンクションコード=03] [バイト数=2] [データ=0102]→バージョン1.2[CRC=B844]

ケース2のオンラインセンサーノード数の読み取り0002Hの読み取り

プロジェクトプロジェクト#内容は
リクエストフレーム01 03 00 02 00 01 25 CA
応答フレーム01 03 02 00 08 B9 82
結果の解釈現在は8位です。センサノードオンライン

ケース3:デバイスRS 485スレーブアドレスの変更(0003H新規アドレス= 2への書き込み)

プロジェクトプロジェクト#内容は
オペレーションの種類単一レジスタへの書き込み(関数コード0 x 0 6)
リクエストフレーム01 06 00 03 00 02 F8 0B
リクエストの解決[アドレス=01] [ファンクションコード=06] [レジスタ= 0003H] [データ=0002アドレスを2に変更] [CRC= F80B]
応答フレーム01 06 00 03 00 02 F8 0B(書き込み成功を示すエコー要求フレーム)
注意点は変更後のCommunicationに新しいアドレス(0 x 0 2)が必要

ケース4:シリアルポートボーレートを19200に変更する(00 04 H値= 1を書き込む)

プロジェクトプロジェクト#内容は
リクエストフレーム01 06 00 04 00 01 09 CB
リクエストの解決[アドレス=01] [ファンクションコード=06] [レジスタ=0004H] [データ=0001ボーレートオプション1] [CRC=09CB]
応答フレーム0 1 0 6 0 0 4 0 1 0 9 CB(成功)
注意点は変更後、Communicationを継続するためにホストシリアルポートのボーレートを19200に切り替える必要があります。

ケース5クエリのエスカレードモードに切り替える(书き込み005H値= 1)

プロジェクトプロジェクト#内容は
リクエストフレーム01 06 00 05 00 01 58 0B
リクエストの解決[アドレス=01] [ファンクションコード=06] [レジスタ= 0005H] [データ=0001問合せモード] [CRC= 580B]
応答フレーム01 06 00 05 00 01 58 0B(クエリエスカレーションモードへの切り替えに成功)

ケース6センサーペアをする0006H値= 1を书き込む

プロジェクトプロジェクト#内容は
リクエストフレーム01 06 00 06 00 01 A8 0B
リクエストの解決[アドレス=01] [ファンクションコード=06] [レジスタ= 0006H] [データ=0001開始バインディング] [CRC= A80B]
応答フレーム(成功)0 1 0 6 0 0 0 6 0 0 1 A 8 0B(コード1 =コマンド実行成功、センサーがネットワークに入るまで待機)
応答フレームタイムアウト0 1 0 6 0 0 0 0 6 0 0 2 E 8 0 A(コード2 = 20 秒以内にセンサーなし、タイムアウト終了)

7.2センサデータレジスタOperation(4 例)

ケース7:センサー 1を手動でシステムに追加する(書き込みアドレス0 x 123456 78)

センサデバイスの32ビットアドレスがわかっている場合は、レジスタ書き込みによって直接システムに追加できます。

プロジェクトプロジェクト#内容は
オペレーションの種類複数のレジスタを書き込む(関数コード0 x 10)
宛先アドレスセンサ1データエリアのアドレス0010Hは、3つのレジスタに连続して书き込まれるIndex + Addr_H + Addr_L
リクエストフレーム01 10 00 10 00 03 06 00 01 12 34 56 78 A1 E1
バイト単位のParse[01=アドレス] [10=機能コード] [00 10=開始アドレス0010H] [00 03= 3つのレジスタを書き込む]
[06=合計6バイトのデータ] [00 01=1番+Temperature & Humidityタイプ] [12 34=アドレス上位16ビット] [56 78=アドレス下位16ビット] [A1 E1=CRC]
応答フレーム01 10 00 10 00 03 81CD(0010Hから3つのレジスタへの書き込みを確認)

ケース8:センサ1の全データを読み取る(6レジスタ= 12バイト)

プロジェクトプロジェクト#内容は
リクエストフレーム01 03 00 10 00 06 C4 0D
リクエストの解決[01=アドレス] [03=ファンクションコード] [00 10=アドレス0010H] [00 06= 6つのレジスタを読み出す] [CRC= C40D]
応答フレーム01 03 0C 00 01 12 34 56 78 00 FA 01 F4 00 64 B5 F2
バイト単位のParse[01=アドレス] [03=コード] [0C =12バイトデータ]
[00 01 1号センサー +度タイプ01H]
[12 34 5 6 7 8 32ビットデバイスアドレス0 x 123456 78]
[00 FAtemperature 25.0 C 250 0.1]
[01 F4湿度50.0% 500 0.1]
[00バッテリー 100%
[B5 F2 = CRC]

ケース9:センサー 1の削除(アドレスレジスタをクリア)

センサーを削除する方法は、対応するアドレスレジスタをすべてクリアすることです。

プロジェクトプロジェクト#内容は
リクエストフレーム01 10 00 10 00 03 06 00 00 00 00 00 00 E7 15
リクエストの解決[01=アドレス] [10=ファンクションコード] [00 10=アドレス] [00 03=3レジスタ]
[06=6バイトのデータ] [00 00 00 00 00 00 =すべてクリア] [E7 15=CRC]
応答フレーム0 1 10 0 0 10 0 0 3 8 1 CD(削除成功)
効果はセンサ1のアドレスはクリアされ、システムはもはやセンサのデータを受信しなくなり、ストレージスロットは解放されます。

ケース10:temperatureと湿度データをセンサ1に直接書き込む

プロジェクトプロジェクト#内容は
リクエストフレーム01 10 00 13 00 02 04 01 2C 02 58 72 19
リクエストの解決[01=アドレス] [10=ファンクションコード] [00 13=アドレス0013H Data1] [00 02= 2レジスタを书き込む]
[04=4バイトのデータ] [0 1 2 Ctemperature 30.0 C(300 0.1)] [0 2 5 8湿度60.0%(600 0.1)] [72 19=CRC]
応答フレーム01 10 0 0 13 0 0 2 B0 0D(書き込み成功)

8.例外処理とエラーコード

8.1 Modbus例外応答フォーマット

スレーブ局が不正なOperationを検出した場合、例外応答を返します。

  • 通常の関数コードの上位ビットは1になります(例:0 x 0 3 0 x 83,0 x 0 6 0 x 86,0 x 10 0 x 90)。
  • 1バイトの例外コードが続く
異常コード。意味の意味よくある原因解決策は
01違法な機能コードサポートされていない機能コードが使用された0 x 03/0 x 06/0 x 10のみ使用
02違法なデータアドレスレジスタアドレスが有効范囲外アドレスが0001H ~012范囲内かどうかを
03不正なデータ値書き込みされたデータ値が許容範囲外です値の範囲を確認する(アドレスは1~247)

8.2バインドリターンコード(0006Hレジスタ)

リターンコード。意味の意味説明書は
1コマンドの実行成功結合命令が受信され、ゲートウェイはペアリングモードに入り、センサがネットワークに入るのを待つ
2バインドタイムアウト20 秒以内にセンサー信号を受信せず、自動的にバインドモードを終了

8.3トラブルシューティング用クイックチェックシート

問題の現象考えられる原因解決策は
Communicationタイムアウト、応答なしRS 485アドレスの不一致またはボーレートの不一致0003Hアドレスレジスタと0004Hボーレートレジスタの設定を確認します。
センサデータの読み出しはすべてゼロセンサーノードが登録/バインドされていないか、アドレス書き込みエラー0010Hで始まるアドレスレジスタにゼロ以外の値が正しく書き込まれているかどうかを確認
レジスタに書き込めません機能コードの使用エラーまたは不十分な権限正しい関数コードを使用していることを確認します:単一の書き込みでは0 x 0 6、複数の書き込みでは0 x 10。0001H/0002Hは読み取り専用です。
CRCチェックエラーデータ転送中のエラーRS 485ライン接続を確認し(A+/B-反転、終端抵抗の欠如)、CRCを再計算します。
バインドに失敗しましたタイムアウトが繰り返されますセンサが通信範囲外またはバッテリ切れセンサとゲートウェイの距離を短縮し、センサのバッテリを交換する
一部のセンサーデータが更新されないセンサーはワイヤレス信号の範囲外です。ゲートウェイアンテナの向きの調整、またはリピータの追加

IX.考慮事項とベストプラクティス

9.1主な考慮事項

  1. フレーム間隔時間RTUモードでは、隣接する2つのフレーム間を少なくとも保持する必要があります。3.5文字の時間。沈黙の間隔。異なるボーレートでの最短フレーム間隔:
    • 9600 bps:約3.6 ms
    • 115200 bps约 0.3 ms
  2. ビッグエンディアン関数コード0 x 10を使用して複数のレジスタを書き込む場合は、データを押す必要があります。ビッグエンディアン(Big-Endian)上位バイトは上位バイト、下位バイトは下位バイト。
  3. ブロードキャストOperationが応答しない:ブロードキャストアドレス0 x FFにコマンドを送信すると、すべてのスレーブがアクションを実行しますが、応答フレームは返されません
  4. センサー追加ルール:センサーを追加する場合、アドレスレジスタ(Addr_H + Addr_L)を書き込む必要があるゼロ以外の値ゼロを書き込むことはノードを削除することと同じです。
  5. 操作間隔センサーデータが更新されるまで待つ必要があります。100ms次のレジスタOperationを行います。
  6. 結合リスクの除去0 0 07 Hレジスタに書き込むバインドされたセンサーデータをすべて一度に消去する操作前に既存の構成を保持する必要はないことを確認し、クリア後に1つずつ再バインドする必要があります。

9.2推奨操作手順

  1. 初めての電気:0001Hを読み取りファームウェアバージョンを確認し、0002Hを読み取り初期状態を確認する
  2. Communicationパラメータの設定必要に応じて、0003H
  3. 結合センサー。0006Hまたは物理キーでセンサーを1つずつ追加
  4. バインディングの検証:0002Hを読み取りノード数を確認し、対応するセンサデータエリアを読み取りデータ正常を確認する
  5. 日常業務の遂行:定期的にセンサー Batteryフィールドを読み取り、電力を監視し、低電力センサーバッテリーをタイムリーに交換する

CRC16の実装

本協定の採択MODBUS規格CRC16検証アルゴリズム、多項式0xA001(つまり、0 x 80 0 5のビット反転形式)。以下はC言語の完全なリファレンス実装です。

#include stdint.h>

/**
 * MODBUS CRC16計算
 * @param data計算されるデータバッファポインタ
 * @param len   データの長さ(バイト)
 * @returnさん      16ビットCRCチェック値(下位バイトが前)
 *
 * 多項式:0 x A 001(MODBUS規格)
 * 初期値:0 x FF
 */
uint16_t calc_crc uint8_t *data、uint16_t len
{
    uint 16_t crc = 0 x FFFF;          /初期値の値
    for uint16_t i = 0; i len; i++
    {
        crc ^=データ[i];              //現在のバイトと異なるか
        for uint8_t j = 0; j 8; j++//ビット単位の処理
        {
            if crc 0x0001       最低値は1です。
            {
                CRC = 1;           右に1つ移動
                crc ^= 0 x A 001;       //多項式とは異なる
            }
            elseさん
            {
                CRC = 1;           右のみの移動
            }
        }
    }
    CRCに戻る
}

/* 使用例:
 * uint8_t frame[] = {0x01 0x03 0x00 0x01 0x00 0x01};
 * uint16_t crc = calc_crc frame 6;
 * 結果:crc = 0 x CAD 5(下位バイト0 x D 5、下位バイト0 x CA)
 */

資料のダウンロードと技術サポート

  • このドキュメントのバージョン:V1.3(2015/0 3/0 3更新)
  • 規格に準拠したプロトコル:Modbus業界標準プロトコル仕様
  • デバイスの実際のファームウェアに基づく特定のレジスタ定義
  • テクニカルサポートについては、最新のレジスタマッピングテーブルとプロトコルドキュメントについてメーカーにお問い合わせください。

バージョンの反復履歴

バージョン番号。リリース日:主な変更点
V1.12025-09-01標準Modbus-RTUプロトコルをマスターノードCommunicationプロトコルとして採用した基本バージョン
V1.22025-09-21ソフトウェア命令起動バインド機能の増加;ハードウェアキー起動バインド機能の増加
V 1.3(現在)2025-10-03対応するセンサーの最大数を64個に修正、センサータイプのデータフィールドを追加、センサーデータセグメントのフォーマットの詳細を追加、バインディングのタイムアウト時間を20 秒に修正、0 0 0 7 Hレジスタを追加(ワンクリックですべてのバインディングをクリア)

12.典型的なアプリケーションシナリオ

シナリオ1:スマート農業-温室環境モニタリングシステム

温室内での展開Temperature & Humidityセンサー Type= 01Hこのゲートウェイを介してデータを集約し、Modbus RTU経由でPLCまたはタッチスクリーン制御システムにアップロードします。換気機、スプリンクラーシステム、サンシェードなどの機器をリンクして、恒温恒湿を自動調整します。最大サポート。64個のセンサー大規模な温室のマルチポイント監視ニーズを満たします。

シナリオ2:スマート家畜-家畜の健康管理

すべての牛/羊のためにワイヤレスイヤーマークセンサー Type= 02Hゲートウェイは家畜の体温と活動データを集中的に収集する。家畜の体温が設定した閾値を超えた場合の自動警報(疾病警報)、または活動量の異常な変化が発生した場合の発情/健康状態の判定。定員64名。中小規模の農場の家畜管理ニーズをカバーするのに十分です。

シナリオ3:火災安全 -倉庫/機械室の花火監視

デプロイメント煙センサ(Type=03H)倉庫や機械室などの重要なエリアの煙濃度をリアルタイムで監視します。濃度が閾値を超えると、音響および光学アラーム、排気システム、またはModbusホストコンピュータを介して火災リンケージプラットフォームに通知します。温度湿度センサとの組み合わせにより、統合的な環境安全モニタリングも可能です。

シナリオ4:インテリジェントビルディング-人間の存在感と照明の連携

オフィス、会議室、トイレに設置レーダーセンサー Type= 04Hまたは赤外線PIRセンサType= 05H正確な人員のexistenceを確認します。レーダーソリューションは、実際の“動き”(呼吸)を検出できます。人は光をインテリジェント照明制御、大幅な省エネ。センサのデータは、ゲートウェイを介してビル自動制御システム(BAS)またはKNX/Modbusバスに接続されます。

シナリオ5:セキュリティアラーム-侵入検知とワイヤレスリモコン

結合する。线センサー境界侵入検出、組み合わせの実現ワイヤレスリモコンType= 06H保護/除去操作に使用されます。泛用1527デバイスType= 00Hドア磁気、ガラス破砕、洪水およびその他の種類のワイヤレス検出器と互換性があり、完全なワイヤレスセキュリティシステムを構築し、すべてのデータはModbus RTUアクセスアラームホストまたはSCADAプラットフォームを介して統一されます。

Put this resource to use in a real project?

Go to the Tool Center for message parsing, CRC verification and device debugging, or submit your requirements for selection and integration advice.

Engineer Membership

Turn this article into actionable debugging resources

After activation, you can use advanced message parsing, resource pack downloads, code examples, engineering cases and priority technical support, suitable for real project delivery.

Unlimited Advanced Tools
Resource & Code Packs
Complete Engineering Case Library
Priority Technical Support

Leave a Reply

Your email address will not be published. Required fields are marked *.