关于pks提供的OPC接口_第1页
关于pks提供的OPC接口_第2页
关于pks提供的OPC接口_第3页
关于pks提供的OPC接口_第4页
关于pks提供的OPC接口_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1. Experion OPC接口类型Experion提供了下列可选的OPC接口,不同的接口用于不同的需求:1.1. Experion OPC Client Interface(OPC客户端接口)OPC客户端接口用于与一些简单的子系统之间进行通讯,如PLC等。这个组态需要在Quick Builder中进行。在这里,PKS系统作为OPC客户端的身份与第三方OPCserver进行通讯。参考文档OPC Client Interface Reference在Quick Builder中每一个OPC Controller下可以最多组态735个点(Item)1.2. Experion OPC Advanc

2、ed Client(OPC高级客户端)OPC高级客户端包括Data client(数据客户端)和alarm/event client(报警及事件客户端)OPC高级数据客户端用于与一些比较复杂的客户端之间的通信,比如其它DCS系统。这些子系统的点结构是按照OPC基金会规定的OPCv2.05版进行架构的,也就是说这些点都有比较复杂的参数体系,比如PKS系统的点就是复杂的点结构。OPC高级报警与事件客户端可以接收第三方OPC报警与事件服务器的报警及事件信息,在收到报警事件后,将会显示在报警汇总中,在操作员确认了这些报警后,其确认信息也将发送到OPC报警及事件服务器中。报警和事件客户端的规范依据是OP

3、C基金会报警与事件规范版本V1.01.3. Experion OPC Display Data Client(OPC显示数据客户端)OPC数据显示客户端用于在用户流程图中添加OPC数据,并且不需要其它额外的信息(如历史信息、报警信息等)。这个客户端基于OPC基金会数据访问规范版本V2.05。组态时,可以直接在流程图中添加数据ITEM,而不需要在Quick Builder中建点。1.4. Experion OPC Data Access Server(OPC数据访问服务)Experion OPC Data Access Server提供了一种可以让其它OPC客户端Read/Write PKS系统

4、点参数的功能。基于OPC基金会版本V2.05,也可以向下兼容至OPC V1.0和OPCV2.0。对于OPC Data Access Server功能,PKS不需要做任何特殊组态,只需要有相应的License即可。ProgId= HWHsc.OPCServer。1.5. Experion OPC Alarm and Event Server(OPC报警与事件服务)Experion OPC Alarm and Event Server允许OPC Alarm and Event 客户端从PKS系统接收报警和事件信息。PKS支持OPC基金会的Alarm and Event V1.02规范。PKS不需做

5、特殊的组态。1.6. Experion OPC Historical Data Access Server(OPC历史数据访问服务)Experion OPC Historical Data Access Server为第三方OPC客户端提供了访问PKS点参数历史的功能。基于OPC Historical Data Access 规范V1.2PKS不需做特殊的组态。1.7. Experion OPC Integrator(OPC集成)Experion OPC integrator用于数据在2个或多个OPCServer之间进行传输。在下列情况下,一般使用这种方式:a) 一个系统(第三方)已经提供的O

6、PC Server,但是没有OPC Client,当这个系统还需要从Experion获得数据时。b) 在Experion的数据发生变化时(包括操作员改变的数据),需要传送到第三方的OPC Server中。c) Experion过程控制器(Controllers)需要与管理控制层(Supervisory Control Layer)之间进行数据传输时警告:不能利用这种方式在控制器之间传输安全或关键任务信息,对于涉及到安全方面的信息,需要使用直连线的方式在控制器之间进行传输。2. OPC接口组态说明由于PKS作为OPC Server时在PKS侧基本没有什么特殊设置,所以作为组态工作来讲,重点是:在

7、Experion作为OPC Client时该如何理解和操作。有关于OPC的一些概念和术语可以参考附录OPC专用术语部分的描述。注意:无论什么时候,在组态OPC的Item时,对其名称及点参数一定要注意大小写的区别,OPC通信通常会对大小写敏感,为了减少不必要的麻烦和节省调试时间,在做OPC通信,最好养成良好的习惯。2.1. 关于OPC的数据传输方式OPC是一种数据从数据源(Server)到任何一个客户端(Client)通信的标准,OPC Server和OPC Client可以在同一台计算机上,也可以在不同的计算机上。OPC是如何进行数据传输工作的OPC Server上的数据在OPC Client

