使用程序循环
- Last UpdatedSep 24, 2024
- 1 minute read
循环可以反复执行一段代码。InTouch HMI 仅支持 FOR 循环。FOR 循环按所监视的每次循环迭代所产生的递增或递减的数值循环变量值来进行。循环一直执行到循环变量值达到固定的极限。
语法
FOR LoopTag = StartExpression TO EndExpression [STEP ChangeExpression]
... 语句或另一个 FOR 循环 ...
NEXT;
-
StartExpression, EndExpression 与 ChangeExpression 共同定义迭代次数。
-
StartExpression 设置循环范围的开始值。EndExpression 设置循环范围的结束值。
-
STEP ChangeExpression 可选择设置每次循环迭代过程中循环标记所递增或递减的值;如果不指定此值,则使用缺省值 1。
执行 FOR 循环时,InTouch HMI:
-
将 LoopTag 设置为 StartExpression 的值。
-
测试 LoopTag 是否大于 EndExpression。如果是,InTouch HMI 退出循环。(如果 ChangeExpression 为负,InTouch HMI 测试 LoopTag 是否小于 EndExpression)。
-
执行循环内的语句。
-
按 ChangeExpression 的值(除非另外指定,否则设为 1)递增 LoopTag。
-
重复步骤 2 到 4。
使用 FOR 循环时请记住以下规则:
-
FOR 循环可以嵌套。最大嵌套级数取决于可用的内存与系统资源。
-
对于每个 FOR 语句,必有一个 ENDIF 结束语句。在同一嵌套级别中,NEXT 语句总是应用于前面最接近的 FOR 语句。
-
LoopTag 必须是数值标记(或局部变量)。
-
StartExpression、EndExpression 以及 ChangeExpression 必须是赋值为数值结果的有效表达式。
-
如果 ChangeExpression 为正,EndExpression 必须大于 StartExpression;如果 ChangeExpression 为负,StartExpression 必须大于 EndExpression。否则循环不会开始。
-
要退出循环,请使用 EXIT FOR 语句。如需详细信息,请参阅强制结束循环。
-
循环有时间限制。请参阅循环执行的时间限制。
警示:循环的执行会影响其它运行时进程。如需详细信息,请参阅循环对其它运行时进程的影响。