PLC是如何扫描程序的?各位电气人都了解吗?
学习PLC必须要深刻理解PLC的扫描过程和执行原理,才能可靠无误的编写程序。通俗的讲PLC程序是从上往下,从左往右顺序循环扫描执行,它需要三个过程才真正输出实现外部动作。
第一步,先把外接的开关信号状态批量刷新到I输入映像区。
第二步,CPU由左往右,由上往下,顺序执行程序,在每个扫描的周期内,都会改变往后的寄存器状态,但没扫描完程序时,是不会马上有实际的物理输出。
第三步,所有程序执行完成后,统一刷新输出Q映像区,从而执行Q外接执行结构动作。
下面以一个单键启停程序来分析每个扫描过程的状态,从而实现单键启停的功能。
下面用M0.1来代替启停开关
动作过程:每使M0.1接通,则输出Q0.0交替接通、关断,实现单键启停功能。
分析过程
1、当第一次按下M0.1=1时:M0.0通过上升沿仅接通一个扫描周期
在第一个扫描周期时,M0.1=1,M0.0=1
则网络2中的上部线路---M0.0=1,Q0.0闭点初始还为0,则上部线路通,使Q0.0线圈=1接通。
下部线路的状态---M0.0闭点打开=0,Q0.0开点接通=1,下线路不通。
第一个扫描周期结果是:M0.1=1.,M0.0=1,Q0.0=1.如下图
第二个扫描周期时,M0.1继续接通=1,由于上升沿仅接通一个扫描周期,则P后线是不通的,M0.0不通=0,如下图:
网络2中此时状态变为:
上部线路:M0.0=0,Q0.0闭点打开不通,则上部线路不通
下部线路:M0.0=0,则闭点接通,Q0.0=1,开点接通,则下部线路接通。
第三个扫描周期时,放开M0.1=0,M0.0继续为0,网络2中的状态,与第二周期状态相同,Q0.0继续保持为1.
2、第二次接通M0.1=1时:上升沿P后又接通一个扫描周期
第一个扫描周期:M0.1=1,M0.0=1
在M0.0重新接通情况下:
上部线路:M0.0=1接通,Q0.0闭点继续保持打开。则上部线路不通
下部线路:M0.0闭点打开不通,则下部线路也不通。Q0.0失电,
Q线圈不通
第二个扫描周期时,M0.1继续接通=1,由于上升沿仅接通一个扫描周期,则P后线是不通的,M0.0不通=0
网络2中,上部线路:M0.0=0,Q闭点接通=1,上部线路不通
下部线路:m0.0闭点通,Q开点断开,下部线路不通。
如下图:
在第三扫描周期:放开M0.1=0,m0.0是0
上下线路同上,Q也是失电状态。
这个单键启停之能成功实现,主要原因是上升沿的应用,每次接通只能扫描一个周期,如果去掉上升沿P,则该功能动作会乱输出,不能实现交替输出与关断。
利用扫描执行的特点才能正确分析程序的动作,和画出这个程序。