|
提示! 与CoDeSys V2.3相比, TYPE在结构中声明必须跟随一个”.”! |
结构声明语法如下所示: :
TYPE <structurename>:
STRUCT
<declaration of variables 1>
...
<declaration of variables n>
END_STRUCT
END_TYPE
<structurename>是一个类型,被认为贯穿项目并且可作为一个标准数据类型使用的。
连锁的结构是允许的。唯一的限制是变量可能不被分配地址(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]);
不能变量初始化,参见 ⇘ 文件 (数组),数组结构初始化例子。
访问结构组件:
你可以使用一下语法接近访问结构组件:
<structurename>.<componentname>
所以上述提及的结构 polygonline 例子,你可以通过Poly_1.Start访问组件start。
数据类型 ⇘ “BIT”是一个特殊的数据类型,其只能在结构中定义。它消耗一比特的存储空间并且允许通过名称处理结构中的单独比特。
TYPE <structurename>:
STRUCT
<bitname bit1> : BIT;
<bitname bit2> : BIT;
<bitname bit3> : BIT;
...
<bitname bitn> : BIT;
END_STRUCT
END_TYPE
你可以通过以下语法取得使用结构组件比特:
<structurename>.<bitname>
|
在比特变量上的引用和指标的使用是不可能的。此外BIT变量在数列中不可用。 |