支持国标HJ/T212协议的水质超标留样器数据入库分析
水质超标留样器可以根据HJ/ T212协议中定义的数据超标报警指令,判断现场数据是否已经超标,继而判断是否需要保留现场的样品。数据是如何被记录的呢
数据入库
关于如何将数据存入超标留样器|采样器的数据库,先来了解什么是数据库。
平台,即监控平台,是一套完整的、严密的服务于研制应用软件产品的软件产品及相关文件。
数据库(Database):是按照数据结构来组织、存储和管理数据的仓库,简单的理解,可以把数据库视为一个文件柜,这个文件柜是一个电子的文件柜,里边存储的是电子文件,用户可以对文件中的数据进行新增、截取、更新、删除等操作。
数据存入平台数据库的过程,就是按照《HJ/T212 污染源在线自动监控(监测)系统数据传输标准》的要求对数据进行解包分析,并将不同类型的数据放到不同的仓库里,方便以后的数据统计分析、整理等操作。
举例:一条国标数据的分析
设上端监控平台收到下端数采仪的一段数据报文如下:
##0183ST=32;CN=2031;PW=123456;MN=88888880000001;CP=&&DataTime=20040506000000;B01_Cou=1000;101_Cou=2.1,101-Min=1.1,101-Avg=1.1,101-Max=1.1;011_Cou=2.1,011-Min =2.1,011-Avg =2.1,011-Max =2.1&&4EBF
依据《HJ/T212 污染源在线自动监控(监测)系统数据传输标准》分析如下:
##
包头,每一条符合国标的数据前两个字符都是##,平台可以以此判断一段报文的开始;
0183
报文长度,表示报文一共有183个字符,平台可以根据长度来判断报文的结束位置;
ST=32;
系统编号,用来判断此条信息是何种环境污染源的报文,比如地表水环境污染源或者大气环境污染源等;32 表示地表水体环境污染源;
CN=2031;
指令编号,用来判断这条报文是干什么的,不同的报文功能不同,比如上传日数据、超标报警等,2031表示污染物日历史数据;
PW=123456;
访问密码,只有正确的密码才被接受,可用于防止恶意的攻击等
MN=88888880000001;
设备唯一标示,监测点编号,这个编号下端设备需固化到相应存储器中,用作身份识别。编码规则:前7 位是设备制造商组织机构代码的后7 位,后7 位是设备制造商的此类设备的唯一编码;
CP=&&
用于标示数据区的开始,平台根据前边的信息来判断数据区数据应该入到哪一个库中;
DataTime=20040506000000;
数据的日期、时间,表示这条数据的起始时间
B01_Cou=1000;
B01:污染物代码,不同的污染物有不同的代码,B01表示污水;Cou:表示累计值,
这条指令表示,这一天的累积流量是1000吨,数据单位是固定的,在国标中有规定,可查询
101_Cou=2.1,101-Min=1.1,101-Avg=1.1,101-Max=1.1;
同上,101:污染物代码,这里表示总磷;
Min:最小值Avg:平均值Max:最大值
011_Cou=2.1,011-Min=2.1,011-Avg=2.1,011-Max =2.1
同上,011:污染物代码,这里表示COD;
Min:最小值Avg:平均值Max:最大值
&&
标示数据区的结束;
4EBF
CRC校验,通过校验的方式判断接收的报文有没有漏掉的字符或者错误的字符;以保证数据传输的正确性和完整性。
回车,换行(不可见字符)
包尾,平台可以以此判断一段报文的结束