83 lines
2.6 KiB
Markdown
83 lines
2.6 KiB
Markdown
|
|
# 光照度读取数据包格式(仁科 / 耘农,2026-07-14 实测核对)
|
|||
|
|
|
|||
|
|
两个传感器均在 ESP32-P4(UART2 = GPIO54/19,9600 8N1)上实测,请求/应答帧
|
|||
|
|
CRC 全部独立复算通过。排查细节见 `docs/modbus-rs485-sensors-2026-07-13.md`。
|
|||
|
|
|
|||
|
|
## 通用说明
|
|||
|
|
|
|||
|
|
- 协议:Modbus RTU,功能码 FC03(读保持寄存器),单寄存器。
|
|||
|
|
- CRC16-Modbus:多项式 0xA001、初值 0xFFFF,线上字节序**低字节在前**
|
|||
|
|
(参考实现:`src/modbus/rtu.rs` 的 `crc16` / `build_read_holding_registers`)。
|
|||
|
|
- 应答合法性判据:地址匹配 + 功能码 0x03 + 数据长度 0x02 + CRC 通过
|
|||
|
|
(`ram-app/src/bin/modbus_bench.rs` 的 `transact`)。
|
|||
|
|
|
|||
|
|
## 仁科铝壳光照度变送器(地址 1)
|
|||
|
|
|
|||
|
|
**光照度寄存器:0x0006(FC03)**
|
|||
|
|
|
|||
|
|
请求(8 字节):
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
01 03 00 06 00 01 64 0B
|
|||
|
|
└┬┘ └┬┘ └──┬──┘ └──┬──┘ └─┬─┘
|
|||
|
|
地址 功能码 起始寄存器 寄存器数 CRC16(lo,hi)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
应答(7 字节):
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
01 03 02 <Hi> <Lo> <CRClo> <CRChi>
|
|||
|
|
└──┬──┘
|
|||
|
|
光照度(大端 u16)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
实测真实帧(2026-07-14 晚,室内弱光):
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
01 03 02 00 11 78 48 → 0x0011 = 17 Lux
|
|||
|
|
01 03 02 00 21 78 5C → 0x0021 = 33 Lux
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
换算:0~65535 量程型 1 count = 1 Lux;0~200000 量程型 1 count = 100 Lux
|
|||
|
|
(手册示例 0x0530=1328 → 1328 Lux 或 132800 Lux)。
|
|||
|
|
|
|||
|
|
**性能**:100% 应答,首字节 ~4.3~4.6ms(含 3.5 字符 turnaround 4ms),
|
|||
|
|
完整事务 ~10.6ms,最快轮询 ~50Hz(背靠背)。
|
|||
|
|
|
|||
|
|
## 邯郸耘农 RY-G/W/485(站号 0xFF)
|
|||
|
|
|
|||
|
|
**光照度寄存器:0x0000(FC03,站号作地址)**
|
|||
|
|
|
|||
|
|
请求(8 字节,与手册示例逐字一致):
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
FF 03 00 00 00 01 91 D4
|
|||
|
|
└┬┘ └┬┘ └──┬──┘ └──┬──┘ └─┬─┘
|
|||
|
|
站号 功能码 起始寄存器 寄存器数 CRC16(lo,hi)=0xD491
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
应答(7 字节):
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
FF 03 02 <Hi> <Lo> <CRClo> <CRChi>
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
实测 + 手册帧:
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
FF 03 02 00 AA 11 EF → 0x00AA = 170(实测唯一成功应答,2026-07-14)
|
|||
|
|
FF 03 02 05 DC 93 59 → 0x05DC = 1500(手册示例,CRC 复算一致)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
换算:0~2000/0~20K 量程 1 count = 1 Lux;0~200K 量程 ÷100(15 KLux)。
|
|||
|
|
|
|||
|
|
**注意**:该传感器光照度寄存器应答率仅 ~1%(慢事务单发 120 笔仅 1 成功;
|
|||
|
|
FC03/FC04 × reg 0x0000~0x0008 探针 36 笔全超时),应答时延迟很短(~11ms)。
|
|||
|
|
帧格式无误,属传感器固件行为(手册标称响应时间 1 秒)。对照组读站号
|
|||
|
|
(FC03 reg 0x0001 @ 地址 0x00)100% 可靠:
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
请求: 00 03 00 01 00 01 D4 1B
|
|||
|
|
应答: 00 03 02 00 FF C5 C4 → 站号 = 0xFF
|
|||
|
|
```
|