烟气连续排放远程监控系统服务器端软件设计.doc_第1页
烟气连续排放远程监控系统服务器端软件设计.doc_第2页
烟气连续排放远程监控系统服务器端软件设计.doc_第3页
烟气连续排放远程监控系统服务器端软件设计.doc_第4页
烟气连续排放远程监控系统服务器端软件设计.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

键入文字烟气连续排放远程监控系统服务器端软件设计自动化与电气工程学院 测控0802陆志峰 刘方明 余楠摘要:烟气排放连续监测系统(CEMS)是监测烟气污染物排放的现代化手段。本文首先对CEMS系统及远程监控进行了介绍,然后详述了PC机与PLC连接的通讯方式,最后针对CEMS系统的远程监控要求,设计了通讯命令桢以及VB程序,利用modem和公共电话网实现了实时数据及历史数据的远程传输。关键词:CEMS系统 服务器 Mscomm 自由口通信协议1 绪论1.1烟气排放监控系统的产生和应用随着全球工业化和城市化的迅速发展,人类在开发自然资源得到巨大财富的同时也付出了极大的代价,生存环境遭到严重破坏,并越来越成为制约经济和社会可持续发展的重要因素。我国正处于国民经济高速发展的阶段,治理环境污染、改善生存环境已经作为一个刻不容缓的问题摆在我们的面前。各类传感器采样样本PLC S7-200服务器数据库MODEMMODEM客户端电话网图1.2CEMS系统结构图烟气排放连续监测系统(Continuous Emissions Monitoring System,简称CEMS),是监测烟气污染物排放的现代化手段,可连续监测污染物(SO2,NO,烟尘等)的排放浓度和排放总量,该系统具有连续监测、定期统计、远程通讯等特点。适用于在线连续自动分析监测各种工业锅炉、窑炉及加热炉中烟道气的SO2及NO、CO、O2、烟尘、流量、温湿度、压力等,根据分析结果调整最佳的空气燃料比,提高燃烧效率,达到节约能源及减少环境污染的双重效果1。因此,本系统广泛应用于火电厂、冶金、石化、建材等各行业。1.2烟气排放监测系统结构及运行流程系统主要由多个采样阀、吹扫阀、抽气泵和气体分析仪器、PLC 及其扩展模块以及PC 机组成。PLC 定时打开采样阀,控制抽气泵将烟道气抽入气体分析仪中, 气体分析仪测出烟气中SO2、O2、NO 和烟尘等组分的体积百分含量并变换成420mA 的电流信号送入PLC,PLC 采样后将数字信号传送给PC机, 在PC 机上通过VB程序接收PLC 发送过来的信号,进行量程变换、动态显示、数据存储和打印报表。PLC 每连续采样8 小时后,关闭采样阀,打开吹扫阀,对烟道吹扫两分钟。在采样、反吹时,蠕动泵也在一直工作着,蠕动泵工作45 分钟,停15分钟,反复循环运行。本系统中,采用的是西门子S7-200系列PLC芯片。该芯片可提供4种不同的基本单元和6种型号的扩展单元。其系统构成除基本单元,扩展单元外,还有编程器,存储器卡,写入器,文本显示器等。1.3 PLC梯形图如图:当按钮处于自动状态,T60计时,蠕动泵工作;当T61断开,T60计时,计时15分钟,然后T60断开,T61计时,计时45分钟。总的来说就是蠕动泵开15分钟,再关45分钟,T60与T61相互触发,不能同时都接通。2.CEMS 程序结构传感器测量待测气体的各种参数,将该数据传输到S7-200中,之后经过西门子公司提供的“S7-200 OPC Sample for Visual Basic 6”软件,把所需数据采集到数据库中,此过程由VB6.0编程完成。此外,程序中还应该包括,对数据库的管理:读取,写入,实时监控。以及与客户端的数据共享:一旦客户端提出数据请求,本程序会自动按要求提供给客户端相应的数据包。Call MyGroup.SyncRead(OPCDevice, ItemCount, MyItemServerHandles, values, Errors, Qualities, TimeStamps) For i = 1 To ItemCount If Errors(i) = 0 Then If Qualities(i) = 192 Then Select Case CtlType(i) Case varbox varbox.Item(ItemClientHandles(i).value = value(values(i), RangeDwn(i), rangeup(i) Case boolean BOOLEAN1.Item(ItemClientHandles(i).value = values(i) Case puf puf.Item(ItemClientHandles(i).value = values(i) Case valve valve.Item(ItemClientHandles(i).value = values(i) Case ball_valve ball_valve.Item(ItemClientHandles(i).value = values(i) Case pump pump.Item(ItemClientHandles(i).value = values(i) End Select Else Select Case rs(controltype) Case varbox varbox.Item(ItemClientHandles(i).value = GetQualityText(Qualities(i) Case boolean BOOLEAN1.Item(ItemClientHandles(i).value = GetQualityText(Qualities(i) Case puf puf.Item(ItemClientHandles(i).value = GetQualityText(Qualities(i) Case valve valve.Item(ItemClientHandles(i).value = GetQualityText(Qualities(i) Case ball_valve ball_valve.Item(ItemClientHandles(i).value = GetQualityText(Qualities(i) Case pump pump.Item(ItemClientHandles(i).value = GetQualityText(Qualities(i) End Select End If End If Next3.CEMS系统远程数据传输在CEMS系统中,在现场的各种传感器,分析仪器所得到的数据传输到服务器内来进行储存和分析。要想在远距离查询服务器所存储的数据,就要建立与服务器之间的远程数据传输通信,这样就产生了服务器端与客户机端进行远程数据传输的要求。在CEMS系统的设计中,客户机端的设计主要是集中在如何建立与服务器的远程数据传输,并实现数据的查询与报表的实现。3.1通讯方式3.1.1 基于Internet网的方式Internet 网及技术的发展,使人们越来越多希望借助于互联网的方便快捷来实现各种自动化需求。PLC 通信能力的增强,使得监控系统的配置可以更加灵活方便。远程监控系统利用串口服务器,来实现PLC 与PC 通过Internet 网连接,方法简单、价格便宜。系统可以分为3 部分:客户端、中心服务器、现场端。客户端是用户操作系统的一个窗口,为用户提供了一个管理界面。在这里用户可以方便的查看现场的状态,设置、管理和控制现场。中心服务器作为整个系统的通讯枢纽并提供数据服务,从逻辑上包括用户服务器和数据库服务器。用户服务器负责管理所有的客户端和现场的通讯,到数据库服务器中查询数据;数据库服务器负责保存现场发来的历史数据和一些故障数据、报警数据、设置数据等,返回用户服务器的查询结果。现场端负责执行用户的指令和管理设备。现场数据的采集和控制、以及报警、故障诊断由现场端来完成。客户可以在任何距离、任何地点通过拨号或通过代理服务器登录互联网下载客户端软件来访问服务器站点。服务器与PLC 之间信息的传递则是通过Internet 网利用串口服务器进行的,这里串口服务器起了一个串口通信协议和TCP/ IP 协议之间进行协议转换的作用。串口服务器采用自动应答方式,初始化设定完成以后可以完全不需人工干预、自动响应。3.1.2 基于GPRS无线的方式PLC是工业控制中最常用的控制器之一, 它功能强大、运行可靠、抗干扰能力强, 可扩展性强, 可以通过标准接口与无线通信模块结合在一起, 组成无线远程监控系统。可不局限于特定行业的具体要求, 实现形式多样的I/ O 信号采集和设备的控制, 实现远程诊断、测试、监管等功能。本系统采用常用的上位机、下位机组合控制模式, 而不同之处在于上、下位机之间的通信采用无线通信GPRS 和Internet 实现。其中上位机采用具有上网功能的PC , 下位机采用西门子S7 200PLC。1.上位机功能上位机系统平台采用Windows 系统, 应用软件的开发采用基于Windows 平台的软件技术, 根据客户需求生成个性化的人机界面, 实现人性化的信息交换。在人机画面上, 可以实现自动/ 手动控制功能的切换, 不仅可以显示现场设备的运行状态, 而且可以通过画面控制设备。在画面上, 还可以显示各种仪表的数据, 对现场参数(电压、电流、功率等) 实现远程实时监控, 以及设定报警值等功能。2.下位机功能现场I/ O 通过S7 200 PLC接入系统, 实现数据的采集和预处理, 并根据上位机的指令对现场的工况进行判断、处理。利用PLC 控制能力强、实时性好的特点来实现对现场设备第一时间的保护。实时对异常、故障等进行处理, 并将设备的状态定时传送到上位机进行远程监视和控制。3.1.3 基于MODEM 接入电话网的方式随着工业和科学技术的发展,电子计算机的应用日益深入到各个部门、各个领域,计算机远程数据通信作为其应用的一个重要方面越来越多地受到重视,使用调制解调器实现异地信息传输是一种广泛使用的方法。该系统是以PLC 为核心,以电话通讯的方式实现的。在该系统中,一方面,PLC 将自动化设备的运行数据,状态信号准确、可靠、迅速地送到上位微机监控中心;另一方面,上位监控微机的控制命令必须准确无误地下发到下位机。这里采用的是通过MODEM连接的远程数据通讯方式。S7 - 200PLC提供有RS - 485 通讯接口,在S7 - 200 的自由端口通讯模式下,可以与任何通讯协议公开的设备、控制器进行通讯,即S7 -200 PLC 可以由用户自己定义通讯协议。因此使可通讯的范围大大增加,使控制系统配置更加灵活、方便。利用PC/ PPI 通讯电缆和自由端口通讯功能可把S7 - 200PLC 连接到许多和RS - 232 标准兼容的设备。下位机端利用PC/ PPI 通讯电缆连接S7 - 200 PLC 的RS485 通讯端口和MODEM 的RS - 232 通讯端口,并可通过PC/ PPI 电缆上的DIP 开关设定通讯数据位数,将S7 - 200 PLC 接入到电话网;上位机端利用RS232 通讯电缆连接监控微机和MODEM 的RS - 232 通讯端口,将监控微机接入电话网。通过电话网实现S7 - 200PLC 和监控微机的数据通讯。3.2远程数据通讯要求的硬件环境(1)计算机:要求至少有两个串行通讯端口。因为串口1常用作鼠标接口,故Modem的端口一般为COM2。(2)Modem: Modem是实现远程数据通讯的必要设备, 目前市场上供应的Modem 种类很多且价格低廉, 通讯应选用速度尽可能高的Modem。3.3Modem通信利用现有电话网络和Modem可以实现计算机之间的远程通信。电话网络传输的是模拟信号,而计算机和单片机处理的信息都是数字信号。因此计算机和单片机要利用电话网络传送数据时,发送端首先必须进行调制,将数字信号变成模拟信号。在接收端还要有解调装置将模拟信号还原成数字信号。Modem就是完成调制和解调功能的设备。2图3.3Modem通信框架图如图,这就是远程通信的一个基本框架。PLC将传感器收集的数据经过串口传递至服务器端,服务器端把数据经过Modem,通过电话线网络传至客户机端,在这之前也要经过Modem的调制,传至客户机端。大部分Modem提供标准的RS-232接口,所以与PC机相连的Modem可以通过串口直接与PC机相连。存储时引用:ACTIVEX DATA OBJECTS LIB.DLL除了存储分钟数据,还有存储小时数据和存储月数据,到时间进行跳变。如果有校准或者故障等情况,小时报表就不归档了并一月清一次分钟数据。在服务器端测量有失控时,有数据失控数据补偿,会自动修改失控数据。客户端可以直接收到合理的数据报。3.3.1通信协议要实现正确的通信,双方必须有可靠的通信协议。在此关于远程通信协议的规定如下:起始字符 结束字符命令字时间段起始字符 结束字符段名 数据分隔符此为数据请求端指令格式:起始字符为“”;命令字分为0、1、2、3,分别代表停止查询,反复查询实时最新数据,只查一遍最新数据,以及查询指定时间段所有数据;结束字符为“#”;“,”为通讯协议内分隔符。如查询实时数据,发送的命令为2,2008/6/27 09:00:00,2008/6/28 19:00:00#;如查询指定时间段数据,发送的命令为 2,2008/6/27 09:00:00,2008/6/28 19:00:00# 。 此为服务器端发送格式:起始字符、结束字符同上为“”和“#”;段名指项目名称;分隔符为“*”。3.3.2实现串口通信的方法串行通讯是指外设和计算机之间使用一根数据信号线,数据在该信号线上按位进行传输,每一位数据都占据一个固定的时间长度。串行口的本质就是实现CPU 与外围数据设备的数据格式转换(或者称为串并转换器),即当数据从外围设备输入计算机时,数据格式由位(bit)转化为字节数据;反之,当计算机发送下行数据到外围设备时,串口又将字节数据转化为位数据。串行通讯方式常采用RS-232 串行通讯方式,一个完整的RS-232 接口有22根线,采用标准的25 芯插头座(或者9 芯插头座),25 芯和9 芯的主要信号线相同。串行通讯口的连接采用7 根线直接连接方式,通过两对应答信号线相连,可进行全双工传输。在Windows 操作系统下,串行通在程序设计中实现一般有四种实现途径: 汇编嵌入技术;利用WindowsAPI 函数;利用面向对象的软件开发工具编写串行通信类(即第3 方提供的动态链接库)来实现;利用串行通信控件MSComm实现。无论使用哪一种途径,其基本的操作步骤大致是一样的:首先初始化串口,比如端口号,波特率等属性,然后打开端口,通过接收缓冲区读上行数据,通过发送缓冲区写下行数据。最后通过事件驱动反映数据的到达与发送过程。3.4 VB6.0 中的串行通信机制及其在客户机端通信中的实现在运用VB开发监控软件的过程中,为实现远程通讯功能,可以利用了VB提供的通讯控件MSComm。该控件屏蔽了通信过程中的底层操作,程序员只需设置和监视MSComm控件的属性和事件,就可以轻而易举地实现串行异步通讯。图3.4接收数据流程图YNStr收到的数据是否接收到数据Str是否为结束符Text1text1+str Text1为connect或okNYY显示连接状态与程序设计有关的MSComm控件属性。CommPort设置或返回通讯端口号,格式为:MSComm.CommPort=PortNumber;Settings以字符串形式设置或返回波特率、奇偶校验、数据位和停止位,格式为:MSComm.Settings=ParaString;PortOpen设置并返回通讯端口的状态(打开或关闭),格式为:MSComm.PortOpen=TRUE/FALSE;Input返回并删除接收缓冲区中的数据流; InputLen设置并返回Input属性从接收缓冲区中每次读取的字符数; InBufferCount返回接收缓冲区中已接收的字符数; InputMode设置或返回Input属性取回的数据的类型;Output向发送缓冲区写数据; Rthreshold设置或返回输入缓冲区中存放接收字符的最小数; CommEvent返回最近的通讯事件或错误的数字代码;DTREnable确定在通讯时是否使DataTerminalReady(DTR)线有效。该Mscomm控件的InBufferSize属性设为2048,OutBufferSize属性设为512,RThreshold属性设为1,即接收缓冲区每接收到一个字符就会使MSComm控件产生OnComm事件,SThreshold属性设为1,即发送缓冲区每发送一个字符就会使MScomm控件产生OnComm事件。波特率设置为9600,n,8,1。MSComm控件产生的唯一事件是OnComm事件。每当有通讯错误或某事件发生时,通讯控件就会产生此事件。事件或错误的数字代码放在CommEvent属性中。通过检查InBufferCount属性值来判定输入缓冲区中是否接收到相应数目的字符或字节。若已接收到相应数目的字符或字节,就可以用Input属性来接收这些字符或字节;否则继续查询InBufferCount属性值,直到满足条件,见图3.4。While MSComm1.InBufferCount 0str = MSComm1.Input If str * Then 判断是否为结束位 Text1.Text = Text1.Text & strElse Text1.Text = Text1.Text & strExplain 翻译指令的函数End IfIf InStr(Text1.Text, CONNECT) Then Label1.Caption = 连接成功flag = 1 连接标志,1表示连接成功 Text1.Text = End IfIf InStr(Text1.Text, OK) Then Label1.Caption = 断开 flag = 0 连接标志,0表示连接结束 Text1.Text = End IfWend读取请求指令后,根据所需查询的时间段到数据库查询,然后根据查到的数据制excel报表:Do While Not rs.EOF For j = 1 To varnum If rs(varname(j) Null Then exlapp.Sheets(1).Cells(7+Val(Minute(rs(time),varcol(j)=rs(varname(j) averagedata(j) = averagedata(j) + rs(varname(j) If MAXDATA(j) = rs(varname(j) Then MAXDATA(j) = MAXDATA(j) Else MAXDATA(j) = rs(varname(j) End If If MINDATA(j) = rs(varname(j) Then MINDATA(j) = MINDATA(j) Else MINDATA(j) = rs(varname(j) End IfEnd If Next

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论