Appearance
OPC UA 设备接入
本文演示如何将 OPC UA 设备接入平台。OPC UA 设备通常作为网关设备接入,平台通过 OPC UA 客户端连接设备的 OPC UA 服务器,读取节点数据。
接入流程
创建子产品 → 配置物模型 → 添加 OPC UA 设备 → 添加子设备 → 配置采集器 → 查看数据前置条件: 平台已内置 OPC UA 驱动,对应的网络组件和网关产品已自动创建。
OPC UA 通信说明
OPC UA 设备本身作为 OPC UA 服务器,平台作为客户端连接并读取数据。核心概念:
| 概念 | 说明 |
|---|---|
| 节点地址(Node ID) | OPC UA 中每个数据点的唯一标识 |
| 命名空间(Namespace) | 节点所属的命名空间索引 |
| 标记(Tag) | 要读取的数据点,对应一个节点地址 |
OPC UA 设备通过节点地址寻址,不依赖从机地址。
步骤 1:创建子产品
进入 基础信息 → 产品配置,点击"新增":
| 配置项 | 填写内容 | 说明 |
|---|---|---|
| 名称 | 温度控制器 | 自定义产品名称 |
| 产品类型 | 控制器 | 根据实际设备选择 |
| 产品代码 | temp_controller | 自定义产品代码 |
| 设备类型 | 网关子设备 | 可选值:直连设备 / 网关设备 / 网关子设备 |
| 父产品 | 默认 OpcUa 网关产品 | 仅设备类型选“网关子设备”时显示,系统已预置的网关产品 |
步骤 2:配置物模型
2.1 新增属性
| 属性名称 | 标识符 | 数据类型 | 单位 | 读写类型 |
|---|---|---|---|---|
| 设定温度 | set_temp | float | ℃ | 可读可写 |
| 当前温度 | cur_temp | float | ℃ | 只读 |
| 运行状态 | run_status | int | — | 只读 |
2.2 新增事件模型(采集数据)
事件模型的基本表单字段:
| 字段 | 说明 |
|---|---|
| 事件名称 | 自定义名称,如“读取温度” |
| 协议指令 | 从 OPC UA 驱动提供的指令列表中选择读取指令 |
| 接口代码 | 自定义唯一标识,如 readTemp |
| 频率标签 | 默认 / 低频 / 中频 / 高频,配合采集器的频率标签使用 |
| 事件说明 | 可选,描述该事件模型的用途 |
选择协议指令后,会出现下行配置和上行配置两个选项卡,配置项根据所选指令动态变化。
| 配置项 | 填写内容 |
|---|---|
| 事件名称 | 读取温度 |
| 协议指令 | 选择 OPC UA 驱动提供的读取指令 |
| 接口代码 | readTemp |
| 频率标签 | 默认 |
| 事件说明 | 读取当前温度数据 |
| 下行配置 - nodeAddress | ns=2;s=Temperature(按设备实际节点地址填写) |
| 上行配置 - value | @cur_temp |
OPC UA 的节点地址格式为
ns=X;s=YYY,其中 X 是命名空间索引,YYY 是节点标识。具体值需要从设备的 OPC UA 服务器文档中获取。
2.3 新增功能模型(控制设备)
功能模型的基本表单字段:
| 字段 | 说明 |
|---|---|
| 功能名称 | 自定义名称,如“设置温度” |
| 协议指令 | 从 OPC UA 驱动提供的指令列表中选择写入指令 |
| 接口代码 | 自定义唯一标识,如 setTemp |
| 序号 | 用于标识接口的重要程度,值越低排序越靠前 |
| 功能说明 | 可选,描述该功能模型的用途 |
选择协议指令后,会出现下行配置选项卡,配置项根据所选指令动态变化。
| 配置项 | 填写内容 |
|---|---|
| 功能名称 | 设置温度 |
| 协议指令 | 选择 OPC UA 驱动提供的写入指令 |
| 接口代码 | setTemp |
| 序号 | 1 |
| 功能说明 | 设置目标温度 |
| 下行配置 - nodeAddress | ns=2;s=SetTemperature |
| 下行配置 - value | @set_temp |
下行值说明: 下行值可以写死固定值(如
25.0),也可以用@属性字段动态绑定模型属性的值。对于有多个状态的控制场景(如开关),建议先添加一个布尔类型的模型属性,配置字典(如“开”=1、“关”=0),再用@属性字段绑定,在界面上通过下拉框选择来控制设备。
步骤 3:添加 OPC UA 设备
进入 设备管理 → 工业网关设备 → OPC UA 设备,点击"新增":
| 配置项 | 填写内容 | 说明 |
|---|---|---|
| 所属产品 | 选择系统预置的 OPC UA 网关产品 | 自动关联 |
| 设备编号 | OPCUA-001 | 自定义编号 |
| 设备名称 | 车间温度控制器 | 自定义名称 |
| 设备地址 | 车间控制柜(可选) | 设备安装位置,非必填 |
| 主机地址 | 192.168.1.200 | OPC UA 服务器的 IP 地址 |
| 端口 | 4840 | OPC UA 默认端口 |
| 用户名 | (留空) | 如果设备不需要认证则留空(匿名访问) |
| 密码 | (留空) | 同上 |
步骤 4:添加子设备
在 设备管理 → 工业网关设备 → OPC UA 设备 列表中,找到步骤3创建的网关设备(车间温度控制器),点击右侧的 "子设备" 按钮,弹出子设备列表框,点击"新增":
| 配置项 | 填写内容 | 说明 |
|---|---|---|
| 所属产品 | 温度控制器(步骤1创建的子产品) | 自动继承物模型 |
| 设备编号 | CTRL-01 | 自定义唯一标识 |
| 设备名称 | 1号温度控制器 | 自定义名称 |
| 设备地址 | 车间北侧(可选) | 设备安装位置,非必填 |
| 是否批量读取 | 否 | 启用后可合并多个节点的读取请求 |
| 单次最大标记数 | 100 | 批量读取时单次请求的最大节点数 |
添加完成后,该设备自动成为当前 OPC UA 网关的子设备,无需手动关联父设备。OPC UA 子设备通过节点地址寻址,设备编号只需保证唯一即可。
步骤 5:配置采集器
进入 数据采集 → 采集器,新增采集器:
| 配置项 | 填写内容 |
|---|---|
| 事件类型 | 采集器 |
| 产品列表 | 温度控制器 |
| 频率标签 | 默认 |
步骤 6:查看数据
- 进入 运行管控 → 运行展板,查看设备在线状态和实时数据
- 进入 数据中心 → 模型数据,查看历史数据曲线
常见问题
Q: 设备显示离线? 检查 OPC UA 服务器的 IP 和端口是否正确,确认网络可达。如果设备需要认证,确认用户名和密码正确。
Q: 采集不到数据? 确认事件模型中配置的节点地址(nodeAddress)是否正确。可以通过 OPC UA 客户端工具(如 UaExpert)先验证节点地址是否可用。
Q: 如何获取节点地址? 使用 OPC UA 客户端工具连接设备,浏览服务器的节点树,找到需要读取的数据点对应的节点地址(ns=X;s=YYY 格式)。
