212 lines
5.5 KiB
Markdown
212 lines
5.5 KiB
Markdown
# 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路 × 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路分别操作) |