![PLC编程及案例手册](https://wfqqreader-1252317822.image.myqcloud.com/cover/804/41806804/b_41806804.jpg)
4.13 程序控制类指令
4.13.1 循环控制指令
(1)循环控制指令格式和功能
循环控制指令格式和功能如表4-74所示。
表4-74 循环控制指令格式和功能
![](https://epubservercos.yuewen.com/95F10D/21838926108253506/epubprivate/OEBPS/Images/b4-74.jpg?sign=1739029773-T47CMFa6QtyYHZnidzqxy9PooJLNqIo6-0-4a4cca3d19abf9d72b9e644e28a3d8c6)
(2)例说循环指令
![](https://epubservercos.yuewen.com/95F10D/21838926108253506/epubprivate/OEBPS/Images/Section0029.jpg?sign=1739029773-CUyDD6TgTxCHIpMVK0R32gETawBXr2hT-0-fdbf13d49a5704f25c8bf7c46ee8a120)
在循环指令中FOR和NEXT指令必须成对使用,FOR和NEXT可以嵌套,每一对FOR和NEXT指令构成一层循环,最多能嵌套8层。梯形图如图4-93所示。
![](https://epubservercos.yuewen.com/95F10D/21838926108253506/epubprivate/OEBPS/Images/4d93.jpg?sign=1739029773-3qoXYnZfPdjdFRgg3RrjjilxhaZ6ddPU-0-93612a35e163ce64fa2cab317fe102e5)
图4-93 梯形图
① 首先将VW0的数清零。
② 本程序嵌套内外两个循环,外循环每执行1次,内循环执行5次,内循环每执行一次,VW0的数值加1。所以,外循环每执行1次,VW0的数值加5。
③ 外循环共执行10次,所以,内外循环执行结束时,VW0的数据为50。
④ 在第一个扫描周期,将VW0的数值存入VW2中。
4.13.2 跳转/标号指令
(1)跳转/标号指令格式和功能
跳转/标号指令格式和功能如表4-75所示。
表4-75 跳转/标号指令格式和功能
![](https://epubservercos.yuewen.com/95F10D/21838926108253506/epubprivate/OEBPS/Images/b4-75.jpg?sign=1739029773-cJW2f9W079UAw4Kl0kbIttf7GFDMzEe8-0-e762cad09baaa6b1155d4c7c9c5082e4)
(2)使用说明
① 跳转/标号指令必须匹配使用,而且只能使用在同一程序块中,如主程序、同一子程序或同一中断程序,不能在不同的程序块中互相跳转。可以有多条跳转指令使用同一标号,但不允许一个跳转指令对应两个标号的情况,即在同一程序中不允许存在两个相同的标号。
② 执行跳转后,被跳过程序段中的各寄存器的状态会有所不同。
a. Q、M、S、C等元器件的位保持跳转前的状态。
b.计数器C停止计数,当前值存储器保持跳转前的计数值。
c.对于定时器来说,因刷新方式不同而工作状态不同。在跳转期间,分辨率为1ms和10ms的定时器会一直保持跳转前的工作状态,原来工作的继续工作,到预置值后,其位的状态也会改变,输出触点动作,其当前值存储器一直累计到最大值32767才停止;对于分辨率为100ms的定时器来说,跳转期间停止工作,但不会复位,存储器里的值为跳转时的值,跳转结束后,若输入条件允许,可继续计时,但已失去了准确值的意义。所以在跳转段里的定时器要慎用。
(3)例说跳转/标号指令
如图4-94所示。
![](https://epubservercos.yuewen.com/95F10D/21838926108253506/epubprivate/OEBPS/Images/4d94.jpg?sign=1739029773-qz90AS2CD7aZrB5lXLtcRt5VV0oEkJqc-0-d9b5695fcfacf887331cbbfae8c44128)
图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 顺控继电器指令格式和功能
![](https://epubservercos.yuewen.com/95F10D/21838926108253506/epubprivate/OEBPS/Images/b4-76.jpg?sign=1739029773-OkAwO7u64b6dR9N2Bj4sPO82G94wbxRx-0-37d7cc0320c6509c450a591810f6e63f)
(2)例说顺控继电器指令
![](https://epubservercos.yuewen.com/95F10D/21838926108253506/epubprivate/OEBPS/Images/Section0027.jpg?sign=1739029773-OUKVc9PflDNkPklfTlcD42byvaEuVoXw-0-21276c2c91767b4a2c598e6acdf6145c)
编程实现:有三台电动机,电动机1运行10s后停止,电动机2开始运行,10s后停止,电动机3开始运行,10s后停止,电动机2开始运行,以后电动机2和电动机3交替运行。
![](https://epubservercos.yuewen.com/95F10D/21838926108253506/epubprivate/OEBPS/Images/Section0029.jpg?sign=1739029773-CUyDD6TgTxCHIpMVK0R32gETawBXr2hT-0-fdbf13d49a5704f25c8bf7c46ee8a120)
如图4-95所示。
![](https://epubservercos.yuewen.com/95F10D/21838926108253506/epubprivate/OEBPS/Images/4d95.jpg?sign=1739029773-oez3eBwfOpxBsGAa1Gvw8NjfvfyDbvGw-0-fbed9f89c5826c0ae35d7353b29388ed)
图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 看门狗定时复位指令格式和功能
![](https://epubservercos.yuewen.com/95F10D/21838926108253506/epubprivate/OEBPS/Images/b4-77.jpg?sign=1739029773-usBPLxaRbM8QWccsOP0QmxNqp6OqUIIS-0-488852d3726e62c9cb76e6a3f598e555)
4.13.5 综合实例
综合实例1——加热反应炉
范例示意如图4-96所示。
![](https://epubservercos.yuewen.com/95F10D/21838926108253506/epubprivate/OEBPS/Images/4d96.jpg?sign=1739029773-VR539gSrRkaGIXjQbJ15lkktvb1pBPNO-0-dde3f2c7a6cf20486c61a9539f729736)
图4-96 范例示意
![](https://epubservercos.yuewen.com/95F10D/21838926108253506/epubprivate/OEBPS/Images/Section0019.jpg?sign=1739029773-hf1mNKe8QUxPn6FrchreNnUmUXcwMZAA-0-893d5da90b65ec2b11901b4a03df83d4)
按启动按钮后,系统运行;按停止按钮后,系统停止。系统会自动完成送料、加热、泄放过程。
![](https://epubservercos.yuewen.com/95F10D/21838926108253506/epubprivate/OEBPS/Images/Section0004.jpg?sign=1739029773-h3WfzbjpxO8YqSWm88jP58sNSwIXiEzN-0-9db69f2b285a5f87c83bc0040cb06597)
元件说明见表4-78。
表4-78 元件说明
![](https://epubservercos.yuewen.com/95F10D/21838926108253506/epubprivate/OEBPS/Images/b4-78.jpg?sign=1739029773-XeXYABHymJ4WrUbtNUl7ioHzQwIu47hl-0-1317143927a00dd84c06a1d6d14a016b)
![](https://epubservercos.yuewen.com/95F10D/21838926108253506/epubprivate/OEBPS/Images/Section0015.jpg?sign=1739029773-zUCKoND8SuFNco7IArrePqLBW5v3MyBb-0-2e210f94e6a17a91dba726b13ad4a783)
控制程序如图4-97所示。
![](https://epubservercos.yuewen.com/95F10D/21838926108253506/epubprivate/OEBPS/Images/4d97a.jpg?sign=1739029773-ewssrRkwawabo51yJ3OOyRrZCs05erHb-0-13ad1e61fb1feb303039b61beb995d3c)
图4-97
![](https://epubservercos.yuewen.com/95F10D/21838926108253506/epubprivate/OEBPS/Images/4d97b.jpg?sign=1739029773-gtp3rp5tpTwmxP2geMpXJYH9rkTmjAsP-0-eea46baf84dcc3e31545d998af2f5798)
图4-97 控制程序
![](https://epubservercos.yuewen.com/95F10D/21838926108253506/epubprivate/OEBPS/Images/Section0029.jpg?sign=1739029773-CUyDD6TgTxCHIpMVK0R32gETawBXr2hT-0-fdbf13d49a5704f25c8bf7c46ee8a120)
(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——气囊硫化机
![](https://epubservercos.yuewen.com/95F10D/21838926108253506/epubprivate/OEBPS/Images/Section0019.jpg?sign=1739029773-hf1mNKe8QUxPn6FrchreNnUmUXcwMZAA-0-893d5da90b65ec2b11901b4a03df83d4)
气囊硫化机是橡胶硫化的新工艺,硫化机主要用于周长在1200mm以下的圆模V带的硫化。硫化机结构包括缸门、锁紧环、模具、胶带、胶套和缸体及外压气进出口和内压气进出口。
装在圆模上的半成品套上胶套后装入缸内,闭合缸门并使之转过一个角度(合齿),然后依次通入外压蒸气。由于外压蒸气压力高于内压蒸气,在压差作用下胶套对半成品进行加压硫化,硫化时间根据胶带的型号调整。硫化后,按以上相反的程序动作取出产品,结束一次硫化周期。
![](https://epubservercos.yuewen.com/95F10D/21838926108253506/epubprivate/OEBPS/Images/Section0004.jpg?sign=1739029773-h3WfzbjpxO8YqSWm88jP58sNSwIXiEzN-0-9db69f2b285a5f87c83bc0040cb06597)
元件说明见表4-79。
表4-79 元件说明
![](https://epubservercos.yuewen.com/95F10D/21838926108253506/epubprivate/OEBPS/Images/b4-79.jpg?sign=1739029773-zQ3ArpQT4LEGj6sf0P4LF28BKxNP7Q7H-0-efcb0888157def64221b5511c8fd4959)
![](https://epubservercos.yuewen.com/95F10D/21838926108253506/epubprivate/OEBPS/Images/Section0015.jpg?sign=1739029773-zUCKoND8SuFNco7IArrePqLBW5v3MyBb-0-2e210f94e6a17a91dba726b13ad4a783)
控制程序如图4-98所示。
![](https://epubservercos.yuewen.com/95F10D/21838926108253506/epubprivate/OEBPS/Images/4d98.jpg?sign=1739029773-mFlTN6WnBL7o8ud94ZvmckEGzFE2R6FF-0-45caf71d601e98ec828b5c38086db4c8)
图4-98 控制程序
![](https://epubservercos.yuewen.com/95F10D/21838926108253506/epubprivate/OEBPS/Images/Section0029.jpg?sign=1739029773-CUyDD6TgTxCHIpMVK0R32gETawBXr2hT-0-fdbf13d49a5704f25c8bf7c46ee8a120)
① 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——原理说明
![](https://epubservercos.yuewen.com/95F10D/21838926108253506/epubprivate/OEBPS/Images/Section0019.jpg?sign=1739029773-hf1mNKe8QUxPn6FrchreNnUmUXcwMZAA-0-893d5da90b65ec2b11901b4a03df83d4)
本案例属于原理说明,介绍PLC编程中会用到的程序控制指令,帮助读者学会简单运用这类指令。
![](https://epubservercos.yuewen.com/95F10D/21838926108253506/epubprivate/OEBPS/Images/Section0004.jpg?sign=1739029773-h3WfzbjpxO8YqSWm88jP58sNSwIXiEzN-0-9db69f2b285a5f87c83bc0040cb06597)
元件说明见表4-80。
表4-80 元件说明
![](https://epubservercos.yuewen.com/95F10D/21838926108253506/epubprivate/OEBPS/Images/b4-80.jpg?sign=1739029773-KWGwloEKtJwADXQQnmpymh1JDEAhXOn4-0-acf28ca7dfb6fb8e12c5da561ba08353)
![](https://epubservercos.yuewen.com/95F10D/21838926108253506/epubprivate/OEBPS/Images/Section0015.jpg?sign=1739029773-zUCKoND8SuFNco7IArrePqLBW5v3MyBb-0-2e210f94e6a17a91dba726b13ad4a783)
控制程序如图4-99所示。
![](https://epubservercos.yuewen.com/95F10D/21838926108253506/epubprivate/OEBPS/Images/4d99.jpg?sign=1739029773-NN2GCawpPK8sTw4qCzJ7lLDahs7GpAAJ-0-85bd55721a86ba02f3f0ff41944d6009)
图4-99 控制程序
![](https://epubservercos.yuewen.com/95F10D/21838926108253506/epubprivate/OEBPS/Images/Section0029.jpg?sign=1739029773-CUyDD6TgTxCHIpMVK0R32gETawBXr2hT-0-fdbf13d49a5704f25c8bf7c46ee8a120)
① 在这个程序中,按下故障按钮I0.0、PLC系统出现I/O故障或PLC监测到系统程序出了问题都会执行STOP指令。
② 为使PLC正常运行,可执行看门狗复位指令重新触发系统监视定时器(WDT)。
③ 若不希望运行某一部分程序,可在这段程序之前加上END指令。按下按钮I0.1,PLC返回程序起点重新执行。