结构

概述

通过添加对象对话框,在项目中作为 DUT(数据类型单元)对象创建结构。

TYPESTRUCTEND_STRUCTEND_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]);

无法进行带有变量的初始化。有关初始化结构数组的示例,请参阅数组

结构组件的访问

您可以使用以下语法来访问结构组件:

<结构名称>.<组件名称>

PolygonlineStartPoly_1.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 变量。