APP下载

基于SCADA的物联网大气环境监测系统设计

2018-04-09林鹏飞王李伟粱喜双卢革宇

吉林大学学报(信息科学版) 2018年2期
关键词:组态界面曲线

王 莲, 林鹏飞, 王李伟, 粱喜双, 卢革宇

(吉林大学 电子科学与工程学院, 长春 130012)

0 引 言

当前, 我国对大气环境污染十分重视。要保护好生态环境, 提高大气环境质量, 有效防范各种大气环境突发情况, 保证大气环境的安全, 必须对大气环境进行监测[1], 所以需要大气环境监测系统[2]。以长春市为例, 目前长春市仅有10个监测站点, 因建监测站点的造价高从而限制了其建设, 无法达到更为区域化、 准确的气体监测效果, 存在以偏概全的缺点, 且监测数据需由相关部门统一发布, 降低了数据的时效性。针对现有监测系统存在的问题, 笔者设计了基于SCADA(Supervisory Control And Data Acquisition)[3,4]的物联网大气环境监测系统, 该系统采用便携式气体检测仪进行数据采集, 因成本低、 体积小等优点, 可实现大范围布点, 提高了数据的准确性和区域有效性。通过编程设计中央监控平台负责监控和分析任务, 实现了监测数据的实时更新与便捷查询。笔者设计的基于SCADA系统的物联网大气环境监测系统克服了传统监测方式的不足, 实现了便捷、 高效、 准确、 智能化的大气环境数据监测。

1 系统总体概述

图1 系统功能框图Fig.1 Functional block diagram of the system

笔者设计的大气环境监测系统由下位机和上位机两部分组成, 实现了对大气环境的区域化连续、 自动监测及气体浓度预警的功能。下位机为气体监测节点硬件组成部分, 通过设计电路驱动传感器对气体浓度数据进行采集, 下位机将采集的数据信息传递给上位机[5], 上位机通过软件编程实现对数据的存储与处理, 并进行相应的界面显示[6]。该设计主要实现了上位机软件设计部分[7], 系统的功能框图如图1所示, 上位机采集到大气浓度数据后, 分3部分实现对接收数据的处理: 第1部分结合交互式地图通过表格和曲线图两种方式对接收数据进行实时显示; 第2部分对接收数据进行存储, 并在此基础上实现数据报表和浓度预警功能; 第3部分对上位机软件部分进行Web发布; 最后将系统接入物联网。

2 系统实现

2.1 开发环境搭建

该设计使用监控组态软件完成功能实现。典型的计算机控制系统[8]通常可分为设备层、 控制层、 监控层和管理层4个层次结构, 构成了一个分布式网络控制系统。其中设备层负责将物理信号转换成数字或标准的模拟信号, 控制层完成对监测节点的实时监测与控制, 监控层通过对多个控制设备的集中管理, 完成监控目的, 管理层实现对接收数据进行管理、 统计以及查询。监控组态软件是位于监控层的专用软件, 负责对下集中管理控制层, 向上连接管理层, 是信息化的重要组成部分。监控组态软件最大的特点是能以灵活多样的“组态方式”进行系统集成, 提供了良好的用户开发界面和简捷的工程实现方法, 通过“组态”的方式可大幅缩短系统集成时间, 提高集成效率。

2.2 实时显示设计

2.2.1交互式地图设计

笔者参考地理信息系统, 在窗口添加图像对象, 通过矢量图层的叠加搭建交互式地图, 在地图中显示气体监测节点及信息, 以最直观的方式呈现给使用者。地图的制作使用了智能单元模块, 智能单元是组织画面复杂对象的一种方法, 是由多个对象组成的集合, 集合内每个对象均可设置独立的动作属性, 智能单元内对象无需拆解即可以随意增减和修改属性及制定动作。打开工程, 在地图界面窗口中添加智能单元模块, 在模块中加载外部地图位图作为第1层图层, 利用经纬度确定监测节点位置, 在对应位置上安放位置表示图标, 制作第2层图层。将两层图层层叠放置, 并通过LogicLayerConfig()函数配置图层位置尺寸、 LogicLayerShow()函数控制图层的显示, 实现监测节点在地图中的标定与显示。该设计中地图的缩放功能包含了比例尺变化而不仅仅是图片的放大与缩小, 为实现该功能笔者设置变量p, 编写C代码实现缩放按钮与变量p间动作连接关系, 当点击“+”按钮时对p变量值进行递增, 当点击“-”按钮时对p变量值进行递减, 并将递增递减的值与缩放比例对应, 从而实现地图的缩放功能, 部分代码如下:

Display(“地图2公里”); Display(“选项卡”); #MainMenu.Show(1);

IFp==1 THEN

