关于pks提供的OPC接口Word文档下载推荐.docx
《关于pks提供的OPC接口Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《关于pks提供的OPC接口Word文档下载推荐.docx(21页珍藏版)》请在冰豆网上搜索。
![关于pks提供的OPC接口Word文档下载推荐.docx](https://file1.bdocx.com/fileroot1/2022-10/8/bad2b1d8-5951-47ba-8ad6-6b0f94034ebc/bad2b1d8-5951-47ba-8ad6-6b0f94034ebc1.gif)
OPC高级客户端包括Dataclient(数据客户端)和alarm/eventclient(报警及事件客户端)
OPC高级数据客户端用于与一些比较复杂的客户端之间的通信,比如其它DCS系统。
这些子系统的点结构是按照OPC基金会规定的OPCv2.05版进行架构的,也就是说这些点都有比较复杂的参数体系,比如PKS系统的点就是复杂的点结构。
OPC高级报警与事件客户端可以接收第三方OPC报警与事件服务器的报警及事件信息,在收到报警事件后,将会显示在报警汇总中,在操作员确认了这些报警后,其确认信息也将发送到OPC报警及事件服务器中。
报警和事件客户端的规范依据是OPC基金会报警与事件规范版本V1.0
1.3.ExperionOPCDisplayDataClient(OPC显示数据客户端)
OPC数据显示客户端用于在用户流程图中添加OPC数据,并且不需要其它额外的信息(如历史信息、报警信息等)。
这个客户端基于OPC基金会数据访问规范版本V2.05。
组态时,可以直接在流程图中添加数据ITEM,而不需要在QuickBuilder中建点。
1.4.ExperionOPCDataAccessServer(OPC数据访问服务)
ExperionOPCDataAccessServer提供了一种可以让其它OPC客户端Read/WritePKS系统点参数的功能。
基于OPC基金会版本V2.05,也可以向下兼容至OPCV1.0和OPCV2.0。
对于OPCDataAccessServer功能,PKS不需要做任何特殊组态,只需要有相应的License即可。
ProgId=HWHsc.OPCServer。
1.5.ExperionOPCAlarmandEventServer(OPC报警与事件服务)
ExperionOPCAlarmandEventServer允许OPCAlarmandEvent客户端从PKS系统接收报警和事件信息。
PKS支持OPC基金会的AlarmandEventV1.02规范。
PKS不需做特殊的组态。
1.6.ExperionOPCHistoricalDataAccessServer(OPC历史数据访问服务)
ExperionOPCHistoricalDataAccessServer为第三方OPC客户端提供了访问PKS点参数历史的功能。
基于OPCHistoricalDataAccess规范V1.2
1.7.ExperionOPCIntegrator(OPC集成)
ExperionOPCintegrator用于数据在2个或多个OPCServer之间进行传输。
在下列情况下,一般使用这种方式:
a)一个系统(第三方)已经提供的OPCServer,但是没有OPCClient,当这个系统还需要从Experion获得数据时。
b)在Experion的数据发生变化时(包括操作员改变的数据),需要传送到第三方的OPCServer中。
c)Experion过程控制器(Controllers)需要与管理控制层(SupervisoryControlLayer)之间进行数据传输时
警告:
不能利用这种方式在控制器之间传输安全或关键任务信息,对于涉及到安全方面的信息,需要使用直连线的方式在控制器之间进行传输。
2.OPC接口组态说明
由于PKS作为OPCServer时在PKS侧基本没有什么特殊设置,所以作为组态工作来讲,重点是:
在Experion作为OPCClient时该如何理解和操作。
有关于OPC的一些概念和术语可以参考附录OPC专用术语部分的描述。
注意:
无论什么时候,在组态OPC的Item时,对其名称及点参数一定要注意大小写的区别,OPC通信通常会对大小写敏感,为了减少不必要的麻烦和节省调试时间,在做OPC通信,最好养成良好的习惯。
2.1.关于OPC的数据传输方式
OPC是一种数据从数据源(Server)到任何一个客户端(Client)通信的标准,OPCServer和OPCClient可以在同一台计算机上,也可以在不同的计算机上。
OPC是如何进行数据传输工作的
OPCServer上的数据在OPCClient上是以Item的形式进行引用的,在OPCClient上,必须将一个或多个Item加入到一个Group(组)中,再从OPCServer获得Item数据。
OPCClient请求OPCServer创建一个组,并指定最大更新速率(UpdateRate)和死区(Deadband),然后OPCClient请求OPCServer添加Item到这个组中。
注:
虽然OPCClient指定了一个Group的更新速率,但是否采用这个速率是由OPCServer根据实际系统状况决定的。
虽然OPCClient指定了一个Group的死区,但是否采用这个死区是由OPCServer实际系统状况决定的。
Callback(回叫方式)
通常,OPCServer通过Callback的方式发送数据到OPCClient。
当创建了一个Group后,OPCServer会为这个Group的Item创建一个缓冲区,这个缓冲区依照Group指定的更新速率进行更新,在最后一次缓冲区更新后,当数据再次发生有效改变(是否为有效改变由Group的Deadband决定)时,OPCServer只发送Group中Item的最新值到OPCClient。
这种方法,减少了OPCServer和OPCClient之间的通信量,OPCClient只在数据发生有效改变时才接收到数据。
Explicitreadrequest(外部读请求方式)
OPCClient也可以发送外部读请求到OPCServer,而不受Callback的限制。
OPCClient可以直接请求OPCServer中缓冲区的数据或直接从现场设备(例如卡件)读取数据。
这种方式与Callback相比效率较低。
2.2.最简单的OPC客户端接口:
ExperionOPCDisplayClient
如果与第三方OPCServer进行通信,没有特殊要求,只需要在流程图中进行显示,则可以选择使用ExperionOPCDisplayClient方式来实现。
这种方式的特点是:
d)这种方式不需要专门的License许可
e)组态快捷、简单,不需要在QuickBuilder中组态SCADA通信点
f)组态好OPCDisplay后,剩下的工作就是在流程图中添加点信息即可
组态步骤:
g)首先确定第三方OPCServer的若干必要参数:
●第三方OPCServer的主机名/IP
●第三方OPCServer的ProgID。
关于这个ProgID,在不知道的情况下,可以通过枚举的方法获得,具体获得方法参见附录中的获得OPCServerProgID的方法部分的描述。
●与第三方通信点信息,包括完整的点参数和点类型信息。
在获得了点参数信息后,还需要规划Group(组),每一个Item(点参数)都必须属于一个Group,每一Group可以包含几十或几百个Item,每一个Group内的Item都使用相同的Update时间、Deadband(死区)等一些公共特性。
在Experion中的OPCDisplayClient每规划一个组就需要建立一个OPCDisplay的的SystemInterface,每一个OPCDisplayInterface缺省的可容纳Item的数量为500个,所以实际组态时可以根据实际情况规划Group的数量。
h)利用通用OPCClient软件测试与第三方OPCServer的通讯以及连接是否正常(具体方法参见附录中的利用通用OPCClient与OPCServer连接并通信部分),如果利用通用的OPCClient无法连接到第三方OPCServer,那么Experion也不会正常连接。
i)组态SystemInterface:
OPCDisplay
●首先打开Station,并选择菜单:
Configure->
SystemHardware->
SystemInterfaces,进入到SystemInterfaces组态界面,如图:
●在SystemInterfaces界面的Type项的下拉菜单中选择“OPCDISPLAY”,选择好后,再单击后面Alias项中的“-”,进入到OPCDisplay组态界面(这里以1号SystemInterface为例)。
●在OPCDisplay组态界面中的Configuration选项卡中,输入下图中所示的信息
●当配置完成后,如果与OPCServer连接正常,在Status选项卡中,可以看到连接状态,如图所示的连接状态就是正常的。
j)当OPCDisplay组态完成后,就可以在流程图中组态具体的点了,具体步骤如下:
●打开HMIDisplayBuilder,并在图中插入一个Alphanumeric对象
●在这个Alphanumeric对象的属性窗口中的Data选项卡中,输入OPC通信点信息,如图(这里的通信点是测试点,具体测试点的名称和内容参见利用通用OPCClient与OPCServer连接并通信中对测试点的说明)
保存流程图,并在Station中运行这张图
●如果想测试OPCWrite,则直接在Station中选中并输入测试数字即可,如图:
2.3.通用的OPC客户端接口:
ExperionOPCClientInterface
当Experion作为一个主系统与一些小规模的系统进行通信时,通常可以采用ExperionOPCClientInterface,大多数情况下,通信都可以使用这个客户端接口。
这个客户端接口需要License授权。
与ExperionOPCDisplayClient相比,ExperionOPCClientInterface需要在QuickBuilder中组态,并且在组态时可以组态报警、趋势等功能,同时也可以组态OPCWrite功能,OPCWrite的组态方式与MODBUS的组态类似。
与OPCDisplayClient一样,OPCClientInterface只能进行实时数据的读写操作(OPCDA)。
与MODBUS基本类似,ExperionOPCClientInterface的组态相对也比较简单,在获得必要参数后,需要组态Channel、Controller和Point。
具体过程如下:
k)首先确认在QuickBuilder中的Tools->
ComponentManager中Device中“OPC”是被选中的(如图)。
l)创建OPCChannel,选择OPCChannel并填写参数