一、指令处理流程图
河海智慧岩土采集系统接收到下位机(传感器)传来的指令,首先进行保存,随后对其进行处理,如图1所示。
图1 河海智慧岩土系统数据采集流程图
指令的形式为“**DTU编号/指令/加密类型**指令主体信息”,前部为头部信息,后部为主体信息,例如以下指令:2A 2A 33 34 2F 52 45 50 2F 2A 2A (头部信息) 0F 84 03 62 C2 2A 2A 33 34 2F 52 45 50 2F 2A 2A 0E 04 75 31 00 0A 3B 31(主体信息)
它的头部信息用ASCII编码转译后得**34/REP/**,其中
星号为识别符号,无实际意义;
第一个斜号前数据为DTU编号,在项目信息总表中可匹配;
第一个斜号和第二个斜号之间为指令,可为空,但斜号不可省略,如REP是要求服务器接收到数据需要回传。
第一个斜号后为数据加密信息,如Y1,是指采用移位对数据进行加密,移位数为向右移位1。
二、项目信息汇总表
项目信息汇总表位于“project”数据库中的“list”表格,具体格式如下:
表1 项目信息汇总表
第一列:DTU编号,是指指令中包含的项目编号。
第二列:项目编号,是指项目标识的编号,一个项目可以没有DTU编号,但项目编号必须有。
第三列:项目简称,包括数据库内表的标识等。
第四列:项目名称。
第五列:项目状态,标识项目是否在研。
三、项目设备详细信息表
项目信息汇总表位于“project”数据库中的“项目简称_inst”表格,具体格式如表2。
表2 项目设备详细信息表
第一列:项目编号,同项目信息总表(表1)中项目编号。
第二列:设备ID:
第三列:设备通道(或线圈)号:
第四列:设备所在测点名称
第五列:测点所在断面号
第六列:测点所在轴线号
第七列:测点指令和数据类型,用xxx-xx形式,其中前部分为指令类型,后部分为数据处理类型,如Modbus-SP的指令类型为Modbus,数据处理类型是以土压力(SP)类型处理。具体说明见附表1和2。
第八列:测点深度,单位m。
第九列:线性标定系数a
第十列:线性标定系数b
第十一列:发送指令1,无空格,十六进制源码形式,不可为空
第十二列:发送指令2,可为空
附表1 指令类型具体说明
编号 | 指令类型 | 说明 |
1 | Modbus | 询问 01 (ID) 04 (操作) 00 01 (通道) 00 01 (数量,一般单个读取) 60 0A 反馈 01 (ID) 04 (操作) 02 (数据位数) 00 17 (数值) F8 4A |
2 | SW(自定义水位模式) | 询问 5B 49 44 3A 34 39 (ID) 2C 52 45 41 44 3F 5D 0A 反馈 3C 49 44 3A 34 39 (ID) 2C 50 3A 38 34 33 2E 32 33 (压力值) 2C 54 3A 32 30 2E 31 30 3E (温度值) 0A |
附表2 数据处理类型具体说明
编号 | 类型缩写 | 名称 | 说明 | 流程编程图 |
1 | SP | 土压力 | 4位16进制字符 (1) 16进制字符转化为十进制数值 (2) 如果数值大于32768,则减去65535,否则取原值 (3) 代入标定系数,ax+b (4) 保留一位小数 (5) 输出 | |
2 | PP | 孔压力 | 4位16进制字符 (1) 16进制字符转化为十进制数值 (2) 如果数值大于32768,则减去65535,否则取原值 (3) 代入标定系数,ax+b (4) 保留一位小数 (5) 输出 | |
3 | SW | 水位 | 10进制字符 (1)10进制字符转十进制数值 (2)除100(单位m) (3)代入标定系数,ax+b (4)保留三位小数 (5)输出 | |
4 | CX | 测斜 | 4位16进制字符 (1) 16进制字符转化为十进制数值 (2) 除以32768*180(单位°) (3) 代入标定系数,ax+b (4) 保留两位小数 (5) 输出 | |
5 | S | 沉降 | 4位16进制字符 (1) 16进制字符转化为浮点数数值 (2) 乘以100(单位mm) (3) 代入标定系数,ax+b (4) 保留两位小数 (5) 输出 |