提示! 与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变量在数列中不可用。 |