一、产品概述
本产品是一款サポート標準 Modbus RTU Protocol的智能无线センサーはゲートウェイデバイス,具备多节点センサーはデータの収集、通信パラメータ設定和デバイス管理功能。経由 RS485 接口与トップマシン(PLC、タッチパネル、SCADA系统等)Communication,サポート完全的レジスタ读書き込み操作。,可广泛应用于Automation、Environmental Monitoring、Smart agriculture、畜牧养殖、楼宇安防等领域。
该ゲートウェイ作为无线センサーは网络的核心枢纽,能够同时管理多达 64 个无线センサーは节点,将各センサーは的データ统一转换为標準的 Modbus RTU 协议格式,方便トップマシンシステム統合。
二、核心功能体系总览(从协议推算)
基于本プロトコルのドキュメント的レジスタ定义、操作案例及データ構造,可完全推算出产品的以下功能モジュール:
| Serial number | 功能モジュール | 功能説明 | 对应レジスタ/依据 |
|---|---|---|---|
| 1 | Modbus RTU スレーブ通信 | 標準 Modbus RTU 駅からのモデル,RS485 物理接口,サポート機能コード 03/06/10 | Chapter 2、What does a message look like? Open a Modbus "letter" |
| 2 | 多节点センサーは管理 | 最多サポート 64 个无线センサーは节点同时オンライン,每个节点独立寻址 | 0002H register(範囲 0~63)、センサーはデータ区分配ルール |
| 3 | 7 种センサーはタイプサポート | Temperature & Humidity、耳标(畜牧)、烟感、雷达、Infrared、Remote Control、通用 1527 device | Index レジスタ低 8 位タイプ编码定义 |
| 4 | 双データ上报モード | 主动上报モード(センサーは自动推送)+ 查询上报モード(マスターポーリング読み取り) | 0005H register |
| 5 | センサーは绑定配对系统 | 软件指令绑定 + 硬件按键绑定(长按 5 秒),LED 指示灯ステータス反馈 | 0006H register、Chapter 6绑定管理説明 |
| 6 | 全参数レジスタ設定 | slave address(1~247)、Baud rate(5 档)、上报モード均可経由レジスタ修改 | 0003H~0005H register |
| 7 | センサーは生命周期管理 | 追加节点、Read switch status、削除单个节点、一键クリアすべて绑定 | write multiple registers(0x10) Operation + 0007H register |
| 8 | 多维度データの収集 | temperature/湿度/震动/烟雾浓度/人体存在检测/电量/子デバイスタイプ等多类データ | Data1/Data2/Battery 字段定义 |
| 9 | 电池电量モニタリング | 每个无线センサーは节点的实时电池容量监测(0%~100%) | Battery register(+5 偏移) |
| 10 | 固件版本查询 | 読み取りデバイス固件版本号,便于版本管理和维护確認 | 0001H 読み取り専用レジスタ |
| 11 | 放送アドレスサポート | サポート Modbus 放送アドレス 0xFF(255),可对すべての駅から。下发命令 | アドレス範囲説明 |
| 12 | CRC16 チェック机制 | 采用 CRC-16/MODBUS 多項式 0xA001 check,保证データ传输完全性 | Chapter 2チェック方式 + 附录 C 语言算法 |
三、サポート的センサーはタイプ详解
根据协议中 Index レジスタ的低 8 位(センサーはタイプ字段)编码定义,ゲートウェイサポート以下 7 种センサーはタイプ,并可扩展もっと見る:
3.1 センサーはタイプ编码总表
| タイプ编码 | センサーは名称 | 主要データ字段 | Data1 含义 | Data2 含义 | 典型アプリケーションシナリオ。 |
|---|---|---|---|---|---|
| 00H | 通用 1527 编码デバイス | 子デバイスタイプ + ステータスデータ | 空闲 | 子デバイスタイプ编码 | 通用无线遥控/Door Sensor/门窗センサーは |
| 01H | Temperature & Humidity Sensor | temperature + 湿度 + 电量 | 温度值(0.1°C) | 湿度值(0.1%) | 温室大棚、仓库、机房、实验室 |
| 02H | 耳标センサーは(畜牧专用) | temperature + 震动计数 + 电量 | 温度值(0.1°C) | 震动次数(次) | 牲畜体温监测、发情/健康预警 |
| 03H | 烟感/Smoke Sensor | 烟雾浓度 + 电量 | 空闲 | 烟雾浓度(ppm) | 仓库防火、厨房安防、工厂消防 |
| 04H | 雷达人体存在センサーは | 存在ステータス + 电量 | 空闲 | 存在ステータス(0=无人/1=有人) | 智能照明、会议室、卫生间連動 |
| 05H | Infrared PIR Sensors | 存在ステータス + 电量 | 空闲 | 存在ステータス(0=无人/1=有人) | 入侵报警、走廊感应、安防モニタリング |
| 06H | 无线遥控器 | 按键ステータス + 子デバイスタイプ | 空闲 | 按键ステータスデータ | Remote control、灯光控制、デバイス开关 |
| 07H+ | 预留扩展 | 待定义(XXXX) | 待定义 | 待定义 | 未来新センサーはタイプ的扩展位 |
3.2 各センサーはデータ格式详细説明
① Temperature & Humidity Sensor(Type=01H)
| バイト位置 | 字段名 | data type | 単位 | 取值範囲 | example |
|---|---|---|---|---|---|
| +0~+1 (Byte0~1) | Index | UINT16 | - | 高8位=编号(0~63),低8位=Type(0x01) | 0x0001 表示 1 号温湿度センサー |
| +2~+5 (Byte2~5) | Device address Addr | UINT32 | - | 32 位唯一标识 | 0x12345678 |
| +6~+7 (Byte6~7) | temperature Data1 | INT16 | 0.1°C | -3276.8 ~ 3276.7°C | 0x00FB = 25.1°C;0xFFEC = -2.0°C |
| +8~+9 (Byte8~9) | 湿度 Data2 | 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)
専用に牛羊猪等牲畜设计的无线耳标式センサーは,是本产品的一大特色功能:
| バイト位置 | 字段名 | data type | 単位 | 取值範囲 | 业务含义 |
|---|---|---|---|---|---|
| +0~+1 | Index | UINT16 | - | 低8位=0x02 | 标识为耳标タイプ |
| +2~+5 | Device address Addr | UINT32 | - | 唯一标识 | 每头牲畜的唯一 ID |
| +6~+7 | temperature Data1 | INT16 | 0.1°C | 体温範囲 | 牲畜体温(如 38.5°C = 正常牛体温) |
| +8~+9 | 震动 Data2 | UINT16 | 次 | 0 ~ 65535 | 活动量/震动次数,用于判断牲畜活跃度或異常行为 |
| +10~+11 | 电池 Battery | UINT16 | 1% | 0% ~ 100% | 耳标电池剩余电量 |
③ Smoke/烟感センサーは(Type=03H)
| バイト位置 | 字段名 | data type | 単位 | 取值範囲 | 備考 |
|---|---|---|---|---|---|
| +6~+7 | Data1 | — | — | 空闲 | 保留未用 |
| +8~+9 | 烟雾浓度 Data2 | UINT16 | ppm | 0 ~ 5000 ppm | 0x1388 = 5000 ppm(高浓度アラームしきい値) |
| +10~+11 | 电池 Battery | UINT16 | 1% | 0% ~ 100% | センサーは电池电量 |
④ 雷达人体存在センサーは(Type=04H)& Infrared PIR Sensors(Type=05H)
两种センサーは均用于人体存在检测,但技术原理不同:
| comparison items | 雷达センサーは(Type=04H) | Infrared PIR Sensors(Type=05H) |
|---|---|---|
| 检测原理 | 毫米波雷达多普勒效应 | 热释电红外线检测 |
| Data2 取值 | 0x0000 = 无人;0x0001 = 有人 | 0x0000 = 无人;0x0001 = 有人 |
| 优点 | 可穿透塑料/玻璃,不受温度影响,可检测微小动作(如呼吸),适合"人在即亮" | 成本低,功耗极低,适合移動检测 |
| 缺点 | 成本较高 | 无法检测静止人体,受环境温度影响 |
| 適用可能なシーン | 智能办公室/会议室/卫生间(正確存在检测) | 走廊/过道/入口(移動侦测) |
⑤ 无线遥控器(Type=06H)& 通用 1527 编码デバイス(Type=00H)
| field | 无线遥控器(06H) | 通用 1527 device(00H) |
|---|---|---|
| Data1 | 空闲 | 空闲 |
| Data2 | 按键ステータスデータ(具体编码取决于遥控器型号) | 子デバイスタイプ编码(绑定后由マスター更新設定) |
| 備考 | 用于受信 433MHz 遥控器按键信号 | 兼容市面上大多数 EV1527 编码的无线发射デバイス(Door Sensor、Water Leakage、振动等) |
四、通信パラメータ与フレーム形式规范
4.1 基础通信パラメータ
| 参数项 | デフォルト値 | 可选值/範囲 | 設定方式 |
|---|---|---|---|
| 通信プロトコル | Modbus RTU | — | 固定 |
| 物理接口 | RS485 | — | 固定 |
| data format | 8N1(8 data bit,検証なし。,1 stop bit) | 可設定 | デフォルト 8N1 |
| slave address | 1 | 1 ~ 247 | 写入 0003H register |
| 放送アドレス | 255(0xFF) | 仅 255 | 向すべての駅から。送信命令 |
| Baud rate | 9600 bps | 9600 / 19200 / 38400 / 57600 / 115200 | 写入 0004H register |
| チェック方式 | CRC16 | 多項式 0xA001(MODBUS 標準) | 固定 |
| 最大センサーは数量 | — | 64 个 | 硬件限制 |
| フレーム間隔时间 | ≥ 3.5 文字の時間 | @9600bps ≈ 3.6ms;@115200bps ≈ 0.3ms | RTU 协议要求 |
4.2 ボーレート設定对照表(0004H register)
| write value | 实际ボーレート | 单文字の時間 | 3.5 文字間隔 | 適用可能なシーン |
|---|---|---|---|---|
| 0 | 9600 bps | ≈ 1.04 ms | ≈ 3.6 ms | デフォルトおすすめ,Building control |
| 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 サポート的機能コード
| function code | Name | 方向 | 用途 |
|---|---|---|---|
| 0x03 | read holding registers | master→slave | 読み取り版本号、节点数、センサーはデータ等 |
| 0x06 | write single register | master→slave | 設定アドレス、Baud rate、モード、启动绑定等 |
| 0x10 | write multiple registers | master→slave | 追加センサーは、削除节点、批量データの書き込みetc |
五、完全レジスタマッピングテーブル
5.1 系统控制レジスタ区(0001H ~ 000FH)
| register address | レジスタ名称 | 読み書き权限 | data format | 取值範囲/説明 |
|---|---|---|---|---|
| 0001H | 版本号 | 読み取り専用 | UINT16 | デバイス固件版本号,如 0x0102 表示 V1.2 |
| 0002H | 当前オンライン节点数目 | 読み取り専用 | UINT16 | 当前已登録绑定的センサーは节点数量(0 ~ 63) |
| 0003H | RS485 address | 読み書き | UINT16 | Modbus slave address,デフォルト 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 起)
每个センサーは占用 6 个连续レジスタ(12 bytes),最多サポート 64 个センサーは:
| センサーは编号 | calculator | +0 Index | +1 Addr_H | +2 Addr_L | +3 Data1 | +4 Data2 | +5 Battery |
|---|---|---|---|---|---|---|---|
| Sensors 1 | 0010H ~ 0015H | 编号+Type | アドレス高 16 位 | アドレス低 16 位 | data 1 | data 2 | 电池电量 |
| Sensors 2 | 0016H ~ 001BH | 同上 | 同上 | 同上 | 同上 | 同上 | 同上 |
| Sensors 3 | 001CH ~ 0021H | 同上 | 同上 | 同上 | 同上 | 同上 | 同上 |
| Sensors 4 | 0022H ~ 0027H | 同上 | 同上 | 同上 | 同上 | 同上 | 同上 |
| ... | 按 +6 递增 | ... | ... | ... | ... | ... | ... |
| Sensors N | 0010H+(N-1)*6 ~ 0015H+(N-1)*6 | 同上 | 同上 | 同上 | 同上 | 同上 | 同上 |
| Sensors 64 | 012AH ~ 012FH | 同上 | 同上 | 同上 | 同上 | 同上 | 同上 |
六、工作モード详解
6.1 双データ上报モード
ゲートウェイサポート两种データ上报モード,経由 0005H レジスタ切换:
モード 0:主动上报モード(デフォルト)
- 无线センサーは检测到データ变化后,自动将データ上传至ゲートウェイ
- ゲートウェイ收到后立即更新内部レジスタ缓存
- トップマシン可経由 0x03 function code随时ポーリング読み取り最新データ
- Advantages:实时性好,センサーは端主动推送,データ更新及时
- 適用可能なシーン:需要real-time monitoring的场景(例えば温度は制限超過告警、人员闯入检测等)
モード 1:查询上报モード
- 无线センサーは仅在收到ゲートウェイ查询命令时才戻るデータ
- トップマシン发起読み取りリクエスト → ゲートウェイ向センサーは查询 → 戻るデータ
- Advantages:省电,センサーは主に。时间处于休眠ステータス
- 適用可能なシーン:电池供电Sensors、低消費電力は优先的场景(如农业远程监测)
6.2 绑定配对流程
新增无线センサーは到ゲートウェイ前,まず必要です。完成绑定配对操作。サポート两种触发方式:
方式一:软件指令绑定(経由 Modbus 写入 0006H)
- トップマシン向 0006H レジスタ写入数值 1:send 01 06 00 06 00 01 A8 0B
- ゲートウェイ进入绑定モード,指示灯开始闪烁
- 让目标无线センサーは送信一次データ(或触发其发射信号)
- ゲートウェイ受信并识别センサーは信号,自动分配一个空闲存储槽,记录センサーはアドレス
- 绑定成功:指示灯停止闪烁,ゲートウェイ戻るレスポンス 01 06 00 06 00 01 A8 0B(成功代码 1)
- 若 20 秒内未收到任何センサーは信号,戻るタイムアウトレスポンス 01 06 00 06 00 02 E8 0A(タイムアウト代码 2),退出绑定モード
方式二:硬件按键绑定
- 长按ゲートウェイ面板上的配对按键 5 秒
- 进入绑定モード(与软件指令效果完全相同)
- 后续步骤与方式一相同
七、完全操作案例(10 个实例含逐バイト解析)
以下提供カバーすべて功能完全に。操作サンプル,包含十六进制リクエスト/レスポンスフレーム及逐字段解析。
7.1 システム·レジスタ操作(6 例)
案例 1:読み取りデバイス固件版本号(read 0001H)
| 项目 | 内容 |
|---|---|
| 操作タイプ | read holding registers(function code 0x03) |
| リクエストフレーム(hexadecimal) | 01 03 00 01 00 01 D5 CA |
| リクエスト解析 | [address=01] [function code=03] [starting address=0001H] [レジスタの数=1] [CRC=D5CA] |
| レスポンスフレーム(hexadecimal) | 01 03 02 01 02 B8 44 |
| レスポンス解析 | [address=01] [function code=03] [byte count=2] [data=0102] → V1.2 版本 [CRC=B844] |
案例 2:読み取り当前オンラインセンサーは节点数(read 0002H)
| 项目 | 内容 |
|---|---|
| リクエストフレーム | 01 03 00 02 00 01 25 CA |
| レスポンスフレーム | 01 03 02 00 08 B9 82 |
| 结果解读 | 当前有 8 个センサーは节点オンライン |
案例 3:修改デバイス RS485 slave address(写入 0003H → 新アドレス = 2)
| 项目 | 内容 |
|---|---|
| 操作タイプ | write single register(function code 0x06) |
| リクエストフレーム | 01 06 00 03 00 02 F8 0B |
| リクエスト解析 | [address=01] [function code=06] [register=0003H] [data=0002 → アドレス改为 2] [CRC=F80B] |
| レスポンスフレーム | 01 06 00 03 00 02 F8 0B(回显リクエストフレーム,表示写入成功) |
| 注意 | 修改后需使用新アドレス(0x02)进行后续通信 |
案例 4:修改シリアルポートボーレート为 19200(写入 0004H → 值 = 1)
| 项目 | 内容 |
|---|---|
| リクエストフレーム | 01 06 00 04 00 01 09 CB |
| リクエスト解析 | [address=01] [function code=06] [register=0004H] [data=0001 → ボーレート选项 1] [CRC=09CB] |
| レスポンスフレーム | 01 06 00 04 00 01 09 CB(成功) |
| 注意 | 修改后需切换トップマシンシリアルポート的ボーレート为 19200 才能继续通信 |
案例 5:切换为查询上报モード(写入 0005H → 值 = 1)
| 项目 | 内容 |
|---|---|
| リクエストフレーム | 01 06 00 05 00 01 58 0B |
| リクエスト解析 | [address=01] [function code=06] [register=0005H] [data=0001 → query mode] [CRC=580B] |
| レスポンスフレーム | 01 06 00 05 00 01 58 0B(成功切换为查询上报モード) |
案例 6:启动センサーは绑定配对(写入 0006H → 值 = 1)
| 项目 | 内容 |
|---|---|
| リクエストフレーム | 01 06 00 06 00 01 A8 0B |
| リクエスト解析 | [address=01] [function code=06] [register=0006H] [data=0001 → 启动绑定] [CRC=A80B] |
| レスポンスフレーム(成功) | 01 06 00 06 00 01 A8 0B(代码 1 = 命令执行成功,待機中センサーは入网) |
| レスポンスフレーム(タイムアウト) | 01 06 00 06 00 02 E8 0A(代码 2 = 20 秒内无センサーは入网,タイムアウト退出) |
7.2 センサーはデータ·レジスタ操作(4 例)
案例 7:手动追加センサーは 1 到系统(写入アドレス 0x12345678)
当已知センサーはデバイス的 32 ビット·アドレス时,可直接経由レジスタ写入将其追加到系统:
| 项目 | 内容 |
|---|---|
| 操作タイプ | write multiple registers(function code 0x10) |
| 目标アドレス | Sensors 1 データ区的開始アドレス 0010H,连续写入 3 Registers(Index + Addr_H + Addr_L) |
| リクエストフレーム | 01 10 00 10 00 03 06 00 01 12 34 56 78 A1 E1 |
| 逐バイト解析 | [01=address] [10=function code] [00 10=starting address0010H] [00 03=写31つのレジスタ] [06=共6Bytesのデータ] [00 01=1号+温湿度タイプ] [12 34=アドレス高16位] [56 78=アドレス低16位] [A1 E1=CRC] |
| レスポンスフレーム | 01 10 00 10 00 03 81 CD(確認从 0010H 开始写入 3 Registers) |
案例 8:読み取りセンサーは 1 的すべてデータ(6 Registers = 12 bytes)
| 项目 | 内容 |
|---|---|
| リクエストフレーム | 01 03 00 10 00 06 C4 0D |
| リクエスト解析 | [01=address] [03=function code] [00 10=starting address0010H] [00 06=读61つのレジスタ] [CRC=C40D] |
| レスポンスフレーム | 01 03 0C 00 01 12 34 56 78 00 FA 01 F4 00 64 B5 F2 |
| 逐バイト解析 | [01=address] [03=function code] [0C=12Bytesのデータ] [00 01 → 1号センサーは + 温湿度タイプ(01H)] [12 34 56 78 → 32位デバイスアドレス 0x12345678] [00 FA → temperature 25.0°C(250×0.1)] [01 F4 → 湿度 50.0%(500×0.1)] [00 64 → 电池 100%] [B5 F2 = CRC] |
案例 9:削除センサーは 1(清零アドレスレジスタ)
削除センサーは的方法是将对应的アドレスレジスタすべて清零:
| 项目 | 内容 |
|---|---|
| リクエストフレーム | 01 10 00 10 00 03 06 00 00 00 00 00 00 E7 15 |
| リクエスト解析 | [01=address] [10=function code] [00 10=starting address] [00 03=31つのレジスタ] [06=6Bytesのデータ] [00 00 00 00 00 00 = すべて清零] [E7 15=CRC] |
| レスポンスフレーム | 01 10 00 10 00 03 81 CD(削除成功) |
| 效果 | Sensors 1 的アドレス被清零,系统不再受信该センサーは的データ,存储槽释放 |
案例 10:直接写入センサーは 1 的温度和湿度データ
| 项目 | 内容 |
|---|---|
| リクエストフレーム | 01 10 00 13 00 02 04 01 2C 02 58 72 19 |
| リクエスト解析 | [01=address] [10=function code] [00 13=starting address0013H(Data1)] [00 02=写21つのレジスタ] [04=4Bytesのデータ] [01 2C → temperature 30.0°C(300×0.1)] [02 58 → 湿度 60.0%(600×0.1)] [72 19=CRC] |
| レスポンスフレーム | 01 10 00 13 00 02 B0 0D(写入成功) |
八、異常処理与エラー·コード
8.1 Modbus 例外応答形式
当スレーブ检测到非法操作时,戻る異常な応答:
- 正常機能コード最高位变为 1(如 0x03 → 0x83,0x06 → 0x86,0x10 → 0x90)
- 后面跟随 1 byte的異常コード。
| Exception Code | 含义 | 常见原因 | 解決方法 |
|---|---|---|---|
| 01 | 違法な機能コード | 使用了サポートなし。的機能コード | 仅使用 0x03/0x06/0x10 |
| 02 | Illegal data address | レジスター·アドレス超出有效範囲 | チェックアドレス是否在 0001H~012FH 範囲内 |
| 03 | Illegal data value | 写入的データ許容範囲外の値 | チェック取值範囲(如アドレス应在 1~247) |
8.2 绑定功能戻る码(0006H register)
| 戻る码 | 含义 | 説明 |
|---|---|---|
| 1 | 命令执行成功 | 绑定指令已受信,ゲートウェイ进入配对モード待機中センサーは入网 |
| 2 | 绑定タイムアウト | 20 秒内未收到センサーは信号,自动退出绑定モード |
8.3 トラブルシューティングトラブルシューティングクイックチェック·テーブル
| 問題现象 | 可能原因 | ソリューション |
|---|---|---|
| 通信タイムアウト,応答なし。 | RS485 アドレス不マッチング或ボーレート不一致 | チェック 0003H アドレスレジスタ和 0004H ボーレートレジスタ設定 |
| センサーはデータ读出全为零 | センサーは节点未登録/绑定,或アドレス写入エラー | チェック 0010H 起始的アドレスレジスタ是否正确写入非零值 |
| 无法写入レジスタ | 機能コード使用エラー或权限不足 | 確認使用正确的機能コード:单个写入用 0x06,多个写入用 0x10;注意 0001H/0002H 为読み取り専用 |
| CRC verificationError | データ传输过程中出现误码 | チェック RS485 线路连接(A+/B- 是否接反、終端抵抗是否缺失),重新計算 CRC |
| 绑定失敗(反复タイムアウト) | センサーは不在通信範囲内或电池耗尽 | 缩短センサーは与ゲートウェイ距离,更换センサーは电池 |
| 部分センサーはデータ不更新 | 该センサーは超出无线信号カバー範囲 | 调整ゲートウェイ天线方向,或增加リピーター |
九、注意事項について与ベストプラクティス
9.1 关键注意事項について
- フレーム間隔时间:RTU モード下,相邻两フレーム之间必须保持至少 3.5 个文字の時間的静默間隔。不同ボーレートで的最短フレーム間隔:
- 9600 bps:约 3.6 ms
- 115200 bps:约 0.3 ms
- ビッグエンディアンバイトオーダー:使用機能コード 0x10 複数のレジスタを書く。时,データ必须按ビッグエンディアンモード(Big-Endian)组织,前の高さ。,低バイト数在后。
- 广播操作応答なし。:向放送アドレス 0xFF 送信命令时,すべての駅から。执行操作但不会戻るレスポンスフレーム。
- センサーはルールの追加:追加センサーは时,アドレスレジスタ(Addr_H + Addr_L)必须写入非零值;写入全零等同于削除该节点。
- 操作間隔:センサーはデータ更新后,需待機中至少 100ms再进行下一次レジスタ操作。
- クリア绑定的风险:写入 0007H レジスタ会一次性クリアすべての已绑定的センサーはデータ,操作前请確認无需保留现有設定,クリア后需逐一重新绑定。
9.2 おすすめ操作流程
- 首次上电:read 0001H 確認固件版本,read 0002H 確認初始ステータス
- 設定通信パラメータ:根据需要修改 0003H(address)、0004H(Baud rate)、0005H(上报モード)
- 绑定センサーは:経由 0006H 或物理按键逐一追加センサーは
- 验证绑定:read 0002H 確認节点数,読み取り对应センサーはデータ区確認データ正常
- 日常运维:定期読み取りセンサーは Battery 字段モニタリング电量,及时更换低电量センサーは电池
十、CRC16 算法実装
本协议采用 MODBUS 標準 CRC16チェック算法,多項式为 0xA001(即 0x8005 的位反转形式)。以下是完全的 C 语言参照実装:
#include <stdint.h>
/**
* MODBUS CRC16 result
* @param data 待計算的データバッファ指针
* @param len データ長さ(byte)
* @return 16 位 CRC verification值(低バイト数前に)
*
* 多項式:0xA001(MODBUS 標準)
* 初期値は:0xFFFF
*/
uint16_t calc_crc(uint8_t *data, uint16_t len)
{
uint16_t crc = 0xFFFF; // 初期値は
for (uint16_t i = 0; i < len; i++)
{
crc ^= data[i]; // 与当前バイト异或
for (uint8_t j = 0; j < 8; j++) // 逐位処理
{
if (crc & 0x0001) // 最低位为 1
{
crc >>= 1; // 右移一位
crc ^= 0xA001; // 与多項式异或
}
else
{
crc >>= 1; // 仅右移
}
}
}
return crc;
}
/* 使用例の例:
* uint8_t frame[] = {0x01, 0x03, 0x00, 0x01, 0x00, 0x01};
* uint16_t crc = calc_crc(frame, 6);
* common error troubleshooting:crc = 0xCAD5(低バイト数 0xD5 前に,high byte 0xCA 在后)
*/
十一、データのダウンロード与テクニカルサポート
- 本ドキュメント版本:V1.3(2025-10-03 更新)
- 协议遵循標準:Modbus 工业標準プロトコルの仕様
- 具体レジスタ定义以デバイス实际固件为准
- 如需テクニカルサポート,请联系制造商取得最新レジスタマッピングテーブル及プロトコルのドキュメント
版本迭代历史
| 版本号 | 发布日期 | 主要变更内容 |
|---|---|---|
| V1.1 | 2025-09-01 | Basic Editionより本,采用標準 Modbus-RTU 协议作为主节点通信プロトコル |
| V1.2 | 2025-09-21 | 增加软件指令启动绑定功能;增加硬件按键启动绑定功能 |
| V1.3(current) | 2025-10-03 | 修正最大サポートセンサーは数目为 64 个;增加センサーはタイプデータ字段;增加センサーはデータ段格式详细説明;修正绑定タイムアウト時間为 20 秒;增加 0007H register(一键クリアすべて绑定) |
十二、典型アプリケーションシナリオ。
场景一:Smart agriculture — 大棚环境モニタリング系统
在温室大棚内部署Temperature & Humidity Sensor(Type=01H),経由本ゲートウェイ将データ集め后经 Modbus RTU 上传至 PLC 或タッチパネル控制系统。可連動通风机、喷淋系统、遮阳帘等デバイス,実装恒温恒湿自动调节。最大サポート。 64 个センサーは点,满足大型连栋温室的多点位监测需求。
场景二:智慧畜牧 — 牲畜健康管理
为每头牛/羊佩戴无线耳标センサーは(Type=02H),ゲートウェイ集中收集牲畜体温和活动量データ。当某头牲畜体温超过设定阈值时自动告警(疾病预警),或活动量異常变化时判断发情/健康状况。64 节点容量足以カバー中小型养殖场的牲畜管理需求。
场景三:消防セキュリティ — 仓库/机房烟火监测
部署Smoke Sensor(Type=03H),实时监测仓库、机房等重点エリア的烟雾浓度。当浓度超过阈值时,経由 Modbus トップマシン触发声光报警器、排风系统或通知消防連動プラットフォーム。配合温湿度センサー还可実装综合环境セキュリティ监测。
场景四:智能建筑 — 人体存在感知与照明連動
在办公室、会议室、卫生间インストール雷达センサーは(Type=04H)或Infrared PIR Sensors(Type=05H),実装正確的人员存在检测。雷达方案可探测微动(甚至呼吸),実装真正的"人在即亮"智能照明控制,大幅节约能源。センサーはデータ経由ゲートウェイ接続ビルの自動制御系统(BAS)或 KNX/Modbus バス。
场景五:安防报警 — 入侵检测与无线遥控
结合红外センサーは(Type=05H)実装周界入侵检测,搭配无线遥控器(Type=06H)用于布防/撤防操作。通用 1527 device(Type=00H)可兼容门磁、玻璃破碎、水浸等各类无线探测器,构建完全的无线安防系统,すべてのデータ统一経由 Modbus RTU 接入报警マスター或 SCADA プラットフォーム。
Leave a Reply