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.
Wen JY ac6199ec7a change - 添加分表存储 2 months ago
..
bin/Debug/net6.0 change - 添加分表存储 2 months ago
obj change - 添加分表存储 2 months ago
Program.cs change - Init 3 months ago
Sln.Iot.csproj change - Init 3 months ago
appsettings.json change - 添加分表存储 2 months ago
readme.md change - Init 3 months ago

readme.md

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

电力采集数据域举例:

举例:

终端发生命令帧:

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

电力采集数据域举例:

举例:

终端发生命令帧:

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