# Modbus 协议寄存器定义文档 ## 一、协议基本配置 - **协议类型**:Modbus RTU - **从机地址**:1 - **串口配置**: - 波特率:115200 - 数据位:8 - 校验位:无 - 停止位:1 --- ## 二、读数据(功能码:04) ### 1. 实时显示数据 - **寄存器类型**:输入寄存器 - **功能码**:0x04 - **数据格式**:单精度浮点数(32位,占2个寄存器) #### 线路 #1 - **寄存器地址范围**:0x0000 ~ 0x0032 | 寄存器地址 | 参数名 | 寄存器地址 | 参数名 | 寄存器地址 | 参数名 | | ---------- | ------ | ---------- | ------ | ---------- | ------ | | 0x0000 | Ua | 0x0012 | Pt | 0x0024 | PFa | | 0x0002 | Ub | 0x0014 | Qa | 0x0026 | PFb | | 0x0004 | Uc | 0x0016 | Qb | 0x0028 | PFc | | 0x0006 | Ia | 0x0018 | Qc | 0x002A | PFt | | 0x0008 | Ib | 0x001A | Qt | 0x002C | Uab | | 0x000A | Ic | 0x001C | Sa | 0x002E | Ubc | | 0x000C | Pa | 0x001E | Sb | 0x0030 | Uca | | 0x000E | Pb | 0x0020 | Sc | 0x0032 | Frq | | 0x0010 | Pc | 0x0022 | St | - | - | #### 线路 #2 - **起始地址**:0x0034 - **结束地址**:0x0066 - **参数顺序**:同线路 #1 #### 线路 #3 - **起始地址**:0x0068 - **结束地址**:0x009A - **参数顺序**:同线路 #1 #### 线路 #4 - **起始地址**:0x009C - **结束地址**:0x00CE - **参数顺序**:同线路 #1 --- ### 2. 模拟量输入(AI) - **寄存器类型**:输入寄存器 - **功能码**:0x04 - **数据格式**:单精度浮点数(32位) | 寄存器地址 | 输入编号 | | ---------- | -------- | | 0x00D0 | Ai1 | | 0x00D2 | Ai2 | | 0x00D4 | Ai3 | | 0x00D6 | Ai4 | | 0x00D8 | Ai5 | | 0x00DA | Ai6 | | 0x00DC | Ai7 | | 0x00DE | Ai8 | --- ### 3. B码对时 - **寄存器类型**:输入寄存器 - **功能码**:0x04 - **数据格式**:无符号16位整型 | 寄存器地址 | 位分配 | 内容 | | ---------- | ------------------------- | ----- | | 0x00E0 | [15:8] = 秒
[7:0] = 分 | 秒/分 | | 0x00E1 | [15:8] = 时
[7:0] = 日 | 时/日 | | 0x00E2 | [15:8] = 月
[7:0] = 年 | 月/年 | --- ### 4. 数字量输入(开入) - **寄存器类型**:输入寄存器 - **功能码**:0x04 - **寄存器地址**:0x00E3 - **说明**:共16路,每个bit位表示一路开入量 --- ### 5. 事件总标记 - **寄存器类型**:输入寄存器 - **功能码**:0x04 - **寄存器地址**:0x00E4 - **说明**:当该位被置位时,表示有新事件,需要读取事件内容 --- ## 三、读事件(功能码:03) - **触发条件**:事件总标记(0x00E4)被置位 - **寄存器类型**:保持寄存器 - **功能码**:0x03 - **寄存器地址范围**:0x0000 ~ 0x0003 | 寄存器地址 | 数据名 | 格式 | 说明 | | ---------- | ---------------- | ---------- | ---------------------------- | | 0x0000 | 时间戳(低16位) | 32位无符号 | 占用0x0000~0x0001 | | 0x0001 | 时间戳(高16位) | | | | 0x0002 | 毫秒计时 | 16位无符号 | | | 0x0003 | 线路号+事件类型 | 16位无符号 | 高字节线路号,低字节事件类型 | --- ## 四、读输入数字量(开入)(功能码:02) - **寄存器类型**:离散输入 - **功能码**:0x02 | 寄存器地址 | 说明 | | ---------- | --------------------- | | 0x0000 | 16路开入量,每bit一路 | | 0x0001 | 保留(16路) | --- ## 五、写数据(功能码:10,写多个保持寄存器) ### 1. 时间设置 - **寄存器类型**:保持寄存器 - **功能码**:0x10 - **起始地址**:0x0000 - **寄存器长度**:2 - **说明**:写入时间戳(32位) --- ### 2. 串口设置 - **寄存器类型**:保持寄存器 - **功能码**:0x10 - **起始地址**:0x0004 - **寄存器长度**:16 - **说明**:4路 × 4(8字节数据/2) = 16个寄存器 --- ### 3. 线路定值设置 - **寄存器类型**:保持寄存器 - **功能码**:0x10 - **起始地址**:0x0014 - **寄存器长度**:56 - **说明**:4路 × 7类别 × 2(4字节数据/2) = 56个寄存器 --- ### 4. AI通道设置 - **寄存器类型**:保持寄存器 - **功能码**:0x10 - **起始地址**:0x004C - **寄存器长度**:30 - **说明**:12路 × 5字节数据 / 2 = 30个寄存器(整体下发) --- ### 5. AO通道设置 - **寄存器类型**:保持寄存器 - **功能码**:0x10 - **起始地址**:0x006A - **寄存器长度**:30 - **说明**:12路 × 5字节数据 / 2 = 30个寄存器(整体下发) --- ### 6. AI报警设置 - **寄存器类型**:保持寄存器 - **功能码**:0x10 - **起始地址**:0x0088 - **寄存器长度**:30 - **说明**:12路 × 5字节数据 / 2 = 30个寄存器(整体下发) --- ### 7. 开出(写继电器输出) - **寄存器类型**:保持寄存器 - **功能码**:0x10 - **起始地址**:0x00A6 - **寄存器长度**:1 - **数据格式**:16位,每一位表示一路开出量 --- ## 六、写开出(线圈)(功能码:05) - **寄存器类型**:线圈 - **功能码**:0x05 - **起始地址**:0x0000 - **寄存器长度**:12 - **说明**:单路线圈写操作(12路分别操作)