2022年OPC客户端程序的实现 .pdf
《2022年OPC客户端程序的实现 .pdf》由会员分享,可在线阅读,更多相关《2022年OPC客户端程序的实现 .pdf(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、28 计算机与信息技术 软件纵横 OPC 客户端程序的实现 宋洪俊 孙雅秀(山东科技大学 信息科学与工程学院,山东 青岛 266510)摘 要本文介绍了 OPC 技术的基本知识,给出了基于OPC 自动化接口的客户端程序开发的实现方法。实现了 Visual Basic编写的一个OPC 客户端程序与OPCMaster OPC Server 之间的数据交互。关键词OPC;COM;DCOM;OPC数据访问服务器 1 引言 计算机技术的飞速发展带动了工业自动化水平的提高,工控软件也取得了长足进步。在以前的控制系统中,由于供应商提供不同的硬件设备,为了实现与现场设备数据信息的交互,应用软件开发商需要开发不
2、同的驱动程序来连接这些不同的设备,但外接设备种类繁多,且产品在不断的升级,给用户和软件开发者带来了繁重的工作任务,一个专用的接口模块很难同时对不同设备进行访问,给系统维护带来了不便。硬件供应商曾尝试解决这些问题,但不同的客户有不同的需求,而且数据传输时采用不同的协议,因此一直没有完整的解决方案。OPC 技术的出现很好地解决了上述问题,它提供了一套标准的数据访问机制,在硬件供应商和软件开发商之间建立了一套完整的“规范”,只要硬件开发商提供实现OPC 接口的服务器,任何支持 OPC 接口的客户程序均可采用统一的方式对不同硬件厂商提供的设备数据进行存取;除此之外,系统应用软件之间也可以灵活地进行信息
3、交互。2 OPC 技术概述 2.1 OPC 基本概念 OPC(OLE for Process Control),即把 OLE 应用于工业控制领域,是一个工业标准,它的出现为基于Windows 的应用程序和现场过程控制应用建立了桥梁。基于微软的OLE(现在的 Active X)、COM(部件对象模型)和DCOM(分布式部件对象模型)技术,OPC包括一整套接口、属性和方法的标准集,用于过程控制和制造业自动化系统。COM(Component Object Model组 件 对 象 模 型)是Microsoft创建并已取得广泛认可的一种组件标准,是所有OLE 机制的基础。在 OPC 技术中使用的是OL
4、E2 技术,OLE标准允许多台微机之间交换文档、图形等对象;COM 是一种为了实现与编程语言无关的对象而制定的标准,该标准将Windows 下的对象定义为独立单元,可以不受程序限制地访问这些单元。这种标准可以使两个应用程序通过对象化接口进行通讯,无需知道对方是怎样创建的;例如,用户可以使用 C+语言创建一个Windows 对象,它支持一个接口,通过该接口,用户可以访问该对象提供的各种功能,用户可以使用 C、Visual Basic、Pascal、Smalltalk 或其它语言编写对象访问程序。DCOM(Microsoft Distributed Component Object Model)是
5、 COM这个组件技术的无缝升级,它支持不同的两台机器上的组件间的通信,而且不论它们是运行在局域网、广域网、还是Internet上,DCOM 将屏蔽底层网络协议的细节,只需要集中精力于应用,DCOM 使得组件的位置对客户来说完全透明,无论它是位于客户的同一进程中或是在地球的另一端。在任何情况下,客户 连 接 组 件 和 调 用 组 件 的 方 法 的 方 式 都 是 一 样 的。DCOM 不仅无需改变源码,而且无需重新编译程序。一个 简 单 的 再 配 置 动 作 就 改 变 了 组 件 之 间 相 互 连 接 的 方式。使用DCOM,应用程序可以在位置上达到分布性,从而满足客户和应用的需求。通
6、过DCOM 技术和 OPC 标准,完全可以创建一个开放的、可互操作的控制系统软件。2.2 OPC 体系结构 OPC 体系结构是服务器客户端模式,具有良好的稳定性和扩展性,促进了代码的重用和基于组件的开发应用。OPC 服务器是数据源,它提供与设备通讯的数据,数据源可以是 PLC,DCS,条形码读取器等控制设备。随控制系统构成的不同,作为数据源的OPC 服务器即可以是和OPC 应用程序在同一台计算机上运行的本地OPC 服务器,也可以是在另外的计算机上运行的远程OPC 服务器。OPC 服务器采用的是以 EXE 方式实现的COM 组件,实际上就是一个典型的进名师资料总结-精品资料欢迎下载-名师精心整理
7、-第 1 页,共 4 页 -软件纵横 计算机与信息技术 29程外 COM 组件,只不过 OPC 服务器的接口是有OPC 标准组织规定的标准接口。OPC 客户端是数据的使用者,他们在应用中使用数据,但不需要了解数据的来源,可以是由VC、VB、Delphi 等常用语言编写的应用程序。OPC 服务器通常支持两种类型的访问接口,它们分别为不同的编程语言环境提供访问机制,参见图。这两种接口是:自动化接口(Automation interface);自定义接口(Custom interface)。自动化接口通常是为基于脚本编程语言而定义的标准接口,可以使用Visual Basic、Delphi、Power
8、Builder等编程语言开发OPC 服务器的客户应用,客户程序可以很容易地应用接口,而无需了解接口的详细内部机理;可以运用事件触发机制;可以生成一个通用的动态链接库或控件供所有客户端应用程序使用;程序的速度和效率上存在不足。而自定义接口是专门为C+等高级编程语言而制定的标准接口,OPC 项目没有对外的接口定义,所有对 OPC 项目的访问需经由包含或者定义它的OPC 组别来完成,也即OPC 客户程序不允许将OPC 项目作为一个类来访问,需要用到较深的COM/DCOM知识,开发难度大,但数据访问效率高、速度快,往往能发挥OPC 服务器的最佳性能。图 1 OPC 体系结构 如图所示的OPC 数据访问
9、服务器(OPC DA)从逻辑上分为:服务器(Server)、组(Group)、数据项(Item),服务器对象用于提供服务器所在的机器名、指出特定的OPC 服务器应用程序名及支持的接口,来维护相关服务器信息,并作为组对象的容器;组对象拥有本组的所有信息,存储由若干 Item 组成的 Group 信息并逻辑组织数据项;数据项对象表示服务器中连接的数据源,存储具体的Item 的定义、数据值、状态值等信息,一个Item 就代表一个具体的过程变量,不是标准的 COM 对象,它不提供接口。图 2 OPC DA 关系图 3 OPC 客户端程序的开发 3.1 应用 OPC 组件 引用 OPCDAAuoto.D
10、LL,在如图所示的引用对话框中,将 OPC Automation 2.0 加入,这样就可以在对象浏览器中看到 OPC 的各种属性和方法,然后开始定义全局变量。为了使对象能够相应并处理事件,必须将objTestGroup 和 objServer的声明中加上“WithEvents”语句。3.2 连接 OPC 服务器和建立OPC 组、OPC 项 对服务器进行访问前,必须先在 OPC 组里添加要访问的OPC 标签。OPC 客户端程序要按照用户指定的标签或者从组态文件里读取需要添加的OPC 标签。Sub Connect(strProgID As String,Optional strNode As OP
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年OPC客户端程序的实现 2022 OPC 客户端 程序 实现
限制150内