8、上是以Item的形式进行引用的,在OPC Client上,必须将一个或多个Item加入到一个Group(组)中,再从OPC Server获得Item数据。OPC Client请求OPC Server创建一个组,并指定最大更新速率(Update Rate)和死区(Deadband),然后OPC Client请求OPC Server添加Item到这个组中。注:l 虽然OPC Client指定了一个Group的更新速率,但是否采用这个速率是由OPC Server根据实际系统状况决定的。l 虽然OPC Client指定了一个Group的死区,但是否采用这个死区是由OPC Server实际系统状况决定的

9、。Callback(回叫方式)通常,OPC Server通过Callback的方式发送数据到OPC Client。当创建了一个Group后,OPC Server会为这个Group的Item创建一个缓冲区,这个缓冲区依照Group指定的更新速率进行更新,在最后一次缓冲区更新后,当数据再次发生有效改变(是否为有效改变由Group的Deadband决定)时,OPC Server只发送Group中Item的最新值到OPC Client。这种方法,减少了OPC Server和OPC Client之间的通信量,OPC Client只在数据发生有效改变时才接收到数据。Explicit read reques

10、t(外部读请求方式)OPC Client也可以发送外部读请求到OPC Server,而不受Callback的限制。OPC Client可以直接请求OPC Server中缓冲区的数据或直接从现场设备(例如卡件)读取数据。这种方式与Callback相比效率较低。2.2. 最简单的OPC客户端接口:Experion OPC Display Client如果与第三方OPC Server进行通信,没有特殊要求,只需要在流程图中进行显示,则可以选择使用Experion OPC Display Client方式来实现。这种方式的特点是:a) 这种方式不需要专门的License许可b) 组态快捷、简单,不需要

11、在Quick Builder中组态SCADA通信点c) 组态好OPCDisplay后,剩下的工作就是在流程图中添加点信息即可组态步骤:a) 首先确定第三方OPC Server的若干必要参数:l 第三方OPC Server的主机名/IPl 第三方OPC Server的ProgID。关于这个ProgID,在不知道的情况下,可以通过枚举的方法获得,具体获得方法参见附录中的获得OPC Server ProgID的方法部分的描述。l 与第三方通信点信息,包括完整的点参数和点类型信息。在获得了点参数信息后,还需要规划Group(组),每一个Item(点参数)都必须属于一个Group,每一Group可以包含

12、几十或几百个Item,每一个Group内的Item都使用相同的Update时间、Deadband(死区)等一些公共特性。在Experion中的OPC Display Client每规划一个组就需要建立一个OPCDisplay的的System Interface,每一个OPCDisplay Interface缺省的可容纳Item的数量为500个,所以实际组态时可以根据实际情况规划Group的数量。b) 利用通用OPC Client软件测试与第三方OPC Server的通讯以及连接是否正常(具体方法参见附录中的利用通用OPC Client与OPC Server连接并通信部分),如果利用通用的OPC

13、 Client无法连接到第三方OPC Server,那么Experion也不会正常连接。c) 组态System Interface:OPCDisplayl 首先打开Station,并选择菜单:Configure->System Hardware->System Interfaces,进入到System Interfaces组态界面,如图:l 在System Interfaces界面的Type项的下拉菜单中选择“OPCDISPLAY”,选择好后,再单击后面Alias项中的“-”,进入到OPCDisplay组态界面(这里以1号System Interface为例)。l 在OPC Dis

14、play组态界面中的Configuration选项卡中,输入下图中所示的信息l 当配置完成后,如果与OPC Server连接正常,在Status选项卡中,可以看到连接状态,如图所示的连接状态就是正常的。d) 当OPCDisplay组态完成后,就可以在流程图中组态具体的点了,具体步骤如下:l 打开HMI Display Builder,并在图中插入一个Alphanumeric对象l 在这个Alphanumeric对象的属性窗口中的Data选项卡中,输入OPC通信点信息,如图(这里的通信点是测试点,具体测试点的名称和内容参见利用通用OPC Client与OPC Server连接并通信中对测试点的说

15、明)l 保存流程图,并在Station中运行这张图l 如果想测试OPC Write,则直接在Station中选中并输入测试数字即可,如图: 2.3. 通用的OPC客户端接口:Experion OPC Client Interface当Experion作为一个主系统与一些小规模的系统进行通信时,通常可以采用Experion OPC Client Interface,大多数情况下,通信都可以使用这个客户端接口。这个客户端接口需要License授权。与Experion OPC Display Client相比,Experion OPC Client Interface需要在Quick Builder

