You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

210 lines
11 KiB
Markdown

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

**RKKC1604-N2型动力环境监控一体机.上行通讯协议**
**1.终端主动发送登录指令0x21/0xA1**
终端发起有效登录指令后,上位机软件才能对终端发送的数据进行解析和存库。
| 类别 | 数据内容 | 数据长度 | 备注 |
| --- | --- | --- | --- |
| 帧开始 | 0x68 | 1个字节 | |
| 采集器类型 | 0x45 | 1个字节 | 0x45-采集终端类型 |
| 采集器地址 | 0x0001~0x9999 | 2个字节 | 高位在前低位在后BCD码形式 |
| 命令序列号 | | 2个字节 | 高位在前低位在后,命令帧的序列号 |
| 起始符 | 0x68 | 1个字节 | |
| 控制码 | 0x21 | 1个字节 | 登录指令标识码 |
| 数据长度 | 0x00 0x03 | 2个字节 | 固定为0x00,0x03 |
| 数据域 | 0x12 0x34 0x56 | 3个字节 | 固定为 0x12 0x34 0x56 |
| 校验码 | CS | 1个字节 | 从帧开始到数据域最后一位的数据累加CS校验 |
| 结束符 | 0x16 | 1个字节 | 1个字节 |
举例:
终端发送指令:
68 45 01 02 00 BF 68 21 00 03 12 34 56 97 16
上位机返回指令:
68 45 01 02 00 BF 68 A1 00 00 78 16
**2.上位机对采集终端设备校时指令(0x08/0x88)**
为保证现场采集设备与服务器之间的时间同步,采集终端登录服务器成功后服务器需要对采集设备进行校时。在后续正常工作时,为纠正设备之间的时间偏差,建议每隔一段时间(比如8个小时)对现场终端进行一次校时。
| 类别 | 数据内容 | 数据长度 | 备注 |
| --- | --- | --- | --- |
| 帧开始 | 0x68 | 1个字节 | |
| 采集器类型 | 0x45 | 1个字节 | 0x45-采集终端类型 |
| 采集器地址 | 0x0001~0x9999 | 2个字节 | 高位在前低位在后BCD码形式 |
| 命令序列号 | | 2个字节 | 高位在前低位在后,命令帧的序列号 |
| 起始符 | 0x68 | 1个字节 | |
| 控制码 | 0x08 | 1个字节 | 设置终端参数标识码 |
| 数据长度 | 0x00 0x0D | 2个字节 | 固定为0x00,0x0D |
| 数据域 | 0x00 | 1个字节 | 固定为0x00 |
| | 0x00 | 1个字节 | 固定为0x00 |
| | 0x31 0x32 0x33 | 3个字节 | 密码固定为0x31 0x32 0x33 |
| | 0x80 0x30 | 2个字节 | 时间标识码固定为0x80 0x30 |
| | 秒-分-时-日-月-年 | 6个字节 | 具体时间:秒-分-时-日-月-年 |
| 校验码 | CS | 1个字节 | 从帧开始到数据长度数据累加CS校验 |
| 结束符 | 0x16 | 1个字节 | 1个字节 |
举例:
上位机发送指令:
68 45 01 02 40 00 68 08 00 0D 00 00 31 32 33 80 30 22 39 14 16 09 15 56 16
终端返回指令:
68 45 01 02 40 00 68 88 00 04 00 80 30 00 94 16
**3.终端主动发送心跳指令(0x24/0xA4)**
通过心跳指令判断采集设备与上位机直接的通讯连接状态,采集设备通过定时发送心跳指令,在有效时间内若得到上位机的响应,则判断出终端与上位机之间处于有效连接中,否则若在有效时间捏没有得到上位机的响应,则判断出终端没有连接上上位机,终端则发起登录上位机服务器的流程和指令。
| 类别 | 数据内容 | 数据长度 | 备注 |
| --- | --- | --- | --- |
| 帧开始 | 0x68 | 1个字节 | |
| 采集器类型 | 0x45 | 1个字节 | 0x45-采集终端类型 |
| 采集器地址 | 0x0001~0x9999 | 2个字节 | 高位在前低位在后BCD码形式 |
| 命令序列号 | | 2个字节 | 高位在前低位在后,命令帧的序列号 |
| 起始符 | 0x68 | 1个字节 | |
| 控制码 | 0x24 | 1个字节 | 心跳指令标识码 |
| 数据长度 | | 2个字节 | 固定为0x00,0x00 |
| 校验码 | CS | 1个字节 | 从帧开始到数据长度数据累加CS校验 |
| 结束符 | 0x16 | 1个字节 | 1个字节 |
举例:
终端发送指令:
68 45 00 01 00 01 68 24 00 00 3B 16
上位机返回指令:
68 45 00 01 00 01 68 A4 00 00 BB 16
**4.终端主动上传实时数据指令**
采集设备根据设定的时间间隔,定时对现场仪表进行数据采集,并将采集到的数据综合处理后主动上传到上位机平台。
| 类别 | 数据内容 | 数据长度 | 备注 |
| --- | --- | --- | --- |
| 帧开始 | 0x68 | 1个字节 | |
| 采集器类型 | 0x45 | 1个字节 | 0x45-采集终端类型 |
| 采集器地址 | 0x0001~0x9999 | 2个字节 | 高位在前低位在后BCD码形式 |
| 命令序列号 | | 2个字节 | 高位在前低位在后,命令帧的序列号 |
| 起始符 | 0x68 | 1个字节 | |
| 控制码 | 0x83/0x84/0x85/0x86/0x87 | 1个字节 | 0x83-电力0x84-压缩空气、水0x85-温湿度、照度0x86-开关量IO状态0x87-蒸汽 |
| 数据长度 | N个仪表*1个仪表的长度 | 2个字节 | 1条仪表数据数据长度L
0x83L=2(表序号)+8*6(8项数据项)+8采集时间 = 58个字节
0x84L=2(表序号)+8*6(8项数据项)+8采集时间 = 58个字节
0x85: L=2(表序号)+4*6(8项数据项)+8采集时间 = 34个字节
0x86: L=2(表序号)+16(16路IO输入)+8采集时间 = 26个字节N=1
0x87L=2(表序号)+8*6(8项数据项)+8采集时间 = 58个字节 |
| 数据域 | 0x00 | N*L个字节 | |
| 校验码 | CS | 1个字节 | 从帧开始到数据长度数据累加CS校验 |
| 结束符 | 0x16 | 1个字节 | 1个字节 |
控制码:
| 序号 | 终端主动发送数据控制码 | 上位机返回对应控制码 | 备注 |
| --- | --- | --- | --- |
| 1 | 0x83 | 0xB3 | |
| 2 | 0x84 | 0xB4 | |
| 3 | 0x85 | 0xB5 | |
| 3 | 0x85 | 0xB6 | |
电力采集数据域举例:
![](attachment:fecb539a-3dd8-4e4e-8761-046c06386784:image1.png)
举例:
终端发生命令帧:
68 45 00 01 01 FF 68 83 00 3A 01 00 8E 11 61 4E 4B 3C 8E 12 61 4E 4B 3C 8E 13 61 4E 4B 3C 8E 21 61 4E 4B 3C 8E 22 61 4E 4B 3C 8E 23 61 4E 4B 3C B6 50 3F 7C AC 08 90 10 61 4E 4B 3C 80 30 50 40 16 28 04 20 F5 16
上位机返回:
68 45 00 01 0A 3F 68 B3 00 00 12 16
**5.终端主动上传历史数据指令**
在采集设备与上位机有效连接的期间内,采集设备对存储在内部存储区内的历史数据进行批量上传工作。
| 类别 | 数据内容 | 数据长度 | 备注 |
| --- | --- | --- | --- |
| 帧开始 | 0x68 | 1个字节 | |
| 采集器类型 | 0x45 | 1个字节 | 0x45-采集终端类型 |
| 采集器地址 | 0x0001~0x9999 | 2个字节 | 高位在前低位在后BCD码形式 |
| 命令序列号 | | 2个字节 | 高位在前低位在后,命令帧的序列号 |
| 起始符 | 0x68 | 1个字节 | |
| 控制码 | 0x83/0x84/0x85/0x86/0x87 | 1个字节 | 0x83-电力0x84-压缩空气、水0x85-温湿度、照度0x86-开关量IO状态0x87-蒸汽 |
| 数据长度 | N个仪表*1个仪表的长度 | 2个字节 | 1条仪表数据数据长度L
0x93L=2(表序号)+8*6(8项数据项)+8采集时间 = 58个字节
0x94L=2(表序号)+8*6(8项数据项)+8采集时间 = 58个字节
0x95: L=2(表序号)+4*6(4项数据项)+8采集时间 = 34个字节
0x96: L=2(表序号)+16(16路IO输入)+8采集时间 = 26个字节N=1
0x97L=2(表序号)+8*6(8项数据项)+8采集时间 = 58个字节 |
| 数据域 | 0x00 | N*L个字节 | |
| 校验码 | CS | 1个字节 | 从帧开始到数据长度数据累加CS校验 |
| 结束符 | 0x16 | 1个字节 | 1个字节 |
控制码:
| 序号 | 终端主动发送数据控制码 | 上位机返回对应控制码 | 备注 |
| --- | --- | --- | --- |
| 1 | 0x93 | 0xC3 | |
| 2 | 0x94 | 0xC4 | |
| 3 | 0x95 | 0xC5 | |
| 4 | 0x96 | 0xC6 | |
| 5 | 0x97 | 0xC7 | |
电力采集数据域举例:
![](attachment:fecb539a-3dd8-4e4e-8761-046c06386784:image1.png)
举例:
终端发生命令帧:
68 45 00 01 01 FF 68 93 00 3A 01 00 8E 11 61 4E 4B 3C 8E 12 61 4E 4B 3C 8E 13 61 4E 4B 3C 8E 21 61 4E 4B 3C 8E 22 61 4E 4B 3C 8E 23 61 4E 4B 3C B6 50 3F 7C AC 08 90 10 61 4E 4B 3C 80 30 50 40 16 28 04 20 05 16
上位机返回:
68 45 00 01 0A 3F 68 C3 00 00 22 16
# 附录:上传数据标识码(部分)
| 标识符类型 | 说明 | 标识符类型 | 说明 |
| --- | --- | --- | --- |
| 0x8E11 | A相电压 | 0x9B00 | 仪表压力值 |
| 0x8E12 | B相电压 | 0x9B01 | 仪表温度值 |
| 0x8E13 | C相电压 | 0x9B02 | 仪表频率值 |
| 0x8E21 | A相电流 | 0x9B03 | 仪表瞬时流值 |
| 0x8E22 | B相电流 | 0x9B05 | 仪表累积流量值 |
| 0x8E23 | C相电流 | 0x9B06 | 仪表瞬时热量 |
| 0xB650 | 总功率因数 | 0x9B07 | 仪表累积热量值 |
| 0x9010 | 正向有功总电能 | 0x9B0E | 仪表密度值 |
| 0x8030 | 仪表数据采集时间 | | |
| 标识符类型 | 说明 | 标识符类型 | 说明 |
| --- | --- | --- | --- |
| 0x8E50 | 温湿度.温度 | 0x8E51 | 照度.流明 |
| 0x8E52 | 温湿度.湿度 | 0x8E53 | 噪声.分贝 |
| 0x8E54 | 振动-速度 | 0x8E55 | 振动-位移 |
| 0x8E56 | 振动-加速度 | 0x8E57 | 振动-温度 |
| 0x8030 | 仪表数据采集时间 | | |
指令样例:
`温度指令68 54 00 02 0E 7F 68 85 00 28 01 01 8E 50 70 A4 41 DD 8E 51 00 00 00 00 8E 52 00 00 00 00 8E 53 00 00 00 00 8E 54 00 00 00 00 80 30 06 47 04 03 09 24 25 16`
`湿度指令68 54 00 01 18 3F 68 85 00 28 01 01 8E 50 7A E1 41 FC 8E 51 00 00 00 00 8E 52 0A 3D 42 2E 8E 53 00 00 00 00 8E 54 00 00 00 00 80 30 34 47 04 03 09 24 39 16`
`噪音指令68 54 00 03 1B 3F 68 85 00 28 01 01 8E 50 00 00 00 00 8E 51 00 00 00 00 8E 52 00 00 00 00 8E 53 66 66 42 93 8E 54 00 00 00 00 80 30 36 53 09 14 03 25 AF 16`
`电能指令6845002104BF6883023011008E11199A43688E12333343678E13199A43688E21BA5E3FA98E2268733F718E23353F3FAEB651FF000000B65200000000B6504DD33F629010C6E14590803037520521052512008E11000043688E12199A43678E13199A43688E21000000008E22000000008E2300000000B651FF000000B65200000000B65000003F809010AF484605803043520521052513008E11E66643678E12199A43678E13199A43688E21353F3E5E8E2260423E658E239DB23E6FB651FF000000B65200000000B65016873F799010F33344BC803049520521052514008E11333343688E12199A43678E13199A43688E21000000008E22000000008E2300000000B651FF000000B65200000000B65000003F8090103266461C803054520521052515008E11000043688E12CCCD43668E13199A43688E21BA5E3F998E22AE143F978E2326E93FA1B651FF000000B65200000000B65081063F5590106F5C454B803000530521052516008E11000043688E12000043678E13199A43688E211EB83D858E2247AE3D618E23999A3D99B651FF000000B65200000000B650020C3F4B9010619A44F0803006530521052517008E11000043688E12E66643668E13333343688E21A1CB3E858E224FDF3E8D8E23FDF43E94B651FF000000B65200000000B65068733F5190101D1F44C7803011530521052518008E11199A43688E12CCCD43668E13000043688E21CED93EB78E223F7D3EB58E23CCCD3ECCB651FF000000B65200000000B6506C8B3F67901091EC44FD80301753052105257116`
`流体指令68450073197F688400E801009B00000000009B01000000009B02000000009B03000000009B0500003F809B06000000009B07000000009B0E00000000803019250521052502009B00000000009B01000000009B02000000009B03000000009B0500003F809B06000000009B07000000009B0E00000000803020250521052503009B00000000009B01000000009B02000000009B03000000009B05C00044219B06000000009B07000000009B0E00000000803021250521052504009B00000000009B01000000009B02000000009B03000000009B05000043BE9B06000000009B07000000009B0E0000000080302225052105254216`