PLC论坛-全力打造可编程控制器专业技术论坛

 找回密码
 注册哦

QQ登录

只需一步,快速开始

微信扫码登录

查看: 37|回复: 0

[西门子] 西门子博途:ARRAY 声明

[复制链接]
发表于 2024-6-9 21:07:17 | 显示全部楼层 |阅读模式
>ARRAY 声明
ARRAY 数据类型表示一个由数目固定且数据类型相同的元素组成的数据结构。
声明 ARRAY 所用的语法如下:


声明
语法
示例
ARRAY
<名称> : ARRAY [下限..上限] OF <数据类型> := [<初始化列表>];
MyARRAY_1 : ARRAY[0..7] OF BOOL;
MyARRAY_1 : ARRAY[0..7] OF BOOL := [1,1,0,0,0,1,0,0];
限值可变的 ARRAY
<名称> : ARRAY
  • OF <数据类型>;
    MyARRAY_1 : ARRAY
  • OF INT;
    MyARRAY_2 : ARRAY[*, *, *] OF INT;
    局部常量作限值的 ARRAY
    <名称> : ARRAY [#<常量名称>..#<常量名称>] OF <数据类型> := [<初始化列表>];
    MyARRAY_1 : ARRAY[#LocConst1..#LocConst2] OF INT;
    MyARRAY_2 : ARRAY[1..#LocConst] OF INT;
    MyARRAY_3 : ARRAY[1..#LocConst] OF INT := [1,1,0,0];
    全局常量作限值的 ARRAY
    <名称> : ARRAY ["<常量名称>".."<常量名称>"] OF <数据类型> := [<初始化列表>];
    MyARRAY_1 : ARRAY["GlobConst1".."GlobConst2"] OF INT;
    MyARRAY_2 : ARRAY[1.."GlobConst", 2..5,#l..#u] OF INT;
    MyARRAY_3 : ARRAY[1.."GlobConst"] OF INT:= [1,1,0,0];
    STRUCT 数据类型 ARRAY
    <名称> : ARRAY[下限..上限] OF Struct
    <元素名称> : <数据类型>;
    <元素名称> : <数据类型>;
    ...
    END_Struct := [<初始化列表>];
    MyARRAY_1 : Array[0..1] OF Struct
    mem_1 : Int;
    mem_2 : Int;
    END_STRUCT := [ (2,4),(22,44) ];
    UDT 数据类型的 ARRAY
    <名称> : ARRAY[下限..上限] OF "<UDT_ 名称>" := [<参数列表>];
    MyARRAY_1 : Array[0..1] OF MyType := [ (2,4),(22,44) ];






    ARRAY 初始化
    可选择初始化 ARRAY。对 ARRAY 进行初始化时要使用初始化列表。初始化列表位于声明后的方括号内,以 := 开头。列表包含的以逗号分隔的值将用于 ARRAY 的所有元素。最多可初始化 10000 个元素。
    可选择使用括号中的重复因子,用相同值对多个连续元素进行初始化。重复因子必须是一个正整数。
    对于 STRUCT 数据类型的 ARRAY,还可以选择逐个元素进行初始化。可集中为同一类型的所有结构化元素分配一个数值。

    初始化列表使用的语法如下所示:




    声明
    语法
    示例
    注释
    初始化列表
    := [<值>,<值>,<值>... ]
    myArray : ARRAY[0..2] OF BOOL := [1,1,0];
    ARRAY 中的元素将按照以下方式进行初始化:
    // myArray[0] := 1
    // myArray[1] := 1
    // myArray[2] := 0
    包含重复因子的初始化列表
    := [<值>,<重复因子>(值),<值>... ]
    myArray : ARRAY[1..2, 1..3] OF INT := [9,8,3(10),6];
    ARRAY 中的元素将按照以下方式进行初始化:
    // myArray[1,1] := 9
    // myArray[1,2] := 8
    // myArray[1,3] := 10
    // myArray[2,1] := 10
    // myArray[2,2] := 10
    // myArray[2,3] := 6
    STRUCT 数据类型 ARRAY 的初始化列表
    := [(<值列表元素 1>), (<值列表元素 2>)...]
    myArray : Array[0..1] OF Struct
    Element1 : Int;
    Element2 : Int;
    END_Struct := [ (2,4),(22,44) ];
    ARRAY 中的元素将按照以下方式进行初始化:
    // myArray[0].Element1 := 2
    // myArray[0].Element2 := 4
    // myArray[1].Element1 := 22
    // myArray[1].Element2 := 44
    ARRAY of STRUCT 的初始化列表(带元素命名规范)
    := [(<元素名称> := <值>), (<元素名称> := <值>)...]
    myArray : Array[0..1] OF Struct
    Element1 : Int;
    Element2 : Int;
    END_Struct := [ (Element1 := 2 , Element2:=4), (Element1 := 22, Element2:=44) ];
    ARRAY 中的元素将按照以下方式进行初始化:
    // myArray[0].Element1 := 2
    // myArray[0].Element2 := 4
    // myArray[1].Element1 := 22
    // myArray[1].Element2 := 44
    ARRAY of STRUCT 的初始化列表(带重复因子)
    := [<重复因子>(值列表元素 1),<重复因子>(值列表元素 2),... ]
    myArray : Array[0..1, 0..1] OF Struct
    Element_x : Int;
    Element_y : Int;
    End_Struct:=[2((1, 11)), 2((2, 22))];
    ARRAY 中的元素将按照以下方式进行初始化:
    // myArray[0,0].Element_x:= 1
    // myArray[0,0].Element_y:= 11
    // myArray[0,1].Element_x:= 1
    // myArray[0,1].Element_y:= 11
    // myArray[1,0].Element_x:= 2
    // myArray[1,0].Element_y:= 22
    // myArray[1,1].Element_x:= 2
    // myArray[1,1].Element_y:= 22
    UDT 数据类型 ARRAY 的初始化列表
    := [(值列表元素 1>), (<值列表元素 2>)...]
    myArray : Array[0..1] OF MyType := [ (2,4),(22,44) ];
    ARRAY 中的元素将按照以下方式进行初始化:
    // myArray[0].UDT-Element1 := 2
    // myArray[0].UDT-Element2 := 4
    // myArray[1].UDT-Element1 := 22
    // myArray[1].UDT-Element2 := 44
    ARRAY of UDT 的初始化列表(带元素命名规范)
    := [(<元素名称> := <值>), (<元素名称> := <值>)...]
    myArray : Array[0..1] OF MyType := [ (UDT-Element1 := 2,UDT-Element2:=4),(UDT-Element1 := 22,UDT-Element2:=44) ];
    ARRAY 中的元素将按照以下方式进行初始化:
    // myArray[0].UDT-Element1 := 2
    // myArray[0].UDT-Element2 := 4
    // myArray[1].UDT-Element1 := 22
    // myArray[1].UDT-Element2 := 44
    ARRAY of UDT 的初始化列表(带重复因子)
    := [<重复因子>(值列表元素 1),<重复因子>(值列表元素 2),... ]
    myArray : Array[0..1] OF myType :=[2(((),1))];
    ARRAY 中的元素将按照以下方式进行初始化:
    // myArray[0].UDT-Element1 := 0
    // myArray[0].UDT-Element2 := 1
    // myArray[1].UDT-Element1 := 0
    // myArray[1].UDT-Element2 := 1


    免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
  • 本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?注册哦

    x
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册哦

    本版积分规则

    QQ|小黑屋|手机版|Archiver|PLC技术网-PLC论坛 ( 粤ICP备17165530号 )|网站地图

    GMT+8, 2024-6-18 20:48 , Processed in 0.047155 second(s), 26 queries .

    快速回复 返回顶部 返回列表