|
3 weeks ago | |
---|---|---|
.. | ||
Program.cs | 3 weeks ago | |
Sln.Iot.csproj | 3 weeks ago | |
appsettings.json | 3 weeks ago | |
libnserial.so.1 | 3 weeks ago | |
readme.md | 1 month ago | |
sql.md | 1 month 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 |
0x83:L=2(表序号)+8*6(8项数据项)+8(采集时间) = 58个字节 | |||
0x84:L=2(表序号)+8*6(8项数据项)+8(采集时间) = 58个字节 | |||
0x85: L=2(表序号)+4*6(8项数据项)+8(采集时间) = 34个字节 | |||
0x86: L=2(表序号)+16(16路IO输入)+8(采集时间) = 26个字节,N=1 | |||
0x87:L=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 |
0x93:L=2(表序号)+8*6(8项数据项)+8(采集时间) = 58个字节 | |||
0x94:L=2(表序号)+8*6(8项数据项)+8(采集时间) = 58个字节 | |||
0x95: L=2(表序号)+4*6(4项数据项)+8(采集时间) = 34个字节 | |||
0x96: L=2(表序号)+16(16路IO输入)+8(采集时间) = 26个字节,N=1 | |||
0x97:L=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
电能指令:6845002104BF6883023011008E11199A43688E12333343678E13199A43688E21BA5E3FA98E2268733F718E23353F3FAEB651FF000000B65200000000B6504DD33F629010C6E14590803037520521052512008E11000043688E12199A43678E13199A43688E21000000008E22000000008E2300000000B651FF000000B65200000000B65000003F809010AF484605803043520521052513008E11E66643678E12199A43678E13199A43688E21353F3E5E8E2260423E658E239DB23E6FB651FF000000B65200000000B65016873F799010F33344BC803049520521052514008E11333343688E12199A43678E13199A43688E21000000008E22000000008E2300000000B651FF000000B65200000000B65000003F8090103266461C803054520521052515008E11000043688E12CCCD43668E13199A43688E21BA5E3F998E22AE143F978E2326E93FA1B651FF000000B65200000000B65081063F5590106F5C454B803000530521052516008E11000043688E12000043678E13199A43688E211EB83D858E2247AE3D618E23999A3D99B651FF000000B65200000000B650020C3F4B9010619A44F0803006530521052517008E11000043688E12E66643668E13333343688E21A1CB3E858E224FDF3E8D8E23FDF43E94B651FF000000B65200000000B65068733F5190101D1F44C7803011530521052518008E11199A43688E12CCCD43668E13000043688E21CED93EB78E223F7D3EB58E23CCCD3ECCB651FF000000B65200000000B6506C8B3F67901091EC44FD80301753052105257116
流体指令:68450073197F688400E801009B00000000009B01000000009B02000000009B03000000009B0500003F809B06000000009B07000000009B0E00000000803019250521052502009B00000000009B01000000009B02000000009B03000000009B0500003F809B06000000009B07000000009B0E00000000803020250521052503009B00000000009B01000000009B02000000009B03000000009B05C00044219B06000000009B07000000009B0E00000000803021250521052504009B00000000009B01000000009B02000000009B03000000009B05000043BE9B06000000009B07000000009B0E0000000080302225052105254216