- {{item.name}}
在OPC UA的类型系统中,“变量类型”和“数据类型”有什么区别?
- 0
- 736
- 4
OPC UA的地址空间由节点和引用定义。要理解“变量类型”和“数据类型”之间的区别,您必须首先了解OPC UA地址空间的概念。
OPC UA地址空间的概念
OPC UA的地址空间由节点和引用定义。它们之间有不同的特征。更详细的信息可以在规范“OPC UA标准,第3部分”中找到,下面的解释提供了一个粗略的概述,还要注意节点和对象的区别。
节点:
- 来自不同的节点类("NodeClass")
- 是由节点类中定的属性来描述
- 可能包含由其他节点表示的属性
- 通过引用相互连接
引用:
- 派生自不同的引用类型("ReferenceType")
- 映射不同节点之间的连接
地址空间:
- 有所有可用的节点及其属性和特性表示
对象:
- 对象是某个节点类的节点("NodeClass"="Object")
- 可以包含变量、方法和其他对象
- 对象和它们的组件一起表示地址空间中的节点集
图. 1:
关于节点类“变量类型”、“数据类型”和“变量”的详细信息
变量类型:
- 指定变量
- 定义实例化变量的模板
- 指定对“变量类型”类型的每个变量有效的最小组件组
变量:
- “变量”用于表示地址空间中的“值”(例如进程值和极限值)
- “变量”可以用“变量类型”来定义
- “变量”可以是简单的(“标量”),也可以是复杂的(“结构”)
- 定义了两类“变量”:
1. “数据变量”:值的表示(例如,过程值)
2. “属性”:对象、“数据变量”或其他节点的属性的语义定义
数据类型:
- 是“变量”和/或“变量类型”的属性
- 描述一个“变量”或“变量类型”的属性“值”的数据类型
- 可以是“标量”(例如“Float”)或“复杂”(例如“Structure:Range”)
注意
不要混淆“属性”和“特性”。例如:“NodeID”、“Value”和“Data Type”是“Variable”或“Variable Type”的属性,而“特性”用于定义“Variable”的“Value”的度量单位或值限制。
地址空间建模:通过“变量类型”定义的“变量”
在下面的例子中,两个变量使用工具SiOME建模SiOME
"Temperature1"和"Temperature2"是…
- ……模拟测量数据。
- ……由实例空间中的“数据值”表示(对象实例被分配到的OPC UA地址空间的部分映像)。
- ……组件是“电机”对象的每个部分-见下图:
图. 2: 地址空间模型示例
“Temperature1”和“Temperature2”在节点语义描述的“变量类型”上存在差异:“Temperature1”引用“HasTypeDefinition”到基类型“BaseDataVariableType”,没有任何具体的类型定义“Temperature2”对类型“AnalogUnitType”有参考“HasTypeDefinition”,因此有详细描述。附加的“特性”是“EngineeringUnits”、“EURange”和“ValuePrecision”。注意对于描述变量“Temperature2”的类型“AnalogUnitType”的“HasTypeDefinition”引用包括与OPC UA客户端“Temperature1”的类型“BaseDataVariableType”进行比较的深入信息。理解“数据类型”相对于"变量类型"属性“Data Type”描述OPC UA服务器用来存储变量“Temperature1”和“Temperature2”的“值”的数据类型。通过这种方式,OPC UA客户端知道如何解释变量的值。属性“DataType”返回一个“NodeID”,它指的是一个预定义的数据类型。参见下图。地址为“ns=0;i=10”的“NodeID”表示OPC UA基数据类型“Float”。从变量中读出“数据类型”后,OPC UA客户端知道电机温度的值是32位浮点数。“Temperature1”的当前温度值在属性“value”中,为23.5。
图. 3:
总结
- “数据类型”描述了数据格式的语法,例如数据是如何编码的,以及如何通过“变量”的“值”行进行传输。
- “变量类型”描述了地址空间中显示的复杂“变量”的最小组件组。
- 与只有一个“HasTypeDefinition”引用“BaseDataVariableType”的简单“Float”变量相比,一个带有“HasTypeDefinition”引用一个预定义的“VariableType” 的变量提供更多的语义信息
关键字
信息模型,数据类型,OPC UA规范
您可以前往全球资源库查看此文档:
https://support.industry.siemens.com/cs/cn/zh/view/109773628
剩余80%未阅读,请登录后下载/查看文档
- 评论
-
分享
扫码分享
- 收藏 收藏
- 点赞 点赞
- 纠错 纠错
- SIMATIC S7-1200 / S7-1500 的 OPC UA 服务器中 SIMATIC 数据类型的类型描述在哪个节点 ID 下?
- 使用S7-1200时,为什么会有消息提示信号板由于不正确的类型而不可用?
- G120 CU240B/E-2中如何转化报警和故障的类型
- 如何在项目树中得到块的类型信息?
- 在LOGO! CMR2020 和 LOGO! 8之间通过文本消息(SMS)通信方式传送数据类型为字节、字或双字的变量值时应该注意什么?
- 如何在WinCC中显示S7数据类型S5TIME的变量?
- 在STEP 7 (TIA 博途)中,如何从MS Excel中导出变量到PLC数据类型?
- 在S7-1500中,为什么将某一个字中的单一地址定义为PLC数据类型会造成整个字被覆盖?
- 在运动控制应用中使用DB_ANY数据类型的好处是什么?
- 如何使用预定义数据类型UDT1“FILE_DB_HEADER”进行S7-300和S7-400的FTP通信?
{{item.nickName}}