力控组态软件的OPC支持

更新时间:2023-10-15 13:53:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

力控组态软件的OPC支持 ----北京三维力控科技有限公司

力控实时数据库支持OPC标准,作为OPC客户程序,它可以从其他OPC服务器程序中访问数据。与DDE类似,当力控数据库作为客户端访问OPC服务器程序时,是将OPC服务器程序当作一个I/O设备。数据库中的点参数通过I/O数据连接与OPC服务器程序进行数据交换。

一、OPC适应范围

利用OPC技术,主要实现:

1、在线数据监测。实现了应用程序和工业控制设备之间高效、灵活的数据读写。

2、报警和事件处理。提供了OPC服务器发生异常时,以及OPC服务器设定事件到来时向OPC客户发送通知的一种机制。

3、历史数据访问。实现了读取、操作、编辑历史数据库的方法。

4、远程数据访问。借助Microsoft的DCOM技术,OPC实现了高性能的远程数据访问能力。

二、力控的OPC设备

力控充分利用了OPC服务器的强大性能,为工程人员提供方便高效的数据访问能力。在力控中可以同时挂接任意多个OPC服务器,每个OPC服务器都被作为一个外部设备,工程人员可以定义、增加或删除它,如同一个PLC或仪表设备一样。

一般来说,工程人员在OPC服务器中定义通信的物理参数,定义需要采集的下位机变量(数据项);然后在力控中定义力控变量和下位机变量(数据项)的对应关系。在运行系统中,力控和每个OPC服务器建立连接,自动完成和OPC服务器之间的数据交换。

三、OPC基本概念

OPC是OLE for Process Control的缩写,即把OLE应用于工业控制领域。

OPC服务器由三类对象组成,相当于三种层次上的接口:服务器(Server)、组(Group)和数据项(Item)。

1、服务器对象(Server)

拥有服务器的所有信息,同时也是组对象(Group)的容器,一个服务器对应于一个OPC Server,即一种设备的驱动程序。在一个Server中,可以有若干个组。 2. 组对象(Group)

拥有本组的所有信息,同时包容并逻辑组织OPC数据项(Item)。

OPC组对象(Group)提供了客户组织数据的一种方法,组是应用程序组织数据的一个单位。客户可对之进行读写,还可设置客户端的数据更新速率。当服务器缓冲区内数据发生改变时,OPC将向客户发出通知,客户得到通知后再进行必要的处理,而无需浪费大量的时间进行查询。OPC规范定义了两种组对象:公共组(或称:全局组,public)和局部组(或称:局域组、私有组,Local)。公共组由多个客户共有,局部组只隶属于一个OPC客户。全局组对所有连接在服务器上的应用程序都有效,而局域组只能对建立它的Client有效。一般说来,客户和服务器的一对连接只需要定义一个组对象。在一个组中,可以有若干个项。 3、项

是读写数据的最小逻辑单位,一个项与一个具体的位号相连。项不能独立于组存在,必须隶属于某一个组。

在每个组对象中,客户可以加入多个OPC数据项(Item)。

OPC数据项是服务器端定义的对象,通常指向设备的一个寄存器单元。OPC客户对设备寄存器的操作都是通过其数据项来完成的,通过定义数据项,OPC规范尽可能的隐藏了设备的特殊信息,也使OPC服务器的通用性大大增强。OPC数据项并不提供对外接口,客户不能直接对之进行操作,所有操作都是通过组对象进行的。

应用程序作为OPC接口中的Client方,硬件驱动程序作为OPC接口中的Server方。每一个OPC Client应用程序都可以接若干个OPC Server,每一个硬件驱动程序可以为若干个应用程序提供数据。 客户操作数据项的一般步骤为:

1)、通过服务器对象接口枚举服务器端定义的所有数据项。 2)、将要操作的数据项加入客户定义的组对象中。 3)、通过组对象对数据项进行读写等操作。

每个数据项的数据结构包括三个成员变量:即数据值、数据质量和时间戳。数据值是以VARIANT形式表示的。可以把数据项看作数据源的地址,即数据源的引用。

四、报警(Alarm)和事件(Event)

报警和事件处理机制增强了OPC客户处理异常的能力。服务器在工作过程中可能出现异常,此时,OPC客户可通过报警和事件处理接口得到通知,并能通过该接口获得服务器的当前状态。

五、OPC体系结构

OPC规范提供了两套接口方案,即COM接口和自动化。

COM接口效率高,通过该接口,客户能够发挥OPC服务器的最佳性能,采用C++语言的客户一般采用COM接口方案;自动化接口使解释性语言和宏语言访问OPC服务器成为可能,采用VB语言的客户一般采用自动化接口。自动化接口使解释性语言和宏语言编写客户应用程序变得简单,然而自动化客户运行时需进行类型检查,这一点则大大牺牲了程序的运行速度。