#地图2公里.#Map1.Show(1);#地图2公里.#Map2.Show(0);#地图2公里.#Map5.Show(0);

#地图2公里.#吉大南校1.Show(1);#地图2公里.#吉大南校

2.Show(0);#地图2公里.#吉大南校5.Show(0);

#地图2公里.#伪满皇宫1.Show(1);#地图2公里.#伪满皇宫

2.Show(0);#地图2公里.#伪满皇宫5.Show(0);

#地图2公里.#长春北站1.Show(1);#地图2公里.#长春北站2.Show(0);#地图2公里.#长春北站5.Show(0);

#地图2公里.#长春工业大学1.Show(1);

#地图2公里.#长春工业大学2.Show(0);

主界面设计如图2所示, 单击地图中的红色标志会显示该监测节点名称并在右侧选项卡中跳转至该节点所在页, 右侧选项卡部分以长春的6个区分为6个页面, 每个页面又包括1~6个监测节点, 对于每个监测节点会对其名称、 编号、 时间、 监测气体浓度进行实时显示。单击右侧选项卡中的节点编号或节点名称均可进入到数据报表界面。

图2 系统主界面Fig.2 System main interface

2.2.2曲线显示设计

曲线可更加直观的向用户展示气体浓度变化, 故笔者在设计中采用了曲线的形式对监测数据进行辅助实时显示。采用模拟器生成监测数据, 故图中曲线仅作演示, 退出io监控进程, 按下快捷键ctrl/shift/F10进入数据生成界面, 在生成模式中选择随机数生成, 便可模拟生成监测数据。该设计通过语句#SuperCurve.SetCurveType(0)对曲线进行设置, 通过语句#SuperCurve.SetCurveTimeAdd(0,#TimeSpan.Value,#TimeSpan.Type)对曲线图采样时间进行设置, 实现了5种浓度曲线在统一坐标系中对比显示以及曲线单一显示两种显示方式。

图3 曲线显示界面            图4 单一曲线显示界面     Fig.3 Curve display interface        Fig.4 Single curve display interface

曲线显示界面如图3、 图4所示, 界面由曲线图和功能区域两部分组成, 曲线图中横坐标为时间轴, 纵坐标为浓度轴。通过语句#BarChart.Setp=NVALUE设置坐标轴刻度增量; 通过语句在图表右侧有4种气体名称的标注, 默认为4条浓度曲线一起显示, 通过不同颜色予以区分; 通过语句#ObjectEx.TimeColor=nValue设置曲线颜色, 单击右侧曲线的名称, 可实现使该气体浓度曲线单独显示。在功能区域, 单击实时曲线功能按钮, 可查看实时浓度曲线, 单击历史曲线按钮, 在功能区右侧设置起始时间后, 可对某一时间段内的气体浓度曲线进行查询。

2.3 数据存储

2.3.1数据报表设计

历史报表界面基于数据存储功能实现了历史数据的查询与导出, 该设计中数据的存储包括力控数据库存储和关系数据库[9]存储两部分。在力控组态软件的工程管理器中建立一个新的工程, 进入软件开发环境及数据库组态, 在DbManager中建立点参数用以接收下位机传递的数据, 通过语#DbBack.Path=“D:ForceControlDataBase”设置本地数据库存储路径, 在前端界面中需显示数据的地方与相应的参数点进行关联, 实现数据显示与查询。该设计在长春市的6个城区: 宽城区、 二道区、 绿园区、 朝阳区、 南关区和双阳区中分别设置1到6个虚拟监测节点, 监测数据是SO2、CO、NO2和臭氧(O3)的浓度。

本地数据库: 在常用组件中选择专家报表模块, 在窗口布局中选定区域绘制专家报表, 并对其属性进行编辑, 部分代码如下:

Display(“报表”);

SWITCH(VariableNumber.PV)

CASE 10:#报表.#历史报表.SetCurSheet(0);CASE 20:#报表.#历史报表.SetCurSheet(1);

CASE 30:#报表.#历史报表.SetCurSheet(2);DEFAULT:#报表.#历史报表.SetCurSheet(0);

ENDSWITCH

关系数据库: 使用Oracle数据库, 在Oracle官网下载最新的ODBC驱动, Oracle数据库安装后使用database configuration assistant创建一个新数据库, 启动Oracle Enterprise Manager Console建立自定义用户, 配置监听程序, 通过ODBCRouter实现力控数据库与Oracle关系数据库的交互。

