想学好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看门狗定时器是怎么一回事?
单片机或Plc中的一个计数器,输出连复位端,倒计数,程序正常执行看门狗定时器不断复位重新计数,一旦程序出错,定时器不复位,当计数到0时,单片机或plc复位,防...
plc扫描问题?
PLC的扫描周期对刚接触PLC的朋友来说是比较难理解的。PLC的扫描周期分为输入采样刷新阶段,用户程序执行阶段,输出刷新阶段。PLC扫描规则为从左到右,从上到下,...
三菱plcFX3u,ERR灯亮是什么故障?
三菱plcFX3u,ERR灯亮是什么故障三菱FX3U系列plc的LED指示灯有四个分别是电源指示“POWER”、运行指示“RUN”、电池“BATT”以及错误指示“ERROR”,我们可以根...
S7-200PLC与MM420变频器通信,为什么总是出现看门狗超时故障?
如果PLC是正常的,那么需要检查软件是否有逻辑问题,比如出现死循环,或者某段程序运算量过大,造成扫描时间超时。如果软件也没有问题,比如程序初始化需时过长...
plc定时器与复位指令的运用?
监控定时器(watchdog)又称看门狗,它的定时时间为300ms,每次扫描它都被自动复位一次,正常工作时如果扫描周期小于300ms,监控定时器不起作用。如果强烈的外部...
西门子看门狗的作用举例?
看门狗是防止程序死机而设置的定时复位,在正常运行的程序中加入一个指令定时将复位电路清零,当程序死机或地址溢出时,会造成该清零指令不执行,复位电路动作,...
ab系统的plc程序密码破解?
那得看什么时候的PLC了,11年之前的破解软件应该就能联机破解(不知道win7系统下能不能破解最早XP系统下是可以的),之后的有硬件看门狗,要想读出来程序就得把...
PIC的标准编程语言分别是?
一、PIC汇编语言指令格式PIC系列微控制器汇编语言指令与MCS-51系列单片机汇编语言一样,每条汇编语言指令由4个部分组成,其书写格式如下:标号操作...指令格...
plc怎样理解中断功能,有没有例子说明下?
每个厂家的PLC程序都不一样,现在我以西门子smart200来对案例说明一下。中断指令S7-200SMART设置了中断功能,用于实时控制、高速处理、通信和网络等复杂和特...
工控人家园怎么注册
[回答]工控机工控机(IndustrialPersonalComputer—IPC)是一种加固的增强型个人计算机,它可以作为一个工业控制器在工业环境中可靠运行。早在80年代初...