- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
烟气连续排放远程监控系统服务器端软件设计
烟气连续排放远程监控系统服务器端软件设计
自动化与电气工程学院 测控0802
陆志峰 刘方明 余楠
摘要:烟气排放连续监测系统(CEMS)是监测烟气污染物排放的现代化手段。本文首先对CEMS系统及远程监控进行了介绍,然后详述了PC机与PLC连接的通讯方式,最后针对CEMS系统的远程监控要求,设计了通讯命令桢以及VB程序,利用modem和公共电话网实现了实时数据及历史数据的远程传输。
关键词:CEMS系统 服务器 Mscomm 自由口通信协议
1 绪论
1.1烟气排放监控系统的产生和应用
随着全球工业化和城市化的迅速发展,人类在开发自然资源得到巨大财富的同时也付出了极大的代价,生存环境遭到严重破坏,并越来越成为制约经济和社会可持续发展的重要因素。我国正处于国民经济高速发展的阶段,治理环境污染、改善生存环境已经作为一个刻不容缓的问题摆在我们的面前。
烟气排放连续监测系统(Continuous Emissions Monitoring System,简称CEMS),是监测烟气污染物排放的现代化手段,可连续监测污染物(SO2,NO,烟尘等)的排放浓度和排放总量,该系统具有连续监测、定期统计、远程通讯等特点。适用于在线连续自动分析监测各种工业锅炉、窑炉及加热炉中烟道气的SO2及NO、CO、O2、烟尘、流量、温湿度、压力等,根据分析结果调整最佳的空气燃料比,提高燃烧效率,达到节约能源及减少环境污染的双重效果[1]。因此,本系统广泛应用于火电厂、冶金、石化、建材等各行业。
1.2烟气排放监测系统结构及运行流程
系统主要由多个采样阀、吹扫阀、抽气泵和气体分析仪器、PLC 及其扩展模块以及PC 机组成。PLC 定时打开采样阀,控制抽气泵将烟道气抽入气体分析仪中, 气体分析仪测出烟气中SO2、O2、NO 和烟尘等组分的体积百分含量并变换成4~20mA 的电流信号送入PLC,PLC 采样后将数字信号传送给PC机, 在PC 机上通过VB程序接收PLC 发送过来的信号,进行量程变换、动态显示、数据存储和打印报表。PLC 每连续采样8 小时后,关闭采样阀,打开吹扫阀,对烟道吹扫两分钟。在采样、反吹时,蠕动泵也在一直工作着,蠕动泵工作45 分钟,停15分钟,反复循环运行。
本系统中,采用的是西门子S7-200系列PLC芯片。该芯片可提供4种不同的基本单元和6种型号的扩展单元。其系统构成除基本单元,扩展单元外,还有编程器,存储器卡,写入器,文本显示器等。
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
文档评论(0)