技术文章

当前页面: 首页 >技术文章 >基于组态王和VB的工业远程监控系统

基于组态王和VB的工业远程监控系统

2006/5/15 9:15:00

0 人气:793

[摘要]针对实际应用过程中,组态王存在串口通信和数据处理方面的不足,本文结合Visual Basic 6.0混合编程,实现了一种适合工业现场的远程监控系统。实践证明,该系统稳定可靠,易于扩展。
[关键词]组态王;VB;远程监控;工业港
0 引言
在工业监控系统中,国产组态软件的应用越来越普遍,其中组态王6.5具有良好的图形界面、丰富的驱动程序和网络功能,价格适中,因而在国内冶金、电力等领域应用广泛。但是,组态王并非面面俱到,有时需要利用其他软件弥补其薄弱环节。本文基于组态王6.5和Visual Basic 6.0实现了一种适合工业现场的远程监控系统,该方法既利用组态软件方便快捷的界面设计功能,又可借助VB编程实现大数据量的串口通信、复杂的数据分析和处理等功能。2004年初,本系统投入运行,对武钢工业港的6312站和1#混匀取料机进行在线监测和故障诊断。实际运行效果表明:该监控系统实现了武钢工业港中控室和各监控点之间连续、可靠的数据信息交换,是一种经济实用、安全有效的工业监控方式。
1 监控系统的硬件结构
本系统采用无线传输装置、数据采集装置和工控机,以分布式控制方式组成监控系统。在监控系统中,主站上位机采用1台工业PC机作为中控室的主机,从站下位机为2台现场数据采集装置,分别连接6312站和1#混匀取料机的信号源。作为信息终端的上、下位机通过串行端口与无线传输装置相连,以无线通信的方式进行数据信息的相互传输,形成一个三级网络系统,监控系统基本结构如图1所示。

图1
图1 监控系统基本结构图

上位机中的监控软件负责向下位机发送地址信息和控制命令,接收来自下位机管理设备的相关运行状态及参数信息,完成对生产过程的动态模拟显示和相关的数据处理,提供信息报警和数据报表等功能。下位机完成对设备数据的实时采集,然后响应主站的请求,通过无线传输装置将设备的更新数据以无线通信的方式及时上传至主站的上位机中,实现设备点检状态的在线监测。
2 监控软件的设计
2.1 组态王简介
组态王是一款国产组态软件,它具有①丰富的图库及图库开发工具,通过形象简单的组态工作,即可构成所需功能的界面;②大量的设备驱动接口,支持国内主流的各种PLC、智能仪表、板卡和现场总线等工控产品;③一种类似C语言的编程环境,便于建立命令语言文本,处理一些简单的算法和操作;④内嵌许多控件函数、命令语言函数供用户调用,另外支持自定义函数。
2.2 组态王的不足
本系统要求监控软件具有良好的监控界面,但是单独使用组态王将无法实现上位机监控软件的要求,因为在实际应用的过程中组态王存在如下不足:①组态王提供的命令语言环境较弱,对于较为复杂的数据处理很难实现。例如:系统中需要通过FFT变换得到振动信号的频谱分析曲线,对G312站的高速轴和二轴进行故障诊断分析;②在组态王中,串口设备对应的变量类型为字符串型,其最大长度值为128个字符,即通过串口设备组态王一次最多只能交换16B的数据。由于系统中实现故障诊断所需的数据量很大,数据终端通过无线数传电台交换的数据包远远超过了组态王定义串口通信I/O变量的范围,因此对于利用串口设备实现大数据量通信的系统,组态王存在很大的局限性。
2.3 监控软件结构
鉴于组态王的不足,我们利用组态王6.5和VB6.0混合编程开发上位机监控软件,监控软件的结构如图2所示。组态王6.5作为前台程序完成监控界面的开发,操作人员通过前台运行的组态王可以实时监测各设备的运行状态,根据相关数据和趋势图判断设备的故障情况。系统运行时,VB6.0作为后台程序,主要实现数据通信功能及复杂的数据处理算法。组态王与VB程序之间以文件的形式实现动态数据的交换,而不是采用组态王提供的DDE方式,其原因是:在VB环境中每个数据必须对应一个特定的文本框、标签或图片框,并且在组态王中也必有一个I/O点对应,因此DDE方式适合数据量不太大的场合,否则会给VB编程带来一定的麻烦,同时增加组态王的点数,增加了软件成本。
图2
图2 监控软件结构图

