基于组态王和VB的智能仪表实时监控系统
针对目前组态王与智能化仪表通信时存在的问题,基于VB和动态数据交换技术DDE,研究了组态王与VB数据交换的方法,并采用VB可视化的编程方法,编写了上位机与智能化仪表间的串口通信程序及组态软件与VB间的OLE数据交换程序。实现了组态王与智能化仪表的实时通信,间接扩展了组态王的驱动程序库。另外,设计完成了基于组态王和VB的智能化仪表监控系统。运行结果表明,该系统具有良好的稳定性、实时性,可以较好地实现工业现场的实时监控。
0 引言
随着科学技术的不断发展,计算机测控技术在工业现场的各种测量及控制系统中应用越来越广泛。通常情况下,工业现场的各种测控系统需要上位计算机与工业现场各种智能化仪表进行通信,以便及时了解现场仪表的运行情况,从而实现对现场各种状态的实时监控。
组态王软件作为一种优秀的上位机监控软件,在许多领域的远程监控中都得到了广泛的应用。然而,组态王为数据采集和控制提供的大量底层设备驱动程序,主要是针对较大规模厂商的板卡和模块,对于较小规模厂商开发的各种智能化仪表及用户自己设计的板卡,却没有现成的驱动程序提供。因此,利用组态王与智能化仪表及用户自己设计的板卡进行通信时,往往需要用户自己开发底层的驱动程序,给用户的使用带来了诸多的不便。为了解决上述问题,组态王专门提供了一种DDE技术,能够使用户方便地实现组态王与其它支持动态数据交换的应用程序进行数据交换。
Visual Basic 6.0 (简称VB)是一款简单、易用的可视化编程语言,开发者可以方便地利用其提供的组件快速建立一个应用程序。因而,在各种程序开发中,VB得到了广泛的应用,同时在VB中提供的串行通信控件MSComm,为开发者实现上位计算机与现场各种仪表进行通信提供了一种有效途径。另外,VB还支持DDE技术,利用该技术可以方便地开发出Windows环境下的DDE程序。
本文针对目前组态王与智能化仪表通信时存在的问题,给出了一种基于VB和DDE技术的上位计算机与现场智能仪表进行通信的方法。开发了一套组态王与VB相结合的智能化仪表监控系统,较好地实现了工业现场各种智能化设备运行状态的实时监控。
1 系统的基本结构
基于组态王和VB的智能化仪表监控系统的结构如图1所示。由图1可知,该系统由上位计算机、RS2232 /485通信电缆和现场各种智能化仪表构成,该系统采用的是一对多的通信链接形式,即现场多种智能化仪表挂接在RS2485 总线上,然后再由RS2232 /485转换器转换后,连接到上位计算机。
图1 系统基本原理图。
2 系统的工作原理
组态王与现场智能仪表的通信原理如图2 所示。
由图2可以看出,该系统的通信包括两部分:组态王与VB程序的DDE通信; VB 程序通过RS2232 /485 与现场智能仪表的通信。
图2 组态王与现场智能仪表通信原理
2. 1 组态王与VB的动态数据交换
动态数据交换(DDE) 是Windows平台上的一个完整通信协议,该协议使应用程序能彼此交换数据和发送指令。组态王和VB进行DDE通信的过程中,请求发送数据的一方称为"客户",被请求的一方称为"服务器".由于DDE通信时,交换双方需实现数据或控制命令的双向传输。因此,它们既是"客户",又是"服务器".
2. 1. 1 DDE通信时组态王的设定
组态王与VB之间数据交换内容是通过三个标志名来约定的:
① 应用程序名。进行DDE对话的双方的名称。
组态王运行系统的程序名是View.
② 主题。被讨论的数据域。组态王主题规定为tagname.
③ 项目。被讨论的特定数据对象。在组态王的数据词典里,定义I/O 变量的同时,也定义了项目名称。
为了建立DDE链接,需要在组态王的数据词典里建立一个I/O变量,并登记服务器程序的三个标志名。
本系统中应用程序名为VBDDE,话题名为form1,项目名为INCREA100, 程序交换的方式为标准WindowsDDE交换。
2. 1. 2 DDE通信时VB的设定
在VB编程软件中, DDE连接主要是通过控件的属性和方法实现的。通常情况下,DDE通信主要是通过文本框、标签或图片框等控件进行。
如果VB作为顾客,数据交换时,则需要对上述控件的LinkTop ic、Link Item、LinkMode 属性进行如下设置:
Control. L inkTop ic =服务器程序名|主题名
Control. L ink Item =项目名
Control. L inkMode有四种选择: 0表示关闭DDE;
1表示热链接; 2表示冷链接; 3表示通告链接。
其中, Control表示文本框、标签或图片框的名字。
本系统中Control表示文本框Text1,LinkTop ic设置为View|Tagname, LinkItem 设置为PLC1. INCREA100,LinkMode设置为1.
如果组态王作为顾客,只要把VB 应用程序中提供数据窗体的LinkMode属性设置为1,其它无需再
- 测试测量在移动视频中的应用(01-01)
- TD-SCDMA多模终端生产测试探讨(11-05)
- FPGA配合预失真技术的解调误码测试仪(07-19)
- 基于VB 6.0串口通信的气压测高系统数据采集(03-15)
- 指针式电测仪表自动化检定系统(05-19)
- 基于VB的电子线路板自动测试系统设计(07-27)