编辑: hgtbkwd | 2019-09-13 |
汽包水位过高,将减少蒸汽重力分离行程,破坏汽水分离效果,恶化过热器的工作条件,严重 时会引起汽轮机冲击,造成汽轮机转轴弯曲等恶性事故;
水位过低时,锅炉水循环受到影响,炉膛内的水冷壁将面临 爆管危险.因此,必须对水位进行精准、实时、高效的测量与控制. 摘要:智能监测系统集计算机技术、通信技术和仪表测控技术于一体,论文介绍了采用VisualC++6.0为开发工具和以S QLsever2000为数据库平台,通过串行接口进行通信的测控系统实现过程.作者提出了使用自由口通信的模式将工控 机与西门子S7300系列PLC模块进行连接,实现现场传感器、PLC模块和工控机的相互通信,在此基础上开发了锅炉汽 包水位的实时测量与在线控制软件,对锅炉汽包水位进行实时监测,并给出基于VC的上位机界面. 关键词:VisualC++6.0,串口通信,水位测量 在以往的系统中,由于安装工艺,测量设备和软件设计的不足,加上工况欠缺稳定,同一锅炉中汽包不同测量点的水 位测量结果存在较大偏差,无形中加大了工人的劳动强度.在本设计中,采用双室平衡容器与差压变送器的两者配套 使用来测量液位,变送器将传感器采集的压力参数转化为4~20mA的电流信号传输至PLC的模拟量输入模块,再通过 上位机相关处理后在显示器上显示实时的水位情况.为实现汽包水位的自动调节,采用前馈串级控制设计,使用三冲 量的调节机制,有效控制锅炉给水流量、蒸汽流量和炉膛热负荷等三要素对汽包水位的影响,防止虚假水位的产生. 在本设计中,采用西门子S7300的系列的PLC,将工控机的RS232串口与PLC的编程接口连接起来进行通信,在VisualC ++6.0的基础上,设计出在线监测的上位机软件,实现对汽包水位的实时、精准监控,确保汽包上各测量点偏差不超 过±30mm. 1系统整体框架的设计 系统是一个将测控技术、通信技术和计算机技术结合在一起的智能测控系统,主要包括数据的采集、传输、处理和显 示四部分,如图1所示.首先,传感器通过双室平衡容器正负压管采集压力,并将压力参数输出为差分小信号传送至 智能变送器,变送器则对差分信号进行放大和数字处理,转换并输出4~20mA的电流信号,而配电隔离器则为变送器 提供24V直流电源并隔离信号,消除外界信号的干扰.信号到达PLC模块,经过PLC模拟量输入模块的相关处理,转 换为符合RS232标准电平的数字信号,PC上位机通过完全开放的自由口通信模式完成与PLC的串口通信,实现传感器 到PC机的数据交互,从而完成对水位的实时测量. 2上位机软件的设计与实现 系统的上位机监测软件是基于VisualC++6.0的单文档(SID)的MFC应用程序开发的,系统主要分为通信模块,数据 管理模块,界面设计模块等三个模块. 2.1串口通信设计与实现 实现上位机与S7300的通信有很多方法,常用的有Prodave通信、串口通信等.Prodave通信采用MPI的通信接口,因为 MPI口是每块CPU的编程口,所以PLC不需要另外添加通讯模块,但MPI的速度是有限的,如果采用普通的PCAdapter 连接PC和PLC,最高速度也就38.4kbps.本设计采用串口通信方式,只需另加CP340或者CP341串口通信模块,同时在 PLC和上位机中分别对接收报文和发送报文进行相应的描述,报文格式相对自由,串口通信使用的数据线较少,在远 距离通信中可以节约通信成本. 上位机界面采用VisualC++6.0软件工具进行编写,利用MSComm控件实现RS232串口编程.首先,在基于单文档应用 程序中创建串口通信控件,若Control工具栏中缺少该控件,可通过菜单Project―>AddtoProject―>ComponentsandCont rol插入即可,再将该控件从工具箱中拉到对话框中.此时,只需要关心控件提供的对Windows通讯驱动程序的API函 数的接口.换句话说,只需要设置和监视MSComm控件的属性和事件.如果计算机未安装VC++,用户的计算机没有 注册MSCOMM32.OCX控件的情况下,用户是不能使用该控件的.此时,只能通过运行命令"regsvr32+控件的完整路 径名"完成控件的注册,此处输入"regsvr32C:windowssystem32mscomm32.ocx",点击确定即可完成注册. 本文采用事件驱动法来处理通信,当有新字符到达缓冲区或端口状态发生变化时,即使有错误发生,都会触发若串口 的消息处理函数,进而调用GetCommEvent()函数查看是哪类事件,再做出相应的处理.这种方法程序能够响应及 时,可靠性较高.
1 /
3 2.1.1MSComm控件类参数初始化 MSComm控件类初始化时,在视图类的初始化函数OnInitUpdate()中进行.其中串口号、波特率、校验方式、数据 位等相关参数可以由用户按照实际情况自行设置.SetCommPort(n),将串口控件与指定的串口号相关联;
SetInput Mode(),设置接收数据的类型;
SetSettings(str),设置串口的相关参数,str字符串内包括波特率、奇偶校验、数 据位、停止位等串口参数信息;
SetRThreshold(),设置是否产生串口事件;
SetInputLen(),表示是否全部读取串 口. 同时通过调用GetPortOpen()方法判断串口是否已经打开,若处于关闭状态,则调用SetPortOpen()方法,将串口 打开.2.1.2发送串口数据 在发送数据时,需要在程序中调用串口控件类的成员函数SetOutput()进行数据发送操作,数据在通过串口进行发 送时或接收时,必须将数据类型强制统一转换为COleSafeArray类型,否则,数据将不能完整或安全地被发送或接收, 并为发送数据按钮增加消息处理函数并添加相关处理代码,发送串口数据流程如图2所示. 2.1.3接收串口数据 在单当串口缓冲区中有数据到来时,该串口控件会产生串口事件,调用GetCommEvent()函数获取当前发生的串口 事件.为接收数据按钮增加相应的消息响应函数并添加相关代码. if(mm.GetCommEvent()==2)//若发生的串口事件是读取事件 { variant=mm.GetInput();
//则读取串口缓冲区 safearray=variant;
//转换数据类型 len=safearray.GetOneDimSize();
//获取有效数据的长度 for(longi=0;
i{safearray.GetElement(&i,&rxdata[i]);
//将数据转换为CHAR型数组 str.Format("%c",rxdata);
//格式化输出字符串 } 2.2数据库设计 为方便对实时数据进行诊断和历史分析,该文把系统所采集到的数据保存到数据库中.设计中采用MFCODBC的方式 访问数据库,VisualC++中提供的MFCODBC数据库类封装了ODBCAPI,这使得利用MFC来创建ODBC应用程序非常 简便,避免了直接使用ODBCAPI要编写的大量代码,同时采用SQLServer2000作为上位机软件的数据库管理系统.在 运行系统前,需添加数据源,首先,打开"开始"―"控制面板"―"管理工具"―"数据源(ODBC)",在用户 数据源列表的右边选择"添加",出现创建新数据源对话框.双击SQLServer,打开对话框,输入数据源名称和选择S QLServer服务器,完成数据源的创建与配置工作. 2.3上位机软件界面设计 上位机软件是基于MFC的单文档应用程序,注意将该工程视图类的基类设置为CFormView类,可以实现可视化编程, 在对话框资源中直接拖拽控件至对话框内,减少不必要的程序代码,简化工作量.在ResourceView的Dialog中为单文 档添加相关的标签、按钮、编辑框等,并为编辑框创建相关成员变量,为按钮添加相应的消息响应函数,完成相应的 函数功能,最后软件界面如图3. 3下位机软件实现 由于使用的是自由口通信协议实现PC机与PLC的通信,需要在下位机软件SIMATICSTEP7中利用梯形图编写相关的接
2 /
3 收数据和发送数据的程序,并用中断来处理发送数据和接收数据之间的状态切换.在硬件组态中,除加入必要的导轨 、电源、CPU、输入输出模块外,还需要为PLC添加一块串行通讯模块,在S7300中可以加放CP340或者CP341通讯模 块,实现串口通信.在软件组态中,采用汽包水位三冲量前馈-反馈串级控制系统,调整电动执行机构的阀门开度, 合理调节蒸汽流量、锅炉给水量和炉内燃烧量的变化,实现对水位的自动控制. 4结束语 本系统中运用VC++设计并实现了PC机与西门子系列PLC的通讯,使用MFC技术,灵活运用ActiveX的MSCOMM控件 ,实现了串口通信.同时,将系统采集的数据存入数据库,以备历史查询.系统充分利用计算机和PLC本身的资源实 现了上位机对PLC的实时监控,而PLC作为下位机实现对现场工况的实时监控和有效控制,从而从最大限度上保证汽 包中三个测量点数据相差不超过±30mm,确保测量结果的相对稳定,实现了对汽包水位的实时监测和有效控制.本 系统而且还可以进行扩展,与多台PLC进行通信,简单、实用,具有较高的可靠性和安全性,降低了工人劳动强度, 达到了预期的目标. 参考文献: [1]胡超,闫玉宝.由浅入深学VisualC++:基础、进阶与必做300题[M].北京:电子工业出版社,2012. [2]周韧研,商斌.VisualC++串口通信开发入门与编程实践[M].北京:电子工业出版社,2009. [3]梁伟.VisualC++网络编程经典案例详解[M].北京:清华大学出版社,2010. [4]吉顺平,孙承志,孙书芳,等.西门子现场总线通信原理与应用[M].北京:机械工业出版社,2009. Powered by TCPDF (www.tcpdf.org)
3 / 3