这是网上擂台的题目:一台电动机要求在按下起动按钮后,电动机运行10秒,停5秒,重复3次后,电动机自动停止。同时设置有手动停机按钮和过载保护。编写梯形图控制程序。PLC可以随便选用,要有相关说明。注意:要有PLC控制电路和I/O分配表。1、硬件选择:一台PLC(S7-200)、一个交流接触器Z0(控制电机运行)、2个按钮开关(SB1、SB2)及1个过流继电器(FR),电路图如下:(不包括粉色虚线框部分)2、编程:用不同思路,可编出几种不同的控制方案,都可实现该项目要求。(1)、最简单的编程方案,就是选用5个通电延时定时器:其3个定时10秒,用于电机启动运行,另2个定时5秒,使电机停。具体编程也有二种方式,见下图:上图中的方案一与方案二,同用5个定时器,完成同样的功能。方案一是这样编程:按下启动按钮(I0.0),使断开。在此过程中,M0.0、MO.2、M0.4都是10秒的导通时间,用它们去控制Q0.7,其彼此间隔时间为5秒(即M0.1、M0.3的通导时间)。?8?1延时?8?1M0.0=1,T101得电开始延时,延时10秒,T101吸合使M0.1=1、M0.0=0,使T101断电,而T102得电开始延时,5秒后T102得电吸合,使M0.2=1,M0.1=0。。。直到T105得电方案二是这样编程:按下启动按钮(I0.0),使M0.0=1,T101得电开始延时,延时10秒,T101吸合,使T102得电开始延时,延时5秒,T102吸合,使T103得电开始延时。。。直至T105得电延时,延时10秒后动作,使M0.0=0,M0.0=0使T101—T105皆断开,程序结束。用M0.0的常开触点与T101的常闭触点串联,用T102的常开触点与T103的常闭触点串联,用T104的常开触点与T105的常闭触点串联,三者再并联后去驱动Q0.7,可达到同样的控制作用,由上图可见,由于编程方法不同,其方案二用的指令比方案一少,显然:方案二优于方案一。(2)、用二个定时器(T101、T102)和一个字节存储器(MB1)编程也可实现同样功能:按下启动按钮,使MB1=0、M0.0=1,M0.0=1使T101得电开始延时,10秒T101吸合使T102得电吸和,延时5秒,T102吸合,其常闭点断开,使T101、T102失电断开,T101又得电延时。。。形成振荡器,T102每吸合一次,使MB1加1,吸合3次,MB3=3,比较器输出1使M0.0=0,程序结束。用M0.0的常开点与T101与T102的常闭点串连,去驱动电机输出口Q0.7,可实现电机转10秒停5秒,循环3次控制结束。该方案所用指令比方案二还少(见上图方案三),可见扩大思路与视野,可编辑出多种不同的可执行方案,从中选出最佳方案,会使你编出的程序,短小精悍。此外还有二种编程方案,也可实现这同一课题的控制要求:即是用PLC的秒脉冲(SM0.5)触发存储器使之进行移位或加计数的控制方式实现的控制方案:上图的方案四:是选用二个字节存储器(MB2、MB3),按下按钮,其抬起的后沿,使MB2=0、MB3=3,且使M0.1=1。M0.1=1使PLC的秒脉冲SM0.5触发有效:SM0.5的前沿,对MB2进行加1运算,当MB2值10时,使输出Q0.7始终=1(即电机运转),MB2=10时,使Q0.7=0(电机停),MB2=15时,使MB2=0,同时MB3减1,再判断MB3=0?,如不=0,由于MB2=0,且10,使Q0.7=1(电机又转)。。。当MB3=0时(即循环3次),使M0.1=0,程序结束。此程序所用指令少,也是最佳方案。上图的方案五:它是采用秒脉冲SM0.5的前沿触发字存储器MW4,使其以次右移一位的方式,对电机进行实时控制:按下启动开关(I0.0),其抬起时,将MW4=16#3F(即MB5的8位皆=1,MB4的低二位值也=1,共10位值都=1),再将MB6=0、MB7=3,同时使M0.2=1。M0.2=1使SM0.5的前沿触发有效,每触发一次,MW4右移一位,MB6加1,当计满15次时,使MB6=0,且MB7减1,再判断MB7=0?,循环计数3次,其MB7=0,比较器输出信号使M0.2=0,程序结束。每次计数为15,前10个计数,M5.0输出都=1,故输出口Q0.7皆=1,电机运行,后5个计数,其M5.0输出皆=0,故电机停转。这5种编程方案,出于5种不同的构思,望初学者能仔细分析各个程序,如能很好的理解,对你今后的编程是会大有帮助的