OPC-UA Client 支持的访问
本页面介绍 OPC-UA Client 驱动程序支持的数据元素和数据类型。
数据类型和数据转换
OPC-UA Client 驱动程序支持 OPC 数据类型及其到运行时数据类型的映射,如下所示:
OPC 数据类型 | 运行时数据类型 |
|---|---|
| BOOL | BOOL |
| BYTE | UINT1 |
| SBYTE | INT1 |
| STRING | STRING |
| DOUBLE | FLOAT8 |
| FLOAT | FLOAT4 |
| INT16 | INT2 |
| INT32 | INT4 |
| INT64 | INT8 |
| UINT16 | UINT2 |
| UINT32 | UINT4 |
| UINT64 | UINT8 |
| BYTE_STRING | STRING |
特殊数据处理
OPC 数组
在 OPC-UA 服务器上,包含数组值的变量是动态的,这意味着它们可以在初始化后更改长度。deviceWISE 静态处理数组大小,并且将不支持在初始化数组后更改数组大小。
较新的 OPC-UA 服务器支持读取和写入数组中的特定索引范围。如果此功能在服务器上实现,则 UA Client 将支持该功能。读取或写入不支持此功能的 OPC-UA 服务器将导致事务失败和 -6236 错误代码。不具有此支持的服务器仍可进行全数组读取和写入。
不支持多维数组读取和写入
OPC 字符串
UA Client 驱动程序中的字符串和字节字符串处理也需要特殊处理,因为 OPC-UA 服务器中的字符串是动态调整大小的。UA Client 驱动程序会将最小字符串长度设置为 64 个字符。用户可以通过在设备定义的其他属性部分中定义一个名为 Mininum String Size(最小字符串大小)、数值介于 0 到 65535 之间的属性来更改最小字符串大小。 如果字符串变量在初始化时超过了默认字符串大小,则将设置字符串大小以匹配变量的长度。字符串和字节字符串数组元素也将默认为 64 个字符。如果数组中的任何元素超过此大小,则数组中所有元素的最大长度将设置为枚举时最长的元素的长度。
OPC 变量
OPC-UA 支持在变量中包含变量。为了在 deviceWISE 中显示子变量,将创建一个结构,其中父变量的名称后面带有下划线。子变量节点将放置在此结构内。
OPC 结构
OPC UA 规范允许结构可读。该结构是包含不同数据类型的子元素的顶层元素。在结构级别读取的功能将提供结构内子元素值的二进制表现形式。在这些情况下,可以读取结构,但不能单独读取子元素。该行为通常与包含数据成员的结构相关联,且这些数据成员的值很少发生更改。例如,包含有关硬件信息(型号、固件级别等很少发生更改的项目)的结构。
如果 OPC UA Server 允许读取 OPC 结构标签,则 OPC UA Client 驱动程序将提供读取这些标签的功能。可以使用 Set(设置)动作、Device Demand Read(设备需求读取)动作或 Device Enhanced Demand Read(设备增强版需求读取)动作从 deviceWISE 触发器中读取这些标签。将以二进制类型化数据返回数据。用户可以使用 Binary Decode Binary Buffer(二进制解码二进制缓冲区)动作将二进制数据解析为单独的数据元素。访问此数据的策略是使用 Set(设置)动作从 OPC UA Server 读取数据并将数据存储到具有二进制数据类型的触发器局部变量中。然后,局部变量将用作 Binary Decode Binary Buffer(二进制解码二进制缓冲区)动作的输入,以检索 OPC 结构标签中单独的数据标签。单独数据标签的值可以存储在全局变量设备中,以便在整个 deviceWISE 应用中使用。
例如:变量 X 具有子变量 Y 和 Z
deviseWISE 表示形式:
X(deviceWISE 变量)
X_(deviceWISE 结构)
(deviceWISE 变量,“X_”结构的成员)
Z(deviceWISE 变量,“X_”结构的成员)
将使用相应节点的“Display Name”(显示名称)来命名变量。
限制
下表列出了支持和不支持的节点类型。不支持的类型将不会显示在枚举中。
支持 | 不支持 |
|---|---|
| Variable(变量) | Method |
| Object(对象) | Reference_Type |
| Object_Type | |
| Variable_Type | |
| Data_Type | |
| View | |
| AnalogItemType |