一、 循环指令的基本概念
- 作用:
- 指令构成:
- FOR:循环开始指令,用于定义一个循环体的起点,并设置循环参数。
- NEXT:循环结束指令,用于标记循环体的终点。它没有操作数。
二、 指令格式与参数说明
- FOR指令:以一个“指令盒”形式出现。
- 输入端:
- EN:使能输入端。当此端信号为“1”时,启动循环。
- INDX:当前循环计数器。用于存储当前是第几次循环。必须是整数型(INT)变量(如VW100)。
- INIT:循环初值。通常设为1。
- FINAL:循环终值。即希望循环执行的总次数。
- 输入端:
- NEXT指令:通常用一个简单的矩形框表示。
- INDX (INDEX):关键变量。PLC在每次循环体执行完毕后,会自动将INDX的值加1,然后与FINAL(终值)比较。
- 若INDX<=FINAL:返回循环体开始处,继续执行下一次循环。
- 若INDX>FINAL:跳出循环,执行NEXT之后的程序。
- 初值INIT与终值FINAL:决定了循环次数。有效循环次数 = FINAL - INIT + 1。例如INIT=1, FINAL=100,则循环体将正好执行100次。
三、 关键特性与使用要点
- 工作流程:
- 当I1.0接通时,外层循环A开始执行。
- 在循环A的每一次执行过程中,如果I1.1接通,则会启动一个完整的内层循环B。
- 程序执行顺序为:A循环第1次 -> B循环执行2次 -> A循环第2次 -> B循环再执行2次 -> ... 直到A循环满100次。
- 嵌套循环:
- 如示例所示,循环内可以再包含循环,这称为嵌套。
- 重要规则:嵌套必须“完全包含”,即内层循环必须完全在外层循环的循环体内部,绝对不允许交叉。图中网络结构清晰地展示了这种层次关系。
- 通常PLC对嵌套层数有限制(例如最多8层)。
- 必须注意的规则:
- 成对使用:每一个FOR都必须有一个对应的NEXT闭合。
- 自动复位:每当FOR指令的EN端从“0”变为“1”(重新使能)时,PLC会自动将INDX复位为INIT(初值),开始新一轮计数。
- 循环条件:若INIT(初值)大于FINAL(终值),则循环体一次也不会执行。
- 避免在循环体内修改INDX:在循环体中人为修改计数器INDX的值可能导致循环失控,这是编程时需要特别注意的。
四、 简单总结
- FOR是喊“开始重复!从第[INIT]遍做到第[FINAL]遍,用[INDX]这个本子记当前遍数”。
- 中间的程序是“要重复干的活”。
- NEXT是喊“这一遍干完了!翻一页(INDX+1),如果没超过终值就回去接着干下一遍”。