牛 雨
(山东商业职业技术学院 电子信息学院,济南 250103)
工业的迅速发展消耗了地球上大量的石油、煤炭等资源,不可再生能源资源面临枯竭,根据统计地球上的石油煤炭资源只够使用200余年,同时石油煤炭资源的燃烧产物会带来环境污染,造成土壤层的破坏,空气的污染,造成温室效应,导致生态不平衡。作为世界人口数据最多的发展中国家,能源消耗量巨大,但人均资源占有量远低于世界其他国家[1-3]。目前中国各地产生的雾霾天气也表明了我国的能源和环境问题十分严峻。目前比较理想的可替代能源有水能、太阳能、核能、生物能等,太阳能因其储量巨大,使用面积广,具有清洁环保,产生污染较少的特点,受到世界各国的重视,被成为21世纪的能源。我国的太阳能资源丰富,国家对太阳能的发展也非常重视,提出了太阳能资源的可持续发展战略,推出了支持太阳能发展的行业政策。
太阳能利用中光热转化和光电转化得到了快速的发展,主要利用在太阳能热水系统和光伏发电系统。近年来太阳能热水系统因其转化率较高被广泛的使用[4-7]。市场上主流的太阳能热水系统由真空管、水箱、辅助集热设备等组成,热水器的发展也逐渐向热水工程方向发展,目前的太阳能热水系统主要是靠简单现场控制单元根据控制逻辑来运行系统,系统遇到突发情况时,无法集中有效的控制,在热水工程监控系统中,监控软件采用的是B/S或C/S模式,采用单片机或PLC控制,集中管理的难度较大,系统可移植性差,缺少信息统计分析功能。
本文针对太阳能热水系统结构简单、监控系统不完善等问题,设计开发基于JAVA平台的太阳能热水工程监控系统,具备实时控制、远程显示和报警等功能。
1757年瑞士科学家制造了第一台太阳能集热器,1891年美国科学家利用集热器制造了第一台太阳能热水器,早期的热水系统采用人工操作,到了20世纪80年代出现了单片机的控制系统,后来又研发了HMI人机交互设备,提高了使用者的操作性。虽然我国的太阳能热水器的产量居于世界前列,但是整个行业的科技水平有待提升,从20世纪50年代开始,都是采用引进国外技术进行吸收创新,到了20世纪70年代,才开始加大自身的研发投入。对于远程监控系统的发展,目前主要向大数据和智能化方向发展,美国部分太阳能企业将现场控制趋于集成化,远程监控也采用网页模式,并逐步向移动端控制方向转移。我国目前主要还是采用Windows平台,采用单片机或可编程控制器方式进行控制。张艳军[5]设计了一套单一工程的太阳能热水工程和一套多工程移动监控系统平台架构。结合功能需求和性能需求设计并实现了基于Android平台的太阳能热水工程移动监控系统。设计了客户端图形界面、客户端与服务端网络通信模块的设计以及服务端的网络模型、设计思路等,测试了整体性能以及服务端的吞吐量、能耗及流量分析,提出了相关优化策略。廖神海[6]以某医院既有太阳能热水工程为研究对象,基于Niagara物联网平台为该工程搭建一套监控系统。研究结果表明:所设计的监控系统能实现对热水系统运行参数的实时采集、显示与保存及远程网络访问和数据共享等功能,控制方法可以克服该既有工程设计上的固有缺陷,从而实现系统的可靠稳定安全运行。目前国内的热水控制系统主要依托Windows平台,通过PLC+以太网+上位机软件或单片机+GPRS+上位机等进行开发,开发的系统存在界面友好度不够,稳定性有待提高,网页配置不佳,无法实现远程监控,成本较高等问题。
目前监控软件开发的模式主要有B/S和C/S两种结构,B/S结构相对于C/S结构,具有扩展性较好,升级较为方便,不依托操作系统平台,能较好的实现实时监控和远程监控,并且可以通过浏览器来直接处理突发事件。本系统拟将采用JAVA结构方式,JAVA框架包含Struts、Hibernate、Spring三大系统架构,在程序发开中的可读性和拓展性上都有非常明显的优势。
太阳能热水系统的现场监控系统是一套不需要人员现场参与的情况下让系统独立运行的系统,肩负着与上位机软件进行交互的作用,现场监控系统的组成包括集热器、水箱、加热器、传感器等,其运行流程是由水箱中的水通过循环水泵输送到集热器中,如果环境温度较低,则可通过辅助加热设备进行产热,系统还具备上水和供水功能,大型热水系统通常还由多个水箱组合而成。设计一套两个水箱系统的多排太阳能真空集热管热水系统,系统如图1所示。
图1 多排太阳能真空集热管热水系统
热水系统设计采用的控制单元主要有主控制器、输入输出模块、以太网通信模块。主控器采用西门子226CN系列, 其主要特点是速度较快、成本较低,有较为完善的通讯方案,易于操作,具有模块化设计易于拓展,具备16个DO和24个DI,可以添加7个拓展模块。现场主控搭建输入输出模块,选择S7-EM222M和S7-EM231满足开关量和模拟量采集要求。传感器的电压采集采用标准输出0~10 V的电压型号。设计采用以太网通讯技术连接PLC设备。系统采用西门子TP277触摸屏实现人机交互,可以进行现场的控制,又可以直接对系统进行监控,通过设置系统的参数,可以修改系统运行的基础参数。
现场监控系统采用OPC通信协议,OPC技术以组对象模型技术为基础,系统采用多线程的异步通信方式,通过实现SCADA层与服务器间的通信。系统软件设计通常需要满足可靠性、可维护性、易修改性、实用性、效率性和可扩展性[7-11]。根据实际需求分析,对监控系统的整体架构进行设计,架构如图2所示。
图2 监控系统的整体架构
监控系统设计由设备层、现场控制层、通信层和服务器中心软件构成。设备层主要是由热泵、阀门、传感器等组成,现场控制层主要是由8套PLC控制设备组成。通信层主要采用全双工通信模式的以太网方式,传输速率最高可达1 Gb/s。服务器中心软件包括服务器、软件和操作系统等。系统设备运行的流程是由水箱中的水经过集热水泵传输到太阳能集热器中,加热后返回水箱,如果环境温度较低,可以通过电加热器进行加热,提供热能。系统还带有供水和回水回路。太阳能集热器主要是由太阳能集热真空管组成,集热管内外两层为真空,内玻璃管表面有吸热材料,可以吸收太阳能的辐射对水进行加热,通过热水和冷水的比重差,在真空管内形成上下循环,提升管内的水温。
用户管理模块用于远程配置和观察运行信息的权限,管理员通过系统前台浏览太阳能热水系统工程的实时数据,也可以查询历史数据和对运行控制参数进行修改,工程师可以进行用户删减的管理和用户信息的验证。数据查询模块主要是数据的显示、输出。故障报警模块在监控到故障信息时,管理人员会收到报警提示,管理人员可通过故障报警模块掌握现场的运行情况,节约了管理成本。通信模块主要通过OPC服务器读取设备信息,然后将数据处理后显示和储存到数据库中。对数据库进行设计,首先需要对项目的需求进行分析,图3为系统的E-R需求分析图。系统设计的需求主要包括对液位的采集,对压力、温度数据的采集,开关和泵运行的参数采集,运行时间的采集等。输出的数据有运行信息、管理员信息、修改时间等。
图3 系统数据库需求分析
目前软件开发语言中C#和Java是较为常见的编程语言,相对于C#语言,Java能够垮平台运行,具有较好的移植性,因此系统采用Java语言进行开发,操作系统采用与OPC兼容更好的windows 2003版本。设计服务器软件的基本模型如图4所示。服务器的表现层为Flash显示、数据、图表等,业务层主要是交互模块、管理模块、通信模块等。
图4 服务器软件基本模型
针对太阳能热水监控网站的特性,设计采用动静结合的网页,网站页面的组成如图5所示。静态页面不需要与数据库交互,无需进行服务器处理,就可以直接显示在浏览器上,这是网站的最基础的组成部分,而动态网页的展示效果是与底层数据库是相关的,数据库中的信息变化,网页呈现的效果也会发生变化。Java语言支持动态页面技术,在传统的HTML语言中加入Java语言,可以动态的显示实时效果,采用Ajax技术实现浏览器与服务器之间的无缝对接。采用Flash技术和xml方式结合,显示界面不会造成画面抖动,呈现画面质量较为稳定。
图5 网站的页面组成
设计主要的主要的管理模块:用户管理模块的设计主要用于用户的登陆,用Ajax技术进行格式的检验,提示输入错误和重新输入。历史数据查询模块主要是确认输入查询的信息是否正确,如果正确进行数据库比对,然后展示数据,如果输入信息不合格,则返回查询信息界面。故障报警从数据库中提取数据,如果热泵运行故障,则发出报警,同时监测管路的压力上下限值,如果超限也会发出故障报警。现实模块主要采用实时动画显示和图表显示,显示热泵、电动阀等运转情况。
根据系统架构图,首先采用SIMATIC.NET搭建OPC服务器, 连接S7-200系列,配置IP和子网掩码,设定本地TSAP号,配置以太网中的模块号,完成后进行通信测试,通过OPC服务器查看S7-200的数据类型。基本通信流程如图6所示,采用JeasyOpc设计客户端,在初始化后建立JOpc对象,调用JOpc.synchReadItem和JOpc.synchWriteItem进行读写数据。
图6 OPC通信流程
OPC客户端采用JeasyOpc来实现,这种方法容易操作,兼容性好。首先对函数进行初始化,建立JOpc对象,连接对应的服务器,调用写数据模块进行编程,可在OpItem中设置项目信息,具体实现方式如图7所示。
图7 Opc客户端实现方式
对集热循环测试主要考查的是加热的温度、水箱温度、液位和环境温度。测试水箱水温与加热温度差值大于5 ℃时,系统是否会自动开始加热循环,是否打开水泵;测试水温差小于3 ℃时,是否关闭水泵;测试集热管水温与水箱温差大于60 ℃时,是否自动关闭水泵,停止水循环。
测试供水泵供水情况,测试的主要指标是水箱液位和供水时间段,系统首先需要判断是否处于供水时间段,再进行液位的判断,最后决定运行的开关状态。热泵的测试主要判断在温度高于55 ℃时,热泵是否关闭,温度低于45 ℃时,热泵是否开启。人机交互设备的测试主要是测试控制器是否能根据用户的个性化的设置进行正常的启动泵和按供水时间供水。
针对实际运行效果进行测试,监控软件的测试是关键。通过对OPC与PLC连接建立,实际检测的数据如表1所示。从表1中可以看出,系统的采集信息与监测信息都正常,OPC通信也正常,虽然实际精度值与采集值有微小的误差,但不影响整个控制系统的正常的运行。其他查询、导出、显示功能测试也运行正常。
表1 检测采集的信息
对软件系统的测试主要包括物理通信测试、登陆模块测试、OPC通信模块测试、数据查询测试、数据导出功能测试等。测试中发现水泵控制策略中系统不明确运行阶段,故障处理的优先级不明确等问题,通过编程进行修改,选取3个事件来判断水泵是否开启,采取设置多个标志位才分析水泵循环策略,并升级工作日志的功能,通过优化后,系统能够正常运行。
本文简述了太阳能热水系统的组成结构和控制系统组成,对太阳能热水工程监控系统的发展进行了简要的介绍,分析了目前市场上的技术存在的问题,结合实际情况,提出了基于Java平台的太阳能热水工程监控系统的设计方案,系统采用西门子系列的可编程控制器,通过搭建了OPC服务器,建立服务器与控制设备的连接,系统搭建完成后进行现场控制和监控软件部分的测试,进行了策略测试、开关测试和物理通信模块的测试,发现了监控部分的不足,并提出了解决措施,优化后的系统能够有效的对太阳能热水工程的现场进行实时监控。
[1] 张 鹏. 基于PLC与触摸屏的太阳能热水系统设计[D].银川:宁夏大学,2015.
[2] 朱 彬. 基于OPC的太阳能热水工程远程监控系统研发[D].杭州:杭州电子科技大学,2015.
[3] 李永华,焦青太. 集中式太阳能热水系统的实际运行效果分析[J]. 太阳能,2011(21):13-16.
[4] 阴国富,朱创录. 基于多网融合的温室环境监控系统的研究与设计[J]. 江苏农业科学,2016(10):371-375.
[5] 张艳军. 太阳能热水工程移动监控系统[D].杭州:杭州电子科技大学,2016.
[6] 廖神海,娄承芝,田 浩. 基于物联网平台的太阳能热水工程监控系统[J]. 太阳能学报,2016(7):1851-1856.
[7] 孙 哲. 莱城发电厂环保监控平台的设计与实现[D].济南:山东大学,2016.
[8] 方 赓. 基于Java的智能家居电源监控系统的开发[J]. 电源技术,2016(3):727-728.
[9] 赵晓峰. 基于OPC技术的Web工控系统的研究与实现[J]. 自动化与仪表,2016(2):62-64.
[10] 张 晶. 基于Java Web及Android平台的智能家居监控系统[D].西安:西安电子科技大学,2015.
[11] 陈宏希. 基于Jess和Java混合编程的楼宇温度控制系统仿真实现[J]. 自动化与仪器仪表,2015(1):147-150.