西门子触摸屏分销商 西门子触摸屏分销商
西门子触摸屏分销商西门子触摸屏分销商西门子触摸屏分销商西门子触摸屏分销商西门子触摸屏分销商
在日常的编程中,我们可能会遇到以下类似的情况,比如给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 才点亮。
当按钮松开时,我们也来分析下它的扫描周期。
西门子触摸屏分销商 西门子触摸屏分销商