在OPC中使用基金会现场总线

更新 Nov 18, 2021

环境

驱动

  • NI-FBUS

本文讨论了如何使用开放的OPC(用于过程控制的OLE)接口访问基金会现场总线网络和设备。

NI-FBUS通信管理器随附了一个OPC数据访问服务器。
(NI-FBUS Configurator自动包含NI-FBUS通信管理器。)

以下是NI-FBUS通讯管理器不同版本的OPC相关信息:
-NI-FBUS通讯管理器2.3.5

  • 支持基金会现场总线H1通信。
  • 支持OPC数据访问1.0。

-NI-FBUS通讯管理器2.3.6和3.0

  • 支持基金会现场总线H1和HSE通信。
  • 支持OPC数据访问2.0。

-NI-FBUS通讯管理器3.1

  • 支持基金会现场总线H1和HSE通信。
  • 支持OPC数据访问2.05a。
  • 通过OPC数据访问2.05a一致性测试。有关详细信息,请参见www.opcfoundation.org上的合规性测试结果。
  • 一个新的地址空间旨在支持多个链接和多个设备以有效访问数据。
  • 通过基于VIEW的机制提高了数据访问性能,尤其是对于ARRAY类型的数据访问而言。
  • 改善了OPC服务器的稳定性。
强烈建议升级到NI-FBUS Communications Manager 3.1,以提高效率和稳定性。

OPC服务器配置

NI-FBUS OPC数据访问服务器易于配置。

对于基金会现场总线H1通信,您需要:

  1. 设置NI基金会现场总线接口卡

  2. 安装NI-FBUS通信管理器(或NI-FBUS配置器)

  3. 导入设备的设备描述文件

根据您的接口卡,请参阅《 AT-FBUS入门手册》,《 PCI-FBUS入门手册》或《 PCMCIA-FBUS入门手册》。

对于基金会现场总线HSE通信,您需要:

  1. 设置FBUS-HSE / H1链接设备

  2. 安装NI-FBUS通信管理器(或NI-FBUS配置器)

  3. 导入设备的设备描述文件

请参阅《 HSE链接设备入门手册》。

配置完成后,您可以将设备连接到接口卡和链接设备。 NI-FBUS OPC数据访问服务器将自动检测设备及其块。

OPC数据类型映射规则

基金会现场总线中共有三种数据类型:SIMPLE,ARRAY和RECORD。
SIMPLE类型和ARRAY类型变量被视为OPC地址空间中的叶节点。 RECORD类型变量被视为分支节点,这意味着您不能直接访问记录类型变量,而只能一个一个地访问其字段。

下表显示了数据类型映射规则。

表1. OPC数据类型映射规则

 

基金会现场总线地址空间

NI-FBUS OPC数据访问服务器根据基金会现场总线层次结构定义地址空间:

  • 顶层是链接

  • 第二层是连接到每个链接的设备

  • 第三级是每个设备下的VFD

  • 第四级是每个VFD下的块

  • 第5级和第6级是每个块下的参数。 SIMPLE和ARRAY类型参数是叶节点,而RECORD类型参数是分支节点。

图1显示了典型的基金会现场总线地址空间。

通过简单的OPC客户端访问基金会现场总线

服务器浏览器是OPC客户端,它随NI-FBUS软件一起提供。以下步骤显示了如何使用服务器资源管理器访问基金会现场总线:
1.启动服务器资源管理器
2.连接NI-FBUS OPC数据访问服务器:

  1. 右键单击NIFB_OPCDA.3>连接到服务器…,然后弹出OPC连接对话框

  2. 单击连接关闭对话框,服务器图标变为绿色。

3.添加一个OPC组:

  1. 右键单击NIFB_OPCDA.3>添加/编辑组…,然后弹出OPC服务器:NIFB_OPCDA.3对话框

  2. 在对话框中单击添加>>

  3. 单击确定关闭对话框,并在服务器图标下添加一个组Gr1图标

4.添加OPC项:

  1. 右键单击Gr1->>添加/编辑项目…,然后弹出OPC组:Gr1对话框

  2. 项目定义区域中选择项目

  3. 单击添加>>,然后将项目添加到名称(设备\项目)区域

  4. 单击确定关闭对话框,并将项目图标添加到组图标中,并且项目列在服务器资源管理器的右侧区域中

5.阅读OPC项:

  1. 右键单击要阅读的项目->属性…,然后弹出 OPC项对话框

  2. 切换到读写AsyncIO

  3. 点击阅读!纽扣

6.编写一个OPC项:

  1. 右键单击要编写的项目->属性...,然后弹出 OPC项对话框

  2. 切换到读写AsyncIO

  3. 输入值,然后单击写!按钮。

开发技巧

使用这些技巧可帮助您开发更高效的FOUNDATION Fieldbus OPC应用程序。

  • 一次阅读多个项目,而不是一个一个地阅读
    由于OPC服务器针对多项目操作进行了优化,因此一次读取多个项目要比逐个读取项目快。出于相同的原因,一次添加多个项目,然后一次刷新多个项目。

  • 添加多个OPC组,而不是一个
    对于大多数应用程序,要读取的项目远远大于要写入的项目。添加多个OPC组而不是仅一个组就可以有效地组织OPC项目。
    例如,将您要监视的项目放入一个组,然后将您要写入的项目放入更新速度较慢(例如10s)的另一个组中。这样,写入操作将不会被读取操作延迟。 OPC客户端通常为一台OPC服务器支持多个服务器实例和/或多个组。 OPC客户端仅支持多个服务器实例,每个服务器仅支持一组。您可以改为创建多个服务器实例。

  • 不要将太多的静态项目放入监视组
    基金会现场总线中的参数可以分为两组:静态项目(在VIEW_2和VIEW_4.x中)和动态项目(在VIEW_1和VIEW_3.x中)。
    您可以将静态项目放入更新速度慢的OPC组中,因为这些项目很少更改。

  • 为每个OPC组设置适当的更新速率
    由于基金会现场总线H1的速率仅为31.25Kb / s,因此OPC组更新速率不能太快。为每个OPC组设置适当的更新速率可以节省通信带宽。

    您可以通过以下步骤找到特定OPC组的建议最快更新速率:

    1. 通过OPC客户端(例如服务器浏览器)连接NI-FBUS OPC服务器

    2. 添加组G1

    3. 将您要监视的项目添加到组

    4. 将组更新速率设置为一个较小的值,例如100ms,并将OPC客户端显示的实际更新速率作为建议的更新速率。

 

结论

NI-FBUS OPC数据访问服务器为FOUNDATION Fieldbus提供开放的OPC接口。在服务器的帮助下,我们可以有效地访问基金会现场总线网络。