PLC
直播中

李进锋

7年用户 885经验值
私信 关注

什么是FOR循环?FOR循环使用数据限制是什么?

什么是FOR循环?FOR循环使用数据限制是什么?
什么是WHILE(当型循环)?
什么是REPEAT(直到循环)?

回帖(2)

苗媛媛

2021-7-2 11:26:12
  1.FOR 循环
  对于FOR循环
  而言
  可以通过指令CONTINUE,可以终止当前连续运行的程序循环。
  通过指令EXIT终止整个循环的执行。这些在前一章中已经提到过。
  注意:
  不可以使用块接口的“Temp”部分中声明运行变量,这在编译时是无效的;
  FOR 语句中不允许组合使用带符号整数和不带符号整数。
  使用FOR循环时,不可以使用以下的块接口方式:
  
  使用FOR循环对于越界限制较大,越界情况一般回导致PLC报错,如下数组Data1的大小是10*[INT]而使用FOR循环时遍历数组时遍历到15超过了数组的界限:
  FOR 循环使用数据限制:
  [tr]数据类型上限最大值下限最大值[/tr]SINT 类型的运行变量127-128
  INT 类型的运行变量32767-32768
  DINT 类型的运行变量2147483647-2147483648
  LINT 类型的运行变量9223372036854775807-9223372036854775808
  USINT 类型的运行变量255-
  UINT 类型的运行变量65535-
  UDINT 类型的运行变量4294967295-
  ULINT 类型的运行变量18446744073709551615-
  其示例程序如下:
  FOR “DATA”.i := 1 TO 10 BY 1 DO “DATA”.Data1[“DATA”.i] := “DATA”.i;END_FOR; 运行结果如下:
  2.REPEAT (直到循环)
  这个语句类似于UNTIL指令,在西门子给出的帮助文档中称为
  “不满足条件时执行”
  其实就是简单的顺序型指令。
  即:重复执行程序循环,直至不满足执行条件为止。在运行过程中会先运行一次循环,然后再判断一次条件,与后面会提到的WHILE不同
  当然所有循环指令都可以使用CONTINUE或者EXIT指令
  REPEAT “Result” := “DATA”.i; “DATA”.i:=“DATA”.i+1;UNTIL “DATA”.i》=9END_REPEAT; “DATA”.Error
  运行结果如下:
  当条件满足时完成循环,结束当前循环。
  3.WHILE (当型循环)
  可以重复执行程序循环,直至不满足执行条件为止。在执行过程中需要先进性一次条件判断,然后进行循环。
  示例程序如下:
  WHILE “DATA”.i《=9 DO “Result” := “DATA”.i; “DATA”.i := “DATA”.i + 1; END_WHILE; 主要是和REPEAT 做一个区别,WHILE循环是先判断条件后执行循环,而REPEAT是先执行循环后判断条件,两者之间并没有过多的性能上的区分。
  运行结果如下
  
举报

张喆

2021-7-2 11:26:12
1
举报

更多回帖

发帖
×
20
完善资料,
赚取积分