简单讲,plc上电时,启动执行,然后进入PLC扫描过程。从用户观点,PLC扫描过程就是从输入模块读取状态信号放入过程映像区,然后开始调用循环。如果有事件产生中断,则调用相应的块(功能)进行处理。最后把过程映像输出表送输出模块。PLC可以被看作是在系统软件支持下的一种扫描设备,一直在循环扫描并执行系统软件设计好的任务。
PLC整个扫描过程可以分为内部处理、通信服务、输入采样、用户程序执行、输出刷新5个阶段。
(1)内部处理阶段
内部处理阶段也称为系统自检阶段。内部处理过程是运行PLC内部系统的管理程序,在这个阶段,PLC完成硬件自检工作和将监控定时器复位等内部工作。如果通过自检,则执行后续功能,否则发出报警信号。该程序是生产厂家在PLC出厂时就已经固化的,一般比较固定,与用户的控制程序无直接关联,其运行时间与用户程序运行时间相比要短的多。
(2)通信服务阶段
在通信服务阶段,处理链接服务功能。主要是PLC建立、处理与远程I/O、上位计算机、其他联网PLC、编程器以及各种智能装置的通信链接。当然,只有在系统中已配置了远程I/O和其他链接单元时,才进行此阶段工作。
(3)输入采样阶段
PLC以扫描的方式工作,输入电路时刻监视着输入信号,按顺序将信号读入寄存输入状态的输入映像寄存器中存储,每一输入点都有一个对应的存储其信息的寄存器。输入寄存器与计算机内存交换信息通过计算机总线,并主要由运行系统程序来实现。PLC内存有专门开辟的存放输入信息的映像区。这个区的每一个对应位( bit)称为输入继电器,或称软接点。这些位置为1,表示接点通,为0表示接点断。由于其状态是由输入刷新得到的,所以,它反映的就是输入状态。这个过程称为输入采样。该采样结果将在PLC执行程序时被使用。
(4)用户程序执行阶段
PLC的用户程序由若干条指令组成,PLC从第一条指令开始,按顺序逐条对用户程序进行扫描。用户程序一般从输入映像寄存器、内部寄存器和输出映像寄存器中读取所需的数据进行运算、处理,再将程序执行的结果写入输出映像寄存器中暂存。
(5)输出刷新阶段
在执行完所有用户程序后,PLC将输出映像寄存器中的内容送到输出寄存器中,并通过输出电路产生相应的输出,再去驱动用户设备。
为了便于理解PLC程序的执行过程,通常也可近似的认为PLC的扫描工作过程为3个基本阶段:输入采样、用户程序执行、输出刷新。PLC在运行模式时,扫描工作是不断重复的,也就是说,以上3个阶段是不断重复的,其输入和输出存储器不断被刷新。由于这个过程是永不停止地循环反复,所以,输出总是反映输入变化的。只是响应时间,略有滞后。当然,这个滞后不宜太大,否则,所实现的控制就不会及时,也就失去控制意义。为此,PLC的工作速度要快。速度快、执行指令时间短,是PLC实现控制的基础。事实上,PLC的速度是很快的,执行一条指令,长则几微秒、几十微秒,短则零点几或零点零几微秒,而且这个速度还在不断提高。
同一个系统在各次扫描周期中,随着条件的不同,执行程序的时间会有变化,因为程序执行过程中,变量状态的不同,部分程序段可能不执行。
程序循环扫描一次的时间,不仅与每条指令执行的时间有关,而且与程序中所用的指令类型、指令条数有关。