OPC功能
概述
OPC 是OLE for Process Control 的缩写,即用于过程控制的OLE技术。
OLE 原意是对象链接和嵌入,随着OLE 2 的发行,其范围已远远超出了这个概念。现在的OLE 包容了许多新的特征,如统一数据传输、结构化存储和自动化,已经成为独立于计算机语言、操作系统甚至硬件平台的一种规范,是面向对象程序设计概念的进一步推广。而OPC就是建立在OLE 规范之上,为过程控制领域应用而提供的一种标准的数据访问机制。
OPC标准主要解决的是工业过程控制领域内来自不同厂商的硬件和软件部件协同工作的问题。工业控制领域用到大量的现场设备,在OPC 出现以前,自动化软件开发商需要开发大量的驱动程序来连接这些设备。即使硬件供应商在硬件上做了一些小小改动,应用程序就可能需要重写;同时,硬件供应商只能以DLL或DDE服务器方式提供最新的硬件的驱动程序,对于最终用户来说,就意味着繁重的编程任务。而且,DLL和DDE是平台相关的,与具体的操作系统有密切的关系,同时,由于DDE和DLL并不是为过程控制领域而设计的,象设备通知、事件以及历史数据等过程控制领域常见的通讯要求,实现起来非常困难。因此硬件供应商的另一个方案就是提供硬件底层编程特性,包括硬件端口地址,中断号以及操作时序等。而这种方法除了对用户应用造成很大困难以外,提供硬件设备的底层编程特性也不利于硬件供应商隐藏与用户应用无关的细节以方便硬件的升级和修改。
随着OPC 的提出,这个问题开始得到解决。OPC 规范包括OPC 服务器和OPC客户两个部分,其实质是在硬件供应商和软件开发商之间建立了一套完整的“规则”,只要遵循这套规则,数据交互对两者来说都是透明的,硬件供应商无需考虑应用程序的多种需求和传输协议,便能够提供一个功能齐备的应用接口。软件开发商也无需了解硬件的实质和操作过程。
按照OPC 规范,硬件供应商只需提供一套符合OPC Server 规范的程序组,无需考虑工程人员需求。而软件开发商无需重写大量的设备驱动程序,只需要一套具备OPC客户能力的软件,就可以与所有符合OPC服务器规范的程序组连接,获取需要的数据。而工程人员在设备选型上有了更多的选择。只要是符合OPC规范的驱动程序和自动化软件,就可以协同工作。
OPC 标准的最终目标是在工业过程控制领域建立一套数据传输规范,能够提供此领域需要的特性和功能,现有的OPC 规范涉及如下领域:
l 过程数据监测。实现了自动化应用程序和工业监控设备之间高效、灵活的数据读写。
l 报警和事件处理。提供了在OPC 服务器中,向OPC客户端发送特定事件通知的机制。
l 历史数据访问。实现了读取、操作、编辑历史数据库的方法。
l 远程数据访问。借助Microsoft 的DCOM 技术,OPC 实现了高性能的远程数据访问能力。
OPC 近期还将实现包括安全性、批处理、历史报警事件数据访问等一系列工业过程控制领域的特定要求。
OPC的特点包括:易于实现;灵活满足多种客户需求;强大的功能;高效的操作。
MCGS可以充分利用OPC规范所提供的强大功能,使得MCGS的用户能够快速高效的访问OPC服务器提供的数据,对硬件设备进行访问。在MCGS中,可以同时挂接多个OPC设备,每个OPC设备就像一个普通的MCGS设备一样,可以通过用户熟悉的界面进行组态。
用户可以在OPC设备的属性页中,组态使用哪一个OPC服务器,并浏览这个服务器可以提供的数据项,然后决定连接哪些数据项,把哪个变量连接到这些数据项上。并且在组态环境中,就可以实时的进行这些数据变量的连接测试。在运行环境中,MCGS将自动启动OPC服务器,和对应的OPC服务器建立连接,自动完成和OPC服务器之间的数据交互。
同时,MCGS也可以作为OPC服务器,向符合OPC标准的控制系统提供实时数据,允许这些系统读取MCGS实时数据库中的数据。
因为MCGS既可以作为OPC服务器也可以作为OPC客户端,实现本地和远程访问的功能。所以下面对MCGS作为客户端和服务器的使用分别说明;
l MCGS作为客户端
MCGS允许用户将本地或远程OPC SERVER配置点导入MCGS系统,功能包括
² 浏览OPC项目(OPC Item);
² 浏览每个OPC项目中的OPC数据点;
² 导入数据项;
² 导入所有项;
² 从本地OPC服务器导入;
² 从远程OPC服务器导入;
² 查询OPC服务器;
如果OPC服务器没有运行,OPC Tool 将启动OPC服务器。然而,推荐用户手动启动OPC服务器,因为某些OPC服务器在启动运行时需要选择连接的设备(例如:Kepware Modbus 和Cimetrics Bacnet OPC服务器在启动连接时需要用户选择设备或网络)。
l MCGS作为服务器
MCGS集成了OPC服务器,当启动MCGS时,自动启动OPC服务器功能。
² 组织变量数据
服务器、组、数据项
OPC 服务器由三类对象组成:服务器(Server)、组(Group)、数据项(Item)。服务器对象(Server)拥有服务器的所有信息,同时也是组对象(Group)的容器。组对象(Group)拥有本组的所有信息,同时包容并在逻辑上组织OPC 数据项(Item)。OPC 组对象(Group)提供了客户组织数据的一种方法。客户可对之进行读写,还可设置客户端的数据更新速率。当服务器缓冲区内数据发生改变时,OPC 将向客户发出通知,客户得到通知后再进行必要的处理,而无需浪费大量的时间进行查询。
OPC 规范定义了两种组对象:公共组和局部组(私有组)。公共组由多个客户共有,局部组只隶属于一个OPC 客户。一般说来,客户和服务器的一对连接只需要定义一个组对象。在每个组对象中,客户可以加入多个OPC 数据项(Item)。如图所示:
OPC 数据项是服务器端定义的对象,通常指向设备的一个寄存器单元。OPC客户对设备寄存器的操作都是通过其数据项来完成的,通过定义数据项,OPC 规范尽可能的隐藏了设备的特殊信息,也使OPC 服务器的通用性大大增强。OPC 数据项并不提供对外接口,客户不能直接对之进行操作,所有操作都是通过组对象进行的。
在MCGS中,组对象一级对用户来说,是隐藏起来的,用户只需要指定服务器,就可以通过直接浏览来察看所有可用的数据项。对于有些OPC服务器,并不能提供对所有数据项的直接浏览,而是需要用户填写数据项的名字,这种情况我们将在使用OPC设备一节中详细介绍。而组对象的创建和管理由MCGS在后台进行。
OPC配置
MCGS在连接本地OPC服务器时,不需要配置。在使用远程OPC服务器时,必须按照下面的步骤对服务器端和客户端进行设置。
服务器端的设置
1.在操作系统的“开始”菜单中,选择“运行”菜单项,打开运行窗口,如下图;
1. 输入”dcomcnfg”命令,打开dcom属性窗口,如下图:
3. 在弹出的应用程序属性页窗口,选择“应用程序(L)”列表中OPC服务器的名称,例如上表“SaicOPC server”,选中该列表项,点击“属性(P)…”,按钮,打开“SaicOPC server应用程序”的属性对话框,如下图:
4. 选择“在这台计算机上运行应用程序(C)”多选项,按“确定”,完成服务器端的设置;
客户端的配置
客户端的设置,前三步同服务器端的配置一样,第4步参照下面的配置,如图:
4. 选择“在下列计算机上运行应用程序(F)”,并在编辑框中输入远程运行服务器的计算机名称,例如上图所示,ZZM。按“确定”完成客户端的设置。
5. 用户设置。在完成上面的设置后,还不能连接或有其它提示信息,还需要添加一个客户端的用户帐户到服务器端。
注意:要使用远程OPC功能,则必须按照上面的步骤对服务器端和客户端进行配置。
组态时的属性设置
添加OPC设备
1. 打开MCGS的组态环境,创建一个工程;
2. 在设备组态窗口中添加OPC设备;
3. 双击OPC设备构件,打开通用OPC设备属性编辑窗口,设置OPC设备属性。
基本属性页
l 设备名称:OPC设备的名称
l 设备注释:OPC设备的注释
l OPC服务器:输入OPC服务名称
l 网络节点:输入OPC服务所在的远程主机名称或IP地址,空表示OPC服务在本地。
l 数据采集方式:同步采集,每个周期对所有数据采集一次;异步采集,只采集有变化的数据。
l 初始工作状态:选择OPC设备的状态是启动或停止
l 最小采集周期:设置OPC设备的最小采集周期,单位是ms。
l 重新连接延时:当OPC服务断开时间超过延时后,重新连接OPC服务,单位是ms。
OPC服务器设置:
1.选择基本属性页中的OPC服务器选项,点击“”,打开OPC服务器选择窗口。如下图:
l 网络节点:指定运行OPC服务的主机名称或IP地址。使用本地OPC服务时,该项为空;
l OPC服务器:输入已注册的OPC服务名称;
l 选中计算机上注册的服务器:可选的OPC服务列表,通过双击选择一个要使用的服务;
l 如果选择“使用OPC1.0”,则列出的OPC服务器列表中包括1.0版本的OPC服务器;
l 从注册表中查找:指定查询OPC的方式;
2.在列表中选择一个OPC服务器名称,按“确定”键,完成连接OPC服务器的选择。
通道连接属性页
l 查询通道:查询访问远程OPC服务器、OPC组、OPC数据项
l 通道信息:查看与远程OPC服务器连接的通道信息
l 增加通道:增加一个新的OPC通道
l 删除通道:删除一个OPC通道
l 快速删除:选择一次需要删除的所有OPC通道序号
l 快速连接:快速连接本地数据对象与远程OPC服务器通道
l 拷贝连接:依次拷贝已连接好的数据对象,按其顺序在索引号上依次加一
l 删除连接:删除数据对象与远程OPC服务器通道的连接
1.进入通道连接属性页,点击“查询通道”按钮,打开OPC服务器数据点选择对话框。如下图:
l 点击“全部选中”按钮,选择所有的OPC服务器中的数据点。
l 点击“全部去掉”,删除对所有数据点的选择;
l 选择树型结构中列出的某一个数据项节点,然后点击“选中分支”,则该节点下的所有数据分支节点项都被选中;
l 点击“去掉分支”,则删除对该节点下的所有数据分支节点项的选择;
l 点击“分级显示数据项”,可以在树行显示(左图)和列表显示(右图)之间切换;
2)选择需要连接的数据点,按“确定”按钮,完成数据点的设置;
设备调试属性页
1.点击设备调试属性页,查看本地数据对象与远程OPC服务器数据点的连接情况;