16、中组态,并且在组态时可以组态报警、趋势等功能,同时也可以组态OPC Write功能,OPC Write的组态方式与MODBUS的组态类似。与OPC Display Client一样,OPC Client Interface只能进行实时数据的读写操作(OPC DA)。与MODBUS基本类似,Experion OPC Client Interface的组态相对也比较简单,在获得必要参数后,需要组态Channel、Controller和Point。具体过程如下:a) 首先确认在Quick Builder中的Tools->Component Manager中Device中“OPC”是被选中的(如

17、图)。b) 创建OPC Channel,选择OPC Channel并填写参数。这里的参数如没有特殊需要,都可以采用默认值。这里单独将Diagnostic Scan Period和Background Scan Period的概念说明一下:Diagnostic Scan Period:诊断扫描周期,指定了相应周期后,Experion将按照周期时间发送同步请求至OPC Server,用于确认OPC Server的运行状态。缺省60秒。Background Scan Period:后台扫描周期,指定了这个周期后,Experion会在每一周期将Controller中“background scanni

18、ng=enabled”控制器向OPC Server进行一次外部直接读数据请求。简言之,就是定期全部读取一次指定控制器的数据,平时按照死区的定义接收有变化的数据。缺省60秒。c) 建立Controller,并指定Deadband。d) 建点,这里做2个点,一个是模拟点,一个是状态点模拟点状态点如果OPC点是可以读写的,则还需在Control选项卡中设置源参数和目标参数,如果没有特殊要求,源地址与目标地址可以与PV地址一致,如图: e) 在Station中激活Channel和Controller,并进入刚建好点的点细目,查看状态如图,模拟点可以通过SP进行写操作如图,状态点可以通过OP进行写操作2

19、.4.3. 附录3.1. OPC专用术语l CLSID(Class Identifier,类ID)CLSID,即类ID(类标识),“通用唯一标识符”(UUID),用于标识 COM 组件。每个 COM 组件在 Windows 注册表中都有自己的 CLSID,以便让其他应用程序加载。l Group(组)在OPC对象结构中,使用同一更新速率(Update)和死区(Deadband)的Item的集合l Item(项)OPC Server中的一个单一的数据源l OPC(OLE for Process Control,专用于过程控制的OLE技术)OPC(OLE for Process Control, 用

20、于过程控制的OLE)是一个工业标准,管理这个标准国际组织是OPC基金会,OPC基金会现有会员已超过220家。遍布全球,包括世界上所有主要的自动化控制系统、仪器仪表及过程控制系统的公司。 基于微软的OLE(现在的Active X)、COM (部件对象模型)和DCOM (分布式部件对象模型)技术。OPC包括一整套接口、属性和方法的标准集,用于过程控制和制造业自动化系统。OPC全称是OLE for Process Control,它的出现为基于Windows的应用程序和现场过程控制应用建立了桥梁。在过去,为了存取现场设备的数据信息,每一个应用软件开发商都需要编写专用的接口函数。由于现场设备的种类繁多

21、,且产品的不断升级,往往给用户和软件开发商带来了巨大的工作负担。通常这样也不能满足工作的实际需要,系统集成商和开发商急切需要一种具有高效性、可靠性、开放性、可互操作性的即插即用的设备驱动程序。在这种情况下,OPC标准应运而生。OPC标准以微软公司的OLE技术为基础,它的制定是通过提供一套标准的OLE/COM接口完成的,在OPC技术中使用的是OLE 2技术,OLE标准允许多台微机之间交换文档、图形等对象。COM是Component Object Model的缩写,是所有OLE机制的基础。COM是一种为了实现与编程语言无关的对象而制定的标准,该标准将Windows下的对象定义为独立单元,可不受程序

22、限制地访问这些单元。这种标准可以使两个应用程序通过对象化接口通讯,而不需要知道对方是如何创建的。例如,用户可以使用C+语言创建一个Windows对象,它支持一个接口,通过该接口,用户可以访问该对象提供的各种功能,用户可以使用Visual Basic,C,Pascal,Smalltalk或其它语言编写对象访问程序。在Windows NT4.0操作系统下,COM规范扩展到可访问本机以外的其它对象,一个应用程序所使用的对象可分布在网络上,COM的这个扩展被称为DCOM(Distributed COM)。通过DCOM技术和OPC标准,完全可以创建一个开放的、可互操作的控制系统软件。OPC采用客户/服务

