Skip to content

OPC UA

OPC UA 是一种面向工业自动化的机器到机器通信协议,由 OPC 基金会开发维护。OPC UA 提供一种标准化的方式, 使不同的设备和系统能够互相通信。

Neuron OPC UA 插件可作为客户端访问 KEPServerEX、Industrial Gateway OPC Server、Prosys Simulation Server、Ignition 等 OPC UA 服务器,也可以直接访问硬件设备的内置 OPC UA Server,如西门子 S7-1200 型 PLC 的内置 Server、 欧姆龙 NJ 系列 PLC 的内置 Server 等。

TIP

OPC UA 服务端目前支持匿名方式、用户名/密码方式、证书/密钥 + 匿名方式和证书/密钥 + 用户名/密码方式等方式访问,具体可参考 OPC UA 连接策略

添加插件

配置 -> 南向设备,点击添加设备来创建设备节点,输入插件名称,插件类型选择 OPC UA 启用插件。

设备配置

点击插件卡片或插件列,进入设备配置页。配置 Neuron 与设备建立连接所需的参数,下表为 OPC UA 相关配置项。

参数说明
端点 URL目标 OPC UA Server 的 URL,默认值是 opc.tcp://127.0.0.1:4840/
用户名连接目标 OPC UA Server 使用的用户名
密码连接目标 OPC UA Server 使用的密码
证书DER 格式的客户端证书
密钥DER 格式的客户端密钥

设置组和点位

完成插件的添加和配置后,要建立设备与 Neuron 之间的通信,首先为南向驱动程序添加组和点位。

完成设备配置后,在南向设备页,点击设备卡片/设备列进入组列表页。点击创建来创建组,设定组名称以及采集间隔。完成组的创建后,点击组名称进入点位列表页,添加需要采集的设备点位,包括点位地址,点位属性,数据类型等。

公共配置项部分可参考连接南向设备,本页将介绍支持的数据类型和地址格式部分。

TIP

可以使用 UaExpert 软件协助查看所需点位的命名空间索引和节点 ID 信息,参考 UaExpert

  • 关于命名空间索引和节点 ID 的解释,请参考 OPC UA 标准。

  • Neuron 设置的数据类型必须与 OPC UA 数据类型相匹配。

数据类型

  • INT8(用于表示 OPC UA SBYTE 类型)
  • INT16
  • INT32
  • INT64
  • UINT8(用于表示 OPC UA BYTE 类型)
  • UINT16
  • UINT32(同时用于表示 OPC UA DATETIME 类型)
  • UINT64
  • FLOAT
  • DOUBLE
  • BOOL
  • STRING
  • ARRAY_CHAR
  • ARRAY_INT8
  • ARRAY_UINT8
  • ARRAY_INT16
  • ARRAY_UINT16
  • ARRAY_INT32
  • ARRAY_UINT32
  • ARRAY_INT64
  • ARRAY_UINT64
  • ARRAY_FLOAT
  • ARRAY_DOUBLE
  • ARRAY_BOOL

数据类型转换

OPC UA 数据类型Neuron 数据类型
SByteINT8
Int16INT16
Int32INT32
Int64INT64
ByteUINT8
UInt16UINT16
UInt32UINT32
UInt64UINT64
FloatFLOAT
DoubleDOUBLE
BooleanBOOL (采集值为true或false)
BooleanBIT (采集值为0或1)
StringSTRING
DatetimeUINT32
LocalizedText(只读)STRING
SByte ArrayARRAY_INT8
Int16 ArrayARRAY_INT16
Int32 ArrayARRAY_INT32
Int64 ArrayARRAY_INT64
Byte ArrayARRAY_UINT8, ARRAY_CHAR
UInt16 ArrayARRAY_UINT16
UInt32 ArrayARRAY_UINT32
UInt64 ArrayARRAY_UINT64
Float ArrayARRAY_FLOAT
Double ArrayARRAY_DOUBLE
Boolean ArrayARRAY_BOOL

ARRAY_CHAR 展示和写入形式为字符串。

地址格式

NS[x,y,z]!NODEID

NS 名字空间索引。

[x,y,z] 数组索引,当数据类型为数组时,可以使用索引获取到特定位置的数值,维度从 0 开始计数,维度不超过 2。 x 表示一维索引,y 表示二维索引,z 表示三维索引。

NODEID 节点 ID,可以设置为数字形式、字符串形式和 GUID 形式。

地址示例

地址数据类型说明
0!2258UINT32使用数字类型的 NODEID,获取 OPC UA 服务器的时间戳;NS 为0,NODEID 为2258
2!Device1.Module1.Tag1INT8使用字符串类型的 NODEID,获取类型为 SBYTE 的数据点;NS 为2,NODEID 为 Device1.Module1.Tag1
0!c496578a-0dfe-4b8f-870a-745238c6ae00BOOL使用 GUID 类型的 NODEID,获取类型为 BOOL 的数据点;NS 为0,NODEID 为c496578a-0dfe-4b8f-870a-745238c6ae00
1[2]!array1d[string]STRING访问 STRING 数组的第 3 个元素;NS 为1,NODEID 为 array1d[string], 一维索引为 2
1[2,3]!array2d[int]INT32访问 INT32 数组的第 3 行,第 4 列的元素;NS 为1,NODEID 为 array2d[int], 一维索引为 2,二维索引为 3
1[2,3,4]!array3d[float]FLOAT访问 FLOAT 数组的第 3 行,第 4 列,第 5 个元素;NS 为1,NODEID 为 array3d[float], 一维索引为 2,二维索引为 3,三维索引为 4

应用场景

本节还提供以下应用场景示例,方便您快速上手:

数据监控

完成点位的配置后,您可点击 监控 -> 数据监控查看设备信息以及反控设备,具体可参考数据监控