资源描述
建筑施工现场扬尘与噪声防治及监测数据采集、传输、存储与处理
1数据采集与传输
1.1扬尘在线监测仪数据采集频率为2s,颗粒物测量值单位统一换算成ng/ffio统计分钟数据后上传至信息平台,信息平台统计十五分钟均值后报出。
1.2数据应按传输指令要求实现数据传输,应满足向多用户发送在线监测数据的传输需求。
2数据储存与处理
2.1扬尘在线监测仪的现场端分钟数据存储时间应不少于6个月,信息平台端分钟数据存储时间应不少于1年;视频、图片文件现场端存储时间应不少于一周,信息平台端存应存储至工程竣工验收。
2.2可吸入颗粒物PM10、噪声监测数据应保留小数点后1位,小数点后第2位的修约方法为4舍6入、逢5则奇进偶舍。
2.3可吸入颗粒物PM10监测数据有效性应符合下列要求:
1可吸入颗粒物PM10的有效率应不低于90%。
2当15分钟采集的有效分钟值不少于90%时,该15分钟数据有限。
3当1h采集的有效分钟值不少于90%时,该小时数据有效。
4每日应有不少于21个有效小时均值的算术平均值为有效日均值。日均值的统计时段为北京时间0: 至23: 59。
5每月应有不少于27个有效日均值的算术平均值为有效月均值(2月份不少于25个有效日均值)。
2.4噪声监测数据有效性应符合下列要求:
1噪声监测数据的数据有效率应不低于90%。
2应按照《建筑施工场界环境噪声排放标准》GB 12523-2011中的规定计算。
2.5监测数据无效数据与异常数据取舍应符合下列要求:
1无效数据:在线监测仪校零和校跨期间的监测数据均为无效数据;当风速大于5m/s,以及出现降水或其他恶劣天气影响监测时,噪声在线监测数据应作为异常值。
2异常值:当可吸入颗粒物PM10监测数据低于检出限或负值,应作为异常值;在线监测仪未按照相关计量检定规程进行校准和开展比对测试的应作为异常值;当发生临时断电时,从断电时起至恢复供电后仪器正常运行止,该时段内的监测数据应作为异常值。
3所有可吸入颗粒物PM10监测的异常值不参与15min均值的计算,噪声监测的异常
值不参与20min等效声级的计算。
4所有异常值与无效数据应标注标识符,应在原始数据库中予与保留,保留时间不少于
6个月。
3通讯协议数据结构及代码定义
3.1通讯包结构组成应符合表3.1要求。
表3.1通讯包结构组成
名称
类型
长度
描述
包头
字符
2
固定为##
数据段长度
十进制整数
4
数据段的ASCII字符数例如:长255,则写为“0255”
数据段
(见 A.3)
字符
0<n<1024
变长的数据
CRC校验
十六进制整数
4
数据段的校验结果,如CRC错,即执行超时
包尾
字符
2
固定为<CR><LF> (回车、换行)
3.2数据段结构组成应符合表3.2要求。
表3.2数据段结构组成
名称
类型
长度
描述
请求编号QN
字符
17
精确到毫秒的时间戳:
QN=YYYYMMDDHHMMSSZZZ,用来唯一标识一个
命令请求,用于请求命令或通知命令。
系统编号ST
字符
2
ST=系统编号,系统编号见5.4中系统编码表。
命令编号CN
字符
4
CN=命令编号,命令编号见5.8中命令列表。
访问密码PW
字符
6
PW=访问密码
设备唯一标识
MN
字符
14
MN=监测点编号,这个编号下端设备需固化到相应存储器中,用作身份识别。该编号由环保监测部门定义。
应答标志Flag
整数(0-255 )
3
目前只用一个Bit
0 A
A:数据是否应答;Bit:1-应答,0-不应答
指令参数CP
字符
0<n<960
CP=&&数据区&&,数据区定义见5.3
3.3数据区的结构定义应符合:字段与其值用“=连接;在数据区中,同一项目的不同分类值间用,”来分隔,不同项目之间用,”来分隔。
3.4字段定义应符合下列要求:
1字段名要区分大小写,单词的首个字符为大写,其他部分为小写;
2数据类型含义应符合表3.4-2要求;
表3.4-2数据类型含义
数据类型
含义
C4
表示最多4位的字符型字串,不足4位按实际位数。
N5
表示最多5位的数字型字串,不足5位按实际位数。
N14.2
用可变长字符串形式表达的数字型,表示14位整数和2位小数,带小数点,带符号,最大长度为18。
YYYY
日期年,如28表示28年
MM
日期月,如08表示8月
DD
日期日,如08表示8日
HH
时间小时
MM
时间分钟
SS
时间秒
ZZZ
时间毫秒
3字段对照表应符合表3.43要求。
表3.43字段对照表
字段名
描述
字符集
宽度
取值及描述
SystemTime
系统时间
0-9
N14
YYYYMMDDHHMMSS
QN
请求编号
见A.2
QnRtn
请求回应代码
0-9
N3
见A.6
ExeRtn
执行结果回应代码
0-9
N3
见A.7
xxx-Rtd
监测参数实时采样数据
0-9
N14.2
“xxx是监测参数代码
xxx-Min
监测参数指定时间内最小值
0-9
N14.2
xxx-Avg
监测参数指定时间内平均值
0-9
N14.2
xxx-Max
监测参数指定时间内最大值
0-9
N14.2
xxx-Flag
监测参数实时数据标记
A-Z
C1
P:电源故障、F:排放源停运、
C:校验、M :维护、T:超测上限、D:故障、N:正常
xxx-RS
设备运行状态的实时采样值
0-9
N1
0:设备关,1:设备开
xxx-RT
设备指定时间内的运行时间
0-9
N14.2
0=n<=24
xxx-Ala
监测参数报警期间内采样值
0-9
N14.2
xxx-UpValue
污染物报警上限值
0-9
N14.2
xxx-LowValue
污染物报警下限值
0-9
N14.2
AlarmTime
超标开始时间
0-9
N14
YYYYMMDDHHMMSS
AlarmType
报警事件类型
0-9
N1
1:超标,0:回复正常
PolId
监测参数的编号
0-9,A-Z
C3
见A.5监测参数编码表
BeginTime
开始时间
0-9
N14
YYYYMMDDHHMMSS
EndTime
截止时间
0-9
N14
YYYYMMDDHHMMSS
DataTime
数据时间信息
0-9
N14
YYYYMMDDHHMMSS
注:其中xxx代表某个监测参数编号,见表3.5。
3.5系统编码应符合表3.5要求。
表3.5系统编码
系统名称
系统编号
描述
城市扬尘
51
空气质量监测
22
大气环境污染源
31
系统交互
91
用于下位机与上位机的交互
3.6监测参数编码应符合表3.6要求。(可扩充)
表3.6监测参数编码
参数名称
编码
计量单位
数据类型
备注
颗粒物PM10
PM10
Mg/ifi
N5.2
噪声
B03
dB
N3.1
风力
WS
m/s
N2.1
风向
WD
°
N3.1
温度
TEM
°C
N2.1
湿度
RH
%
N3.1
3.7请求返回编码应符合表3.7(可扩充)
表3.7请求返回编码
编号
描述
备注
1
准备执行请求
2
请求被拒绝
3
密码错误
3.8执行结果定义应符合表3.8 (可扩充)
表3.8执行结果
编号
描述
备注
1
执行成功
2
执行失败,但不知道原因
1
没有数据
3.9命令列表应符合表3.9要求。(可扩充)
3.9命令列表
命令名称
命令编号
命令类型
描述
上位向
下位
下位向上位
参数命令
提取下位机时间
1011
请求命令
用于同步上位机和下位机的系统时间,上位机提取下位机系统时间
上传下位机时间
1011
上传命令
用于下位机上传自己的系统时间
设置下位机时间
1012
请求命令
用于同步上位机和下位机的系统时间,远程设置下位机系统时间
提取监测参数报警门限值
1021
请求命令
用于提取下位机设置的监测参数超标报警门限
上传监测参数报警门限值
1021
上传命令
用于下位机上传自己的监测参数超标报警门限
设置监测参数报警门限值
1022
请求命令
用于上位机远程设置下位机的监测参数超标报警门限
提取实时数据间隔
1061
请求命令
用于上位机提取下位机设置的实时数据间隔
上传实时数据间隔
1061
上传命令
用于下位机上传设置的实时数据间隔
设置实时数据间隔
1062
请求命令
用于上位机远程设置下位机的实时数据间隔
设置访问密码
1072
请求命令
用于上位机远程设置下位机的访问密码
预留参数命令
预留命令范围1073-1099
数据命令
实时数据
取监测参数实时数据
2011
请求命令
用于上位机通知下位机开始按照设置的间隔发送实时数据
上传监测参数实时数据
2011
上传命令
用于下位机按照设置的间隔自动上传实时数据
停止查看实时数据
2012
通知命令
用于上位机告诉下位机停止发送实时数据
实时设备状态
取设备运行状态数据
请求命令
用于上位机告诉下位机开始按照设置的间隔发送实时设备状态
上传设备运行状态数据
上传命令
用于下位机按照设置的间隔自动上传实时设备状态
停止察看设备运行状态
通知命令
用于上位机告诉下位机停止发送实时设备状态
分钟数据(可以自定义分钟间隔数,目前统一定为10分钟)
取监测参数分钟数据
2051
请求命令
用于上位机通知下位机开始按照要求时间发送保存的分钟历史数据
上传监测参数分钟数据
2051
上传命令
(平时为按每个10分钟段主动上报该10分钟段的统计数据)
用于下位机按照上位机的时间要求发送保存的分钟历史数据。
另外,该命令平时为主动上报,上报时间为每个10分钟段上报一次该10分钟段的统计数据,同时也可以响应上位机的采集命令2051。
小时数据
取监测参数小时数据
2061
请求命令
用于上位机告诉下位机开始按照要求时间发送保存的小时历史数据
上传监测参数小时数据
2061
上传命令
(平时为按每个整点主动上报该小时的统计数
据)
用于下位机按照上位机的时间要求发送保存的小时历史数据。
另外,该命令平时为主动上报,上报时间为每个整点上报一次该小时的统计数据,同时也可以响应上位机的采集命令2061。
监测参数小时数据记录
2062
通知命令
用于上位机通知下位机已经收到监测参数小时数据
报警数据
取监测参数报警记录
2071
请求命令
用于上位机提取下位机保存的报警记录
上传监测参数报警记录
2071
上传命令
用于下位机按照上位机的时间要求发送保存的报警记录。
上传报警事件
2072
通知命令(为主
动上报)
用于下位机采样值超过报警门限时主动向上位机发送报警信息
预留数据命令
预留命令范围2073-2099
控制命令
校零校满
3011
请求命令
用于上位机对下位机的一次仪表进行远程校准
即时采样命令
3012
请求命令
用于上位机远程通知下位机的一次仪表即时开始取样分析
设备操作命令
3013
请求命令
设置设备采样时间周期
3014
请求命令
用于上位机远程设置现场一次仪表的取样分析时间
即时图像抓拍
3015
请求命令
用于上位机远程通知下位机的一次图像即时抓拍
预留控制命令
预留命令范围3016-3099
交互命令
请求应答
9011
用于下位机回应上位机的请求。例如是否执行请求
操作执行结果
9012
用于下位机回应上位机的请求的执行结果
通知应答
9013
9013
用于回应通知命令
数据应答
9014
9014
用于数据应答命令
预留交互命令
预留命令范围9023-9099
注:表中上位机”指监测中心平台,下位机”指扬尘在线监测系统。
4通讯过程示例
4.1上传实时(2011)数据应符合表4.1要求。
表4.1上传实时(2011)数据
类别
项目
示例/说明
使用命令
上位机
提取下位机分钟
##1;ST=91;CN=2011;PW=123
采样数据
456;MN=88888881;Flag=1;CP=&&&&FA01<CR><
LF>
下位机
请求应答
##99ST=51;CN=2011;PW=123456;MN=88888881
.1,A01
-Flag=N&&BE01<CR><LF>
执行过程说明
上位机发送提取下位机分钟采样数据命令,下位机收到命令后返回最新采样时间的数据(采样频率1分钟)。
4.2下位机时间同步获取上位机时间)应符合表4.2要求。
表4.2下位机时间同步
类别
项目
示例/说明
使用命令
上位机
设置下位机时间
1; ST=91;CN=1012;PW=12 3456;
MN=88888881;Flag=1;CP=&&SystemTime=20140516010
101&&FE41<CR><LF>
下位机
请求应答
##84ST=91;CN=9011;PW=123456;MN=88888881;Flag
1;QnRtn=1&&BE01<CR><L
F>
下位机
返回操作执行结果
##78ST=91;CN=9012;PW=123456;MN=88888881;CP=
1;ExeRtn=1&&9601<CR><LF>
执行过程说明
上位机发送设置下位机时间命令给下位机,下位机收到命令后执行设置时间请求,返回请求应答结果。
4.3上传分钟(2051 )数据应符合表4.3要求。
4.3上传分钟(2051)数据
类别
项目
示例/说明
使用命令
上位机
取分钟数据
1; ST=91;CN=2051;PW=123456;M
N=88888881;Flag=1;CP=&&BeginTime=20140506,
EndTime=2014050601&&9E81<CR><LF>
下位机
请求应答
##84ST=91;CN=9011;PW=123456;MN=88888881;Flag=
1;QnRtn=1&&BE01<CR><LF>
下位机
上传分钟数据
##0120ST=51;CN=2051;PW=123456;MN=88888881;CP=
&&DataTime=20140506;A01 Min=2.1,A01Tvg=2.
1,A01Max=2.1&&D701<CR><LF>...
下位机
返回操作执行结果
##78ST=91;CN=9012;PW=123456;MN=88888881;CP=
1;ExeRtn=1&&9601<CR><LF>
执行过程说明
上位机发送分钟数据请求,下位机收到命令后开始上传分钟数据并返回请求应答结果。
4.4上传小时(2061)数据应符合表4.4要求。
表4.4上传小时(2061 )数据
类别
项目
示例/说明
使用命令
上位机
取小时数据
1; ST=91;CN=2061;PW=123456;M
N=88888881;Flag=1;CP=&&BeginTime=20140506,
EndTime=2014050605&&AD81<CR><LF>
下位机
请求应答
##84ST=91;CN=9011;PW=123456;MN=88888881;Flag=
1;QnRtn=1&&BE01<CR><LF>
下位机
上传小时数据
##0120ST=51;CN=2061;PW=123456;MN=88888881;CP=
&&DataTime=20140506;A01 -Min=2.1,A01-Avg=2.
1,A01Max=2.1&&C601<CR><LF>...
下位机
返回操作执行结果
##78ST=91;CN=9012;PW=123456;MN=88888881;CP=
1;ExeRtn=1&&9601<CR><LF>
上位机
通知命令
1;ST=91;CN=2062;PW=123456;M
N=88888881;Flag=1;CP=&&BeginTime=20140506,
EndTime=2014050605&&FD81<CR><LF>
执行过程说明
上位机发送小时数据请求,下位机收到命令后开始上传小时数据并返回请求应答结果。上位机收到小时数据后,发送通知命令。
5循环冗余校验(CRC )算法
CRC校验(Cyclic Redundancy Check是一种数据传输错误检查算法,CRC码两个字节,包含一 16位的二进制值。它由传输设备计算后加入到数据包中。接收设备重新计算接收到消息的CRC,并与接收到的CRC域中的值比较,如果两值不同,则有误。
具体算法如下:
CRC是先调入一值全‘的16位寄存器,然后调用一过程将消息中连续的8位字节各当前寄存器中的值进行处理。仅每个字符中的8Bit数据对CRC有效,起始位和停止位以及奇偶校验位均无效。
CRC校验字节生成步骤如下:
1)装入一个16位寄存器,所有数位均为1。
2)取被校验串的一个字节与16位寄存器的高位字节进行异或”运算。运算结果放入这个16位寄存器。
3)把这个16位寄存器向右移一位。
4)若向右(标记位)移出的数位是1,则生成多项式1010 0和这个寄存器进行异或”运算;若向右移出的数位是0,则返回3)。
5)重复3)和4),直至移出8位。
6)取被校验串的下一个字节
7) 重复3) -6),直至被校验串的所有字节均与16位寄存器进行异或”运算,并移位8次。
8) 这个16位寄存器的内容即2字节CRC错误校验码。
校验码按照先高字节后低字节的顺序存放。校验码按照先高字节后低字节的顺序存放。
展开阅读全文