所谓协议,就是双方协商后达成一致的一个规范。通讯协议,就是通讯的规范,规定两个设备,或者设备与平台之间如何对话

一、协议简介

H212协议由国家环境保护部颁布,适用于污染物在线监控(监测)系统、污染物排放过程(工况)自动监控系统与监控中心的数据传输,最新版本是2017版,代替了以前的2005版。它规定了传输的过程及参数命令,交互命令,数据命令和控制命令的格式,给出了代码定义。H212协议允许扩展,但扩展内容时不得与已使用或保留的控制命令相冲突。同时,H212协议还规定了在线监控(监测)仪器仪表和数据采集传输仪之间的数据传输格式,并给出了代码定义。

二、通讯流程

H212共有3种形式的命令,对应三种通讯流程(如图):

命令形式

流程图

2.上传命令(一步或两步)

环保证hw22代表什么(关于环保协议H212详细解析)(1)

3. 通知命令(两步)

(第一步)

环保证hw22代表什么(关于环保协议H212详细解析)(2)

(第二部)

环保证hw22代表什么(关于环保协议H212详细解析)(3)

三、通讯协议数据结构

H212的报文格式如下:

环保证hw22代表什么(关于环保协议H212详细解析)(4)

环保证hw22代表什么(关于环保协议H212详细解析)(5)

四、实际报文解析

现在我们以一段实际的报文为例,来分析一下H212的传输解析过程,这是一段下位机向上位机发送的携带实时数据信息的报文,对应上述流程中的第二条-上传命令:

环保证hw22代表什么(关于环保协议H212详细解析)(6)

对照上面的列表,报文开始的“##”为包头字符,长度为2字符,用于定位每一帧的开始。

环保证hw22代表什么(关于环保协议H212详细解析)(7)

后面的“0504”是数据段长度,表示这个字段往后的报文长度(注意是字符个数,不是字节数),不包含最后的CRC校验。

环保证hw22代表什么(关于环保协议H212详细解析)(8)

后续红框内这些就是数据段。

环保证hw22代表什么(关于环保协议H212详细解析)(9)

最后的5F00就是这段报文的CRC校验。

末尾的回车换行在报文中有实际效果,但是没有字符显示。

下面我们再来详细分析数据段的报文:

环保证hw22代表什么(关于环保协议H212详细解析)(10)

QN代表请求编码,它是一个精确到毫秒的时间戳,用来唯一标识一次报文交互。所以本段报文截取自2020年8月5日9点27分46秒677毫秒的一次交互。

第二个字段ST表示系统编码,其具体含义见下表:

环保证hw22代表什么(关于环保协议H212详细解析)(11)

本次报文的ST为32,表示本次报文上送的是“地表水体环境污染源”的数据。

第三个字段CN表示命令编码,具体定义可参考下表:

环保证hw22代表什么(关于环保协议H212详细解析)(12)

环保证hw22代表什么(关于环保协议H212详细解析)(13)

环保证hw22代表什么(关于环保协议H212详细解析)(14)

本次报文CN=2011,表示它是一条现场机向上位机上送“污染物实时数据”的报文。

第四个字段PW表示访问密码。

第五个字段MN表示设备唯一标识,具体意义如下:

环保证hw22代表什么(关于环保协议H212详细解析)(15)

第六个字段Flag含义如下:

环保证hw22代表什么(关于环保协议H212详细解析)(16)

在这条报文中,Flag=5,写成二进制就是00000101,所以V5~V0为000001,表示本次标准修订版本号;A位为1,表示应答;D位为0,表示数据包中不包含包号和总包数两部分。

第七个字段CP是指令参数,它的格式为CP=&&数据区&&。两个“&&”中间就是数据区。

在数据区中,DataTime在命令2011中表示数据采集的时刻。

环保证hw22代表什么(关于环保协议H212详细解析)(17)

后面依次为各个污染物的测量值以及采集器的状态:

环保证hw22代表什么(关于环保协议H212详细解析)(18)

环保证hw22代表什么(关于环保协议H212详细解析)(19)

其中21001表示总氮,22001表示石油类。

环保证hw22代表什么(关于环保协议H212详细解析)(20)

环保证hw22代表什么(关于环保协议H212详细解析)(21)

xxxxxx-Flag=N表示采集该编号污染物的在线监控(监测)仪器仪表工作正常。

总结一下就是:这条报文是2020年8月5日9点27分46秒677毫秒的时候,由设备标识为370702003191213175805的现场机向上位机发送的地表水体环境污染源的污染物实时数据,主要包含总氮,石油类等等,采集该编号污染物的在线监测仪工作正常。报文的版本号是本次标准修订版本号,需要对方应答。

五、总结

以上通过一个具体的报文讲解了H212-2017版的解析过程。解析报文有两个重点:一是要搞清交互的过程,比如总共有几种类型的报文,每种类型的报文交互分为哪几个步骤,发起方如何发起,应答方如何应答,正常的流程是什么,遇到异常如何处理等等;另一方面就是把每一段报文拆分字段,搞清每个字段的含义,最终获取该报文所表达的全部意义。大家可以对照环境保护部颁发的“污染物在线监控(监测)系统数据传输标准”自行解析收到的报文。

,