国家地表水自动监测系统通讯协议技术导则
(征求意见稿)
1 适用范围
本标准适用于国家地表水水质自动监测站数据采集端与总站中心服务器之间的数据传输,规定了传输的过程及数据命令的格式,给出了代码定义,本标准允许扩展,但扩展内容时不得与本标准中所使用或保留的控制命令相冲突。 2 规范性引用文件
本标准内容引用了下列文件中的条款。凡是不注日期的引用文件,其有效版本适用于本标准。
HJ 212-2017 污染物在线监控(监测)系统数据传输标准 GB/T 19582-2008 基于 Modbus 协议的工业自动化网络规范 HJ 525-2009 水污染物名称代码 3 术语和定义
下列术语和定义适用于本标准。
3.1 地表水水质自动监测站 Automatic Water Quality Monitoring Station
指完成地表水水质自动监测的现场部分,一般由站房、采配水、控制、检测、数据传输等全部或者数个单元组成,简称水站。 3.2 地表水水质自动监测数据平台
指对水站进行远程监控、数据传输统计与应用的系统,简称数据平台。 3.3 地表水水质自动监测系统 Automatic Water Quality Monitoring System
由水站和数据平台组成的自动监测系统。 3.4 上位机
是安装在各级环保部门、通过传输网络与数采仪连接并对其发出查询和控制等指令的数据接收和数据处理系统,包括计算机及计算机软件等,本标准简称上位机。
1 / 53
3.5 在线监测仪器 Automatic Measurement Device
是安装在地表水自动测站现场,用于监测地表水环境质量并完成与上位机通讯传输的设备,包括水质分析仪、流量(速)计、数据采集传输仪等,本标准简称监测仪表。 3.6 现场机
安装于水质自动监测站点的监测仪表和数采仪统称为现场机。
3.7 数据采集传输仪
是采集各种类型监控仪器仪表的数据、完成数据存储及与上位机数据传输通讯功能的单片机、工控机、嵌入式计算机、可编程自动化控制器等,本标准简称数采仪。 3.8 监测周期
是指水站定期采样进行所有项目分析的工作模式下,相邻两次采样所间隔的时间。如果水站连续不停监测,监测周期应根据水站所配置的监测项目里最长的分析周期来确定。瞬时监测的项目(如水温、pH、溶解氧、电导率和浊度等)可实时采集数据。流量的周期数据取监测周期内的监测值总和。 3.9 周期数据
指监测周期内采集的数据。 3.10 质控数据
指根据实际工作需要在采集周期数据基础上临时手工或自动添加采集的数据。 4 系统结构
4.1 地表水在线监测系统从底层逐级向上可分为现场机(数采仪)、传输网络和上位机(平台)三个层次。上位机通过传输网络与现场机(数采仪)进行通讯(包括发起、数据交换、应答等)。
4.2 地表水在线监测系统构成方式:
现场有一套或多套监控仪器,监控仪器仪表具有数字输出接口,连接到独立的数据采集传输仪,上位机(平台)通过传输网络与现场机(数采仪)进行通讯(包括发起、数据交换、应答等),如图1 所示。
2 / 53
图 1系统构成方式
5 协议层次
5.1 现场机(数采仪)与上位机(平台)之间基于计算机网络传输数据,具体的组网方式不作限制。
5.2 本标准规定的数据传输协议应用于TCP/IP的应用层,即现场机(数采仪)与上位机之间进行通信时,交换消息的内容和规范,在TCP/IP传输层,规定使用TCP协议。 6 协议内容
6.1 应答模式。完整的命令由请求方发起、响应方应答组成,具体步骤如下:
请求方发送请求命令给响应方;
响应方接到请求后,执行请求操作并发送执行结果给请求方。请求方在指定定时间内没有接收到执行结果,按执行超时处理。 6.2 超时重发机制
一个请求命令发出后在规定的时间内未收到回应,视为超时;
超时后重发,重发超过规定次数后仍未收到回应视为通讯不可用,通讯结束; 超时时间及重试次数可以根据具体的通讯方式和任务性质可自定义。 6.3 通讯协议数据结构
所有的通讯包都是由ASCII 码(汉字除外,采用UTF-8 码,8 位,1 字节)字符组成。通讯协议数据结构如图2所示。
3 / 53
图2 通讯协议数据结构
通讯包结构如表 1,所有的通讯包都是由ACSII码字符组成,标点符号为英文半角,且通讯包中不含空格。其中每部分具体组成见表2,其中长度为最大长度,不足位数按实际位数。
表1 通讯包结构 包头 6.4 通讯包
通讯包结构组成见表2。
表2 通讯包组成
名称 包头 类型 字符 长度 2 固定为## 数据段的ASCII字符数,如:长255,数据段长度 数据段(见6.3.2) CRC校验 包尾 十进制整数 字符 十六进制整数 字符 4 则写为“0255” 描述 数据段长度 数据段(见6.3.2.2) CRC校验 包尾 0
6.5 数据段结构组成
数据段结构见表 3,其中长度为最大长度,不足位数按实际位数。
表3数据段结构组成
名称 类型 长度 4 / 53
描述 精确到毫秒的时间戳:QN=YYYYMMDDhhmmsszzz,用来请求编码 QN 系统编码ST 命令编码 CN 访问密码PW 站点唯一标识 字符 MN 指令参数 CP 6.6 数据区 6.6.1数据区结构定义
字段与其值用?=?连接;在数据区中,同一项目的不同分类值间用?,?来分隔,不同项目之间用?;?来分隔。 6.6.2数据区数据类型
C4:表示最多 4 位的字符型字符串,不足 4 位按实际位数; N5:表示最多 5 位的数字型字符串,不足 5 位按实际位数;
N14.2:用可变长字符串形式表达的数字型,表示 14 位整数和 2 位小数,带小数点,带符号,最大长度为 18;
YYYY:日期年,如 2016 表示 2016 年; MM:日期月,如 09 表示 9 月; DD:日期日,如 23 表示 23 日; hh:时间小时; mm:时间分钟; ss:时间秒; zzz:时间毫秒。 6.6.3数据区字段定义
字段名字段名要区分大小写,单词的首个字符为大写,其他部分为小写。 字段名 描述 字符集 宽度 取值及描述 字符 0≤n≤950 CP=&&数据区&&,数据区定义见 6.3.3 章节 77 区域代码+2位序列编号, 字符 字符 字符 字符 20 唯一标识一次命令交互 5 7 9 地表水ST=21系统编码, 系统编码取值详见《系统编码表》 CN=命令编码,详见《命令编码表》 PW=访问密码 MN=地表水用于站点编码唯一标识,编码规则:12位行政5 / 53