# WheelMeasure ModbusTCP 通信协议 ## 概述 - **协议类型**: ModbusTCP - **默认端口**: 502 - **数据类型**: 保持寄存器 (Holding Registers, 功能码 03/06/16) - **字节序**: 大端模式 (Big-Endian) ## 寄存器地址映射 | 地址 | 名称 | 读/写 | 数据类型 | 说明 | |------|------|-------|----------|------| | 0 | 检测控制 | W | UINT16 | 写1-4直接开始检测对应设备 | | 1 | 检测状态 | R | UINT16 | 0=空闲, 1=初始化中, 2=就绪, 3=检测中, 4=完成, 5=错误 | | 2 | 设备序号 | R | UINT16 | 当前结果的设备序号 (1-4) | | 3 | 结果有效 | R | UINT16 | 0=无效, 1=有效 | | 4,5 | 轮眉高度 | R | FLOAT32 | 轮眉到中心高度 (mm) | | 6,7 | 轮眉X | R | FLOAT32 | 轮眉位置X坐标 (mm) | | 8,9 | 轮眉Y | R | FLOAT32 | 轮眉位置Y坐标 (mm) | | 10,11 | 轮眉Z | R | FLOAT32 | 轮眉位置Z坐标 (mm) | | 12,13 | 上点X | R | FLOAT32 | 轮毂上点X坐标 (mm) | | 14,15 | 上点Y | R | FLOAT32 | 轮毂上点Y坐标 (mm) | | 16,17 | 上点Z | R | FLOAT32 | 轮毂上点Z坐标 (mm) | | 18,19 | 下点X | R | FLOAT32 | 轮毂下点X坐标 (mm) | | 20,21 | 下点Y | R | FLOAT32 | 轮毂下点Y坐标 (mm) | | 22,23 | 下点Z | R | FLOAT32 | 轮毂下点Z坐标 (mm) | ## FLOAT32 格式 浮点数使用两个16位寄存器存储,大端模式: ``` 寄存器N = (float32 >> 16) & 0xFFFF // 高16位 寄存器N+1 = float32 & 0xFFFF // 低16位 ``` ## 检测状态枚举 | 值 | 状态 | |----|------| | 0 | 空闲 | | 1 | 初始化中 | | 2 | 就绪 | | 3 | 检测中 | | 4 | 完成 | | 5 | 错误 | ## 通信流程 ``` 1. 写寄存器0 = 设备序号 (1-4) 2. 读寄存器1 等待状态变为 4 (完成) 3. 读地址2-23获取检测结果 ```