网站首页 > 精选教程 正文
数组
简单的说,就是多个相同类型数据一定顺序排列的集合,使用一个名字命名,并通过编号的方式对这些数据统一管理。
在PLC编程过程中,我们也经常遇到同类型的变量需要定义,例如10台电机的电流值,如果不使用数组你还在这样?
这样??
使用数组则可以写成arMotorCurrent:array[1..10] of REAL;通过arMotorCurrent[5]表示第5台电机的电流。
根据维度区分,当然也有二维、三维数组,例如A、B、C、D设备各有5个风扇,我们可以定义一个二维数组给每个风扇开关取个名字。abFan:array [1..4,1..5] of BOOL;(注:变量命名规则看往期文章);abFan[2,3]表示B设备的第三个风扇开关。
三维数组以此类推,不做过多介绍,用的不多。
数组的初始化—--给变量赋初始值
1. 定义数组时对数组元素赋予初值,例如:
arr1 : ARRAY [1..5] OF INT := [1,2,3,4,5];
将数组元素的初值依次列举,经过如上的定义和初始化后,arr1[1]=1,arr1[2]=2,arr1[3]=3,arr1[4]=4,arr1[5]=5。
2. 只给一部分元素赋值,例如:
arr1 : ARRAY [1..5] OF INT := [1,2];
只赋值了两个,则前两个变量arr1[1]:=1,arr1[2]:=2,其余变量初值均为0。
3. 对于重复的初值,可以批量定义,只需在括号前加上数量,例如:
arr1 : ARRAY [1..5] OF INT := [1,2(3)];
“2(3)”表示 2 个 3,经过上述初始化命令后,数组的初值情况为,arr1[1]=1,arr1[2]=3,
arr1[3]=3,arr1[4]=0,arr1[5]=0。
4. 针对二维/三维数组,可以将所有数据写在中括号内,按数组排列的顺序对个元素赋初值,例如:
arr2 : ARRAY [1..2,3..4] OF INT := [1,3(7) ];
定义一个二维数组,第一个元素的初值为 1,后三个的初值为 7,最终输出的结果为,arr2[1,3]=1,arr2[1,4]=7,arr2[2,3]=7,arr2[2,4]=7。
结构体
把不同类型的数据组合成一个有机的整体,这样我们需要的时候就可以直接引用,不必重复定义同类型变量。
例如,我们将一台电机的电流、电压、正转、反转信号等等有关电机的变量组合在一起,声明结构体:
结构体亦可以嵌套使用。
在程序中新建一个变量Motor_A,类型为结构体Motor。在程序中键入“变量名.”后,系统则会自动弹出结构体内具体对应的信息,这样我们当然可以表达B电机的电流、电压等等。
编者旨在与各位同事一起学习交流记录,欢迎关注转发
猜你喜欢
- 2024-11-16 面向JVM编译-类实例、数组的创建和使用
- 2024-11-16 来,一起聊聊Excel中的数组(excel数组公式有哪些)
- 2024-11-16 数组的维数及数组公式的讲解(数组维的大小)
- 2024-11-16 C语言中数组的类型和使用(c语言中数组的概念及作用)
- 2024-11-16 C# - 多维与交错数组 036(交错数组和多维数组有何区别?)
- 2024-11-16 Numpy第6练:如何操控数组的维度与形状?干货满满!
- 2024-11-16 NumPy之:多维数组中的线性代数(numpy 多维数组)
- 2024-11-16 S7-1200 数组数据类型(ARRAY)(s71200plc数据类型)
- 2024-11-16 JAVA中如何调用matlab并返回运算结果?
- 2024-11-16 Java基础03(java基础案例教程第二版)
你 发表评论:
欢迎- 04-11Java面试“字符串三兄弟”String、StringBuilder、StringBuffer
- 04-11Java中你知道几种从字符串中找指定的字符的数量
- 04-11探秘Java面试中问的最多的String、StringBuffer、StringBuilder
- 04-11Python字符串详解与示例(python字符串的常见操作)
- 04-11java正则-取出指定字符串之间的内容
- 04-11String s1 = new String("abc");这句话创建了几个字符串对象?
- 04-11java判断字符串中是否包含某个字符
- 04-11关于java开发中正确的发牌逻辑编写规范
- 最近发表
-
- Java面试“字符串三兄弟”String、StringBuilder、StringBuffer
- Java中你知道几种从字符串中找指定的字符的数量
- 探秘Java面试中问的最多的String、StringBuffer、StringBuilder
- Python字符串详解与示例(python字符串的常见操作)
- java正则-取出指定字符串之间的内容
- String s1 = new String("abc");这句话创建了几个字符串对象?
- java判断字符串中是否包含某个字符
- 关于java开发中正确的发牌逻辑编写规范
- windows、linux如何后台运行jar(并且显示进程名)
- 腾讯大佬私人收藏,GitHub上最受欢迎的100个JAVA库,值得学习
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)