From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.



LabVIEW DSC模块OPC客户端性能考虑



主要软件:
主要软件版本: 8.2
主要软件修正版本: N/A
次要软件: N/A

问题:
LabVIEW DSC模块OPC客户端I/O服务器的速度有多快?怎样配置LabVIEW DSC到OPC服务器的连接是最有效的方式?

解答:
OPC技术概述

OPC是一种基于Microsoft DCOM技术的有损工业通信协议,并且符合OPC 规范。  LabVIEW DSC可用于OPC客户端I/O服务器(一个OPC DA 2.x和3.0客户端) 与一个第三方OPC DA 2.x或3.0服务器连接共享变量。

DSC OPC客户端I/O服务器如何从OPC服务器获取更新

DSC模块OPC客户端I/O服务器是使用基于OPC DA规范定义的综合轮询和异常的方法来从OPC服务器获取更新。  在OPC客户端I/O服务器属性对话框中设置的更新速率定义了OPC客户端从OPC服务器获取更新的最大速率。 

例如,如果最大速率设置被为200ms,那么OPC客户端从OPC服务器获取更新的速率将不超过200ms。  如果OPC服务器上的OPC数据项在200ms的时间间隔之内被更新,这些更新将被打包成单个消息然后发给OPC客户端。 

如果OPC服务器上的OPC数据项没有更新,那么也不会有更新被发送到OPC客户端,直到至少有一个更新。 如果OPC服务器上的数据项更新速率比客户端指定的更新速率还要快,那么最近的一个数值将在下一个更新周期被送到OPC客户端。

根据更新速率对共享变量进行分类可以改善DSC OPC客户端I/O服务器的性能

在大多数应用程序中,都可以根据每一个I/O项更新速率的优先级的不同别将I/O项分成不同的组。  与OPC服务器相连接时,为了获得最大性能,必须限制以最大更新速率读取的I/O项的数目。  在LabVIEW DSC中实现非常简单,只需要创建多个指向同一OPC服务器但是更新速率不同的OPC客户端I/O服务器。

考虑下面的情况:
一个OPC服务器有5000个数据项。其中,有1000个数据项优先级最高,需要高达100 ms的更新速率。  其余4000个数据项优先级略低,1000 ms的更新速率已经足够。

使用LabVIEW DSC的解决方案是创建2个指向同一OPC服务器的OPC客户端I/O服务器的实例。 在LabVIEW工程中,创建一个库,然后配置2个OPC客户端I/O服务器,一个命名为OPC 100 ms,另一个命名为OPC 1000 ms。将每一个I/O服务器都配置为指向同一个OPC服务器,但是分别指定它们的更新速率。  

多变量编辑器来创建绑定至OPC客户端I/O服务器的更新速率为100ms的共享变量集,然后用同样的方法创建绑定至OPC客户端I/O服务器的更新速率为1000 ms的共享变量集。

即使1000 ms集中的OPC数据项(内部连接到OPC服务器)更新速率大于1000 ms,只有高达1000 ms时更新才被送到LabVIEW共享变量(通过OPC客户端I/O服务器)。  100ms集中的OPC数据项的最大更新传输速率为100ms。这会限制系统负载,并且提供更好的整体性能。 

如果需要高速连接大量的OPC数据项,可以考虑在一台独立PC上部署一个简单DSC 模块应用程序来读取OPC项。  绑定至这台专用PC上共享变量的共享变量可用于从网络上的其他DSC 模块应用程序远程访问这台专用PC上的数据项。

最大更新率整体性能

整体性能很大程度上都取决于系统配置和连接的OPC服务器。  在使用NI共享变量引擎OPC服务器与DSC 模块OPC客户端I/O服务器的连接测试中,NI工程师在启用事件记录和警告功能的情况下可以达到的稳定更新速率,将近每秒钟6500次更新。

相关链接:

附件:





报告日期: 01/25/2007
最近更新: 06/05/2007
文档编号: 45O9L9NF