![欧姆龙PLC应用100例](https://wfqqreader-1252317822.image.myqcloud.com/cover/977/655977/b_655977.jpg)
1.2 用一般指令编写的基本控制程序
实际的PLC程序是由这些基本程序扩展和叠加而成的。因此,如果掌握了这些基本控制程序的设计原理和编程技巧,对于编写一些大型的、复杂的应用程序是非常有利的。在编写PLC程序的过程中,除了正确应用这些基本控制程序外,还应注意控制程序之间的配合和程序中的顺序问题。
【例1-2-1】启—保—停电路
梯形图如图1-2-1所示,程序执行过程如下所述。
1)启动
2)停止
![](https://epubservercos.yuewen.com/C686A4/3590312003943101/epubprivate/OEBPS/Images/Figure-0006-945.jpg?sign=1738905554-ho1Cv9tDXWGGs5C2xnhNwNBm5cPM41jN-0-9169bf33c10fda23c52054691c0fa2be)
图1-2-1 启—保—停电路的梯形图和时序图
如图1-2-2所示为利用置位、复位指令编写的另一种启—保—停电路的梯形图和时序图。当◎00001[1]闭合时,执行置位指令SET[1],使10000[1]得电,而00001[1]断开时,10000[1]继续保持得电状态;当◎00002[2]闭合时,执行置位指令RSET[2],使10000[1]失电,而00002[2]断开时,10000[2]继续保持失电状态。
![](https://epubservercos.yuewen.com/C686A4/3590312003943101/epubprivate/OEBPS/Images/Figure-0007-949.jpg?sign=1738905554-r0etGDqulwtoQvLYDecKsrFziVeByESa-0-a0b2b66c0f0ade20c0c121617aa67514)
图1-2-2 用置位、复位指令编写的启—保—停电路的梯形图和时序图
【例1-2-2】瞬时接通、延时断开电路之一
瞬时接通、延时断开电路的梯形图和时序图如图1-2-3所示。该电路能实现在外部输入信号为ON时,立即产生相应的输出信号,而当外部输入信号变为OFF时,需要延时一段时间,输出信号才为OFF。其指令语句表如表1-2-1所示。
![](https://epubservercos.yuewen.com/C686A4/3590312003943101/epubprivate/OEBPS/Images/Figure-0007-953.jpg?sign=1738905554-gWoavwuAuw200wTBpHMI9fVggmFbQYRW-0-a1798f7d673b74021a2185ef4a6f4416)
图1-2-3 瞬时接通、延时断开电路(一)的梯形图和时序图
表1-2-1 瞬时接通、延时断开电路(一)指令语句表
程序执行过程:
【例1-2-3】瞬时接通、延时断开电路之二
梯形图和时序图如图1-2-4所示。
![](https://epubservercos.yuewen.com/C686A4/3590312003943101/epubprivate/OEBPS/Images/Figure-0008-1103.jpg?sign=1738905554-cW6vnBcPkcvudIyEgCJiL7Hgb1ao2OmF-0-23e48c954a25b2577952b433a17d1bce)
图1-2-4 瞬时接通、延时断开电路(二)的梯形图和时序图
程序执行过程:
【例1-2-4】延时接通、延时断开电路之一
梯形图和时序图如图1-2-5所示。电路用00000控制10001,要求在00000变为ON,再过3s后,10001才变为ON,即延时接通;00000变为OFF,再过5s后,10001才变为OFF,即延时断开。10001用启—保—停电路来控制。
程序执行过程:
1)延时接通
![](https://epubservercos.yuewen.com/C686A4/3590312003943101/epubprivate/OEBPS/Images/Figure-0009-1115.jpg?sign=1738905554-iOpNHznMZ0oGlNOdYN9N9QRjY234gN39-0-e1ab777627d5e7f9f0c1d2bb9d113b1c)
图1-2-5 延时接通、延时断开电路(一)的梯形图和时序图
【例1-2-5】延时接通、延时断开电路之二
如图1-2-6所示为该电路的梯形图。
![](https://epubservercos.yuewen.com/C686A4/3590312003943101/epubprivate/OEBPS/Images/Figure-0010-1126.jpg?sign=1738905554-NJK05mXBiUVUwW3ZHRMPaJP7SQ7yracn-0-0185108db9f018e10e95ca1a34dcb2fb)
图1-2-6 延时接通、延时断开电路(二)的梯形图
程序执行过程:
1)延时接通
2)延时断开
【例1-2-6】定时器自复位的脉冲信号产生电路
定时器自复位的脉冲信号产生电路梯形图如图1-2-7所示。
程序执行过程:
![](https://epubservercos.yuewen.com/C686A4/3590312003943101/epubprivate/OEBPS/Images/Figure-0011-1141.jpg?sign=1738905554-IniSzKg27GKn3FqJ7XkSXcZ737hFC9sZ-0-8ad048ee29156e946e39db693e624513)
图1-2-7 定时器自复位的脉冲信号产生电路的梯形图和时序图
【例1-2-7】利用微分指令产生单脉冲电路
在实际应用中,常用单个脉冲来控制系统的启动、复位、计数器的清零和计数等。在PLC程序设计中,经常用单个脉冲进行一些软继电器的复位、启动和停止。单脉冲往往是在信号变化时产生的,最常用的产生单脉冲的程序就是使用DIFU和DIFD指令实现,利用这两条指令可以得到宽度为PLC一个扫描周期的单脉冲,如图1-2-8和图1-2-9所示。
![](https://epubservercos.yuewen.com/C686A4/3590312003943101/epubprivate/OEBPS/Images/Figure-0011-1145.jpg?sign=1738905554-xoZsjzR18z9YXButqM2xtea5zejYq13o-0-dbb4f2ef524e44ed5c5802e69ae136ab)
图1-2-8 上升沿产生单脉冲的梯形图和时序图
![](https://epubservercos.yuewen.com/C686A4/3590312003943101/epubprivate/OEBPS/Images/Figure-0011-1148.jpg?sign=1738905554-OSnbiedSYg20yGGLOltxPhrZSNfRsfHc-0-fce22b47f4178e2a461fef24de26d7f6)
图1-2-9 下降沿产生单脉冲的梯形图和时序图
【例1-2-8】顺序脉冲发生电路
如图1-2-10(a)所示为用三个定时器产生一组顺序脉冲的梯形图,顺序脉冲时序图如图1-2-10(b)所示。
![](https://epubservercos.yuewen.com/C686A4/3590312003943101/epubprivate/OEBPS/Images/Figure-0012-1154.jpg?sign=1738905554-SiLBoov6CEGehXADcqN3xUGtyJcmkCxv-0-2f4e01dd0ad4c7b26126588970f966a9)
图1-2-10 顺序脉冲发生电路的梯形图与时序图
程序执行过程:
【例1-2-9】使用多个定时器接力组合的扩展定时电路
梯形图和时序图如图1-2-11所示。按下启动按钮00000后,要求10000和10001按图1-2-11(b)中的时序工作。用TIM000、TIM001和TIM002对三段时间定时。启动按钮提供给00000的是短信号,为了保证定时器的线圈有足够长的“得电”时间,用启—保—停电路控制01600。
![](https://epubservercos.yuewen.com/C686A4/3590312003943101/epubprivate/OEBPS/Images/Figure-0013-1164.jpg?sign=1738905554-I8iOBIf9E7GSlAKojiKflyXOFJhzyAPK-0-69871078875624939478219e185c1d14)
图1-2-11 使用多个定时器接力组合的扩展定时电路的梯形图和时序图
程序执行过程:
【例1-2-10】使用定时器与计数器组合扩展定时范围
CQM1H系列定时器的最长定时时间为999.9s,如果需要更长的定时时间,可使用如图1-2-12所示的电路。当00002为OFF时,◎00002[1]断开、#00002[2]闭合,TIM000[1]和CNT000[2]处于复位状态,它们不能工作。当00002为ON时,◎00002[1]闭合,TIM000[1]得电,开始计时。300s(即5min)后,0.1s定时器TIM000[1]的定时时间到,其当前值等于设定值,#TIM000[1]断开,使它自己复位,复位后TIM000[1]的当前值变为0,同时#TIM000[1]复位闭合,使它自己重新得电,又开始定时。TIM000[1]将这样周而复始地工作,直到00002变为OFF。从上面的分析可知,梯级1是一个脉冲信号发生器,脉冲周期等于TIM000的设定值。
产生的脉冲列送给CNT000[2]进行加1计数,当减满30000个数(即25000h)后,CNT000[2]的当前值等于0,其动合触点◎CNT000[3]闭合,使10000[3]得电。设TIM000和CNT000的设定值分别为KT和KC,对于100ms定时器,总的定时时间为T=0.1KTKC(s)。
![](https://epubservercos.yuewen.com/C686A4/3590312003943101/epubprivate/OEBPS/Images/Figure-0014-1174.jpg?sign=1738905554-DRS3rCuNmnY7ON1OWGlkMEK4E01epA9i-0-27278f42c27b3f2463a1800e1328c870)
图1-2-12 定时范围的扩展
【例1-2-11】多个定时器串级使用的长定时电路
定时器串级使用时,其总的定时时间为各定时器定时时间之和。其梯形图和时序图如图1-2-13所示。
![](https://epubservercos.yuewen.com/C686A4/3590312003943101/epubprivate/OEBPS/Images/Figure-0014-1178.jpg?sign=1738905554-UTuY9bWkewidCoq5rBhw5n6Z6d9AA8Ko-0-38ee8f41305f0d641285aaa193e765ef)
图1-2-13 多个定时器串级使用的长定时电路的梯形图和时序图
程序执行过程:
【例1-2-12】一个定时器和多个计数器连接,形成的长定时电路
该电路的梯形图如图1-2-14所示。在输入信号00000接通后,TIM038每隔1min产生一个脉冲,是分钟计时器。CNT000每小时产生一个脉冲,是小时计时器。当5h计时时间到时,CNT001为ON,这时CNT002再计时20min,10000为ON,即总计时时间为5h20min。经过5h20min后将输出继电器10000置位。
初始化脉冲25315和外部复位按钮00001对计数器起复位作用。
![](https://epubservercos.yuewen.com/C686A4/3590312003943101/epubprivate/OEBPS/Images/Figure-0015-1187.jpg?sign=1738905554-F7wsQjg5TT4Hw5CJ74XLEgt92Rw97Npk-0-c8993e8b54898017f0d3fb7079046e45)
图1-2-14 一个定时器和多个计数器连接的长定时电路的梯形图
程序执行过程:
1)1min计时器
5)停止工作与复位
【例1-2-13】单故障报警控制
梯形图如图1-2-15所示,时序图如图1-2-16所示,PLC的I/O接线如图1-2-17所示。
![](https://epubservercos.yuewen.com/C686A4/3590312003943101/epubprivate/OEBPS/Images/Figure-0016-1201.jpg?sign=1738905554-YVrKKuCjZCfo7u6VIVNdnX11vl5bToEG-0-bd2d904f934d0b1f621649a706101a2d)
图1-2-15 单故障报警控制的梯形图
![](https://epubservercos.yuewen.com/C686A4/3590312003943101/epubprivate/OEBPS/Images/Figure-0017-1207.jpg?sign=1738905554-D56FPns2iuknmz2ijk5N2j87c4qZH2ac-0-02ee0c8b6691eb00041bacf70aff344f)
图1-2-16 单故障报警控制的时序图
![](https://epubservercos.yuewen.com/C686A4/3590312003943101/epubprivate/OEBPS/Images/Figure-0017-1210.jpg?sign=1738905554-Yvwgf7OgMOFqnAeV686tT7UJBvCj8bqf-0-eb0393bb1cb7d936ec3a23c3b7c0f7b1)
图1-2-17 PLC的I/O接线
程序执行过程:
1)TIM037[1]和TIM038[2]组成闪烁电路,使故障指示灯闪烁
3)报警灯检测、蜂鸣器检测
【例1-2-14】多故障报警控制
在实际工程应用中,出现的故障可能不仅一个,而是多个,在声光多故障报警控制程序中,一种故障对应一个报警指示灯,多种故障共用一个报警蜂鸣器。
当任何一种故障发生时,按该故障的消除蜂鸣器按钮后,不能影响其他故障发生时报警蜂鸣器的正常鸣响。多故障报警控制梯形图如图1-2-18所示。
![](https://epubservercos.yuewen.com/C686A4/3590312003943101/epubprivate/OEBPS/Images/Figure-0018-1223.jpg?sign=1738905554-wQGlJez1bJoTbqAardZXQpY1WQDQhtxi-0-c62ead6d185192dfb1e8a20f10608b71)
图1-2-18 多故障报警控制梯形图
由于需要处理8个故障,因此使用了8个故障报警灯电路[3~10]与8个消铃电路[11~18]。
比较图1-2-18和图1-2-15可看出,如图1-2-18所示的脉冲信号发生器、故障1~8的报警灯控制及故障1~8的消铃电路与图1-2-15完全相同,只是蜂鸣器电路有所不同。由于只使用一个蜂鸣器电路,因此需将控制各消铃的支路并联,控制10010[19]。
图1-2-18中故障1用输入信号的◎00000[3、11、19]表示;故障8用00007的◎00007[10、18、19]表示;00010[11~18]为消除报警灯按钮;◎00011[3~10、19]为试报警灯、试蜂鸣器按钮。故障1指示灯用信号10000[3]输出;故障8指示灯用信号10007[10]输出;10010[19]为报警蜂鸣器输出信号。
【例1-2-15】集中与分散控制
在多台单机组成的自动线上,有在总操作台上的集中控制和在单机操作台上分散控制的联锁。梯形图如图1-2-19所示。00002为选择开关,以其触点为集中控制与分散控制的联锁触点。当00002为ON时,为单机分散启动控制;当00002为OFF时,为集中总启动控制。在两种情况下,单机和总操作台都可以发出停止命令。
00001为总停止或集中控制按钮,00003为集中控制启动按钮,00010、00011分别为单机A的启动、停止按钮,00020、00012为单机B的启动、停止按钮。
![](https://epubservercos.yuewen.com/C686A4/3590312003943101/epubprivate/OEBPS/Images/Figure-0019-1230.jpg?sign=1738905554-21JJPeY03uOANMqTF36dx4GlNBm80p9Y-0-cee2c2b63f076c22eab3e7b8142f9c72)
图1-2-19 集中与分散控制的梯形图
1)集中控制
(1)启动:
(2)同时停止:
分别停止:当00011[3]、00012[4]分别得电时,◎00011[3]、◎00012[4]分别断开,可使10010、10020分别失电,实现分别停止的控制要求。
2)分散控制
(1)启动:
(2)单机A分散控制:
当00010为ON时→◎00010[3]闭合(由于◎00002[3]已闭合)→10010[3]得电并自锁
(3)单机B分散控制:
当00020为ON时→◎00020[4]闭合(由于◎00002[4]已闭合)→10020[4]得电并自锁
(4)总停止:
当00001为ON时→10000[1]为ON→#10000[3]、#10000[4]均断开→使10010[3]、10020[4]均失电
(5)分别停止:
当00011为ON时→#00011[3]断开→10010[3]失电
当00012为ON时→#00012[4]断开→10020[4]失电