第二部分:使用OPC UA服务器
- 更新时间2025-10-28
- 阅读时长8分钟
在本教程的第二部分,您将完成下列任务:
- 创建地址空间
- 读/写节点的值
- 在UA本地检测到的服务器(LDS)中注册和取消注册OPC UA服务器
- 读取、更新和删除节点的历史数据
- 读取条件的历史事件
- 更新和删除条件的历史事件
创建地址空间
使用OPC UA服务器VI创建OPC UA服务器地址空间后,即可使用地址空间存储数据。地址空间由OPC UA服务器允许OPC UA客户端浏览的节点组成。节点包含下列元素:
- 文件夹
- 项
- 属性
- 通知器
- 条件
创建地址空间包含下列步骤:
- 在地址空间中创建文件夹
- 添加通知器作为文件夹的子项
- 添加源节点至通知器
- 添加条件节点至通知器
- 添加项作为文件夹的子项
- 添加属性至项
使用对象
如需在地址空间中创建文件夹,请使用下列对象:
| 添加文件夹VI | 添加通知器VI | 添加项VI | 添加条件VI | 添加属性VI |
|
|
|
|
|
步骤
如需为OPC UA服务器创建地址空间,请创建下列程序框图:
下面列出了上述程序框图的要点:
- 添加文件夹 VI创建名为Folder1的文件夹。
- 添加通知器 VI添加名为Dialog Notifier的通知器。添加项VI将名为Source Node的项添加至Dialog Notifier。
- 添加条件 VI将对话框条件节点添加至地址空间。
- 添加项VI在地址空间的顶层创建名为Item的项。添加属性VI将名为Property的属性添加至Item。
- (可选)删除节点VI删除下列节点:
- Dialog Notifier节点。
- Source Node,即Dialog Notifier的子源节点。
- Dialog Condition,即Dialog Notifier节点的子条件节点。
- 添加节点至UPC UA服务器
- 更改节点位置
读/写节点的值
使用OPC UA服务器VI可在OPC UA服务器上执行下列操作:
- 读取节点的值。
- 向节点写入值。
使用对象
如需读取和写入OPC UA服务器中节点的值,请使用下列对象:
| 添加文件夹VI | 添加项VI | 添加属性VI | 读取VI | 写入VI |
|
|
|
|
|
步骤
通过读取和写入OPC UA服务器中节点的值,可进行下列操作:
- 读取节点的值。
- 读取节点的时间标识。
- 读取节点的状态。
- 向节点写入值。
下面列出了上述程序框图的要点:
- 读取 VI读取Item1的值、时间标识和状态。
- 写入 VI将值1234和状态Good写入添加项VI所创建的项。
在LDS中注册和取消注册OPC UA服务器
用户可使用OPC UA服务器VI通过LDS注册OPC UA服务器,也可通过LDS取消注册OPC UA服务器。
使用对象
如需通过LDS注册或取消注册OPC UA服务器,请使用下列对象:
| 注册服务器VI | 取消注册服务器VI |
|
|
步骤
如需通过LDS注册或取消注册OPC UA服务器,请创建下列程序框图:
下面列出了上述程序框图的要点:
- 服务器只信任有效的LDS证书文件。本地检测到的服务器证书文件指定LDS使用的证书文件的路径。必须确保OPC UA服务器和LDS相互信任。将服务器证书文件放在LDS公共密钥基础设施信任的文件夹中。
- 注册服务器 VI通过LDS注册OPC UA服务器。必须在服务器启动前使用该VI。服务器启动后,该VI将服务器注册至LDS。
- 取消注册服务器 VI通过LDS取消注册OPC UA服务器。服务器停止后,该VI将脱机注册发送至LDS。如需在服务器再次启动后通过LDS注册服务器,必须使用注册服务器VI。
读取、更新和删除历史数据
使用OPC UA服务器VI中的访问历史VI可读取、更新和删除历史数据。历史数据是指为支持历史访问的节点所存储的时间序列数据。下列范例为历史数据:
- 设备数据
- 计算数据
- 状态信息
- 动态变化的系统数据
- 诊断数据
使用对象
䢕读取、更新和删除历史数据,请使用下列对象:
| 添加文件夹VI | 添加项VI | 写入VI | 读取历史数据VI | 更新历史数据VI | 删除历史数据VI |
|
|
|
|
|
|
步骤
如需读取、更新和删除历史数据,请创建下列程序框图:
下面列出了上述程序框图的要点:
- 读取历史数据 VI读取Item1在指定时间范围内的历史数据。
- 更新历史数据 VI更新Item1在指定时间标识处的历史数据。
- 删除历史数据 VI删除Item1的历史数据。
读取历史事件
使用OPC UA服务器VI中的访问历史VI可读取历史事件。历史事件是指存储在某些历史系统中的时间序列事件。下列范例为历史事件:
- 通知
- 系统警报
- 操作员操作事件
- 系统触发
使用对象
如需读取历史事件,请使用下列对象:
| 添加通知器VI | 添加项VI | 写入VI | 添加条件VI | 读取历史事件VI |
|
|
|
|
|
步骤
如需读取历史事件,请创建下列程序框图:
下面列出了上述程序框图的要点:
- 添加通知器 VI将通知器添加至OPC UA服务器。如需建立事件层次结构,可添加条件节点和源节点作为通知器的子节点。
- 写入VI将FALSE值写入Source Node。由于Source Node的更新值与Normal State Node的值不匹配,该操作将触发异常警报。
- 读取历史事件 VI读取通知器中的历史事件。
更新和删除历史事件
使用OPC UA服务器VI中的访问历史VI可更新和删除历史事件。历史事件是指存储在某些历史系统中的时间序列事件。下列范例为历史事件:
- 通知
- 系统警报
- 操作员操作事件
- 系统触发
使用对象
如需更新和删除历史事件,请使用下列对象:
| 添加通知器VI | 添加项VI | 写入VI | 添加条件VI | 更新历史事件VI | 删除历史事件VI |
|
|
|
|
|
|
步骤
如需更新和删除历史事件,请创建下列程序框图:
下面列出了上述程序框图的要点:
- 更新历史事件 VI更新通知器中的历史事件。
- 删除历史事件 VI删除通知器中的历史事件。