相同数据类型(BOOL、WORD、INT、DWORD、DINT、REAL和字符串长度相同的STRING)的所有元素归并在一起且从通用起始地址开始依次分配。数组也分配到此通用起始地址。
以下情况适用于此起始地址:如果DUT包含BOOL或ARRAY OF BOOL类型元素,其将存储在对位保留的内存区中,否则将存储在对16位字保留的内存区中。
为在初始化期间避免含糊,不允许初始化。执行以下默认初始化:
数据类型 |
初始值 |
---|---|
BOOL |
FALSE |
WORD、INT、UINT、DWORD、DINT、UDINT |
0 |
REAL |
0.0 |
STRING |
''(空字符串) |
被最大字符串长度占用的地址以大于或等于零的最大字符串长度初始化。字符串的其余部分以零初始化。
数据类型STRING的所有元素变量必须位于声明的最后。
总之,应注意所用数据类型占用内存区的方式。
特别是当使用STRING元素时,请注意其占用内存的特殊方式让其可以借助其他元素反复覆盖。
使用字符串命令之前,确保最大字符串长度和当前字符串长度为有效值。
DUT无法用作重叠DUT的变量。
不带数据类型BOOL DUTwithoutBOOLs元素的DUT:
带有重叠元素的DUT占用内存的方式:
16-bit word area |
||||||
---|---|---|---|---|---|---|
DT100 |
WORD1 |
DWORD1 |
INT1 |
DINT1 |
REAL1 |
STRING1 |
DT101 |
WORD2 |
INT2 |
||||
DT102 |
DWORD2 |
DINT2 |
||||
DT103 |
||||||
STRING2 |
变量STRING1和STRING2必须长度相同且位于声明的最后。
带有数据类型BOOL元素的DUT DUTwithBOOLs(用户未定义地址):
带有重叠元素的DUT占用内存的方式:
Bit area |
||||||||
---|---|---|---|---|---|---|---|---|
WR10 |
Bool14 |
Bools[04] |
WORD1 |
DWORD1 |
INT1 |
DINT1 |
REAL1 |
STRING1 |
WR11 |
WORD2 |
INT2 |
||||||
WR12 |
DWORD2 |
DINT2 |
||||||
WR13 |
变量STRING1必须位于声明的最后。
带有数组的DUT:
带有重叠元素的DUT占用内存的方式:
16-bit word area |
||||
---|---|---|---|---|
DT100 |
String1_Max |
String_Parts[1,1] |
String1 |
StringS[1] |
DT101 |
String1_Act |
String_Parts[1,2] |
||
DT102 |
String1_Char12 |
String_Parts[1,3] |
||
DT103 |
String1_Char34 |
String_Parts[1,4] |
||
DT104 |
String2_Max |
String_Parts[2,1] |
String2 |
StringS[2] |
DT105 |
String2_Act |
String_Parts[2,2] |
||
DT106 |
String2_Char12 |
String_Parts[2,3] |
||
DT107 |
String2_Char34 |
String_Parts[2,4] |
变量String1、String2和Strings必须长度相同且位于声明的最后。
通用重叠DUT已在[FP tool library]中预定义。