OPC服务器必须实现COM接口,是否实现自动化接口则取决于供应商的主观意愿。 服务器缓冲区数据和设备数据

OPC服务器本身就是一个可执行程序,该程序以设定的速率不断地同物理设备进行数据交互。服务器内有一个数据缓冲区,其中存有最新的数据值,数据质量戳和时间戳。时间戳表明服务器最近一次从设备读取数据的时间。服务器对设备寄存器的读取是不断进行的,时间戳也在不断更新。即使数据值和质量戳都没有发生变化,时间戳也会进行更新。

客户既可从服务器缓冲区读取数据,也可直接从设备读取数据,从设备直接读取数据速度会慢一些,一般只有在故障诊断或极特殊的情况下才会采用。 同步和异步

OPC客户和OPC服务器进行数据交互可以有两种不同方式,即同步方式和异步方式。同步方式实现较为简单,当客户数目较少而且同服务器交互的数据量也比较少的时候可以采用这种方式;异步方式实现较为复杂,需要在客户程序中实现服务器回调函数。然而当有大量客户和大量数据交互时,异步方式能提供高效的性能,尽量避免阻塞客户数据请求,并最大可能地节省CPU和网络资源。

六、使用OPC设备 定义OPC设备

在力控导航器窗口中选则“I/O设备驱动”项中的“OPC”设备并展开,如下图所示:

双击“OPC(Client)”,出现对话框:

在“设备名称”中输入逻辑设备的名称(随用户随意定义),在“数据更新周期”中指定采集周期。然后单击按钮“下一步”,出现OPC设备定义对话框:

力控自动搜索工程人员的计算机系统中已经安装的所有OPC服务器,当点击下拉框“OPC Server”时,下拉框中会列出已经安装的所有OPC服务器的名称,选择您要使用的OPC服务器。 在“数据访问方式”中选择“缓冲区”或“外设”方式。

对于“缓冲区”方式,OPCClient程序将通过OPC服务器的缓冲区读取数据;对于“外设”方式,OPCClient程序将通过OPC服务器直接从设备读取数据,从设备直接读取数据速度会慢一些,一般只有在故障诊断或极特殊的情况下才会采用。

在“死区百分比”中输入一个百分值,表示:如果过程数据值的变化不超出这个百分值将不对其进行数据更新。

最后,单击“确定”按钮完成OPC设备定义。

对于已经建立的OPC设备,可以对其配置进行修改;如果您确认不再需要,可以将它删除。修改或删除OPC设备的方法与其他设备的方法相同(关于I/O设备驱动更为详细的信息请参考本手册“I/O设备驱动”一章的内容)。

对OPC数据项进行数据连接

对OPC数据项进行数据连接与其它设备类似。

下面,以Schneider公司的一个仿真OPC服务器“OPC Factory Simulator Server”(服务器名:Schneider-Aut.OFSSimu)为例,说明对OPC数据项进行数据连接的过程。

1、 首先在PC机上安装OPC Factory Simulator Server程序,然后按照上文所述的过程定义一个OPC Factory Simulator Server的OPC设备,不妨命名为“OPC1”。

2、 启动力控的数据库组态程序DBManager,打开“数据连接”配置页面,选择一个要进行数据连接的点参数,选择“I/O设备”,如图:

在“连接I/O设备”的“设备”下拉框中选择设备OPC1。

3、在“连接项”右侧单击“增加”按钮,出现“数据项组态”对话框:

双击右上侧列表框中的“Root”,列表框自动列出Schneider-Aut.OFSSimu提供的数据区,如下图所示:

在右下侧的列表框中选择一个数据项并双击,此时系统自动生成一个完整的数据项描述并加在“数据项”输入框内,如下图所示:

5、在“访问路径”中输入数据的访问路径(本例不需要指定此项,对于某些OPC服务器需要指定,具体指定的内容需要参考所使用的OPC服务器的手册)。

在“读写权限”中选择一种读写方式。最后单击“确定”按钮,便生成了一个数据项的数据连接。 在对OPC数据项进行数据连接时有几点需要注意:

在“数据项组态”对话框右侧的浏览窗口显示的是OPC服务器所支持的数据区和数据项的内容。但并非所有OPC服务器均支持这种“浏览”功能,对于不支持此功能的OPC服务器,其数据项的描述需要用户根据OPC服务器的资料说明,在“数据项”输入框内手工填写。

对于需要指定“访问路径”的OPC服务器,其访问路径的填写方法需要参考所使用的OPC服务器的手册。

本文来源:https://www.bwwdw.com/article/90hf.html

Top