Skip to main content

OPC UA 类型到 IEC 类型的映射

基本数据类型的映射

1. 基本数据类型

OPC UA

国际电工委员会

描述

基本类型

Boolean

BOOL

Byte

BYTE

SByte

SINT

Int16

INT

UInt16

UINT

INT32

DINT

UInt32

UDINT

Int64

LINT

UInt64

ULINT

FLOAT

REAL

Double

LREAL

Duration

LREAL

DateTime

LDATEANDTIME

UtcTime

LTIME

String

STRING

简单字符串转换为 IEC 字符串。

IEC 字符串的长度可以在之后更改,并且可以不受限制地选择。

LocalizedText

STRING

可定位字符串映射到 IEC 字符串。

特殊类型:

NodeId

Bytestring

XmlElement

Guid

ExpandedNodeId

StatusCode

QualifiedName

LocalizedText

ExtensionObject

DataValue

DiangosticInfo

目前不支持

例子: OpcUA_NodeId

从OPC UA规范映射到相应的类型: OpcUA_<name>

例子: OpcUA_NodeId

遗产

所有 OPC UA 类型都允许继承。例如,新类型也可以从 StringInt32.

注意:从基类型派生时,基类型用作映射的基础。因此,派生的 OPC UA 类型在 IEC 中不再可用。

_cds_img_opc_ua_map_object_inheritance.png

BaseObjectType 作为数据类型

见说明

如果信息模型中的一个变量允许多个特定的对象类型,并且由模型的用户来选择特定的类型,那么只需 BaseObjectType 被指定为变量的类型。一般, CODESYS 在这种情况下生成自己的功能块,并在那里插入任何现有的子元素。但是,用户可以删除此功能块并在声明中使用另一种对象类型。唯一的限制是它必须是来自相同信息模型的对象类型。

VariableType

见说明

除了数据类型,OPC UA 中的变量还可以有一个 VariableType 通过一个 HasTypeDefinition 参考。这通常用于用附加元数据装饰变量(AnalogItemType, EngineeringUnits, ETC。)。

因为一个变量在 IEC 中只能有一个类型,所以生成了一个结构:

  • 包含一个名为“value”的变量,用于数据类型的实际值

  • 包含一个名为“properties”的变量,可用于访问其他元数据。

对于 OPC UA 客户端,生成的结构是不可见的。正如预期的那样,它只将变量处的正确数据类型和元数据视为子元素。

_comm_img_opc_ua_variabletype.png


对象类型的映射

提示

所有声明都被声明为局部变量 VAREND_VAR.用户可以根据需要更改声明 VAR_INPUTVAR_OUTPUT.

2. 对象类型

OPC UA

国际电工委员会

描述

OPC UA 对象类型

功能块

接口和插件

功能块

接口的成员是功能块的成员。

例子:

_cds_img_opc_ua_map_interfaces.png

遗产

不是使用“扩展”生成多个功能块,而是生成一个平面层次结构。

例子:

_cds_img_opc_ua_map_object_inheritance.png

文件夹

OPC UA 对象类型中文件夹的每个实例的单独类型

用户可以通过编辑 IEC POU 的声明自行添加实例。但是,必须使用源自 OPC UA 伴侣的功能块。

导出文件夹下的所有功能块实例。基于 NodeSet2.xml 的语义检查是不可能的。

最初,文件夹是 OPC UA 中的一种对象类型。一种 FolderType 生成是不够的。

_cds_img_opc_ua_map_folder.png

将适当的项目添加到文件夹是用户的责任。

BaseObjectType 作为文件夹

见说明

(至于文件夹)

OPC UA 为文件夹定义了一种单独的数据类型: FolderType (见上文:文件夹)。但是,也有可能只申报 BaseObjectType 在一个实例中而不是这种类型,然后像文件夹一样使用这种类型。从 OPC UA 方面来看,对于允许作为子元素的内容没有任何限制。在这种情况下,到 IEC 的映射看起来与 FolderType.



结构化数据类型的映射

3. 结构化数据类型

OPC UA

国际电工委员会

结构

待测物

Union

目前不支持

可选成员

目前不支持

遗产

关于对象类型的实现



OPC UA 引用类型的映射

4. OPC UA 引用类型

OPC UA

OPC UA 中的含义

IEC 中的映射

Organizes

通常只有这种类型的派生是相关的。例外情况是文件夹直接映射到 IEC,请参阅 OPC UA 类型到 IEC 类型的映射

HasSubtype

OPC UA 类型到 IEC 类型的映射

HasTypeDefinition

  • UA 类型按照 IEC 编译时,用于收集一个类型的所有元素

  • 然后,OPC UA 服务器再次引用 IEC 中的实例声明,并引用信息模型中的类型。

  • HasTypeDefinition 对于 OPC UA 变量,当前仅支持变量类型具有与数据类型相同的成员的特殊情况。然后在 IEC 中允许对 DUT 实例的单个变量进行单一访问。

HasComponent

变量和对象在 IEC 中被映射为变量。因此,每个 HasComponent reference 成为 IEC 中的变量声明。方法也成为 IEC 中功能块的方法。

用户必须在 信息模型编辑器 在生成 IEC POU 之前。可以选择或取消选择可选成员,并且可以为占位符生成具体成员。

HasProperty

在 OPC UA 中,属性具有过程数据的附加元信息的特征。它们可以是静态的,例如工程单位。但它们也可以在服务器运行时发生变化。

在 IEC 中,此引用的处理方式与 HasComponent.因此,在功能块中也为此创建了变量。一个未解决的问题是 UA 中变量属性的处理(通过绕过 HasTypeDefinition 和 VariableType)。在 IEC 中,变量类型 INT 将不得不再次结构化并生孩子。目前,OPC UA 中变量的属性被忽略,无法从 IEC 访问。



有关详细信息,请参阅: 使用 OPC UA 信息模型