联系我们 / contact us
业务咨询:
18819319890
QQ:1373262486、349840529、2633531980
技术支持:
020-84505197/13380041097
QQ:2283702426、413361943、2358460906
通讯地址: 广州市番禺区大石镇105国道飘峰段御峰国际2栋314单元
通过HJ212协议采集环境参数
通过HJ212协议采集环境参数显示方案
一、方案概述
该方案用于实现通过HJ212协议读取数据采集仪的各项数据,然后发送到led显示屏上显示;
二、功能特点
1.使用RS485总线、网络连接;
2.通讯协议为标准的HJ212;
3.各项参数可选择性的显示;
4.通讯方式可选无线模式;
三、拓扑图
附:HJ212协议说明
污染源在线自动监控(监测)系统
数据传输标准
1 适用范围
本标准适用于污染源在线自动监控(监测)系统自动监控设备和监控中心之间的数据交换传输。本标准规定了数据传输的过程及系统对参数命令、交互命令、数据命令和控制命令的数据格式和代码定义,本标准不限制系统扩展其他的信息内容,在扩展内容时不得与本标准中所使用或保留的控制命令相冲突。
根据通信技术的发展,本标准将适时修订。
2 规范性引用文件
以下标准和规范所含条文,在本标准中被引用即构成本标准的条文,与本标准同效。
GB/T 16706—1996 环境污染源类别代码
YD/T 1093—2000 900/1800MHz TDMA数字蜂窝移动通信网通用分组无线业务(GPRS)隧道协议技术规范
YD/T 1323—2004 接入网技术要求——非对称数字用户环路(ADSL)
YD/T 1334—2004 800MHz CDMA数字蜂窝移动通信网无线智能网(WIN)阶段2:智能外设(IP)设备技术要求
EIA RS—232C 数据终端设备与使用串行二进制数据进行交换的数据通信设备之间的接口
3 术语
3.1 污染源在线自动监控(监测)系统
由对污染源主要污染物排放实施在线自动监控(监测)的自动监控监测仪器设备和监控中心组成,本标准中简称系统。
3.2 监控中心
安装在各级环保部门,有权限通过传输线路与自动监控设备连接,对其发出查询和控制等本标准规定指令的数据接收和数据处理系统,包括计算机信息终端设备及计算机软件等。本标准中简称上位机。
3.3 自动监控设备
安装在污染源排放口现场,用于监控、监测污染源排污状况及完成与上位机的数据通讯传输的单台或多台设备及设施,包括污染物排放监控(监测)仪器、流量(速)计、污染治理设施运行记录仪和数据采集传输仪等,是污染防治设施的组成部分。本标准中简称现场机。
3.4 数据采集传输仪
采集各种类型监控仪器仪表的数据、完成数据存储及与上位机数据通讯传输功能的单片机、工控机、嵌入式计算机、嵌入式可编程自动控制器(PAC)或可编程控制器等。
4 系统结构
污染源自动监控系统从底层逐级向上可分为现场机、传输网络和上位机三个层次。上位机通过传输网络与现场机交换数据、发起和应答指令。
自动监控设备有两种构成方式:
(1)一台(套)现场机集自动监控(监测)、存储和通讯传输功能为一体,可直接通过传输网络与上位机相互作用。
(2)现场有一套或多套监控仪器、仪表,监控仪器、仪表具有模拟或数字输出接口,连接到独立的数据采集传输仪,上位机通过数据采集传输仪实现数据交换和收发指令。
本标准不规定数据采集传输仪与监控仪器仪表的通讯方式,推荐采用modbus(现场总线协议的一种,使用RS-232C兼容串行接口,它定义了连接口的针脚、电缆、信号位、传输波特率、奇偶校验等)标准。
5 协议层次
现场机与上位机通讯接口应满足选定的传输网络的要求,本标准不作限制。
本标准规定的数据传输通讯协议对应于ISO/OSI定义的7层协议的应用层,在基于不同传输网络的现场机与上位机之间提供交互通讯。
基础传输层依据不同的传输网络可有两类实现方式:
(1)基于TCP/IP协议的,此方式的使用建立在TCP/IP基础之上。常用如:
l 通用无线分组业务(General Packet Radio Service 缩写GPRS)
l 非对称数字用户环路(Asymmetrical Digital Subscriber Loop 缩写ADSL)
l 码分多址(Code Division Multiple Access缩写 CDMA)等
(2)基于非TCP/IP协议的,此类方式的使用建立在相关通讯链路上。常用如:
l 公共电话交换网(Public switched telephone network 缩写PSTN)
l 短消息数据通讯等
应用层依赖于所选用的传输网络,在选定的传输网络上进行应用层的数据通讯,在基础传输层已经建立的基础上,整个应用层的协议和具体的传输网络无关。本标准体现通讯介质无关性。
6 通讯协议
6.1 应答模式
完整的命令由请求方发起,响应方应答组成,具体步骤如下:
(1)请求方发送请求命令给响应方
(2)响应方接到请求命令后应答,请求方收到应答后认为连接建立
(3)响应方执行请求的操作
(4)响应方通知请求方请求执行完毕,没有应答按超时处理
(5)命令完成
6.2 超时重发机制
6.2.1 请求回应的超时
l 一个请求命令发出后在规定的时间内未收到回应,认为超时。
l 超时后重发,重发规定次数后仍未收到回应认为通讯不可用,通讯结束。
l 超时时间根据具体的通讯方式和任务性质可自定义。
l 超时重发次数根据具体的通讯方式和任务性质可自定义。
6.2.2 执行超时
请求方在收到请求回应(或一个分包)后规定时间内未收到返回数据或命令执行结果,认为超时,命令执行失败,结束。
缺省超时定义表(可扩充):
通讯类型 | 缺省超时定义(秒) | 重发次数 |
GPRS | 10 | 3 |
PSTN | 5 | 3 |
CDMA | 10 | 3 |
ADSL | 5 | 3 |
短信 | 30 | 3 |
6.3 通讯协议数据结构
所有的通讯包都是由ACSII码字符组成(CRC校验码除外)。
6.3.1 通讯包结构组成
名称 | 类型 | 长度 | 描述 |
包头 | 字符 | 2 | 固定为## |
数据段长度 | 十进制整数 | 4 | 数据段的ASCII字符数。 例如:数据段的字符数为255,则写为“0255” |
数据段(见6.3.3) | 字符 | 0<=n<=1024 | 变长的数据(短信为140) |
CRC校验 | 十六进制整数 | 4 | 数据段的校验结果,例如4B30,如果CRC错,即执行超时 |
包尾 | 字符 | 2 | 固定为 |
6.3.2 数据段结构组成
名称 | 类型 | 长度 | 描述 | ||||||||
请求编号QN | 字符 | 20 | 精确到毫秒的时间戳:QN=YYYYMMDDHHMMSSZZZ,用来唯一标识一个命令请求,用于请求命令或通知命令 | ||||||||
总包号PNUM | 字符 | 4 | PNUM指示本次通讯总共包含的包数 | ||||||||
包号PNO | 字符 | 4 | PNO指示当前数据包的包号 | ||||||||
系统编号ST | 字符 | 5 | ST=系统编号, 系统编号见6.5中系统编码表 | ||||||||
命令编号CN | 字符 | 7 | CN=命令编号, 命令编号见6.5中命令列表 | ||||||||
访问密码PW | 字符 | 6 | PW=访问密码 | ||||||||
设备唯一标识MN | 字符 | 14 | MN=监测点编号,这个编号下端设备需固化到相应存储器中,用作身份识别。编码规则:前7位是设备制造商组织机构代码的后7位,后7位是设备制造商的此类设备的唯一编码) | ||||||||
是否拆分包及应答标志Flag | 字符 | 3 | 目前只用两个Bit;
A:数据是否应答;Bit:1-应答,0-不应答 D:是否有数据序号;Bit:1-数据包中包含包序号和总包号两部分,0-数据包中不包含包序号和总包号两部分 如:Flag=3表示拆分包并且需要应答 | ||||||||
指令参数CP | 字符 | 0<=n<=960 | CP=&&数据区&&,数据区定义见6.3.3 |
6.3.3 数据区
6.3.3.1 结构定义
字段与其值用“=”连接;在数据区中,同一项目的不同分类值间用“,”来分隔,不同项目之间用“;”来分隔。
6.3.3.2 字段定义
6.3.3.2.1 字段名
字段名要区分大小写,单词的首个字符为大写,其他部分为小写。
6.3.3.2.2 数据类型
C4:表示最多4位的字符型字串,不足4位按实际位数。
N5: 表示最多5位的数字型字串,不足5位按实际位数。
N14.2: 用可变长字符串形式表达的数字型,表示14位整数和2位小数,带小数点,带符号,最大长度为18。
YYYY:日期年,如2005 表示2005年
MM:日期月,如09 表示9月
DD:日期日,如 23 表示 23日
HH:时间小时
MM:时间分钟
SS:时间秒
ZZZ:时间毫秒
6.3.3.2.3 字段对照表
其中:xxx:代表某个污染物编号,见附录B。SBx:设备编号,例如SB0、SB1等
字段名 | 描述 | 字符集 | 宽度 | 取值及描述 | ||||||||
SystemTime | 系统时间 | 0-9 | N14 | 取值为:YYYYMMDDHHMMSS | ||||||||
QN | 请求编号 | 详见6.3.2 | ||||||||||
QnRtn | 请求回应代码 | 0-9 | N3 | 详见6.5请求返回表 | ||||||||
Logon | 登录注册回应代码 | 0-9 | N1 | 其中1:成功,0:失败 | ||||||||
ExeRtn | 执行结果回应代码 | 0-9 | N3 | 详见6.5执行结果定义表 | ||||||||
RtdInterval | 实时采样数据上报间隔 | 0-9 | N4 | 例如30.以秒为单位。包括实时污染数据和设备状态 | ||||||||
xxx-Rtd | 污染物实时采样数据 | 0-9 | N14.2 | 例如10.11,“xxx”是污染物代码,其中瞬时流量的代码为:水为B01、气为B02 | ||||||||
xxx-Min | 污染物指定时间内最小值 | 0-9 | N14.2 | 例如10.11,“xxx”是污染物代码 | ||||||||
xxx-Avg | 污染物指定时间内平均值 | 0-9 | N14.2 | 例如10.11,“xxx”是污染物代码 | ||||||||
xxx-Max | 污染物指定时间内最大值 | 0-9 | N14.2 | 例如10.11,“xxx”是污染物代码 | ||||||||
xxx-ZsRtd | 污染物实时采样折算数据 | 0-9 | N14.2 | 例如10.11,“xxx”是污染物代码 | ||||||||
xxx-ZsMin | 污染物指定时间内最小折算值 | 0-9 | N14.2 | 例如10.11,“xxx”是污染物代码 | ||||||||
xxx-ZsAvg | 污染物指定时间内平均折算值 | 0-9 | N14.2 | 例如10.11,“xxx”是污染物代码 | ||||||||
xxx-ZsMax | 污染物指定时间内最大折算值 | 0-9 | N14.2 | 例如10.11,“xxx”是污染物代码 | ||||||||
xxx-Flag | 监测污染物实时数据标记 | A-Z | C1 | 对于污染源(P:电源故障、F:排放源停运、C:校验、M:维护、T:超测上限、D:故障、S:设定值、N:正常) 对于空气检测站(0:校准数据、1:气象参数、2:异常数据、3正常数据) | ||||||||
xxx-Cou | 污染物指定时间内累计值 | 0-9 | N14.2 | 例如10.11,“xxx”是污染物代码,其中累计流量的代码为:水为B01、气为B02 | ||||||||
SBx-RS | 设备运行状态的实时采样值 | 0-9 | N1 | 其中0:设备关,1:设备开。SBx表示设备编号 | ||||||||
SBx-RT | 设备指定时间内的运行时间 | 0-9 | N4.2 | 例如:10.11,单位为小时,且取值范围为0<=n<=24。SBx表示设备编号 | ||||||||
xxx-Ala | 污染物报警期间内采样值 | 0-9 | N14.2 | 例如10.11,“xxx”是污染物代码 | ||||||||
xxx-UpValue | 污染物报警上限值 | 0-9 | N14.2 | 例如10.11,“xxx”是污染物代码 | ||||||||
xxx-LowValue | 污染物报警下限值 | 0-9 | N14.2 | 例如10.11,“xxx”是污染物代码 | ||||||||
xxx-Data | 噪声监测历史数据 | 0-9 | N14.2 | 例如10.11,“xxx”是噪声污染物代码 | ||||||||
xxx-DayData | 噪声昼间历史数据 | 0-9 | N14.2 | 例如10.11,“xxx”是噪声污染物代码 | ||||||||
xxx-NightData | 噪声夜间历史数据 | 0-9 | N14.2 | 例如10.11,“xxx”是噪声污染物代码 | ||||||||
xxx-Data | 噪声污染物监测值 | 0-9 | N14.2 | 例如10.11,“xxx”是噪声污染物代码 | ||||||||
AlarmTime | 超标报警时间 | 0-9 | N14 | 取值为:YYYYMMDDHHMMSS | ||||||||
AlarmType | 报警事件类型 | 0-9 | N1 | 其中1:超标,0:恢复正常 | ||||||||
ReportTarget | 上位机地址标识 | 0-9 | N20 | 通讯地址标识 | ||||||||
PolId | 污染物的编号 | 0-9 | C3 | 见附录B污染因子编码表 | ||||||||
BeginTime | 开始时间 | 0-9 | N14 | 取值为:YYYYMMDDHHMMSS | ||||||||
EndTime | 截止时间 | 0-9 | N14 | 取值为:YYYYMMDDHHMMSS | ||||||||
DataTime | 数据时间信息 | 0-9 | N14 | 取值为:YYYYMMDDHHMMSS | ||||||||
ReportTime | 日数据上报时间信息 | 0-9 | N14 | 例如:0100,表示1点整 | ||||||||
DayStdValue | 噪声白天标准限值 | 0-9 | N14 | 例如35 | ||||||||
NightStdValue | 噪声夜晚标准限值 | 0-9 | N14 | 例如35 | ||||||||
Flag | 通讯标志 | 0-9 | N3 | 目前只用两个Bit;
A:数据是否应答;Bit:1-应答,0-不应答 D:是否有数据序号;Bit:1-数据包中包含包序号和总包号两部分,0-数据包中不包含包序号和总包号两部分 | ||||||||
PNO | 包序号 | 0-9 | N4 | 取值范围为1-9999 | ||||||||
PNUM | 总包号 | 0-9 | N4 | 取值范围为1-9999 | ||||||||
PW | 访问密码 | 0-9,a-z,A-Z | C6 | 例如:123456 | ||||||||
OverTime | 超时时间(单位:秒) | 0-9 | N5 | 取值范围为0-99999 | ||||||||
ReCount | 重发次数 | 0-9 | N2 | 取值范围为0-99 | ||||||||
WarnTime | 超标报警延迟时间(单位:秒) | 0-9 | N5 | 取值范围为0-99999,指在规定时间内一直超标时才确认为报警 | ||||||||
CTime | 设备采样时间 | 0-9 | N2 | 取值范围为0-24,为整点时间 |
6.4 代码定义
系统编码表(可扩充)(GB/T16706-1996)见《环境信息标准化手册》第一卷第236页
系统名称 | 系统编号 | 描述 |
地表水监测 | 21 | |
空气质量监测 | 22 | |
区域环境噪声监测 | 23 | |
大气环境污染源 | 31 | |
地表水体环境污染源 | 32 | |
地下水体环境污染源 | 33 | |
海洋环境污染源 | 34 | |
土壤环境污染源 | 35 | |
声环境污染源 | 36 | |
振动环境污染源 | 37 | |
放射性环境污染源 | 38 | |
电磁环境污染源 | 41 | |
系统交互 | 91 | 用于现场机和上位机的交互 |
执行结果定义表(可扩充)
编号 | 描述 | 备注 |
1 | 执行成功 | |
2 | 执行失败,但不知道原因 | |
100 | 没有数据 |
请求返回表(可扩充)
编号 | 描述 | 备注 |
1 | 准备执行请求 | |
2 | 请求被拒绝 | |
3 | 密码错误 |
命令列表(可扩充)
命令名称 | 命令编号 | 命令类型 | 描述 | |
上位向现场 | 现场向上位 | |||
初始化命令 | ||||
设置超时时间与重发次数 | 1000 | 请求命令 | ||
设置持续超限报警时间 | 1001 | 请求命令 | 如果在规定时间内某因子一直处于超标状态,则现场机确认因子超标并发送报警通知 | |
预留初始化命令 | 预留命令范围1002-1010 | |||
参数命令 | ||||
提取现场机时间 | 1011 | 请求命令 | 用于同步上位机和现场机的系统时间,上位机提取现场机系统时间 | |
上传现场机时间 | 1011 | 上传命令 | 用于现场机上传自己系统时间 | |
设置现场机时间 | 1012 | 请求命令 | 用于同步上位机和现场机的系统时间,远程设置现场机系统时间 | |
提取污染物报警门限值 | 1021 | 请求命令 | 用于提取现场机设置的污染物超标报警门限 | |
上传污染物报警门限值 | 1021 | 上传命令 | 用于现场机上传自己的污染物超标报警门限 | |
设置污染物报警门限值 | 1022 | 请求命令 | 用于上位机远程设置现场机的污染物超标报警门限 | |
提取上位机地址 | 1031 | 请求命令 | 用于提取现场机设置的上位机地址 | |
上传上位机地址 | 1031 | 上传命令 | 用于现场机上传设置的上位机地址 | |
设置上位机地址 | 1032 | 请求命令 | 用于上位机远程设置现场机的上报数据地址 | |
提取日数据上报时间 | 1041 | 请求命令 | 用于上位机提取现场机设置的日数据上报时间 | |
上传日数据上报时间 | 1041 | 上传命令 | 用于现场机上传设置的日数据上报时间 | |
设置日数据上报时间 | 1042 | 请求命令 | 用于上位机远程设置现场机的日数据上报时间 | |
提取实时数据间隔 | 1061 | 请求命令 | 用于上位机提取现场机设置的实时数据间隔 | |
上传实时数据间隔 | 1061 | 上传命令 | 用于现场机上传设置的实时数据间隔 | |
设置实时数据间隔 | 1062 | 请求命令 | 用于上位机远程设置现场机的实时数据间隔 | |
设置访问密码 | 1072 | 请求命令 | 用于上位机远程设置现场机的访问密码 | |
预留参数命令 | 预留命令范围1073-1099 | |||
数据命令 | ||||
实时污染数据 | ||||
取污染物实时数据 | 2011 | 请求命令 | 用于上位机告诉现场机开始按照设置的间隔发送实时数据 | |
上传污染物实时数据 | 2011 | 上传命令 | 用于现场机按照设置的间隔自动上传实时数据 | |
停止察看实时数据 | 2012 | 通知命令 | 用于上位机告诉现场机停止发送实时数据 | |
实时设备状态 | ||||
取设备运行状态数据 | 2021 | 请求命令 | 用于上位机告诉现场机开始按照设置的间隔发送实时设备状态 | |
上传设备运行状态数据 | 2021 | 上传命令 | 用于现场机按照设置的间隔自动上传实时设备状态 | |
停止察看设备运行状态 | 2022 | 通知命令 | 用于上位机告诉现场机停止发送实时设备状态
| |
历史数据 | ||||
取污染物日历史数据 | 2031 | 请求命令 | 用于上位机告诉现场机开始按照要求时间发送保存的日历史污染数据 | |
上传污染物日历史数据 | 2031 | 上传命令 (平时为按规定时间主动上报日统计数据) | 用于现场机按照上位机的时间要求发送保存的日历史污染数据。 另外,该命令平时为主动上报,上报时间为现场机设置的日数据上报时间参数,同时也可以响应上位机的采集命令2031。 | |
取设备运行时间日历史数据 | 2041 | 请求命令 | 用于上位机告诉现场机开始按照要求时间发送保存的日历史设备运行时间
| |
上传设备运行时间日历史数据 | 2041 | 上传命令 (平时为按规定时间主动上报日统计数据) | 用于现场机按照上位机的时间要求发送保存的日历史设备运行时间。 另外,该命令平时为主动上报,上报时间为现场机设置的日数据上报时间参数,主动上报上一日的日统计数据,同时也可以响应上位机的采集命令2041。
| |
分钟数据(可以自定义分钟间隔数,目前统一定为10分钟) | ||||
取污染物分钟数据 | 2051 | 请求命令 | 用于上位机告诉现场机开始按照要求时间发送保存的分钟历史污染数据 | |
上传污染物分钟数据 | 2051 | 上传命令 (平时为按每个10分钟段主动上报该10分钟段的统计数据) | 用于现场机按照上位机的时间要求发送保存的分钟历史污染数据。 另外,该命令平时为主动上报,上报时间为每个10分钟段上报一次该10分钟段的统计数据,同时也可以响应上位机的采集命令2051。 | |
小时数据 | ||||
取污染物小时数据 | 2061 | 请求命令 | 用于上位机告诉现场机开始按照要求时间发送保存的小时历史污染数据 | |
上传污染物小时数据 | 2061 | 上传命令 (平时为按每个整点主动上报该小时的统计数据) | 用于现场机按照上位机的时间要求发送保存的小时历史污染数据。 另外,该命令平时为主动上报,上报时间为每个整点上报一次该小时的统计数据,同时也可以响应上位机的采集命令2061。 | |
报警数据 | ||||
取污染物报警记录 | 2071 | 请求命令 | 用于上位机提取现场机保存的报警记录 | |
上传污染物报警记录 | 2071 | 上传命令 | 用于现场机按照上位机的时间要求发送保存的报警记录。 | |
上传报警事件 | 2072 | 通知命令 (为主动上报) | 用于现场机采样值超过报警门限时主动向上位机发送报警信息 | |
预留数据命令 | 预留命令范围2073-2099 | |||
反控命令 | ||||
校零校满 | 3011 | 请求命令 | 用于上位机对现场的一次仪表进行远程校准 | |
即时采样命令 | 3012 | 请求命令 | 用于上位机远程通知现场的一次仪表即时开始取样分析 | |
设备操作命令 | 3013 | 请求命令 | ||
设置设备采样时间周期 | 3014 | 请求命令 | 用于上位机远程设置现场一次仪表的取样分析时间 | |
预留反控命令 | 预留命令范围3015-3099
| |||
交互命令 | ||||
请求应答 | 9011 | 用于现场机回应上位机的请求。例如是否执行请求 | ||
操作执行结果 | 9012 | 用于现场机回应上位机的请求的执行结果 | ||
通知应答 | 9013 | 9013 | 用于回应通知命令 | |
数据应答 | 9014 | 9014 | 用于数据应答命令 | |
登录注册 | 9021 | 用于现场机向上位机的登录请求。 | ||
登录注册应答 | 9022 | 用于上位机对现场机的登录应答。 | ||
预留交互命令 | 预留命令范围9023-9099 |