您现在的位置是:首页 > PLC技术 > PLC技术
PLC的循环扫描工作方式
来源:艾特贸易2017-06-05
简介PLC 采用循环扫描的工作模式,工作过程一般包括 5 个阶段:内部处理、与编程器等的通信处理、输入扫描、用户程序执行和输出处理,如图 2.5 所示。 当 PLC 方式开关置于 RUN (运行)
PLC采用循环扫描的工作模式,工作过程一般包括5个阶段:内部处理、与编程器等的通信处理、输入扫描、用户程序执行和输出处理,如图2.5所示。 当PLC方式开关置于RUN(运行)时,执行所有阶段;当方式开关置于STOP(停止)时,不执行后3个阶段,此时可进行通信处理,如对PLC联机或离线编程。对于不同型号的PLC,图中的扫描过程中各步的顺序可能不同,这是由PLC内部的系统程序决定的。 图2.5 工作流程图 (1)工作过程介绍。 1)内部处理。在这一阶段,CPU检测主机硬件,同时也检查所有的I/O模块的状态。在RUN模式下,还检测用户程序存储器。如果发现异常,则停机并显示出错;若自诊断正常,继续向下扫描。 2)通信处理。在CPU扫描周期的信息处理阶段,CPU自动检测并处理各通信端口接收到的任何信息。即检查是否有编程器、计算机等的通信请求,若有则进行相应处理,在这一阶段完成数据通信任务。 3)输入扫描。在这一阶段,对各输入点的当前状态进行输入扫描,并将各扫描结果分别写入对应的映像寄存器中。对于数字量输入和模拟量输入,CPU处理的方式不同。 处理数字量输入:每个扫描周期的开始,PLC先进行输入扫描,将数字输入点的当前值写入映像寄存器中。外接电路闭合,对应的映像寄存器为1,对应梯形图中的常开触点接通,常闭触点断开;外接电路断开,对应的映像寄存器为0,对应梯形图中的常开触点断开,常闭触点接通。 模拟量输入:模拟量输入有的采用数字滤波,有的直接输入。模拟量的数字滤波多用于输入信号变化缓慢的场合,如果是高速信号,一般不用数字滤波。对于高成本的模拟量模块,通常支持模块内部滤波;对于低成本的模拟量模块,模块不支持内部滤波,其输入可以使用数字滤波器功能进行设置。 那些需要利用模拟量控制字传递报警信息或数字量信息的模块,不能使用模拟量的数字滤波功能。系统禁止对RTD、热电偶和AS-I主站模块进行数字滤波。 若采用数字滤波,在输入处理阶段,CPU从模拟量输入模块读取滤波值;否则CPU直接从物理模块读取模拟值。 4)执行用户程序。在PLC中,用户程序按先后顺序存放。在这一阶段,CPU从第一条指令开始顺序取指令并执行,直到最后一条指令结束。执行指令时从映像寄存器中读取各输入点的状态,每条指令的执行是对各数据进行算术或逻辑运算,然后将运算结果送到输出映像寄存器中。在程序执行阶段,即使外部输入信号的状态发生了变化,输入映像寄存器状态也不会发生变化。变化的输入信号状态只有在下一个扫描周期的读取输入阶段才能被读入。 此外,执行用户程序过程中还有3种特殊情况:立即I/O、模拟量I/O和扫描周期中断。 ■ 立即I/O:程序中用立即I/O指令可对输入和输出点进行直接存取。当用立即指令读取输入点的状态时,相应的输入映像寄存器中的值并未发生更新;用立即指令访问输出点的同时,相应的输出寄存器的内容也被刷新。 ■ 模拟量I/O:对不设数字滤波的直接模拟量的输入输出,其方式与立即I/O的方式基本相同。 ■ 扫描周期中断:如果在程序中使用了中断,则处理中断事件的中断程序与主程序一起被存入存储器。正常情况下,中断程序并不作为扫描周期的一部分进行扫描,仅仅是在中断事件发生后才进行执行,此时,CPU以异步扫描方式为用户提供中断服务,而且根据中断优先级来处理多个中断。中断程序使得CPU的扫描周期不再固定,这一执行特点在编制用户程序时必须考虑到。 5)输出处理。在输出处理阶段,CPU用输出映像寄存器中的数据几乎同时集中对输出点进行刷新,通过输出部件转换成被控设备所能接受的电压或电流信号,以驱动被控设备。 可编程序控制器的输入处理、执行用户程序和输出处理过程的原理如图2.6所示。 PLC执行的5个阶段称为一个扫描周期。PLC完成一个周期后,又重新执行上述过程,扫描周而复始地进行。 (2)工作特点。 PLC的工作方式的特点为集中采样和集中输出。 集中采样:在一个扫描周期中,对输入状态的采样只在输入处理阶段进行。当PLC进入程序处理阶段后输入端将被封锁,直到下一个扫描周期的输入处理阶段才对输入状态进行重新采样。
图2.6 程序执行原理图 集中输出:在用户程序中如果对输出结果多次赋值,则最后一次有效。在一个扫描周期内,只在输出处理阶段才将输出状态从输出映像寄存器中输出,对输出接口进行刷新。在其他阶段里输出状态一直保存在输出映像寄存器中。 集中采样和集中输出的循环扫描工作方式使得PLC工作时大多数时间与外部输入/输出设备隔离,从根本上提高了系统的抗干扰能力,增强了系统的可靠性。但同时也会导致PLC输入输出响应滞后,降低系统的响应速度。 产生响应滞后的原因主要包括: ■ 电路固有惯性。 ■ 输入模块的滤波时间:输入模块的RC滤波电路在消除输入端干扰噪声的同时,也导致了输入信号的滞后。 ■ 输出模块的滞后时间:输出模块的滞后时间与输出模块的类型有关,继电器型滞后约为10ms,晶闸管型滞后约1ms,晶体管型小于1ms。 ■ 扫描工作方式:因扫描导致的滞后时间最长可达两个多扫描周期。 ■ 程序的设计。 对于响应滞后不超过一个扫描周期的变化较慢的控制过程而言,滞后时间是可以忽略的,不会影响系统的性能。但对控制时间要求较严格、响应速度要求较快的系统,就必须考虑滞后对系统性能的影响,在设计中尽量缩短和优化程序代码以尽量缩短扫描周期,或者采用中断的方式处理高速的任务请求。对于小型PLC,由于I/O点数较少且用户程序通常较短,可以采用集中采样、集中输出的工作方式;而对于I/O点数较多且用户程序较长的大中型PLC,为提高系统响应速度,则通常采用定期采样、定期输出方式或中断输入、输出方式以及采用智能I/O接口等多种工作方式。
点击排行
