4.13 程序控制类指令

4.13.1 循环控制指令

(1)循环控制指令格式和功能

循环控制指令格式和功能如表4-74所示。

表4-74 循环控制指令格式和功能

(2)例说循环指令

在循环指令中FOR和NEXT指令必须成对使用,FOR和NEXT可以嵌套,每一对FOR和NEXT指令构成一层循环,最多能嵌套8层。梯形图如图4-93所示。

图4-93 梯形图

① 首先将VW0的数清零。

② 本程序嵌套内外两个循环,外循环每执行1次,内循环执行5次,内循环每执行一次,VW0的数值加1。所以,外循环每执行1次,VW0的数值加5。

③ 外循环共执行10次,所以,内外循环执行结束时,VW0的数据为50。

④ 在第一个扫描周期,将VW0的数值存入VW2中。

4.13.2 跳转/标号指令

(1)跳转/标号指令格式和功能

跳转/标号指令格式和功能如表4-75所示。

表4-75 跳转/标号指令格式和功能

(2)使用说明

① 跳转/标号指令必须匹配使用,而且只能使用在同一程序块中,如主程序、同一子程序或同一中断程序,不能在不同的程序块中互相跳转。可以有多条跳转指令使用同一标号,但不允许一个跳转指令对应两个标号的情况,即在同一程序中不允许存在两个相同的标号。

② 执行跳转后,被跳过程序段中的各寄存器的状态会有所不同。

a. Q、M、S、C等元器件的位保持跳转前的状态。

b.计数器C停止计数,当前值存储器保持跳转前的计数值。

c.对于定时器来说,因刷新方式不同而工作状态不同。在跳转期间,分辨率为1ms和10ms的定时器会一直保持跳转前的工作状态,原来工作的继续工作,到预置值后,其位的状态也会改变,输出触点动作,其当前值存储器一直累计到最大值32767才停止;对于分辨率为100ms的定时器来说,跳转期间停止工作,但不会复位,存储器里的值为跳转时的值,跳转结束后,若输入条件允许,可继续计时,但已失去了准确值的意义。所以在跳转段里的定时器要慎用。

(3)例说跳转/标号指令

如图4-94所示。

图4-94 梯形图

① 第一个扫描周期,MB0为0,则M0.0=0,不满足跳转条件,执行MB0加1,使M0.0=1,从而使Q0.0得电。

② 第二个扫描周期,由于M0.0=1,执行跳转指令JMP,则跳过INC指令,跳到LBL为1的程序段执行,M0.0=1,故Q0.0保持得电状态。

4.13.3 顺控继电器指令

(1)顺控继电器指令格式和功能

顺控继电器指令格式和功能如表4-76所示。

表4-76 顺控继电器指令格式和功能

(2)例说顺控继电器指令

编程实现:有三台电动机,电动机1运行10s后停止,电动机2开始运行,10s后停止,电动机3开始运行,10s后停止,电动机2开始运行,以后电动机2和电动机3交替运行。

如图4-95所示。

图4-95 控制程序

① 第一个扫描周期,初始化复位,将S0.0置1。

② 进入顺控程序段S0.0执行,Q0.0得电,T37开始计时。

③ T37计时10s后,转到顺控程序段S0.1执行,Q0.1得电,T38开始计时。

④ T38计时10s后,转到顺控程序段S0.2执行,Q0.2得电,T39开始计时。

⑤ T39计时10s后,转到顺控程序段S0.1执行,Q0.1得电,T38开始计时。

⑥ 如此循环。

⑦ 按下停止按钮I0.1,停止运行。

4.13.4 看门狗定时复位指令

看门狗定时复位指令格式和功能如表4-77所示。

表4-77 看门狗定时复位指令格式和功能

4.13.5 综合实例

综合实例1——加热反应炉

范例示意如图4-96所示。

图4-96 范例示意

按启动按钮后,系统运行;按停止按钮后,系统停止。系统会自动完成送料、加热、泄放过程。

元件说明见表4-78。

表4-78 元件说明

控制程序如图4-97所示。