3 监控软件的实现
3.1 监控界面的实现
在Windows2000环境下,系统采用组态王6.5开发上位机实时监控界面,主要包括以下部分。
(1)主界面。主界面的功能主要是反映G312站和1#混匀取料机的实时工作流程。现场上传的数据与组态王数据库中定义的变量对应,通过图形对象与变量之间动画连接类型模拟现场设备的运行,可以直观、动态地显示现场设备参数的变化。
(2)信号分析界面。该界面为G312站减速箱的轴承提供故障诊断的理论依据,操作人员根据信号分析界面中显示的数据和相关趋势图可以判断产生故障的部位和原因,预测设备未来的运行状态。该界面中主要显示G312站中高速轴和二轴的温度,振动速度值及其均方根、信号峭度、信号偏态和峰值因子等数据,以及振动速度趋势曲线和对应的频谱分析曲线。
(3)信息报警界面。信息报警分为实时报警和历史报警。当监控系统中发生符合报警配置条件的实时报警信息时,报警点所属的主界面中会弹出相应的实时报警窗口,同时发出声音报警,直至报警信息确认恢复。历史报警窗口中记录系统运行中的各种报警和事件信息,提供信息查询和打印功能。
(4)报表界面。数据报表主要反应生产过程中的数据和状态等,通过对长期的生产过程进行统计可以掌握和分析设备的生产情况。系统采用组态王提供的内嵌式报表系统,根据要求设置报表的格式并对报表进行组态。另外,调用组态王中的系统函数实现报表的打印功能。
3.2 数据通信及处理的实现
远程监控系统中,采用VB6.0的MSComm串行通信控件实现数据的发送和接收,并以事件驱动方式响应OnComm事件,对上位机接收的数据包进行处理,具体实现过程如下。
第1步,初始化。系统运行时,上位机采取主叫的方式,由VB程序设置通信参数、握手信号(从站的站地址)和通信采样时间等信息,负责建立主、从站之间的通信联接。
第2步,请求数据。VB程序生成数据请求指令,该指令通过连接在串口上的无线传输装置以广播通信的方式向远端从站发送。在正常情况下,利用Timer控件设置上位机采样时间,上位机定时轮流向从站请求数据。然后,上位机处于数据等待状态。
第3步,接收数据。当从站接收到握手信号并判断准确后,将现场采集的数据以数据包的形式,通过无线传输装置送至上位机中。
第4步,数据处理。上位机的串口定时接收到数据包后,促发VB的OnComm事件,对数据包进行解包,然后进行相应的数据处理,例如表度变换、FFT等。
第5步,数据交换。VB与组态王之间以文件的形式进行数据的动态交换。VB将指定的字符串变量写人文本文件中;组态王在应用程序命令中定时更新读取该文本文件,然后存入组态王定义的变量中,供组态王以各种形式(如文本、颜色、动画和棒图等)反映现场设备的状态,达到远程监控的目的。
在利用VB实现无线通信的过程中,除了定义合理的通信协议外,每次发送传输指令后,需要适当地增加延时,等待一段时间后再从串口的输入缓冲区读取数据,以此保证通信的正确性。
4 结束语
本文应用VB编程扩充了组态王串口通信和数据处理的功能,实现了一种适用于工业现场的监控系统。该系统集现场监控、数据采集和远程传输于一体,便于扩展,2004年初成功用于武钢工业港,达到了令人满意的监控效果。

手机扫描二维码分享本页

工控网APP下载安装

 

我来评价

评价:
一般