想学好PLC必须掌握的循环扫描工作过程!
1 CPU自检阶段
CPU自检阶段包括CPU自诊断测试和复位监视定时器。
在自诊断测试阶段,CPU检测PLC各模块的状态,若出现异常立即进行诊断和处理,同时给出故障信号,点亮CPU面板上的LED指示灯。当出现致命错误时,CPU被强制为STOP方式,停止执行程序。CPU的自诊断测试将有助于及时发现或提前预报系统的故障,提高系统的可靠性。
监视定时器又称看门狗定时器WDT,它是CPU内部的一个硬件时钟,是为了监视PLC的每次扫描时间而设置的。CPU运行前设定好规定的扫描时间,每个扫描周期都要监视扫描时间是否超过规定值。这样可以避免由于PLC在执行程序的过程中进入死循环,或者由于PLC执行非预定的程序造成系统故障,从而导致系统瘫痪。如果程序运行正常,则在每次扫描周期的内部处理阶段对WDT进行复位(清零)。如果程序运行失常进入死循环,则WDT得不到按时清零而触发超时溢出,CPU将给出报警信号或停止工作。采用WDT技术也是提高系统可靠性的一个有效措施。
2 通信处理阶段
在通信处理阶段,CPU检查有无通信任务,如果有则调用相应进程,完成与其他设备(例如,带微处理器的智能模块、远程I/O接口、编程器、HMI装置等)的通信处理,并对通信数据做相应处理。
3 读取输入
在读取输入阶段,PLC扫描所有输入端子,并将各输入端的通/断状态存入相对应的输入映像寄存器中,刷新输入映像寄存器的值。此后,输入映像寄存器与外界隔离,无论外设输入情况如何变化,输入映像寄存器的内容也不会改变。输入端状态的变化只能在下一个循环扫描周期的读取输入阶段才被拾取。这样可以保证在一个循环扫描周期内使用相同的输入信号状态。因此,要注意输入信号的宽度要大于一个扫描周期,否则很可能造成信号的丢失。
4 执行程序阶段
可编程控制器的用户程序由若干条指令组成,指令在存储器中按顺序排列。当PLC处于运行模式执行程序时,CPU对用户程序按顺序进行扫描。如果程序用梯形图表示,则按先上后下、从左至右的顺序逐条执行程序指令。每扫描到一条指令,所需要的输入信号的状态均从输入映像寄存器中读取,而不是直接使用现场输入端子的通/断状态。在执行用户程序过程中,根据指令做相应的运算或处理,每一次运算的结果不是直接送到输出端子立即驱动外部负载,而是将结果先写入输出映像寄存器中。输出映像寄存器中的值可以被后面的读指令所使用。
5 刷新输出阶段
执行完用户程序后,进入刷新输出阶段。可编程控制器将输出映像寄存器中的通/断状态送到输出锁存器中,通过输出端子驱动用户输出设备或负载,实现控制功能。输出锁存器的值一直保持到下次刷新输出。
在刷新输出阶段结束后,CPU进入下一个循环扫描周期。
什么是PLC程序执行时间?如何设置?
系统执行时间
S7-1200 CPU的循环扫描时间(看门狗时间)默认为150ms,最大可修改为6000ms,如图1:
图1. 设置最大循环时间
当编程结束后,需要了解程序的循环周期,可通过如下方法查询。
将程序下载到PLC后,进行在线连接,查看路径:“在线和诊断”--->“循环时间”,如图2:
图2. 查看PLC循环时间
子程序执行时间
使用S7-1200 CPU时,若需要了解某个子程序的执行时间,依据如下方法进行编程。
首先,设置PLC系统时钟,按图3方法设置:
图3. 设置PLC系统时钟
接着,创建数据块DB1,块名称为“time”,并创建变量,如图4:
图4. 创建数据块
注:若选择“已优化”DB块,则创建的DB块变量不显示“偏移量”列,后续程序中变量则为符号寻址。
然后,在OB1中编程,读取子程序执行前、后的系统时间,再运用指令 T_DIFF 做时间相减。
如下例程中测试了“块_1(FC1)”子程序的执行时间,如图5:
图5. 子程序执行时间例程
最后,通过监控表查看该子程序的执行时间,如图6:
常问问题
为何程序下载完毕后PLC无法运行,PLC诊断信息中出现“超出最大程序循环时间”?
可能的原因:
1、程序过长,执行时间超过设置的最大循环时间;
2、程序中有死循环程序导致执行时间超过最大循环时间;
3、定时中断程序的执行时间大于所设定的定时间隔时间,导致定时中断事件缓冲区溢出而停机。
电气相关知识和经验是用来分享,希望本文能对你有帮助。与人玫瑰,手留余香。
欢迎大家关注,点赞,评论及转发。
相关问答
plc最小循环时间?
程序的循环周期是固定的,而不是变来变去。你可以设置这一值,同样是在“周期”标签页,勾选“启用循环OB的最小循环时间”,然后输入你想要的值即可。在“在线和...
plc程序如何实现循环动作?
要用PLC实现程序的无限循环,我们可以使用时间顺序循环的指令,指令如下:1、用时间继电器T0驱动T1。2、再由T1驱动T2。3、T2驱动T3。4、直到最后一个,用TN...
plc简答?
2、PLC为什么采取集中采样、集中输出的工作方式?这种工作方式对输入、输出的响应产生怎样的影响?答:采取集中采样、集中输出的工作方式可减少外界干扰的影响...
plc扫描周期的编程例子?
PLC(可编程逻辑控制器)的扫描周期是其工作的基础。以下是一个简单的PLC扫描周期编程例子:假设有一个简单的PLC程序,用于控制一个电机的启动和停止。程序包含...
PLC的扫描周期和什么有关系?
可编程控制器的工作过程包括两部分:自诊断及通信响应的固定过程和用户程序执行过程.PLC在每次执行用户程序之前,都先执行故障自诊断程序、复位、监视、定时等...
三菱PLC的FX2N可否设置恒定扫描周期?
扫描:程序块根据PLC的扫描周期循环运行,待机:程序块待机状态,不执行程序。初始:STOP至RUN的第一个扫描周期执行一遍程序,以后程序不执行。恒定周期:...扫...
plc的工作周期?
PLC的扫描周期分为三个阶段:输入采用阶段:CPU用扫描方式把所有输入端的外部输入信号的ON/OFF状态一次写入到输入映像寄存器,同时刷新寄存器;同时在本扫描周...
plc矩阵扫描周期怎么理解?
1.当可编程逻辑控制器投入运行后,其工作过程一般分为三个阶段,即输入采样、用户程序执行和输出刷新三个阶段。完成上述三个阶段称作一个扫描周期。不同型号的...
plc的周期是什么意思?
周期就是执行这一个程序所需要的时间,如果我们执行一个程序部,需要两秒,有十个程序部这一个周期就是20秒,PRlc的周期有很多种,他有时装周计划扫描周期,还...
PLC的扫描周期运算周期主要周期?
PLC的扫描周期是在你从程序第一行开始到程序最后一行(一般是END)执行完毕,这个时间周期是一个扫描周期。和你定时啊、高速脉冲、高速计数等等一点关系都没有。...