在本教程的第二部分,您将完成下列任务:

  • 创建地址空间
  • 读/写节点的值
  • 在UA本地检测到的服务器(LDS)中注册和取消注册OPC UA服务器
  • 读取、更新和删除节点的历史数据
  • 读取条件的历史事件
  • 更新和删除条件的历史事件

创建地址空间

使用OPC UA服务器VI创建OPC UA服务器地址空间后,即可使用地址空间存储数据。地址空间由OPC UA服务器允许OPC UA客户端浏览的节点组成。节点包含下列元素:
  • 文件夹
  • 属性
  • 通知器
  • 条件

创建地址空间包含下列步骤:

  • 在地址空间中创建文件夹
  • 添加通知器作为文件夹的子项
  • 添加源节点至通知器
  • 添加条件节点至通知器
  • 添加项作为文件夹的子项
  • 添加属性至项

使用对象

如需在地址空间中创建文件夹,请使用下列对象:

添加文件夹VI 添加通知器VI 添加项VI 添加条件VI 添加属性VI

步骤

如需为OPC UA服务器创建地址空间,请创建下列程序框图:

下面列出了上述程序框图的要点:

  1. 添加文件夹 VI创建名为Folder1的文件夹。
  2. 添加通知器 VI添加名为Dialog Notifier的通知器。添加项VI将名为Source Node的项添加至Dialog Notifier
  3. 添加条件 VI将对话框条件节点添加至地址空间。
  4. 添加项VI在地址空间的顶层创建名为Item的项。添加属性VI将名为Property的属性添加至Item
  5. (可选)删除节点VI删除下列节点:
    • Dialog Notifier节点。
    • Source Node,即Dialog Notifier的子源节点。
    • Dialog Condition,即Dialog Notifier节点的子条件节点。
    删除节点前,可使用停止VI停止OPC UA服务器。OPC UA服务器停止后,可进行下列操作:
    • 添加节点至UPC UA服务器
    • 更改节点位置
    删除节点后,可使用启动VI重新启动OPC UA服务器。

读/写节点的值

使用OPC UA服务器VI可在OPC UA服务器上执行下列操作:
  • 读取节点的值。
  • 向节点写入值。

使用对象

如需读取和写入OPC UA服务器中节点的值,请使用下列对象:

添加文件夹VI 添加项VI 添加属性VI 读取VI 写入VI

步骤

通过读取和写入OPC UA服务器中节点的值,可进行下列操作:
  • 读取节点的值。
  • 读取节点的时间标识。
  • 读取节点的状态。
  • 向节点写入值。

下面列出了上述程序框图的要点:

  1. 读取 VI读取Item1的值、时间标识和状态。
  2. 写入 VI将值1234和状态Good写入添加项VI所创建的项。

在LDS中注册和取消注册OPC UA服务器

用户可使用OPC UA服务器VI通过LDS注册OPC UA服务器,也可通过LDS取消注册OPC UA服务器。

使用对象

如需通过LDS注册或取消注册OPC UA服务器,请使用下列对象:

注册服务器VI 取消注册服务器VI

步骤

如需通过LDS注册或取消注册OPC UA服务器,请创建下列程序框图:

下面列出了上述程序框图的要点:

  1. 服务器只信任有效的LDS证书文件。本地检测到的服务器证书文件指定LDS使用的证书文件的路径。必须确保OPC UA服务器和LDS相互信任。将服务器证书文件放在LDS公共密钥基础设施信任的文件夹中。
  2. 注册服务器 VI通过LDS注册OPC UA服务器。必须在服务器启动前使用该VI。服务器启动后,该VI将服务器注册至LDS。
  3. 取消注册服务器 VI通过LDS取消注册OPC UA服务器。服务器停止后,该VI将脱机注册发送至LDS。如需在服务器再次启动后通过LDS注册服务器,必须使用注册服务器VI。

读取、更新和删除历史数据

使用OPC UA服务器VI中的访问历史VI可读取、更新和删除历史数据。历史数据是指为支持历史访问的节点所存储的时间序列数据。下列范例为历史数据:
  • 设备数据
  • 计算数据
  • 状态信息
  • 动态变化的系统数据
  • 诊断数据

使用对象

䢕读取、更新和删除历史数据,请使用下列对象:

表 5.
添加文件夹VI 添加项VI 写入VI 读取历史数据VI 更新历史数据VI 删除历史数据VI

步骤

如需读取、更新和删除历史数据,请创建下列程序框图:

下面列出了上述程序框图的要点:

  1. 读取历史数据 VI读取Item1在指定时间范围内的历史数据。
  2. 更新历史数据 VI更新Item1在指定时间标识处的历史数据。
  3. 删除历史数据 VI删除Item1的历史数据。

读取历史事件

使用OPC UA服务器VI中的访问历史VI可读取历史事件。历史事件是指存储在某些历史系统中的时间序列事件。下列范例为历史事件:
  • 通知
  • 系统警报
  • 操作员操作事件
  • 系统触发

使用对象

如需读取历史事件,请使用下列对象:

表 6.
添加通知器VI 添加项VI 写入VI 添加条件VI 读取历史事件VI

步骤

如需读取历史事件,请创建下列程序框图:

下面列出了上述程序框图的要点:

  1. 添加通知器 VI将通知器添加至OPC UA服务器。如需建立事件层次结构,可添加条件节点和源节点作为通知器的子节点。
  2. 写入VI将FALSE值写入Source Node。由于Source Node的更新值与Normal State Node的值不匹配,该操作将触发异常警报。
  3. 读取历史事件 VI读取通知器中的历史事件。

更新和删除历史事件

使用OPC UA服务器VI中的访问历史VI可更新和删除历史事件。历史事件是指存储在某些历史系统中的时间序列事件。下列范例为历史事件:
  • 通知
  • 系统警报
  • 操作员操作事件
  • 系统触发

使用对象

如需更新和删除历史事件,请使用下列对象:

表 7.
添加通知器VI 添加项VI 写入VI 添加条件VI 更新历史事件VI 删除历史事件VI

步骤

如需更新和删除历史事件,请创建下列程序框图:

下面列出了上述程序框图的要点:

  1. 更新历史事件 VI更新通知器中的历史事件。
  2. 删除历史事件 VI删除通知器中的历史事件。