图4-97

图4-97 控制程序

(1)第一阶段:送料控制

① 检测上液面传感器I0.2、炉内温度传感器I0.1、炉内压力传感器I0.3均小于给定值,即为OFF状态。

② 按下启动按钮,I0.4得电,Q0.0得电,Q0.1得电,排气阀、进料阀开启。

③ 当液位上升到高液位时,I0.2得电,定时器T37开始定时,Q0.0失电,Q0.1失电,排气阀、进料阀被关闭。

④ 延时10s,T37计时到位,Q0.2得电,氮气阀开启,炉内压力上升。

⑤ 当压力上升到给定值时,压力传感器I0.3得电,氮气阀关闭。送料过程结束。

(2)第二阶段:加热反应控制

① 压力传感器I0.3为得电状态,Q0.4得电,接通加热炉电阻丝。

② 当温度升到给定值时,,炉内温度达到上限,I0.1得电,Q0.4失电,停止加热,定时器T38开始定时。

(3)第三阶段:泄放过程

延时10s,T38得电常开触点闭合,Q0.0得电,排气阀打开,炉内压力下降到给定值时,I0.3失电,Q0.3得电,泄放阀打开,当炉内液体降到低液位以下,I0.0失电,Q0.0失电,排气阀关闭,Q0.3失电,泄放阀关闭,系统恢复到原始状态,准备进入下一循环。

如发生紧急情况,按下停止按钮,I0.5得电,系统即刻停止。

综合实例2——气囊硫化机

气囊硫化机是橡胶硫化的新工艺,硫化机主要用于周长在1200mm以下的圆模V带的硫化。硫化机结构包括缸门、锁紧环、模具、胶带、胶套和缸体及外压气进出口和内压气进出口。

装在圆模上的半成品套上胶套后装入缸内,闭合缸门并使之转过一个角度(合齿),然后依次通入外压蒸气。由于外压蒸气压力高于内压蒸气,在压差作用下胶套对半成品进行加压硫化,硫化时间根据胶带的型号调整。硫化后,按以上相反的程序动作取出产品,结束一次硫化周期。

元件说明见表4-79。

表4-79 元件说明

控制程序如图4-98所示。

图4-98 控制程序

① SM0.1在PLC为RUN的第一次扫描时为ON,使S0.0置位,顺序控制继电器SCR段S0.0执行。按下启动按钮,I0.2得电,转到S0.1段程序。

② Q0.0和Q0.3得电,执行关门动作,并进行合齿。当关门到位碰到行程开关I0.0时,I0.0得电,程序转入S0.2段。

③ Q0.4得电,进外压蒸气,同时T37开始计时,计时到达60s后程序转到S0.3段。

④ Q0.5被置位,开始进内压蒸气,同时T38开始计时,计时到达120s后程序转到S0.4段。

⑤ 指示灯亮,定时器T39开始计时,计时到达30s后程序转到S0.5段。

⑥ Q0.4、Q0.5被复位,停止进内、外压蒸气;同时Q0.6得电,排气阀被打开。当气压下降到设定值以下时,I0.3失电,程序转到S0.6段。

⑦ 定时器T40开始计时,计时到达120s后程序转到S0.7段。

⑧ Q0.1和Q0.2得电,机床开门动作并进行分齿,当机床门打开后,开门到位行程开关I0.1得电,程序转到S0.0段。再次按下启动按钮I0.2,可进行下一次循环。

综合实例3——原理说明

本案例属于原理说明,介绍PLC编程中会用到的程序控制指令,帮助读者学会简单运用这类指令。

元件说明见表4-80。

表4-80 元件说明

控制程序如图4-99所示。

图4-99 控制程序

① 在这个程序中,按下故障按钮I0.0、PLC系统出现I/O故障或PLC监测到系统程序出了问题都会执行STOP指令。

② 为使PLC正常运行,可执行看门狗复位指令重新触发系统监视定时器(WDT)。

③ 若不希望运行某一部分程序,可在这段程序之前加上END指令。按下按钮I0.1,PLC返回程序起点重新执行。