西门子模块6ES7221-1BF22-0XA8参数设置
、前言
因为季节的变化,昼夜的变化,这样生产车间的各个房间对风量具有很明显的需求变化,而水泵风机的风量、水liuliang的调节是靠风门、节流阀的手动调节。当风量、水liuliang的需求减少时,风门、阀的开度减少;当风量、水liuliang的需求增加时,风门、阀的开度增大。这种调节方式虽然简单易行,已成习惯,但它是以增加管网损耗,耗费大量能源在风门、阀上作为代价的。而且该中央空调在正常工作时,大多数风门及阀的开度都在50%-60%,这说明现有中央空调水泵风机设计的容量要比实际需要高出很多,严重存在“大马拉小车”的现象,造成电能的大量浪费。近年来随着电力、电子技术、计算机技术的迅速发展,变频调速技术越来越成熟,因此我们对中央空调水泵风机加装19台变频器进行了节能改造。又由于水泵风机分散性较大,为了减少值班人员的巡视工作强度,便于及时掌握水泵风机的工作状态和发现故障,我们通过PLC及人机界面与变频器的通讯应用,在中央监控室增装变频监控系统,这样值班人员就可在人机界面上直接设定频率值与启停各台变频器,能实时监控水泵风机电机实际工作电流、电压、频率的大小,并具有报警等功能。
二、中央空调水泵风机变频改造方案
1、改造前设备情况
(1)、基因部空调设备情况
①制冷主机为日立机组,共三台。②冷冻泵:11KW,2极 全压启动4台,扬程30m,出水温度6℃,回水温度为10℃,出水压力为0.35Mpa,每台电机额定电流为21.8A,正常工作电流为16.6A。一般情况下,开二台备二台。③冷却泵:15KW,2极 全压启动 4台,扬程30m,出水温度32.5℃,回水温度为28.2℃,出水压力为0.38Mpa,每台电机额定电流为29.9A,正常工作电流为18.0A。一般情况下,开二台备二台。
(2)、老二楼空调机房空调设备情况
①制冷主机为日立机组,共两台。②冷冻泵:15KW,2极 全压启动3台,扬程30m,出水温度6.1℃,回水温度为9.8℃,出水压力为0.36Mpa,每台电机额定电流为29.9A,正常工作电流为21A。一般情况下,开一台备二台。③冷却泵:15KW,2极 全压启动 3台,扬程30m,出水温度31.8℃,回水温度为27.7℃,出水压力为0.41Mpa,每台电机额定电流为29.9A,正常工作电流为20.6A。一般情况下,开一台备二台。
(3)、分包装空调机房空调设备情况
①制冷主机为日立机组,共两台。②冷冻泵:15KW,2极 全压启动3台,扬程30m,出水温度5.8℃,回水温度为9.3℃,出水压力为0.38Mpa,每台电机额定电流为29.9A,正常工作电流为20.2A。一般情况下,开二台备一台。③冷却泵:15KW,2极 全压启动 3台,扬程30m,出水温度31.6℃,回水温度为27.3℃,出水压力为0.40Mpa,每台电机额定电流为29.9A,正常工作电流为21.2A。一般情况下,开二台备一台。
(4)、有13台空调风柜。①基因部空调风柜7台,其中22KW风机电机3台,11KW风机电机2台,15KW和18.5KW风机电机各1台。②老二楼空调风柜3台,其中15KW风机电机2台,11KW风机电机1台。③质检部空调风柜3台,其中11KW风机电机2台,7.5KW风机电机1台。
2、水泵变频改造方案
因为冷冻泵和冷却泵进出水温差都小于5℃,这说明冷冻水liuliang和冷却水liuliang还有余量,再加之,电机正常工作电流小于额定电流(5-12A),明显存在“大马拉小车”的现象。因此,我们对基因部的冷冻水系统和冷却水系统各自使用一台台达VFD-P11KW变频器和一台台达VFD-P15KW 变频器分别实施一拖三驱动(如图一所示)。根据需要由PLC1分别控制3台冷冻水泵和3台冷却水泵轮流切换工作(但同一时刻一台变频器只能驱动一台水泵电机运转),使冷冻水量和冷却水量得到灵活、方便、适时、适量的自动控制,以满足生产工艺的需求。同样对老二楼空调机房及分包装空调机房的冷冻水系统和冷却水系统也各使用一台台达VFD-P15KW 变频器分别实施一拖三驱动,其控制方式与基因部的冷冻水系统和冷却水系统控制方式相同。下面以基因部冷冻水系统加以说明:
(1)、闭环控制
基因部冷冻水系统采用全闭环自动温差控制。采用一台11KW变频器实施一拖三。具体方法是:先将中央空调水泵系统所有的风阀门完全打开,在保证冷冻机组冷冻水量和压力所需前提下,确定一个冷冻泵变频器工作的低工作频率(调试时确定为35HZ),将其设定为下限频率并锁定。用两支温度传感器采集冷冻水主管道上的出水温度和回水温度,传送两者的温差信号至温差控制器,通过PID2调节将温差量变为模拟量反馈给变频器,当温差小于等于设定值5℃时,冷冻水liuliang可适当减少,这时变频器VVVF2降频运行,电机转速减慢;当温差大于设定值5℃时,这时变频器VVVF2升频运行,电机转速加快,水liuliang增加。冷冻泵的工作台数和增减由PLC1控制。这样就能够根据系统实时需要,提供合适的liuliang,不会造成电能的浪费。
(2)、开环控制
将控制屏上的转换开关拨至开环位置,顺时针旋动电位器来改变冷冻水泵电机的转速快慢。
(3)、工频/变频切换工作
在系统自动工作状态下,当变频器发生故障时,由PLC1控制另一台备用水泵电机投入工频运行,同时发出声光报警,提醒值班人员及时发现和处理故障。也可将控制柜面板上的手动/自动转换开关拨至手动位置,按下相应的起动按钮来启动相应的水泵电机。
图一 中央空调水泵变频改造原理图
3、风机变频改造方案
因为所有风柜的风机均处于全开、正常负荷运行状态,恒温调节时,是由冷风出风阀来调节风量。如果生产车间房间内的温度偏高,则风阀开大,加大冷风量,使生产车间房间内的温度降低。如果生产车间房间内的温度偏低,则需关闭一部分风阀开度,减少冷风量,来维持生产车间房间的冷热平衡。因此,送入生产车间内部的风量是可调节的、变化的。特别是到了夜班时,人员很少,且很少出入、走动等活动,系统负荷很轻,对空调冷量的要求也大大降低,只需少量的冷风量就能维持生产车间房间的正压与冷量的需求了,故对13台风机全部进行了变频节能改造,利用变频器来对风量进行调节。
中央空调风机变频改造原理图如图二所示,在原有工频控制的基础上,增加7个变频控制柜,采用13台台达VFD-P系列变频器驱动13台风机电机,变频/工频可以相互切换。在工频方式下运行时,不改变原来的操作方式,在变频方式下运行时,变频器在不同的时间段自动输出不同的频率。即13台变频器受时控开关的程序控制,在周一至周五的7:30-23:00设定变频器在45HZ下运行,在周一至周五的23:00后至第二天的7:30及周六、周日设定变频器在35HZ下运行(其运行的频率可根据需要来设定),以改变风机的转速,同时13台变频器与中央监控室的人机界面和PLC实行联机通讯,可以实现远程人机监控。
图二 中央空调风机变频改造原理图
三、中央空调水泵风机变频节能改造效果
为了能直观体现变频改造后的节能效果,我们做了如下的测试:以1#日立机组冷却水泵14#(15KW)和K4风柜4#(22KW)为对象,在它们各自的主回路上加装电度表,先工频运行一星期,每天定时记录电表读数,再变频运行一星期,进行同样的工作,其数据如表1和表2所示。
表1:1#日立机组冷却水泵节能数据统计
工频运行(每天上午9:00抄表) | 变频运行(每天上午9:00抄表) | ||||
日期 | 电表读数(度) | 用电量(度) | 日期 | 电表读数(度) | 用电量(度) |
2002年3月19日 | 891 | / | 2002年4月1日 | 4121 | / |
2002年3月20日 | 1191 | 300 | 2002年4月2日 | 4309 | 188 |
2002年3月21日 | 1486 | 295 | 2002年4月3日 | 4492 | 183 |
2002年3月22日 | 1781 | 295 | 2002年4月4日 | 4682 | 190 |
2002年3月23日 | 2082 | 301 | 2002年4月5日 | 4867 | 185 |
2002年3月24日 | 2280 | 298 | 2002年4月6日 | 5053 | 186 |
2002年3月25日 | 2580 | 300 | 2002年4月7日 | 5248 | 195 |
1、表1的数据分析:在工频运行时,水泵的负荷变化不是很大,其日用电量在298度左右。变频运行时,由于受外界的环境温度影响较大,故每天的用电量差别较大,但可以看出,变频运行时的日用电量明显要小于工频时的数值。我们以一个星期的总用电量来计算,工频时为2580-891=1689,变频时为5248-4121=1127,则1#日立机组冷却水泵的节电率为:(1689-1127)/1689=33%
2、表2的数据分析:由于风机每天的负荷变化不大,故其用电量比较稳定。可以看出,工频运行时日用电量在350度左右。变频运行时,日用电量在220度左右。以350和220来计算,则K4风柜电机的节电率为:(350-220)/350 = 37%
由上述计算可知:水泵和风机变频改造后平均节能率为35%,在实际使用中,节电效果会更好。
表2:K4风柜节能数据统计
工频运行(每天上午9:00抄表) | 变频运行(每天上午9:00抄表) | ||||
日期 | 电表读数(度) | 用电量(度) | 日期 | 电表读数(度) | 用电量(度) |
2002年3月19日 | 350 | / | 2002年4月1日 | 3790 | / |
2002年3月20日 | 698 | 348 | 2002年4月2日 | 4006 | 216 |
2002年3月21日 | 1048 | 350 | 2002年4月3日 | 4226 | 220 |
2002年3月22日 | 1395 | 347 | 2002年4月4日 | 4444 | 218 |
2002年3月23日 | 1741 | 346 | 2002年4月5日 | 4660 | 216 |
2002年3月24日 | 2089 | 348 | 2002年4月6日 | 4877 | 217 |
2002年3月25日 | 2036 | 347 | 2002年4月7日 | 5097 | 220 |
四、中央空调水泵风机变频监控系统
1、 系统硬件组成
中央空调水泵风机变频监控系统的硬件结构图如图三所示,它由公司自来水恒压泵、分包装部二楼冷冻泵、质检部老二楼空调机房水泵风机和基因部水泵风机四个子系统组成,对分布在不同部门的19台变频器实施远程监控。各部分说明如下:①、变频器选用台达VFD-P系列变频器,该系列变频器具有高可靠性,低噪声,高节能,保护功能完善,内建功能强大的RS-485串行通讯接口,且RS-485串行通讯协议对用户公开等特点。②、PLC作为控制单元,是整个系统的控制核心,选用台达DVP24ES01R。利用其通讯指令编好程序,下载到PLC,然后将它与变频器的RS-485串行通讯接口相连接,就可实现与变频器的实时通讯。③、人机界面采用Hitech公司的PWS-3760,彩色10.4寸。它是新一代高科技可编程终端,专为PLC而设计的互动式工作站,具备与各品牌PLC连线监控能力,适于在恶劣的工业环境中应用,可代替普通或工控计算机。其主要特点有:画面容量大,可达255个画面,画面规划简单;使用ADP3全中文操作软件,适用于bbbbbbS95/bbbbbbS98环境,巨集指令丰富,编程简单;具有交互性好,抗干扰能力强,通讯可靠性高;自动化程度高,操作简单方便,故障率低,寿命长,维修量少。其主要功能有:设计者可依需要编辑出各种画面,实时显示设备状态或系统的操作指示信息;人机界面上的触摸按键可产生相应的开关信号,或输入数值、字符给PLC进行数据交换,从而产生相应的动作控制设备的运行;可多幅画面重叠或切换显示,显示文字、数字、图形、字符串、警报信息、动作流程、统计资料、历史记录、趋势图、简易报表等。④、RS-485串行通讯方式:RS-485采用平衡发送接收方式,它具有传输距离长、抗干扰能力强和多站能力的优点。
图三 变频监控系统硬件结构图
2、人机界面画面设计
本系统人机界面所有画面均由ADP3全中文软件进行设计,有主画面、参数设定、运转设定、参数显示、状态信息、报警信息和帮助等画面,经ADP3软件编译无误后,从个人电脑中下载到人机界面即可使用。人机界面与PLC之间通过RS232通讯电缆以主从方式进行连接。由PLC对人机界面的状态控制区和通知区进行读写达到两者之间的信息交互。PLC读人机界面状态通知区中的数据,得到当前画面号,而通过写人机界面状态控制区的数据,强制切换画面。参数显示画面之一如图四所示。
图四 基因部中央空调风机水泵1#监控画面
用户需要监视19台水泵风机的电压、电流以及频率的大小。因此为它们分别设置三组数值显示区,分别显示电压、电流与频率值,这是利用元件中的数值显示功能实现的。系统启动后,19台变频器周期性地向PLC回复其工作状态,经PLC处理后送人机界面,这样人机界面就可以实时显示这三组数值。数值的格式、位数和精度等根据实际情况在数值显示的属性框中设置。
3、系统控制方法
本系统要求对分布在不同部门、距离较远的19台变频器实施远程监控,能在中央监控室的人机界面上自动/手动设定、修改和写入频率值与启停各台变频器,可实时监测到中央空调水泵风机电机实际工作电压、电流、频率的大小,并具有声光报警等功能。具体控制方法是:采用一台DVP-PLC、一台人机界面PWS-3760和19台VFD-P系列变频器通过RS-485串行通讯方式组成一个实时通信网络(如图三所示),在现场设定好19台变频器的通信参数,如控制方式为RS-485通讯指令,通讯地址:1-19,波特率为9600,通讯资料格式等;设计系统PLC程序,程序流程图如图五所示。要求手动控制有即时设定、修改和写入频率值与启停各台变频器等功能,自动控制采用二个时段控制,可以随时设定二个时段值和对应的二个频率值,现使用时段值一:7:30对应频率一 45HZ,时段值二:23:00对应频率二 35HZ。程序设计参照VFD-P变频器通讯协议,采用PLC与变频器间的一些RS-485通讯指令实现系统的远程监控,还可通过打印机实现报表的打印。
图五 系统程序流程图
五、结束语
采用交流变频调速器对中央空调系统的水泵、风机进行节能改造,不但操作简单方便、节约电能降低生产成本,而且大大地改善水泵风机的运行条件,减少水泵、风机、阀门等的维护量。本变频改造项目及监控系统自2002年5月投运以来,已连续运行二年多,系统运行可靠平稳,通讯数据准确及时,使设备管理规范化,tigao了工作效率,需要在线改变的量为时段与频率的设定值,采用人机界面作为人机交互工具,简单直观,便于操作。PLC作为中央处理单元,两者在变频监控系统中结合使用,实现了该系统的远程监控、手动即时变频和自动分时段变频等功能,在实际使用中取得良好的效果,值得推广到其他行业应用。
1、引言
近年来,“嵌入式”一词越来越多的被人们提及,嵌入式产品被应用到各行各业。与嵌入式相关的技术如嵌入式产品,嵌入式系统的研究等也被列为“十五” 家发展的重点方向。
嵌入式系统 (bbbbbded System)被定义为:以应用为中心,以计算机技术为基础,软件硬件可裁剪,适应对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
随着工业自动化的发展,基于PLC,单片机等设备的自动化系统,自动化设备越来越普及,几乎遍布所有自动化领域,与之相应的人机交互系统也应运而生,并得到同步发展。基于嵌入式技术的工业人机界面是人机交互系统中一颗耀眼的明星。高可靠, 寿命,体积小,高性能,多线程,多任务,强实时等特点使嵌入式工业人机界面越来越受到自动化系统集成商,自动化设备制造商的青睐。它能够理想,生动地显示PLC,单片机等工业设备上的数据信息,功能强大,使用方便。它作为PLC等控制设备的上端设备在用户和机器之间架设了一条桥梁。该产品目前广泛应用在工业自动化系统,医疗,金融等行业的自动化设备。
随着越来越多的工程项目采用了嵌入式人机界面,相应的,用户对与嵌入式硬件配套使用的监控系统(Supervisory Control and Data Acquisition,SCADA)等应用软件的需求也在增加。这也正是本文所要讨论的问题。这里讲的嵌入式监控系统,其硬件为嵌入式智能人机界面;其软件为嵌入式操作系统,另加自己开发的应用程序。本文后面主要介绍这个监控应用程序,重点介绍应用程序中通讯部分的实现原理。
当今,已发展有多种嵌入式操作系统,如Linux, VxWorks,WinCE.net等,完全可在其上开发出图文并茂、界面友好的应用,以满足监控系统的种种要求。只是由于嵌入式技术相对是一门新兴的技术,涉足的人相对还比较少,所以这样的应用目前还比较少。本文介绍的嵌入式监控系统算是一个实例吧。
2、系统组成
我们所开发的这套嵌入式监控系统,上位机是沈阳鹭岛资讯科技有限公司开发的嵌入式智能工业控制人机界面(以下简称人机界面)。其嵌入式工业控制器是以Geode X86为核心处理器,包括网络通讯,数据通信,大尺寸触摸屏及液晶显示的硬件平台,在其上运行 WinCE操作系统。提供20个通用IO点供用户使用,物理层支持ProfiBus等现场总线,支持16位真彩TFT LCD显示,有64M SDRAM内存,64M FLASH闪存,据有USB接口,10/100M Ethernet网络通讯接口,以及串口,并口,VGA口等通用接口。
下位机用日本OMRON公司的PLC,或SIMENS PLC,或施耐德NEZA PLC,或日本三菱公司的 PLC,等等当前比较流行的PLC,当然温控表,单片机,智能模块等工业现场控制设备也可以。
控制对象(比如锅炉等)的工作由上述控制设备(各种PLC等)控制;而控制对象的状态则用人机界面及在其上开发的应用程序进行监控。
人机界面的操作系统采用了微软的WinCE.net。WinCE.net是为各种嵌入式系统和产品设计的一种紧凑,高效,可伸缩的操作系统(OS),主要面向各种嵌入式系统和产品。其多线程、多任务、完全抢占式的特点是专门针对资源有限而设计的。OEM开发商可根据自己硬件组成的特点对WinCE.net进行选择裁剪,从而配置出稳定高效并且是特有的WinCE.net操作系统和相应的SDK开发包。在应用上,WinCE.net支持超过1000个公共Microsoft Win32 API和几种附加的编程接口,用户可利用它们来开发应用程序。另外,微软为开发WinCE.net应用程序的人员提供了与Visual C++类似、支持MFC的Microsoft bbbbbded Visual C++语言。下面我们将介绍一下开发过程的细节问题。
3、软件流程
应用程序开发是在个人计算机上进行的。个人计算机的操作系统为bbbbbbS 2000。应用程序的开发平台是Microsoft bbbbbded Visual C++集成开发环境。
在应用程序开发时,还可以利用微软提供的测试模拟器(Emulator)。有了它可做到,即使没有人机界面,也可进行程序调试。
开发终生成的可执行文件,可使用Microsoft bbbbbded Visual c++开发环境提供的下载功能,通过串口或局域网,下载给人机界面。
工作时,PLC等工控设备运行它的控制程序,而人机界面则运行这个下载的可执行文件。两者通过串口进行通讯,但通讯的主动方为人机界面。人机界面依监控要求,向PLC等发送通讯命令,PLC则作相应的应答。
人机界面从PLC上收到应答的数据后,在触摸屏上,以图表、动画,文字等的界面显现出来,供用户观察。还可把这些数据进行存贮、打印,甚至于向ERP等管理信息系统传送。
如须对PLC或控制对象进行干预,也可在人机界面的触摸屏上,通过触摸键或触摸鼠标,向PLC发送命令或数据,以实现相应的控制。
这个应用的执行流程框图为:
图1 执行流程框图
4、画面构成
一般的工程监控画面有:文字显示,生产工艺流程显示(包括动画,柱状图显示等),报警,人员操作,趋势曲线等等。我们的系统架构是做一个基于主对话框的程序。再将这些不同的画面用子对话框表现出来。
主对话框负责初始化串口,打开串口,启动读串口线程等;而各子对话框则定时或根据需要向串口发送各种命令,通过主对话框的线程读回命令的应答,再在子对话框中以一定的形式提供给用户,以供监控现场作业。这其中主要的技术就是串口通讯。下面我们重点讲述通讯的实现。
5、通讯实现
人机界面提供的串口是符合通用标准的。WinCE.net下的串口通讯与bbbbbbs下的串口通讯原理相同。都是应用程序
不直接控制硬件,而是通过操作系统提供的设备驱动程序,来进行数据传递。
WinCE.net 是Win 32编程。串口在Win 32中是作为文件来进行处理的,不是直接对端口进行操作。对于串行通信,Win 32 提供了相应的文件I/O函数与通信函数。
但是也要注意WinCE.net所能支持的API函数只是bbbbbb API函数的子集。bbbbbbs有的,WinCE.net下不一定能使用。同时,WinCE.net字符集类似于bbbbbbs NT而不同于bbbbbbs 9x,它是基于Unicode的。这也是开发程序过程中从bbbbbbS转到WinCE.net的程序员遇到问题多的地方。另外在bbbbbbs下常用的一些通讯控件如MSComm等在WinCE.net下就不能正确使用了。
本监控系统采用API函数实现串口通讯。以下分几个问题介绍串口通讯及整个系统的实现。
5.1 打开串口
首先是打开串口,这是串口通讯的步。其代码为:
BOOL CMainDlg::OnInitDialog()
{
......
m_hComm=CreateFile(_T("COM1:"),GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,0); //打开串口的操作,需要注意
WinCE.net系统与bbbbbbs系统表达方式的细微不同,WinCE.net需要在串口后加上冒号;
SetupComm(m_hComm,1024,1024); //初始化串口的输入,输出缓冲区参数;
SetCommState(m_hComm,&m_dcb) ; //配置串口参数;m_dcb为设置好的参数结构;
......
SetCommTimeouts(m_hComm,&timeout); //设置通讯超时时间参数;
PurgeComm(m_hComm,PURGE_TXbbbbb|PURGE_RXbbbbb);
//清空输入,输出缓冲区的字符,为开始接受数据,进入监控状态做好准备;
......
}
5.2 读串口线程
其次是启动读串口线程,它让读串口程序不停地在后台运行,而不影响前台程序的工作。与此有关的代码为:
BOOL CMainDlg::OnInitDialog()
{
......
ReadFile(m_hComm,inBuffer+iBufLen,INBUFFERLEN-iBufLen,&dwBytes,NULL); //从串口读数据;
iBufLen+=dwBytes;
for(int i="0";i{
if(inBuffer[i]=="\r") //以连接的设备为OMRON PLC为例,其通讯协议规定应答应当以"\r"结尾;
inBuffer[i]=0; //字符串结束标志;
switch(m_iDlgType) // m_iDlgType为代表不同对话框的标志变量;
{
case 子对话框1标志:
子对话框1.ProcData(inBuffer,i); //不同对话框中对命令应答的处理,ProcData为处理函数名;
break;
......
}
......
}
5.3 各子对话框发送写命令
各个子对话框根据需要,采用定时器的形式,定时向PLC发送命令。以OMRON PLC为例,在发送命令时,根据OMRON PLC的通讯协议,还需对发送的命令字符串加校验码。这些程序代码为:
void 子对话框1类::OnTimer(UINT nIDEvent)
{
......
strcpy(m_szC
md,"@00RR00000001"); //OMRON PLC的命令字符串;
GenXor(m_szCmd,result); //进行校验码计算,调用 GenXor 函数;
sprintf(szTailer,"%02X*\r",result); //OMRON PLC通讯协议以“*\r”结尾;
strcat(m_szCmd,szTailer); //形成完整的通讯协议命令字符串;
WriteFile(m_hComm, m_szCmd, strlen(m_szCmd),&dwWriten,NULL);
//将命令字符串写入串口;
......
}
以下为上面所调用的计算校验码的代码:
void GenXor(LPCSTR strSource,char& result) //为计算校验码的函数,进行异或运算:
{
result=0; //为校验码赋初值;
int len="strlen"(strSource); //命令协议字符串的长度;
for(int i="0";iresult^=strSource[i]; //按位进行异或;
}
5.4 显示界面处理
后,读线程读到的数据,交由对应的子对话框进行处理。要对这些数据进行分析,并以动画,柱状图,趋势曲线等表现出来。以所连接的为OMRON PLC为例,其代码为:
void子对话框1类::ProcData(char *buffer, int len)
{
......sscanf(buffer+7,"%04X",&wData); //根据OMRON PLC的命令规约,从应答中将需要的数据取出到变量wData中;
....... //对获得的变量值根据需要进行处理,如以文字或动画等形式在子对话框中进行显示;
}
在进行界面处理时,有一些技巧,如动画显示时,可以用一个定时器控制图片的轮番显示。(在本系统中动画是通过CbitmapButton这个控件进行显示的。)
switch(m_iImage) // m_iImage为定义的动画显示标志;
{
case 1: //显示幅图片,同时将动画显示标志置为2;
CBitmapButton控件变量.LoadBitmaps(图片标志1);
m_iImage=2;
break;
case 2: //显示第二幅图片,同时将动画显示标志置为1;
CBitmapButton控件变量.LoadBitmaps(图片标志2);
m_iImage=1;
break;
}
在显示实时曲线时,采用循环数组的方式,在内存中开辟一定大小的空间,使读上来的数形成一个循环数组,在界面上动态的显示出来。
本系统中以20个模拟量为一个数组大小,也就是实时趋势曲线一直显示20个点的信息,但因为使用了循环数组的技术,所以看上去很有动感。
void 子对话框类::循环数组函数(int iValue) // iValue为从命令应答中解析出来的有效数据;
{
int index=(m_iBegin+m_iCount)%20; //计算循环数组的下标,初始从0开始;
m_aryValue=iValue; //为循环数组赋值;
m_iCount++; //循环数组的个数加1;
if(m_iCount>20) //判断个数是否超过20个,如是,将下一个数组下标从1开始,依此类推;
{
m_iCount=20;
m_iBegin=(m_iBegin+1)%20;
}
......
}
通讯是本系统的关键。我们的实践证明,以上四步是实现整个监控系统基本之要点。
6、结论
本监控系统软件的基本架构可以以下面这幅图直观的表示出来:
图2 监控系统软件的基本架构
随着嵌入式操作系统的兴起,各组态软件的开发商也纷纷开发出了嵌入式版的组态软件。但在
实际应用中我们发现有许多企业,他们的生产控制流程比较固定,需要的人机界面的数量又比较大,对他们来说,按这里介绍的方法,针对企业自身的生产工艺特点进行开发,提供给用户的是终的运行系统,不需要用户再进行组态的二次开发。这样的系统对这样的用户来说,从时间,价格或性能上来说都比较适合。本系统在鹭岛公司研发的LEODO嵌入式工业控制人机界面上经过了测试运行,证明其运行速度较快,比较稳定。效果很好,比较适合工业现场使用。当然LEODO品牌的人机界面也内置了一套简明实用,画面资源丰富的ET组态软件,用户可根据实际情况决定自己用语言开发,还是用组态软件开发。
可以看出,人机界面利用Microsoft bbbbbded C++开发应用程序,与在bbbbbbs系统下用Microsoft Visual C++开发程序,有许多相象的地方。借助这个软、硬件平台,多数用户完全可以开发出适合自己需要的应用程序。