PLC的工作原理是采用循环扫描的工作方式,请详细介绍扫描的过程以及如何循环扫描的?
能结合实际例子的回答、原创最多、阐述最全的将得大奖。
下周初结贴,9个最优回帖分别获得20MP、10MP、10MP、10MP、20积分、20积分、20积分、20积分、20积分!
MP介绍:gongkongMP即工控币,是中国工控网的用户积分与回馈系统的一个网络虚拟计价单位,类似于大家熟悉的QB,1个MP=1元人民币。
MP有什么用?兑换服务:以1个MP=1元来置换中国工控网的相关服务。 兑换现金:非积分获得的MP可兑换等值现金(满1000MP后、用户可通过用户管理后台申请兑换)。
楼主最近还看过
PLC的工作原理PLC采用循环扫描的工作方式,在PLC中用户程序按先后顺序存放,CPU从第一条指令开始执行程序,直到遇到结束符后又返回第一条,如此周而复始不断循环。PLC的扫描过程分为内部处理、通信操作、程序输入处理、程序执行、程序输出几个阶段,全过程扫描一次所需的时间称为扫描周期。当PLC处于停状态时,只进行内部处理和通信操作服务等内容。在PLC处于运行状态时,从内部处理、通信操作、程序输入、程序执行、程序输出,一直循环扫描工作。 1.输入处理 输入处理也叫输入采样。 2.程序执行 根据PLC梯形图程序扫描原则,按先左后右先上后下的步序,逐句扫描,执行程序。 3.输出处理 程序执行完毕后,将输出映象寄存器,即器件映象寄存器中的Y寄存器的状态,在输出处理阶段转存到输出锁存器,通过隔离电路,驱动功率放大电路,使输出端子向外界输出控制信号,驱动外部负载。
关于PLC的扫描工作方式说明如下:
当PLC运行时,用户程序中有众多的操作需要去执行,但CPU是不能同时执行多个操作的,它只能按分时操作原理每一时刻执行一个操作。由于(CPU的运算处理速度很高,使得外部出现的结果从宏观来看似乎是同时完成的。这种分时操作的过程称为CPU对程序的扫描。扫描是一种形象化的术语,用作描述CPU是如何完成分配给它的各种任务的方式。
当PLC处于运行状态时,它首先执行系统程序,进行自检等工作。然后开始执行用户程序。梯形图程序的运行总是从第一个梯级开始,按照梯级递增的方向逐个梯级扫描。也就是顺序逐条执行用户程序,直到程序结束。每扫描完一次程序就构成一个扫描周期,然后再从头开始扫描,并周而复始地重复。具体过程见下图。
PLC执行程序的过程分为三个阶段,即输入采样阶段、程序执行阶段、输出刷新阶段,PLC的扫描工作过程如图所示。
(1)输入采样阶段。在这一阶段中,PLC以扫描方式读入所有输入端子上的输入信号,并将各输入状态存入对应的输入映像寄存器中。此时,输入映像寄存器被刷断。在程序执行阶段和输出刷新阶段中,输入映像存储器与外界隔离,其内容保持不变,直至下一个扫描周期的输入扫描阶段,才被重新读入的输入信号刷新。可见,PLC在执行程序和处理数据时,不直接使用现场当时的输入信号,而使用本次采样时输入到映像区中的数据。一般来说,输入信号的宽度要大于一个扫描周期,否则可能造成信号的丢失。
(2)程序执行阶段。在执行用户程序过程中,PLC按照梯形图程序扫描原则,一般来说,PLC按从左至右、从上到下的步骤逐个执行程序。但遇到程序跳转指令,则根据跳转条件是否满足来决定程序跳转地址。程序执行过程中,当指令中涉及输入、输出状态时,PLC就从输入映像寄存器中“读入”对应输入端子状态,从输出映像寄存器“读入”对应元件(“软继电器”)的当前状态。然后进行相应的运算,运算结果再存入输出映像寄存器中。对输出映像寄存器来说,每一个元件(“软继电器”)的状态会随着程序执行过程而变化。
(3)输出刷新阶段。程序执行阶段的运算结果被存入输出映像区,而不送到输出端口上。在输出刷新阶段,PLC将输出映像区中的输出变量送入输出锁存器,然后由锁存器通过输出模块产生本周期的控制输出。如果内部输出继电器的状态为“1”,则输出继电器触点闭合,经过输出端子驱动外部负载。全部输出设备的状态要保持一个扫描周期。
输入/输出滞后问题:
当PLC的输入端输入信号发生变化PLC输出端对该输入变化做出反应需要一段时间,这种现象称为PLC输入/输出响应滞后。
由上述分析可知,扫描周期的长短主要取决于程序的长短。扫描周期越长,响应速度越慢。由于每一个扫描周期只进行一次I/O刷新,即每一个扫描周期PLC只对输人、输出状态寄存器更新一次,故使系统存在输人、输出滞后现象,这在一定程度上降低了系统的响应速度。工业现场的干扰常常是脉冲式的、短时的,PLC的输入/输出响应滞后,对一般的工业控制要求,是完全允许的,还可以起到增强系统的抗干扰能力。
但是,对于控制时间要求严格、响应速度要求较快的系统,就要采取措施减小输入/输出滞后的不利影响。
PLC扫描工作方式必须经过初始化、子程序的调用、中断、定时中断 等。PLC执行程序的过程分为三个阶段,即输入采样阶段、程序执行阶段、输出刷新阶段。
PLC在STOP模式重复内部处理,通信操作这些基本操作;在RUN模式重复内部处理,通信操作,输入处理,程序执行,输出处理的过程,这个过程执行一次称为一个周期,每个周期集中输入输出一次,输入信号进入程序执行阶段,按照由上至下,由左至右依次执行,称为“串行”执行方式,程序是反复循环扫描的,结果经输出处理输出到电路,控制负载运作(周期时间一般是毫秒或者微妙级别)。
1.输入采样阶段
在输入采样阶段,PLC以扫描工作方式按顺序对所有输入端的输入状态进行采样,并存入输入映象寄存器中,此时输入映象寄存器被刷新。接着进入程序处理阶段,在程序执行阶段或其它阶段,即使输入状态发生变化,输入映象寄存器的内容也不会改变,输入状态的变化只有在下一个扫描周期的输入处理阶段才能被采样到。
2.程序执行阶段
在程序执行阶段,PLC对程序按顺序进行扫描执行。若程序用梯形图来表示,则总是按先上后下,先左后右的顺序进行。当遇到程序跳转指令时,则根据跳转条件是否满足来决定程序是否跳转。当指令中涉及到输入、输出状态时,PLC从输入映像寄存器和元件映象寄存器中读出,根据用户程序进行运算,运算的结果再存入元件映象寄存器中。对于元件映象寄存器来说,其内容会随程序执行的过程而变化。
3.输出刷新阶段
当所有程序执行完毕后,进入输出处理阶段。在这一阶段里,PLC将输出映象寄存器中与输出有关的状态(输出继电器状态)转存到输出锁存器中,并通过一定方式输出,驱动外部负载。
因此,PLC在一个扫描周期内,对输入状态的采样只在输入采样阶段进行。当PLC进入程序执行阶段后输入端将被封锁,直到下一个扫描周期的输入采样阶段才对输入状态进行重新采样。这方式称为集中采样,即在一个扫描周期内,集中一段时间对输入状态进行采样。
PLC的扫描工作过程除了执行用户程序外,在每次扫描工作过程中还要完成内部处理、通信服务工作。整个扫描工作过程包括内部处理、通信服务、输入采样、程序执行、输出刷新五个阶段。整个过程扫描执行一遍所需的时间称为扫描周期。
PLC与微机在许多方面有相似之处,但其工作方式却与微机有很大不同。微机一般采用等待命令的工作方式,如在常见的键盘扫描方式或I/O扫描方式下,当有键按下或I/O动作时转入相应的子程序;当无键按下或I/O不动作时则继续工作。PLC采用循环扫描的工作方式,PLC中用户程序按先后顺序存放,CPU从第一条指令开始执行程序,直至遇到结束符后又返回第一条指令,如此周而复始不断循环。这种工作方式是在系统软件控制下,扫描输入的状态,按用户程序进行运算处理,然后向输出发出相应的控制信号。
PLC工作过程具体简述:
开机后:
1自检
2所有触头复位
3采集输入信号,存入输入映像寄存器
4执行用户程序,一次性将映像寄存器中的数据全部读入
5运算结果存入输出映像寄存器
6程序执行完毕后,所有运算结果一并输出,各触点同时驱动
一、从PLC的执行扫描方式而言分为垂直扫描(列扫描)和横向扫描(行扫描)。
垂直扫描可以理解为和实际电气原理类似的执行方式,从火线开始,最靠近火线的一列先执行。而一般垂直扫描都分网络,同一个网络的才有垂直扫描之说,网络之间还是第一个网络先执行。垂直扫描在中型PLC中用的会多一点,我们矩形科技的小型PLCV80系列,N80系列以及中型PLC PPC11系列为垂直扫描方式,莫迪康(PLC的鼻祖)的中型PLC也是垂直扫描方式。
循环扫描:PLC按获取输入状态,梯形图从头到尾运算,输出方式循环执行;
定时扫描:PLC根据用户设置的时间定时扫描,比方说50ms扫描一次,使用这种扫描方式,用户需要保证用户程序在设定时间内一定能扫描完毕,一般PLC使用定时中断和子程序结合起来实现这个功能(这种情况下与中断扫描方式并无不同),但在IO扫描方面会有一些细微的不同,很可能会用到立即刷新IO的功能块UpData_IO。
中断扫描:中断扫描根据外部或者内部中断的激活中断扫描程序的运行。比方说外部IO中断、高速计数中断、定时中断等。
通常PLC都采用上面的三种运行方式中的一种或者几种,用户需要对其有一定的了解,这可以使大家在编程的时候更加清晰,矩形科技 PLC支持三种运行方式。
(文中的第二中扫描方式从矩形科技编程软件中的V80手册的第三节 "三、V80的软硬件结构和实现原理" COPY过来的)
也许刚入门的新手对于扫描不甚理解,我看是否能说得通俗一些。
这个扫描的过程,就是指从头到尾一一查看,如果条件是满足的,那么就会有相应的动作;如果不满足,自然直接过滤掉。所以大家在编写程序的时候,需要考虑互锁就是这个原因,由于条件成立就会执行,所以自然靠将条件考虑清楚,推荐大家习惯使用流程图就是这个原因。
通常扫描不仅仅执行一行行代码,还包括一些内容,比如通讯,呵呵,对于初学者又是一个难以理解的。由于PLC本身不是独立存在,经常需要与其他的设备之间进行通讯,比如HMI设备。
PLC这个设备要想时刻能输出正确的信号,除了编程逻辑关系、条件正确之外,还需要自己给自己“体检”(就是自诊断),如果不能通过体检的话,PLC的扫描就可能会停止。
基本上就是这样,也不知道是不是通俗。
在用户程序已存入PLC 主机的前提下, 一旦PLC 接到运行命令, CPU 就根据系统程序的监控, 首先清除输入、输出暂存器中的内容, 而后就进入循环扫描。在循环扫描中, 先进行自诊断, 然后扫描全部输入端, 一一读取其状态, 并逐一写入输入暂存器的相应位置内; 接着扫描用户程序: 从用户存贮器的起始地址开始, 按地址号递增的方向, 直至用户程序所占用的最后一个地址为止, 在扫描每一句用户程序时, CPU 根据程序的需要, 取出输入、输出暂存器相应位置里的内容参与解算, 并将解算结果写入输出暂存器的相应位置; 当最末一句用户程序扫描完毕, CPU 就将所有输出暂存器中的内容通过输出锁存电路传送至输出端。循环扫描周而复始进行, 直至停止运行
整个循环扫描过程分为三个阶段:
1、输入采样阶段( 也称读、集中采样 )
在这一阶段, PLC 以扫描方式顺序获取全部输入端子的状态: 接通/ 断开( ON/ OFF) , 并将它们的状态逐一读入输入暂存器相应位置中。在后两个阶段中, 即使输入端子的状态发生变化, 输入暂存器所存的内容也不会发生变化。这充分说明, 输入暂存器中内容的刷新仅仅在输入采样阶段完成。
2、用户程序执行阶段( 也称算、集中解算 )
在这一阶段, PLC 按从左至右、自上而下的顺序对用户程序的指令逐条扫描, 根据程序的需要, 从输入暂存器或输出暂存器中读取所需端子的状态, 进行算术逻辑运算, 并将结果存入输出暂存器中。可以看出: 在这阶段, 输出暂存器中所存放的状态信息会随着用户程序的执行而不断刷新。
3、输出刷新阶段( 也称写、集中输出 )
在这一阶段, 输出暂存器将其所存内容, 通过输出锁存电路去驱动输出器件, 成为PLC 输出的控制信息。在这三个阶段前, PLC 每进入一次循环扫描, 就受系统程序控制进行一次自诊断, 以避免出错。我们以图 所示的梯形图为例, 对照波形, 运用慢镜头, 进一步介绍PLC 的循环扫描工作过程。该波形以高电平表示得电状态, 以低电平表示失电状态。其中1 号、2 号点是输入点, 3 号、4 号点为输出点。
程序执行阶段:
程序执行阶段,PLC对程序按顺序进行扫描;
如果程序用梯形图表示,则总是按先左后右、先上后下的顺序进行扫描;
每扫描到一条指令时,所需要的输入元件状态或其它元件的状态分别由输入映像寄存器和元件映像寄存器中读出,而将执行结果写入到元件映像寄存器中;
元件映像寄存器中寄存的内容,随程序执行的进程而动态变化。
程序执行阶段:
程序执行阶段,PLC对程序按顺序进行扫描;
如果程序用梯形图表示,则总是按先左后右、先上后下的顺序进行扫描;
每扫描到一条指令时,所需要的输入元件状态或其它元件的状态分别由输入映像寄存器和元件映像寄存器中读出,而将执行结果写入到元件映像寄存器中;
元件映像寄存器中寄存的内容,随程序执行的进程而动态变化。
输出刷新阶段:
程序执行完后,进入输出刷新阶段。此时,将元件映像寄存器中所有输出继电器的状态转存到输出锁存寄存器,再去驱动用户输出设备(负载),这就是PLC的实际输出。