23、器模式,把开发访问接口的任务放在硬件生产厂家或第三方厂家,以OPC服务器的形式提供给用户,解决了软、硬件厂商的矛盾,完成了系统的集成,提高了系统的开放性和可互操作性。OPC服务器通常支持两种类型的访问接口,它们分别为不同的编程语言环境提供访问机制。这两种接口是:自动化接口(Automation interface);自定义接口(Custom interface)。自动化接口通常是为基于脚本编程语言而定义的标准接口,可以使用VisualBasic、Delphi、PowerBuilder等编程语言开发OPC服务器的客户应用。而自定义接口是专门为C+等高级编程语言而制定的标准接口。OPC现已成为工业

24、界系统互联的缺省方案,为工业监控编程带来了便利,用户不用为通讯协议的难题而苦恼。任何一家自动化软件解决方案的提供者,如果它不能全方位地支持OPC,则必将被历史所淘汰。l ProgID(Programmatic Identifier应用程序标识)每一个COM组件都需要指定一个 CLSID,并且不能重名,CLSID表示使用一个具有16个字节的数字(例如:86A70E6F-3F1C-46B5-86F9-C21DAD69C756就是一个类标识),每个CLSID都在系统的注册表中被注册,它表示组件的实际路径,保证了组件路径的透明性,每一个类标识(CLSID)都可以有一个与之关联的ProgID,ProgI

25、D是以字符串的方式来标识一个CLSID,与CLSID的16字节的标识相比,ProgID比较容易记忆,其格式为:<Vendor主程序>.<Component组件名>.<Version版本>l Update Rate(更新速率)在OPC Server中Item的更新速率3.2. 获得ProgID的方法每一个OPC Server在本机范围内都有一个唯一的识别类名,称之为ProgID。当安装完OPC Server后会注册到系统COM类型库中。当我们需要与OPC Server进行通信时,必须要知道相应的OPC Server的ProgID名。通常情况下,不需要专门记忆某

26、个ProgID,只需要掌握一般方法即可:a) 在与第三方OPC Server进行通信时,对方应提供这个ProgID。例如,honeywell Experion中所提供的通用OPC Server为:HWHsc.OPCServer,其名称是固定的。b) 通过通用的OPC Client软件可以枚举出指定机器或IP中的ProgID名及其简要描述,从中可以选择并记录需要的ProgID。大部分OPC Client均提供这种枚举方式。c) 如果在Station中组态OPC Display Client,在输入了第三方OPC Server的机器名或IP后,在Server ProgID项中会自动枚举出对方机器中

27、所有的PrigID(如图),从中选择需要的即可。3.3. 利用通用OPC Client与OPC Server通信免费的OPC Client软件非常多,在这里推荐2款比较好的软件:a) 第一款软件是:OPC Client,这款软件是一个绿色软件,不需要安装,使用简单,通常用于单纯的测试与OPC Server的连接,在现场调试时或做一些简单测试时推荐使用这款软件。b) 另一款软件是:MatrikonOPC,这款软件需要安装,并且可以选择同时安装一个OPC Server,也就是说,MatrikonOPC同时包括了OPCServer和OPC Client的功能。与Experion OPC Server

28、一样,MatrikonOPC的OPC Server功能也是通用的OPC Server,我们可以通过这款软件测试所有的Experion的OPC功能。由于OPC客户端软件的操作基本上都类似,所以这里以“OPC Client”为例,说明OPC客户端软件的使用和测试方法。OPC Client是一款绿色软件,不需要安装就可以直接运行程序。这里,我们的例子是以OPC Client作为OPC的客户端程序,以Martikon作为OPC服务器端程序。服务器端程序只需要在运行后,添加几个自定义点即可,下面重点将OPC Client的使用方法做一个详细的说明。a) MatrikonOPC Server的ProgID为:Matrikon.OPC.Simulation.1b) MatrikonOPC Server安装在本机上,即客户端与服务器端在同一台机器上(注:当客户端与服务器端不在同一台机上时,当客户端需要访问OPC服务器时,还需要对服务器端的DCOM进行一些权限配置,对于这些配置可参见附录配置OPC Server上的DCOM部分的描述)c) 运行Matrikon的OPC Server仿真程序MatrikonOPC Server for Simulation,并添加若干自定义点,如图所示,我们为Mat

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论