I.製品の概要
この製品はサポート規格です。Modbus RTUプロトコルのはスマートワイヤレスセンサゲートウェイデバイス有する。マルチノードセンサデータ収集、Communicationパラメータの設定そして、デバイス管理。RS 485インターフェースを通じて上位コンピュータ(PLC、タッチスクリーン、SCADAシステムなど)とCommunicationし、完全なレジスタ読み書きOperationをサポートし、広く使用できます。産業用オートメーション、環境モニタリング、スマート農業、家畜の飼育、建築物のセキュリティなどの分野です
ゲートウェイは、ワイヤレスセンサーネットワークの中核ハブとして機能し、最大の同時管理が可能です。64個のワイヤレスセンサーノード各センサからのデータを標準Modbus RTUプロトコルフォーマットに変換し、上位コンピュータシステムの統合を容易にします。
二、コア機能体系の概要(プロトコルから推定)
このプロトコルドキュメントのレジスタ定義、操作例、データ構造に基づいて、製品の以下の機能モジュールを完全に推定することができます。
| シリアル番号。 | 機能モジュール | 機能の説明 | 対応するレジスタ/ベース |
|---|---|---|---|
| 1 | Modbus RTUスレーブCommunication | 標準Modbus RTUスレーブモード、RS 485物理インタフェース、機能コードをサポート0 3/0 6/10 | Chapter 2、Chapter 3 |
| 2 | マルチノードセンサー管理 | 最大64個のワイヤレスセンサノードを同時にオンラインでサポートし、各ノードは独立してアドレス指定可能 | 0002Hレジスタ范囲0~63、センサデータエリア割当てルール |
| 3 | 7種類のセンサータイプをサポート | 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)をサポートし、すべてのスレーブにコマンドを発行できます。 | 住所範囲の説明 |
| 12 | CRC16チェックメカニズム | CRC-16/MODBUS多項式0 x A 001検証により、データ伝送の完全性を確保 | Chapter 2検証方式 +付録C言語アルゴリズム |
サポートするセンサタイプの詳細
プロトコル内のIndexレジスタの下位8ビット(センサタイプフィールド)エンコーディング定義によると、ゲートウェイは以下をサポートします。7種類のセンサーさらに拡張できます:
3.1センサタイプコードの概要
| タイプコードの種類 | センサーの名前 | 主なデータフィールド | データ1の意味 | データ2の意味 | 典型的な応用シナリオ |
|---|---|---|---|---|---|
| 00H | ユニバーサル152 7コーディング装置 | サブデバイスタイプ+ステータスデータ | アイドル状態。 | サブデバイスタイプエンコーディング | ユニバーサルワイヤレスリモコン/ドア磁気/ドア/窓センサ |
| 01H | temperatureと湿度センサー | 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) | Index | UINT16 | - | 上位8ビット=番号0~63、下位8ビット=型0 x 01 | 0 x 00 01は温度湿度センサ番号1を表します。 |
| +2~+5 (Byte2~5) | デバイスアドレスAddr | UINT32 | - | 32のユニークな識別子 | 0x12345678 |
| +6~+7 (Byte6~7) | temperatureデータ1 | INT16 | 0.1°C | -3276.8 ~ 3276.7°C | 0x00FB = 25.1°C;0xFFEC = -2.0°C |
| +8~+9 (Byte8~9) | 湿度データ2 | UINT16 | 0.1% | 0 ~ 100% | 0x028B = 65.1%;0x01F4 = 50.0% |
| +10~+11 (Byte10~11) | バッテリー Battery | UINT16 | 1% | 0% ~ 100% | 0x0064 = 100%;0x0032 = 50% |
② 耳标センサー-牧畜専用(Type= 02H)
牛や羊などの家畜用に特別に設計されたワイヤレス耳タグセンサーは、この製品の主要な機能です。
| バイト位置 | フィールド名Field Name | データ型 | ユニットユニット | 値の範囲 | ビジネスの意味 |
|---|---|---|---|---|---|
| +0~+1 | Index | UINT16 | - | 下位8ビット= 0 x 0 2 | 耳标タイプとして識別 |
| +2~+5 | デバイスアドレスAddr | UINT32 | - | 一意の識別子 | 各家畜の固有ID |
| +6~+7 | temperatureデータ1 | INT16 | 0.1°C | 体温の範囲 | 家畜の体温(38.5°C =牛の体温) |
| +8~+9 | ショックデータ2 | UINT16 | 次は。 | 0 ~ 65535 | 家畜の活動や異常行動を判断するための活動/振動数 |
| +10~+11 | バッテリー Battery | UINT16 | 1% | 0% ~ 100% | 耳タグのバッテリー残量 |
③煙·煙感知センサ(Type=03H)
| バイト位置 | フィールド名Field Name | データ型 | ユニットユニット | 値の範囲 | 備考:コメント |
|---|---|---|---|---|---|
| +6~+7 | Data1 | — | — | アイドル状態。 | 未使用の予約 |
| +8~+9 | 煙濃度データ2 | UINT16 | ppm | 0 ~ 5000 ppm | 0 x 1388 = 5000 ppm(高濃度アラームのしきい値) |
| +10~+11 | バッテリー Battery | UINT16 | 1% | 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。 |
| 駅からの住所 | 1 | 1 ~ 247 | 0003Hレジスタへの書き込み |
| 放送アドレス | 255(0xFF) | たった25 5 | すべてのスレーブにコマンドを送信 |
| ボーレート | 9600 bps | 9600 / 19200 / 38400 / 57600 / 115200 | 0004Hレジスタへの書き込み |
| 検証方式の検証 | CRC16 | 多項式0xA001 MODBUS規格 | 固定された |
| センサーの最大数 | — | 64位。 | ハードウェアの制限 |
| フレーム間隔時間 | ≥3.5時間の使い方 | @9600bps ≈ 3.6ms;@115200bps ≈ 0.3ms | RTUプロトコルの要件 |
4.2ボーレート対照表0004Hレジスタ
| 値の書き込み | 実際のボーレート | 1文字の時間 | 3.5文字の間隔 | 適用可能なシーン |
|---|---|---|---|---|
| 09600 bps | ≈ 1.04 ms | ≈ 3.6 ms | 信頼性の高い推奨。 | |
| 1 | 19200 bps | ≈ 0.52 ms | ≈ 1.8 ms | ミディアムスピードの必要性 |
| 2 | 38400 bps | ≈ 0.26 ms | ≈ 0.9 ms | 高速である。 |
| 3 | 57600 bps | ≈ 0.17 ms | ≈ 0.6 ms | 高速伝送を行う。 |
| 4 | 115200 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) |
| 0003H | RS 485アドレス | 読み取りと書き込み | UINT16 | Modbusスレーブアドレス、デフォルト1、範囲1 ~ 247 |
| 0004H | シリアルポートボーレート | 読み取りと書き込み | UINT16 | 0=9600, 1=19200, 2=38400, 3=57600, 4=115200 |
| 0005H | プロアクティブなエスカレーションモードの設定 | 読み取りと書き込み | UINT16 | 0=プロアクティブなエスカレーション有効(デフォルト)、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 | 同上、同じ | 同上、同じ | 同上、同じ | 同上、同じ | 同上、同じ | 同上、同じ |
| センサー 64 | 012AH ~ 012FH | 同上、同じ | 同上、同じ | 同上、同じ | 同上、同じ | 同上、同じ | 同上、同じ |
6.作業方法の詳細
6.1デュアル·データ·エスカレーション·モデル
ゲートウェイは、0005Hレジスタスイッチを介して、2つのデータエスカレーションモードをサポートします。
モード0プロアクティブエスカレーションモード(デフォルト)
- ワイヤレスセンサーがデータの変化を検知した後、ゲートウェイへのデータの自動アップロード
- ゲートウェイは受信後すぐに内部レジスタ·キャッシュを更新
- コンピュータは0 x 0 3機能コードを使用できます。いつでもポーリングして最新データを読み取る
- 利点:リアルタイムで良い。センサー側のアクティブプッシュ、タイムリーなデータ更新
- シナリオ:必要性リアルタイムモニタリングシナリオ(温度超過警報、人員侵入検知など)
モード1クエリ·エスカレーション·モード
- ワイヤレスセンサーのみ。ゲートウェイクエリコマンドを受信した場合データを返す。
- ホストコンピュータは読み取り要求ゲートウェイを開始し、センサにデータを照会します。
- 利点:電気の節約センサーはほとんどの時間休止状態です。
- 適用シーン:バッテリー駆動。センサ、低消費電力優先のシナリオ(農業遠隔監視など)
6.2バインディング·ペアリング·プロセス
ワイヤレスセンサーをゲートウェイに追加する前に、結合ペアリングOperationを完了する必要があります。サポートする。2つのトリガーモード:
モード1:ソフトウェアCommandバインディング(Modbus経由で00 06 H書き込み)
- 上位机は0006Hレジスタに値を书き込む1送信:0 1 0 6 0 0 0 6 0 0 1 A 8 0B
- ゲートウェイは結合モードに入り、LEDが点滅を開始
- ターゲットワイヤレスセンサーを使用するデータを1回送信(または送信信号を送信する)
- ゲートウェイはセンサー信号を受信し認識し、空きストレージスロットを自動的に割り当てます。センサーのアドレスを記録する
- バインド成功LEDの点灭が止まり、ゲートウェイが応答01 06 00 06 00 01A8 0B(成功コード1)を返す
- 20 秒以内にセンサー信号が受信されない場合、タイムアウト応答0 1 0 6 0 0 0 0 6 0 0 2 E 8 0 A(タイムアウトコード2)を返し、バインドモードを終了します。
方法2:ハードウェアの結合
- ゲートウェイパネルのペアリングボタンを5秒間長押し
- バインディングモードに入る(ソフトウェアCommandとまったく同じ効果)
- 次のステップはモード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主な考慮事項
- フレーム間隔時間RTUモードでは、隣接する2つのフレーム間を少なくとも保持する必要があります。3.5文字の時間。沈黙の間隔。異なるボーレートでの最短フレーム間隔:
- 9600 bps:約3.6 ms
- 115200 bps约 0.3 ms
- ビッグエンディアン関数コード0 x 10を使用して複数のレジスタを書き込む場合は、データを押す必要があります。ビッグエンディアン(Big-Endian)上位バイトは上位バイト、下位バイトは下位バイト。
- ブロードキャストOperationが応答しない:ブロードキャストアドレス0 x FFにコマンドを送信すると、すべてのスレーブがアクションを実行しますが、応答フレームは返されません。
- センサー追加ルール:センサーを追加する場合、アドレスレジスタ(Addr_H + Addr_L)を書き込む必要があるゼロ以外の値ゼロを書き込むことはノードを削除することと同じです。
- 操作間隔センサーデータが更新されるまで待つ必要があります。100ms次のレジスタOperationを行います。
- 結合リスクの除去0 0 07 Hレジスタに書き込むバインドされたセンサーデータをすべて一度に消去する操作前に既存の構成を保持する必要はないことを確認し、クリア後に1つずつ再バインドする必要があります。
9.2推奨操作手順
- 初めての電気:0001Hを読み取りファームウェアバージョンを確認し、0002Hを読み取り初期状態を確認する
- Communicationパラメータの設定必要に応じて、0003H
- 結合センサー。0006Hまたは物理キーでセンサーを1つずつ追加
- バインディングの検証:0002Hを読み取りノード数を確認し、対応するセンサデータエリアを読み取りデータ正常を確認する
- 日常業務の遂行:定期的にセンサー 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.1 | 2025-09-01 | 標準Modbus-RTUプロトコルをマスターノードCommunicationプロトコルとして採用した基本バージョン |
| V1.2 | 2025-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プラットフォームを介して統一されます。
Leave a Reply