智能科技论文范文
所属栏目:智能科学技术论文
发布时间:2014-01-09 16:16:08 更新时间:2014-01-09 16:18:07
在工业冶金、发电、供暧等行业,锅炉是必不可少的能源动力设备,其中,对锅炉汽包水位的实时测量与控制是整个控制系统的核心环节。汽包水位过高,将减少蒸汽重力分离行程,破坏汽水分离效果,恶化过热器的工作条件,严重时会引起汽轮机冲击,造成汽轮机转轴弯曲等恶性事故;水位过低时,锅炉水循环受到影响,炉膛内的水冷壁将面临爆管危险。因此,必须对水位进行精准、实时、高效的测量与控制。
摘要:智能监测系统集计算机技术、通信技术和仪表测控技术于一体,论文介绍了采用VisualC++6.0为开发工具和以SQLsever2000为数据库平台,通过串行接口进行通信的测控系统实现过程。作者提出了使用自由口通信的模式将工控机与西门子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—>ComponentsandControl插入即可,再将该控件从工具箱中拉到对话框中。此时,只需要关心控件提供的对Windows通讯驱动程序的API函数的接口。换句话说,只需要设置和监视MSComm控件的属性和事件。如果计算机未安装VC++,用户的计算机没有注册MSCOMM32.OCX控件的情况下,用户是不能使用该控件的。此时,只能通过运行命令”regsvr32+控件的完整路径名”完成控件的注册,此处输入”regsvr32C:\windows\system32\mscomm32.ocx”,点击确定即可完成注册。
本文采用事件驱动法来处理通信,当有新字符到达缓冲区或端口状态发生变化时,即使有错误发生,都会触发若串口的消息处理函数,进而调用GetCommEvent()函数查看是哪类事件,再做出相应的处理。这种方法程序能够响应及时,可靠性较高。
2.1.1MSComm控件类参数初始化
MSComm控件类初始化时,在视图类的初始化函数OnInitUpdate()中进行。其中串口号、波特率、校验方式、数据位等相关参数可以由用户按照实际情况自行设置。SetCommPort(n),将串口控件与指定的串口号相关联;SetInputMode(),设置接收数据的类型;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,打开对话框,输入数据源名称和选择SQLServer服务器,完成数据源的创建与配置工作。
2.3上位机软件界面设计
上位机软件是基于MFC的单文档应用程序,注意将该工程视图类的基类设置为CFormView类,可以实现可视化编程,在对话框资源中直接拖拽控件至对话框内,减少不必要的程序代码,简化工作量。在ResourceView的Dialog中为单文档添加相关的标签、按钮、编辑框等,并为编辑框创建相关成员变量,为按钮添加相应的消息响应函数,完成相应的函数功能,最后软件界面如图3。
3下位机软件实现
由于使用的是自由口通信协议实现PC机与PLC的通信,需要在下位机软件SIMATICSTEP7中利用梯形图编写相关的接收数据和发送数据的程序,并用中断来处理发送数据和接收数据之间的状态切换。在硬件组态中,除加入必要的导轨、电源、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.