数据结构: UNION
UNION
是用户定义的数据结构,其成员通常具有不同的数据类型和大小。
实例的成员 UNION
所有数据类型都保留相同的内存空间。所有成员具有相同的地址偏移量并共享内存。内存需求由最大的成员决定。
A UNION
变量存储的恰好是一个成员的值。内存包含上次分配的值。这意味着内存得到有效利用。
有关更多信息,请参阅:对象: DUT
类型声明
语法:
TYPE <identifier>
UNION
<member name> : <data type> := <initialization> ;
END_UNION
END_TYPE
| 声明基本数据类型的成员 随后可以发表任意数量的声明,但至少 2 个。 |
| 可选 |
例 238. 示例
类型声明: U_VAR_12
TYPE U_VAR_12: UNION wVar1: WORD; byVar2 : BYTE; END_UNION END_TYPE
类型声明: U_INT_ID
TYPE U_INT_ID: UNION iVar: INT; dVar : DINT; END_UNION END_TYPE
类型声明: U_EFFICIENT
TYPE U_EFFICIENT UNION wMember : WORD; dwMember : DWORD; strMember : STRING := 'A'; END_UNION END_TYPE
变量声明
a 的变量的实例化/声明 UNION
数据类型:
<variable name> : <name UNION type> := <initialization> ;
| 可选 |
| 初始化详情: 赋值运算符之后是将初始值赋给圆括号中的成员。 |
例 239. 示例
TYPE U_AB: UNION lrA : LREAL; liB : LINT; END_UNION END_TYPE
带初始化的变量声明
PLC_PRG PROGRAM VAR uabVAR_1 : U_AB := (lrA := LREAL#1.5); uabVAR_2 : U_AB := (liB := LINT#1); END_VAR
例 240. 示例
中的变量声明 PLC_PRG
使用数据类型 U_EFFICIENT
PLC_PRG PROGRAM VAR uefficient_1 : U_EFFICIENT := (strMember := 'A'); END_VAR
实施: PLC_PRG
uefficient_1.wMember := 16#000A;
什么时候 uefficient_1
写入变量的成员,这会影响变量的所有成员。