×
接口总线驱动 > 总线 > 详情

基于OPC接口搭建仿真实验平台

发布时间:2020-05-20 发布时间:
|

  OPC是一个工业标准,管理这个标准国际组织是OPC基金会,OPC基金会现有会员已超过220家。遍布全球,包括世界上所有主要的自动化控制系统、仪器仪表及过程控制系统的公司。 基于微软的OLE、COM和DCOM技术。OPC包括一整套接口、属性和方法的标准集,用于过程控制和制造业自动化系统。

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

  1. 组态王与VB的OPC通信

  1.1 OPC通讯原理

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

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

  图 1 OPC Server基本结构图

  1.2 OPC程序设计

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

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

  图 2 部分项目列表

  向组态王写数据

  For i = 1 To TagNo-5 Step 1

  If i = 1 Then

  Data = YeWei_Xia

  End If

  ……

  xuhao = Val(i)

  Select Case Typ(xuhao - 1)

  Case 11

  bVal = Val(Data)

  Case 3

  lVal = Val(Data)

  Case 4

  fVal = Val(Data)

  Case 8

  sVal = Data

  Case Else

  MsgBox “无效的数据类型,不能写数据。”, 64, “错误”

  Exit Sub

  End Select

  ret = WriteTag(i, bVal, lVal, fVal, sVal)

  Next i

  1.3 PID程序设计

  在VB环境中编写液位的控制程序,为了确保整个系统的控制精度,我们在这采用串级控制,将下水箱液位作为主控对象,上水箱液位作为副控对象。采用PID控制算法,外环采用PID调节器,内环采用PI调节器。

  2、组态画面的设计

  北京亚控公司的组态王有良好的图形界面,丰富的驱动程序和网络功能,编程风格简单、纯中文界面,且与其他应用程序交换方便。本系统正是利用组态王强大的组态功能建立了双容水箱的服务器端画面,包括主画面、PID控制画面、历史趋势画面、报警画面及报表画面等。通过OPC协议建立组态王数据词典变量与VB客户端的连接,实现VB变量的实时监测。其中主画面如图3所示。

  图3 组态王主画面

  3、系统测试及结果分析

  在组态王环境编辑好组态画面后,通过OPC协议建立与VB客户端连接。在VB客户端制作操作界面如图4所示。编译执行液位控制程序,并且通过点击“连接服务器”按钮建立OPC连接,并点击“添加项目”按钮建立组态王数据字典与VB变量连接,最终可实现对VB客户端液位及其他变量的实时监测。图5为组态王服务器端监测到的下水箱液位曲线,通过曲线可以看出,该平台数据通信实时性好,准确率高。

  4. 结论

  在组态王环境编辑好组态画面后,通过OPC协议建立与VB客户端连接。在VB客户端制作操作界面如图4所示。编译执行液位控制程序,并且通过点击“连接服务器”按钮建立OPC连接,并点击“添加项目”按钮建立组态王数据字典与VB变量连接,最终可实现对VB客户端液位及其他变量的实时监测。图5为组态王服务器端监测到的下水箱液位曲线,通过曲线可以看出,该平台数据通信实时性好,准确率高。

  本文设计了一个基于OPC接口搭建的液位控制仿真实验平台。采用组态王建立服务器端画面,在VB客户端编写液位PID控制算法,两者通过OPC接口建立连接。实验结果表明,该实验平台数据通信实时性好,可广泛应用于教学场合。除此之外,此种方法也可以有效弥补PLC无法实现复杂算法编程的缺陷,使PLC控制方法更加灵活,具有一定的实用价值。


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
嵌入式系统USB接口的虚拟示波器设计