emcp/document/显示界面modbus协议寄存器定义.md
2026-06-12 10:37:57 +08:00

212 lines
5.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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路分别操作