e-works数字化企业网  »  文章频道  »  工业自动化控制  »  自动化软件

基于OPC技术的液位控制仿真实验平台设计

2010/11/30    来源:中国传动网        
关键字:仿真实验组态  OPC接口  自动化软件  
本文介绍了一种基于组态王和VB6.0的液位控制仿真实验平台的设计过程。本方案利用组态王良好的人机界面、数据采集功能,并结合VB环境编程的便利性,采用可靠的OPC接口建立组态王和VB之间的数据通讯。利用组态王开发服务器端画面,在VB客户端环境中编写控制算法,最终实现对水箱液位的精确控制。实验结果表明,此方法使用简单可靠,可广泛应用于教学及实验平台搭建工作。

0 引言

      以PLC组态软件为单元,可以组成从简单到复杂的各种工业控制系统。PLC可以实现复杂的逻辑编程及简单的算法编程,但是对于先进控制算法,如模糊控制算法等涉及到矩阵运算[2],由于算法本身的复杂性,单纯依靠PLC编程功能已经不能满足要求;组态软件编程语言虽然简单,但大多数是脚本语言,在处理算法方面仍然存在诸多不便。因此,提出将算法写入VB(Visual Basic)程序的思路,借助VB的快速运算功能及丰富的函数库,可以方便的实现算法编写,求解输出值通过可靠的OPC接口反馈给组态软件[3],最终实现对控制对象的控制。

      本文正是基于上述思路,设计开发了基于组态王和VB的液位控制仿真实验平台。该平台简单可靠,本文在VB环境中编写了传统的PID控制算法,实现了对双容水箱液位的仿真控制。此外,在此平台上可以继续开发其他高级算法,避免了联机编程测试的繁琐性。

1.  组态王与VB的OPC通信

    1.1  OPC通讯原理

    现在常用的组态王和VB通信的接口有DDE和OPC,但在实际使用过程中,广大用户发现采用DDE在设备和控制系统之间传递实时信息并非理想的办法,因为它在传输性能和可靠性等方面都存在许多限制,另外DDE不适用于大量数据的高速数据采集,并且DDE从来没有为不同计算机之间的数据交换提供可靠的机制;OPC的产生有效的解决了此类问题[4]。

    OPC是用于工业设备服务器的一种标准化接口。OPCServer可以让设备与各种支持0PC 的组态软件之间进行简明的、标准化的数据交换。在过去,为了存取现场设备的数据信息,每一个应用软件开发商都需要编写专用的接口函数。由于现场设备的种类繁多,且产品的不断升级,往往给用户和软件开发商带来了巨大的工作负担。通常这样也不能满足工作的实际需要,系统集成商和开发商需要一种具有高效性、可靠性、开放性、可互操作性的即插即用的设备驱动程序。OPC 以OLE/COM/DCOM机制作为应用程序级的通信标准,采用客户/服务器模式,把开发访问接口的任务放在硬件生产厂家或第三方厂家,以OPC服务器的形式提供给用户,解决了软、硬件厂商的矛盾,完成了系统的集成,提高了系统的开放性和可互操作性。OPC技术的实现包括两个组成部分,OPC服务器部分及OPC客户应用部分,其中OPCServer基本结构如图1所示。且在传输速率和可靠性方面,优于DDE接口,因此本文采用OPC接口完成VB与组态王数据通讯。

OPC Server基本结构图

图 1 OPC Server基本结构图

    1.2  OPC程序设计

    为了方便用户使用组态王OPC Server功能,对组态王的实时数据进行访问,北京亚控为组态王OPC用户提供了kingvewcliend.dll动态链接库,其内部包含StartCliend、ReadTag、WriteTag等丰富库函数。本方案在VB环境下,通过此动态链接库完成和组态王数据词典的动态数据交换,最终将下位机采集的数据通过OPC接口实时传输到组态王。

    具体实现过程是,用StartCliend函数实现VB工程及组态王工程的连接,用户调用AddTag函数将要采集的项目添加到采集的列表中(如图2所示),用户必须进行此操作,否则不能进行项目的采集。当用户调用此函数后,函数将返回项目在采集列表中的位置(TagID)和项目的数据类型(TagDataType),用户将根据返回的信息进行采集。用户添加完成采集项目列表后,可以通过调用Readtag和WriteTag函数来对项目进行读写。

 部分项目列表

图 2 部分项目列表


责任编辑:袁琴桃
e-works
官方微信
掌上
信息化
编辑推荐
新闻推荐
博客推荐
视频推荐