通过添加对象对话框,在项目中作为 DUT(数据类型单元)对象创建结构。
它们以关键字 TYPE 和 STRUCT 开头,并且以 END_STRUCT 和 END_TYPE 结尾。
TYPE <structurename>:
STRUCT
<declaration of variables 1>
...
<declaration of variables n>
END_STRUCT
END_TYPE
<结构名称> 是在工程中识别的类型,并且可以用作标准数据类型。
允许嵌套结构。唯一限制是:可能不会为地址分配变量(不允许 AT 声明)。
名为 Polygonline 的结构定义示例:
TYPE Polygonline:
STRUCT
Start:ARRAY [1..2] OF INT;
Point1:ARRAY [1..2] OF INT;
Point2:ARRAY [1..2] OF INT;
Point3:ARRAY [1..2] OF INT;
Point4:ARRAY [1..2] OF INT;
End:ARRAY [1..2] OF INT;
END_STRUCT
END_TYPE
示例:
Poly_1:polygonline := ( Start:=[3,3], Point1:=[5,2], Point2:=[7,3], Point3:=[8,5], Point4:=[5,7], End:= [3,5]);
无法进行带有变量的初始化。有关初始化结构数组的示例,请参阅数组。
您可以使用以下语法来访问结构组件:
<结构名称>。<组件名称>
对于前面结构 Polygonline 的示例,您可以通过 Poly_1.Start 来访问组件 Start
数据类型 BIT 是一种特殊数据类型,只能在结构中定义。其占用 1 位的存储器空间,并且使您可以按照名称来对结构的单个位进行寻址。
TYPE <structurename>:
STRUCT
<bitname bit1> : BIT;
<bitname bit2> : BIT;
<bitname bit3> : BIT;
...
<bitname bitn> : BIT;
END_STRUCT
END_TYPE
您可以使用以下语法来访问结构组件 BIT:
<结构名称>。<位名称>
注意: 无法对 BIT 变量使用引用和指针。此外,数组中不允许 BIT 变量。
对于 EQ 操作符,如果目标系统支持结构化数据类型,就可以比较 STRUCT(结构)类型的操作符。