想学好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进入下一个循环扫描周期。
「案例」西门子 S7-1200模拟量输入模块的奇怪故障(全溢出)
近日,有网友遇到了S7-1200 模拟量输入模块的奇怪故障,所有通道都上溢出,处理和分析的过程如下:
一、故障现象
S7-1200的8路AI模块,全部配置成电流信号,其中一个通道未接线,通道0的实测电流为7.3mA,通道1的实测电流为4mA。板卡无报错,所有通道的绿灯常亮。但是程序里所有通道的读数全为32767(上溢出)。不确定原始状态,已经更换过该AI板,状态无变化。
为了判定是否板卡再次损坏,还是软件问题,大家远程指导他进行了一系列尝试。如果是板卡损坏,则要想办法找出问题原因,避免再次损坏。
二、尝试过程
1、拆除外部信号线,读数无变化:
2、继续拆除PE线,读数无变化
3、拆除板子24V电源,板卡报错,说明板卡的24V监控功能正常。
4、接上一个通道,测量信号的直流电压差与电流相符(电流为4mA,标准电阻为280Ω,因此,电压是1.12V)。
5、测量通道对地电压,也没有较大共模电压。
6、PLC复位(PLC重置为出厂设置),重新下载硬件配置和软件
通道1设置成0-20mA,强周期滤波,检测值变为0。其他设置程4-20mA的通道读数还是溢出状态。
7、给通道1本地施加电流(用信号发生器),读数还是0(证明该通道已经损坏)。
8、后来,再次更换新板卡,恢复外部接线后正常。
三、可能原因分析
网友回忆说,外部有个仪表进过水,并且出现过24V直接接信号的情况,因此很可能是24V直接加在通道上,将通道烧毁,并波及了其他通道。(手册上说:电流信号最多耐受40mA,折算成电压也就11.2V,因此,直接加24V应该会烧掉)。
虽然还是最坏的结果,但是,上面的判断过程和故障现象还是值得大家参考滴!
说明:
1、本文是实践经验,非严格论文,与相关产品和理论可能不完全相符。
2、如需控制、三电相关帮助,交流,请关注本人,并加入技术讨论QQ群:877456127,那里有很多热心同行。
相关问答
plc数据溢出原因和后果?
plc数据溢出后果会造成数据运算的不准确,可以把溢出做一个报警。原因是PLC中寄存器的处理能力由其位数决定的,如果输入的数据位数超过了其运算能力,就会溢出。...
PLC做流量累计,怎么解决溢出问题?
对这个流量进行固定频率的采集,假如采集频率为10hz,也就是每秒钟采集10次,将每次采集的数据进行累加,再将累计的数除以10就是每秒流量,假如流量计工作在最大...
plc数据溢出输出不变什么意思?
你首先要知道什么是溢出数据溢出有溢出时其输出不变化有溢出现象叫程序出错你首先要知道什么是溢出数据溢出有溢出时其输出不变化有溢出现象叫...
plc位左移溢出了怎么办?
改变plc的数据类型,将长整型改为短整型。改变plc的数据类型,将长整型改为短整型。
plcerror红灯闪烁查找不到plc
[最佳回答]台达plcERROR灯亮,是错误灯的意思,主要是运算错误。有可能程序有问题,也有可能PLC坏了,还有可能是扩展模块不是这个主机上的无法识别,多数是程序数...
plc上的powerrn灯是什么?
plc上的POWER是电源指示灯,当plc正常上电时亮,有简写POW,PWR,简写成PVR的还真是没见过。RUN运行指示灯,当plc运行程序时亮。PLC上的ERR是错误指示灯,当plc...
plcstoperr灯闪烁?
有很多,如I/O卡损坏、通信...1.通电后,错误指示灯闪烁,运行指示灯未亮,看//或眨眼,看一看这个程序有问题吗?如果程序很好,I/O模块有问题。2.出错原因有很多,...
plc进入中断扫描程序会执行吗?
当PLC进入中断扫描程序时,它会停止执行当前的主程序,并跳转到中断程序中执行。中断程序是一种特殊的程序,它会对来自外部设备的信号或事件进行处理,如输入/输...
三菱PLC通电后ERROR指示灯闪烁是什么故障?
通电后error灯闪烁,run灯不亮.那你张run打到运行状态..看看//还是闪烁..可以看下..程序有没有问题,,要是程序没事..那就是I/O模块有问题。;ERROR灯亮一般有很...
三菱plc没输出ERR一直闪?
好,I/O模块有问题。2.出错原因有很多,如I/O卡损坏...1.通电后,错误指示灯闪烁,运行指示灯未亮,看//或眨眼,看一看这个程序有问题吗如果程序很好,I/O模块有问...