三菱PLC扫描周期的讲解,小白也能听懂
导读:在日常的编程中,我们可能会遇到以下类似的情况,比如给1个Y点输出条件导通了,Y点却没有输出;比如给一个寄存器赋值,开始寄存器保存的数据却不是我们给的那个值,还有其他各种奇奇怪怪的现象,这些大部分都是由程序扫描周期引起的,如图1
图1
一、PLC的工作过程
这个时候我们就需要先掌握plc的工作过程以及plc的程序执行扫描原理,才能去分析这些问题。PLC的工作过程主要分成内部处理、通信服务、输入处理、程序处理、输出处理5个部分,如图2所示。
图2
内部处理:系统初始化、软元件复位、进行自诊断以及内部工作任务,检查有没有错误以确保系统可靠运行;
通信服务:和外部通信联系,比如电脑软件监控更新显示内容,又如PLC和触摸屏通信,触摸屏上一直刷新显示;
输入处理:依次读入所有输入状态和数据,并将它们存入I/O映象区的映像寄存器内。这里的意思是,比如PLC外部按钮开关的状态,全部读入PLC内。然后执行下一个工作程序处理;
程序处理:由上而下、从左到右。这八个字非常重要!PLC扫描的顺序是从上到下,从左到右的。三菱FX3UPLC的一个扫描周期的时间是10ms,不同品牌型号的PLC扫描周期不一样。扫描完一次称为一个扫描周期。
输出处理:按照映象区对应的状态集中刷新所有的输出锁存电路,再传送到各相应的输出端子,再经过电路驱动相应的实际负载;这里的意思是,PLC扫描完所有程序后,需要注意的是,一些中断输出会立即输出,不会等程序扫描完再输出的。
下面重点讲一下程序的输入处理、程序扫描和输出处理:
外部按钮按下时,把开关量的信号接到PLC的输入模块,输入模块的信号要给到PLC内部的输入映像区需要一定时间,就三菱FX3U的PLC而言,大概是10ms左右的时间。
之后执行程序扫描,程序扫描也需要花费一点时间,程序越长,扫描周期越长(一般常见程序周期大概10ms),扫描过程也是按照从上往下,从左往右去扫描。程序扫描完毕,就把各个输出的状态给到输出映像区,控制负载进行输出。
PLC就是不断执行这几个过程,如图3。
图3
二、程序扫描分析
下面看下一个简单的案例,如图4
图4
当某一刻,按钮X0按下去,此时输入映像区还没有马上接收到X0的信号;执行程序扫描,程序扫描有以下4步,先M0常开触点(此时是断开);再扫描Y0线圈(由于前面条件是断开的,所以Y0线圈没有输出);再扫描X0常开(由于输入有延时,此时X0触点还没有导通);最后扫描M0线圈(此时是断开),此时输出映像区Y0是没有输出的,指示灯不亮。
经过10ms延时,此时输入映像区接收到X0的信号;执行程序扫描,程序扫描有以下4步,先M0常开触点(此时是断开);再扫描Y0线圈(由于前面条件是断开的,所以Y0线圈没有输出);再扫描X0常开(输入映像区有信号,X0触点导通);最后扫描M0线圈(此时是M0线圈导通),最后把Y0输出改映像区,此时Y0是没有输出的,指示灯不亮。
PLC进入下一个扫描周期,输入映像区接收到X0的信号;执行程序扫描,程序扫描有以下4步,先M0常开触点(此时是导通的,因为是上一个扫描周期的M0线圈是导通的);再扫描Y0线圈(由于M0常开导通了,所以Y0线圈有输出);再扫描X0常开(输入映像区有信号,X0触点导通);最后扫描M0线圈(此时是M0线圈导通)最后把Y0输出改映像区,此时Y0有输出的,指示灯点亮。
可以发现,从按钮按下到指示灯点亮,需要经过1个10ms的延时,再加上2个扫描周期,假设PLC的扫描周期大概是10ms,那就是按钮按下去后,30ms过后指示灯Y0 才点亮。
当按钮松开时,我们也来分析下它的扫描周期。
这里我们已经对扫描周期有一个初步的了解了,接下来我们通过学习单按钮启停的课程,更加深入地来理解扫描周期,掌握程序的分析方法。
来源:技成培训网,作者:技成-陈育鑫,未经授权不得转载!