emcp/document/显示界面modbus协议寄存器定义.md

212 lines
5.5 KiB
Markdown
Raw Normal View History

2026-06-12 10:37:57 +08:00
# 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] = 秒<br>[7:0] = 分 | 秒/分 |
| 0x00E1 | [15:8] = 时<br>[7:0] = 日 | 时/日 |
| 0x00E2 | [15:8] = 月<br>[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路 × 48字节数据/2 = 16个寄存器
---
### 3. 线路定值设置
- **寄存器类型**:保持寄存器
- **功能码**0x10
- **起始地址**0x0014
- **寄存器长度**56
- **说明**4路 × 7类别 × 24字节数据/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路分别操作