历史报表及查询界面设计如图5、 图6所示, 数据报表界面的组成包括数据表格和功能按钮两部分, 数据默认存储格式是力控数据库本地存储, 通过单击SQL功能按钮可实现数据在关系数据库中的存储。界面中的数据表格部分共包括6张表, 分别以长春的6个区命名, 在左下方可以通过点击表名进行切换, 每张表中对该区所有监测节点的历史监测数据进行显示。功能按钮包括历史查询、 SQL、 刷新与打印, 单击历史查询按钮, 可设置查询时间段, 对选定时间段内数据进行筛选查询; 单击刷新按钮可以对数据库进行刷新, 将新的数据添加入历史数据查询范围; 单击打印按钮, 可将全部历史数据或筛选出的所需数据进行打印; 单击SQL按钮可以将本地数据库中数据导入关系数据库, 方便数据在其他平台的移植与使用, 实现数据的跨平台共享, 通过SQL语句可实现数据的检索、 更新和管理, SQL语言是专为操作关系型数据库而设计的语言。

图5 历史报表界面           图6 历史查询界面     Fig.5 Historical report interface         Fig.6 History query interface

2.3.2浓度实时预警

报警机制是指数据库中的点数据的pv值发生异常时系统以不同方式进行通知, 在过程值超过预定义极限时出发浓度实时预警界面实现了报警记录表格[10], 浓度预警界面中表格部分记录了报警日期、 时间、 位号、 数值、 限值、 类型、 确认等相关信息, 当气体浓度超过设定的污染限值时, 所在行标红预警并发出声音进行报警。部分代码如下:

#name.GetHisAlarmBeginTime();//获得历史查询起始时间

#name.GetHisAlarmEndTime();//获取历史查询结束时间

#eFCAlarm.PlaySound();//播放报警声音

界面设计如图7所示, 在左上角的下拉框中可以选择实时报警、 历史报警或报警查询, 单击界面下方的实时过滤功能按钮可对报警数据进行条件过滤, 一个过滤条件的格式为: 字段名 操作符名 过滤值, 可使用多个过滤条件, 以逗号进行分隔。

图7 浓度预警界面Fig.7 Concentration warning interface

笔者对系统运行进行了测试, 对于力控组态软件中的运行系统, 测试表明, 基于SCADA系统的大气环境监测物联网数据采集系统可正常实现气体浓度数据实时显示、 历史数据查询、 气体数据曲线显示和浓度预警的功能。

2.4 Web发布

图8 Web发布Fig.8 Web publishing

物联网大气环境监测系统依赖于云技术[11], 将各节点的监测数据上传至服务器端, 存储至数据库中, 然后通过电脑、 手机等登录客户端进行访问查询, 实现了大气环境监测的智能化、 高精度与实时性, 对于构建基于物联网的智能化环境检测系统[12], 提升环境监管的现代化水平具有重要意义。故笔者对系统进行了Web发布(见图8), Web服务器IP设置为Web发布的计算机IP地址。端口为WebServer网络组件使用的端口, 计算机中常用程序所用端口值一般在4 000以下, 为避免与系统中其他程序产生冲突, 笔者将端口设置为8080; 在安全级别栏对能操作数据的最低级设置为无限制, 这样所有用户均可对发布内容进行查询。

笔者进行了Web运行测试。对浏览器端输入IP地址访问系统, 界面及功能实现同运行系统应用程序一致。主界面显示的实时数据和系统应用程序同步, 曲线图显示、 气体浓度预警、 历史数据查询、 历史报表生成等各项功能均正常运行。测试表明, 对浏览器端可实现系统的正常访问, 实现了系统的Web发布[13], 将基于SCADA的大气环境监测系统接入物联网[14]中。

3 结 语

笔者提出的SCADA的物联网大气环境监测系统的设计基于力控监控组态软件, 设计地图式用户交互界面, 建立数据库组态并与外部数据库建立链接, 实现了实时浓度曲线图显示、 历史数据查询、 气体浓度预警的功能, 可通过在客户端的安装系统应用程序或在浏览器端访问服务器IP地址两种方式进入系统界面, 实现了气体浓度数据的及时、 快速、 方便查询。

参考文献:

[1]康晓风, 于勇, 张迪, 等. 新形势下环境监测科技发展现状与展望 [J]. 中国环境监测, 2015, 31(6): 5-8.

KANG Xiaofeng, YU Yong, ZHANG Di, et al. Status Quo and Prospects of Environmental Monitoring Technology in the New Situation [J]. China Environmental Monitoring, 2015, 31(6): 5-8.

[2]姚新, 刘锐, 孙世友, 等. 智慧环保体系建设与实践 [M]. 北京: 科学出版社, 2014.

YAO Xin, LIU Rui, SUN Shiyou, et al. Construction and Practice of Wisdom and Environmental Protection System [M]. Beijing: Science Press, 2014.

[3]万勇. 一种基于云计算技术的SCADA系统设计 [J]. 高压电器, 2013, 49(7): 89-91.

