▶当前位置:
本规范适用于与监控设备之间的挥发性有机物排放数据传输,规定了传输的过程及数据命令的格式,还给出了代码定义。
本规范引用了下列文件或其中的条款。凡是不注明日期的引用文件,其有效版本适用于本规范。
污染物在线监控(监测)系统数据传输标准(HJ 212-2017)
固定污染源挥发性有机物排放连续自动监控系统光离子化检测器(PID)法技术要求(DB44/T1947-2016)
固定污染源废气非甲烷总烃连续监测系统技术要求及检测方法(HJ 1013-2018)
大气污染物名称代码(HJ 524-2009)
下列术语和定义适用于本规范。
在标准大气压下,沸点低于或等于250℃的有机化合物,简称VOCs。
对固定污染源排气总VOCs进行连续、实时测定所需要的自动监控系统。一般由采样、检测、数据采集和处理等子系统组成,简称CEAMS-VOCs。该系统具备数据传输通讯功能,能将VOCs排放数据和状态参数报送到监控中心,与监控中心完成数据传输通讯,本规范简称现场机。
安装在各级环保部门、通过传输网络与自动监控系统连接并对其发出查询和控制等指令的数据接收和数据处理系统,包括计算机及计算机软件等,本规范简称上位机。
在HJ 38 标准规定的条件下,氢火焰离子化检测器上有响应的除甲烷外的其他气态有机化合物的总和,除另有说明,结果以碳计。
污染源自动监控系统从底层逐级向上可分为现场机、传输网络和上位机三个层次。上位机为环境监控中心端,现场机为挥发性有机物自动监控系统的现场监控设备,上位机通过传输网络与现场机进行通讯(包括发起、数据交换、应答等)。
现场机传输的数据,必须为设备实时采集数据,禁止采集后的数据先传送到后台加工,再上报到上位机。
本规范规定的数据传输协议对应于ISO/OSI定义的协议模型的应用层,基础传输层建构在TCP/IP协议上,实现现场机与上位机之间基于不同传输网络的交互通讯。现场机与上位机通讯接口通过互联网或专网传输,实现互联互通。
完整的数据请求由现场机发起、上机位应答组成,具体步骤如下:
1) 现场机连同数据包,发送请求命令给上位机;
2) 上位机接到请求后,建立连接通道(初次请求),向现场机发送请求应答(握手完成);
3) 上位机执行请求操作,对接收的数据包进行解析校验,解析成功后自动入库,完成数据报送;
4) 如果现场机收到上位机应答,则分析请求应答,继续发送下一个数据请求;
5) 如果现场机未收到上位机请求应答,则数据报送失败。
所有的通讯包都是由ASCII码(汉字除外,采用UTF-8码,8位,1字节)字符组成。通讯协议数据结构如下图所示。
通讯包结构组成见下表。
名称 |
类型 |
长度 |
描述 |
包头 |
字符 |
2 |
固定为## |
数据段长度 |
十进制整数 |
4 |
数据段的ASCII字符数,例如:长255,则写为“0255” |
数据段加密标识 |
十进制整数 |
1 |
标识数据段是否采用加密方式传输,0为数据段采用明文传输,1为加密数据段,采用约定密钥进行二重DES加密。 密钥为长度不少于8位的字符串,与数据段中的PW内容一致,PW长度不足8位的,在尾部补0到8位。如PW=123456,秘钥为12345600。 |
数据段 |
字符 |
0≤n≤1024 |
变长的数据,详见《数据段结构组成表》。建议长度小于1024,目前接收端支持接收长度超过1024的数据包,但长度过长可能受网络影响造成丢包。 |
CRC校验 |
十六进制整数 |
4 |
数据段的校验结果,CRC校验算法见附录A。接收到一条命令,如果CRC错误,执行结束 |
包尾 |
字符 |
2 |
固定为(回车、换行) |
通讯包结构示例:
##01150QN=20180801042123;MN=010000A8900016F000169DC0;ST=27;CN=2061;PW=123456;CP=&&DataTime=20180731000000;a00000-Avg=3.6&&5B40rn
其中,0115为数据段长度,QN前的0为加密标识位,5B40为CRC16校验码,是对数据段QN=20180801042123;MN=010000A8900016F000169DC0;ST=27;CN=2061;PW=123456;CP=&&DataTime=20180731000000;a00000-Avg=3.6&&进行CRC16校验所得的校验码(具体校验算法见附录A)。
数据段结构组成见下表,其中“长度”包含字段名称、“=”、字段内容三部分内容。
名称 |
类型 |
长度 |
描述 |
请求编码QN |
字符 |
20 |
**到毫秒的时间戳:QN=YYYYMMDDhhmmsszzz,用来**标识一次命令交互 |
系统编码ST |
字符 |
5 |
ST=27(编码统一为27,挥发性有机物监控) |
命令编码CN |
字符 |
7 |
CN=命令编码,命令编码由4位字符组成。现场机数据上报命令:2011-上传污染物实时数据,2031-上传污染物日历史数据,2051-上传污染物分钟数,2061-上传污染物小时数据;上位机数据应答:9014-数据应答 |
访问密码PW |
字符 |
9 |
PW=访问密码(根据约定密码进行设备请求校验) |
设备**标识MN |
字符 |
27 |
MN=设备**标识,用于**标识一个设备,该设备为挥发性有机物排放连续自动监控系统自动监控设备,MN由24个0~9,A~Z的字符组成 |
标志位Flag |
整数 |
8 |
Flag=5(标志位统一为5,按照标准HJ/T 212-2017进行传输,请求有应答) |
指令参数CP |
字符 |
0≤n≤950 |
CP=&&数据区&&,数据区定义见下一章节 |
字段与其值用“=”连接;在数据区中,同一项目的不同分类值间用“,”来分隔,不同项目之间用“;”来分隔。
字段名要区分大小写,单词的**字符为大写,其他部分为小写。
C4:表示*多4位的字符型字符串,不足4位按实际位数;
N5:表示*多5位的数字型字符串,不足5位按实际位数;
N14.2:用可变长字符串形式表达的数字型,表示14位整数和2位小数,带小数点,带符号,*大长度为18;
YYYY:日期年,如2016表示2016年;
MM:日期月,如09表示9月;
DD:日期日,如23表示23日;
hh:时间小时;
mm:时间分钟;
ss:时间秒;
zzz:时间毫秒。
字段对照表如下表所示,其中“宽度”仅包含该字段的内容长度。
序号 |
字段名 |
描述 |
字符集 |
宽度 |
取值及描述 |
1 |
DataTime |
数据时间信息 |
0-9 |
N14 |
YYYYMMDDhhmmss,数据采集的时刻 |
2 |
xxxxxx-Rtd |
污染物实时采样数据 |
0-9 |
-- |
“xxxxxx”是污染监测因子编码,污染监测因子编码取值详见《监测因子编码表》 |
3 |
xxxxxx-Min |
污染物指定时间内*小值 |
0-9 |
-- |
|
4 |
xxxxxx-Avg |
污染物指定时间内平均值 |
0-9 |
-- |
|
5 |
xxxxxx-Max |
污染物指定时间内*大值 |
0-9 |
-- |
|
6 |
xxxxxx-Flag |
监测仪器数据标记 |
A-Z/0-9 |
C1 |
取值详见《数据标记表》 |
7 |
xxxxxx-Cou |
污染物指定时间内累计值 |
0-9 |
-- |
|
8 |
QnRtn |
请求回应代码 |
0-9 |
N3 |
取值详见《请求命令返回表》 |