WAN Yong. A Design of SCADA System Based on Cloud Computing Technology [J]. High-Voltage Electrical Appliances, 2013, 49(7): 89-91.

[4]王振明. SCADA(监控与数据采集)软件系统的设计与开发 [M]. 北京: 机械工业出版社, 2009.

WANG Zhenming. SCADA (Monitoring and Data Acquisition) Software System Design and Development [M]. Beijing: China Machine Press, 2009.

[5]吕晓军, 贾新春, 韩宗源, 等. Mobile Node Wware Opportunistic Routing in Dynamic Wireless Sensor Network [J]. 中国邮电高校学报: 英文版, 2016, 23(5): 15-25.

LU Xiaojun, JIA Xinchun, HAN Zongyuan, et al. Mobile Node Aware Opportunistic Routing in Dynamic Wireless Sensor Network [J]. Journal of China University of Posts and Telecommunications: English Edition, 2016, 23(5): 15-25.

[6]唐志国, 文昊, 苏中南, 等. 基于单片机和组态王的职能温室大棚集散控制 [J]. 吉林大学学报: 信息科学版, 2017, 35(5): 513-518.

TANG Zhiguo, WEN Hao, SU Zhongnan, el al. Based on the Functions of SCM and Kingview Greenhouse Distribution Control [J]. Journal of Jilin University: Information Science Edition, 2017, 35(5): 513-518.

[7]周晓, 朱艳林, 王艳艳. 基于组态王的配电网监测系统研究 [J]. 计算机测量与控制, 2015, 23(5): 1731-1733.

ZHOU Xiao, ZHU Yanlin, WANG Yanyan. Study on Distribution Network Monitoring System Based on Kingview [J]. Computer Measurement and Control, 2015, 23(5): 1731-1733.

[8]董颖涛. OODBMS ONet总体设计及客户端运行库实现 [D]. 杭州: 浙江大学计算机学院, 2004.

DONG Yingtao. OODBMS ONet Overall Design and Client Runtime Implementation [D]. Hangzhou: College of Computer Science, Zhejiang University, 2004.

[9]宋志崇. 监控组态软件的研究与设计 [D].大连: 大连理工大学计算机学院, 2008.

SONG Zhichong. Monitoring Configuration Software Research and Design [D]. Dalian: College of Computer Science, Dalian University of Technology, 2008.

[10]林子雨, 杨冬青, 王腾蛟, 等. 基于关系数据库的关键字查询 [J]. 软件学报, 2010, 21(10): 2454-2476.

LIN Ziyu, YANG Dongqing, WANG Tengjiao, et al. Keyword Query Based on Relational Database [J]. Journal of Software, 2010, 21(10): 2454-2476.

[11]周刘靖. 监控组态软件网络功能模块的设计与开发 [D]. 上海: 复旦大学软件学院, 2010.

ZHOU Liujing. Design and Development of Monitoring and Controlling Configuration Software Network Function Module [D]. Shanghai: Software College, Fudan University, 2010.

[12]宋占伟, 赵烁, 王盼星, 等. 基于物联网的社区服务信息交互终端与系统 [J]. 吉林大学学报: 信息科学版, 2016, 34(4): 515-521.

SONG Zhanwei, ZHAO Shuo, WANG Panxing, el al. Community Service Information Interaction Terminal and System Based on Internet of Things [J]. Journal of Jilin University: Information Science Edition, 2016, 34(4): 515-521.

[13]杨晶. 基于物联网的中央空调SCADA系统研究与实现 [D]. 南昌: 江西理工大学电气工程与自动化学院, 2013.

YANG Jing. Research and Implementation of Central Air Conditioning SCADA System Based on Internet of Things [D]. Nanchang: School of Electrical Engineering and Automation, Jiangxi University of Science and Technology,2013.

[14]刘寿生. 基于物联网架构的多组分污染气体监测系统研究 [D]. 合肥: 合肥工业大学计算机与信息学院, 2012.

LIU Shousheng. Research on Multicomponent Contaminated Gas Monitoring System Based on Internet of Things Architecture [D]. Hefei: School of Computer and Information, Hefei University of Technology, 2012.

猜你喜欢

组态界面曲线
未来访谈:出版的第二增长曲线在哪里?
基于PLC及组态技术的恒温控制系统开发探讨
幸福曲线
国企党委前置研究的“四个界面”
一种可用于潮湿界面碳纤维加固配套用底胶的研究
基于FANUC PICTURE的虚拟轴坐标显示界面开发方法研究
基于PLC和组态的智能电动拧紧系统
电子显微打开材料界面世界之门
铸造行业三维组态软件的应用
基于PLC和组态的新型回转类测试设备的研制