首页 上一页 1 2 下一页 尾页

(已结帖)2011-04-7-工控擂台-简述PLC的扫描工作方式。 点击:4596 | 回复:23



总版主

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:14帖 | 470回
  • 年度积分:0
  • 历史总积分:1732
  • 注册:2010年6月04日
发表于:2011-03-20 19:14:38
楼主

 PLC的工作原理是采用循环扫描的工作方式,请详细介绍扫描的过程以及如何循环扫描的?

 

 

能结合实际例子的回答、原创最多、阐述最全的将得大奖。


下周初结贴,9个最优回帖分别获得20MP、10MP、10MP、10MP、20积分、20积分、20积分、20积分、20积分!

MP介绍:gongkongMP即工控币,是中国工控网的用户积分与回馈系统的一个网络虚拟计价单位,类似于大家熟悉的QB,1个MP=1元人民币。

MP有什么用?兑换服务:以1个MP=1元来置换中国工控网的相关服务。 兑换现金:非积分获得的MP可兑换等值现金(满1000MP后、用户可通过用户管理后台申请兑换)。



楼主最近还看过



hjcan

  • 精华:1帖
  • 求助:0帖
  • 帖子:13帖 | 292回
  • 年度积分:0
  • 历史总积分:2940
  • 注册:2011年2月21日
发表于:2011-03-20 21:14:09
1楼

PLC的工作原理PLC采用循环扫描的工作方式,在PLC中用户程序按先后顺序存放,CPU从第一条指令开始执行程序,直到遇到结束符后又返回第一条,如此周而复始不断循环。PLC的扫描过程分为内部处理、通信操作、程序输入处理、程序执行、程序输出几个阶段,全过程扫描一次所需的时间称为扫描周期。当PLC处于停状态时,只进行内部处理和通信操作服务等内容。在PLC处于运行状态时,从内部处理、通信操作、程序输入、程序执行、程序输出,一直循环扫描工作。 1.输入处理 输入处理也叫输入采样。 2.程序执行 根据PLC梯形图程序扫描原则,按先左后右先上后下的步序,逐句扫描,执行程序。 3.输出处理 程序执行完毕后,将输出映象寄存器,即器件映象寄存器中的Y寄存器的状态,在输出处理阶段转存到输出锁存器,通过隔离电路,驱动功率放大电路,使输出端子向外界输出控制信号,驱动外部负载。

Piston

  • 精华:0帖
  • 求助:1帖
  • 帖子:23帖 | 13107回
  • 年度积分:18
  • 历史总积分:40065
  • 注册:2009年5月22日
发表于:2011-03-20 21:14:38
2楼

关于PLC的扫描工作方式说明如下:

    当PLC运行时,用户程序中有众多的操作需要去执行,但CPU是不能同时执行多个操作的,它只能按分时操作原理每一时刻执行一个操作。由于(CPU的运算处理速度很高,使得外部出现的结果从宏观来看似乎是同时完成的。这种分时操作的过程称为CPU对程序的扫描。扫描是一种形象化的术语,用作描述CPU是如何完成分配给它的各种任务的方式。
    当PLC处于运行状态时,它首先执行系统程序,进行自检等工作。然后开始执行用户程序。梯形图程序的运行总是从第一个梯级开始,按照梯级递增的方向逐个梯级扫描。也就是顺序逐条执行用户程序,直到程序结束。每扫描完一次程序就构成一个扫描周期,然后再从头开始扫描,并周而复始地重复。具体过程见下图。

    在上图中,每条指令均已赋予地址值,这些地址分别对应于用户数据存贮区不同的数据存贮单元。若程序中有中断或跳转控制指令,则扫描在指令所在处中断或跳转,执行完其他操作后再次返回中断或跳转处继续扫描。顺序扫描的工作方式简单直观,它简化了程序的设计,并为PLC的可靠运行提供了非常有用的保证。一方面,所扫描到的指令被执行后,其结果马上就可以被将要扫描到的指令
所利用。另一方面,还可以通过CPU设置的定时器来监视每次扫描是否超过规定的时间,从而避免了由于CPU内部故障使程序执行进人死循环而造成故障的影响。

welfare87

  • 精华:0帖
  • 求助:4帖
  • 帖子:44帖 | 2827回
  • 年度积分:0
  • 历史总积分:25853
  • 注册:2009年2月20日
发表于:2011-03-20 22:18:06
3楼

         PLC执行程序的过程分为三个阶段,即输入采样阶段、程序执行阶段、输出刷新阶段,PLC的扫描工作过程如图所示。
      (1)输入采样阶段。在这一阶段中,PLC以扫描方式读入所有输入端子上的输入信号,并将各输入状态存入对应的输入映像寄存器中。此时,输入映像寄存器被刷断。在程序执行阶段和输出刷新阶段中,输入映像存储器与外界隔离,其内容保持不变,直至下一个扫描周期的输入扫描阶段,才被重新读入的输入信号刷新。可见,PLC在执行程序和处理数据时,不直接使用现场当时的输入信号,而使用本次采样时输入到映像区中的数据。一般来说,输入信号的宽度要大于一个扫描周期,否则可能造成信号的丢失。
      (2)程序执行阶段。在执行用户程序过程中,PLC按照梯形图程序扫描原则,一般来说,PLC按从左至右、从上到下的步骤逐个执行程序。但遇到程序跳转指令,则根据跳转条件是否满足来决定程序跳转地址。程序执行过程中,当指令中涉及输入、输出状态时,PLC就从输入映像寄存器中“读入”对应输入端子状态,从输出映像寄存器“读入”对应元件(“软继电器”)的当前状态。然后进行相应的运算,运算结果再存入输出映像寄存器中。对输出映像寄存器来说,每一个元件(“软继电器”)的状态会随着程序执行过程而变化。 
       (3)输出刷新阶段。程序执行阶段的运算结果被存入输出映像区,而不送到输出端口上。在输出刷新阶段,PLC将输出映像区中的输出变量送入输出锁存器,然后由锁存器通过输出模块产生本周期的控制输出。如果内部输出继电器的状态为“1”,则输出继电器触点闭合,经过输出端子驱动外部负载。全部输出设备的状态要保持一个扫描周期。

 
       输入/输出滞后问题:
        当PLC的输入端输入信号发生变化PLC输出端对该输入变化做出反应需要一段时间,这种现象称为PLC输入/输出响应滞后。
        由上述分析可知,扫描周期的长短主要取决于程序的长短。扫描周期越长,响应速度越慢。由于每一个扫描周期只进行一次I/O刷新,即每一个扫描周期PLC只对输人、输出状态寄存器更新一次,故使系统存在输人、输出滞后现象,这在一定程度上降低了系统的响应速度。工业现场的干扰常常是脉冲式的、短时的,PLC的输入/输出响应滞后,对一般的工业控制要求,是完全允许的,还可以起到增强系统的抗干扰能力。
       但是,对于控制时间要求严格、响应速度要求较快的系统,就要采取措施减小输入/输出滞后的不利影响。

勇者

  • 精华:0帖
  • 求助:0帖
  • 帖子:16帖 | 2756回
  • 年度积分:442
  • 历史总积分:30819
  • 注册:2007年7月13日
发表于:2011-03-21 13:45:11
4楼
工作过程一般分为三个阶段,即输入采样、用户程序执行和输出刷新三个阶段。完成上述三个阶段称作一个扫描周期。在整个运行期间,PLC的CPU以一定的扫描速度重复执行上述三个阶段。

  (一) 输入采样阶段

  在输入采样阶段,PLC以扫描方式依次地读入所有输入状态和数据,并将它们存入I/O映象区中的相应得单元内。输入采样结束后,转入用户程序执行和输出刷新阶段。在这两个阶段中,即使输入状态和数据发生变化,I/O映象区中的相应单元的状态和数据也不会改变。因此,如果输入是脉冲信号,则该脉冲信号的宽度必须大于一个扫描周期,才能保证在任何情况下,该输入均能被读入。

  (二) 用户程序执行阶段

  在用户程序执行阶段,PLC总是按由上而下的顺序依次地扫描用户程序(梯形图)。在扫描每一条梯形图时,又总是先扫描梯形图左边的由各触点构成的控制线路,并按先左后右、先上后下的顺序对由触点构成的控制线路进行逻辑运算,然后根据逻辑运算的结果,刷新该逻辑线圈在系统RAM存储区中对应位的状态;或者刷新该输出线圈在I/O映象区中对应位的状态;或者确定是否要执行该梯形图所规定的特殊功能指令。

  即,在用户程序执行过程中,只有输入点在I/O映象区内的状态和数据不会发生变化,而其他输出点和软设备在I/O映象区或系统RAM存储区内的状态和数据都有可能发生变化,而且排在上面的梯形图,其程序执行结果会对排在下面的凡是用到这些线圈或数据的梯形图起作用;相反,排在下面的梯形图,其被刷新的逻辑线圈的状态或数据只能到下一个扫描周期才能对排在其上面的程序起作用。

  (三) 输出刷新阶段

  当扫描用户程序结束后,PLC就进入输出刷新阶段。在此期间,CPU按照I/O映象区内对应的状态和数据刷新所有的输出锁存电路,再经输出电路驱动相应的外设。这时,才是PLC的真正输出

QHDTHL

  • 精华:0帖
  • 求助:0帖
  • 帖子:20帖 | 1366回
  • 年度积分:0
  • 历史总积分:14740
  • 注册:2006年12月21日
发表于:2011-03-21 15:22:24
5楼
扫描过程:1、从输入模块读取数据,存入到输入映像区中。2、处理连接设备的通讯。3、执行用户程序的第一条程序,在执行用户程序期间处理中断响应,执行整个用户程序,直到执行完最后一条程序。4、将输出结果存入输出映像区中,在第二个循环周期开始前,输出结果由输出映像区传入输出模块。这样就完成了一个循环扫描周期。PLC就按照这样的执行过程进行工作,不断进行循环扫描。

jingtao

  • 精华:2帖
  • 求助:0帖
  • 帖子:94帖 | 3205回
  • 年度积分:0
  • 历史总积分:20573
  • 注册:2007年10月31日
发表于:2011-03-22 10:09:54
6楼

   PLC扫描工作方式必须经过初始化、子程序的调用、中断、定时中断 等。PLC执行程序的过程分为三个阶段,即输入采样阶段、程序执行阶段、输出刷新阶段。

   PLC在STOP模式重复内部处理,通信操作这些基本操作;在RUN模式重复内部处理,通信操作,输入处理,程序执行,输出处理的过程,这个过程执行一次称为一个周期,每个周期集中输入输出一次,输入信号进入程序执行阶段,按照由上至下,由左至右依次执行,称为“串行”执行方式,程序是反复循环扫描的,结果经输出处理输出到电路,控制负载运作(周期时间一般是毫秒或者微妙级别)。

1.输入采样阶段
在输入采样阶段,PLC以扫描工作方式按顺序对所有输入端的输入状态进行采样,并存入输入映象寄存器中,此时输入映象寄存器被刷新。接着进入程序处理阶段,在程序执行阶段或其它阶段,即使输入状态发生变化,输入映象寄存器的内容也不会改变,输入状态的变化只有在下一个扫描周期的输入处理阶段才能被采样到。
2.程序执行阶段
在程序执行阶段,PLC对程序按顺序进行扫描执行。若程序用梯形图来表示,则总是按先上后下,先左后右的顺序进行。当遇到程序跳转指令时,则根据跳转条件是否满足来决定程序是否跳转。当指令中涉及到输入、输出状态时,PLC从输入映像寄存器和元件映象寄存器中读出,根据用户程序进行运算,运算的结果再存入元件映象寄存器中。对于元件映象寄存器来说,其内容会随程序执行的过程而变化。
3.输出刷新阶段
当所有程序执行完毕后,进入输出处理阶段。在这一阶段里,PLC将输出映象寄存器中与输出有关的状态(输出继电器状态)转存到输出锁存器中,并通过一定方式输出,驱动外部负载。
因此,PLC在一个扫描周期内,对输入状态的采样只在输入采样阶段进行。当PLC进入程序执行阶段后输入端将被封锁,直到下一个扫描周期的输入采样阶段才对输入状态进行重新采样。这方式称为集中采样,即在一个扫描周期内,集中一段时间对输入状态进行采样。
    PLC的扫描工作过程除了执行用户程序外,在每次扫描工作过程中还要完成内部处理、通信服务工作。整个扫描工作过程包括内部处理、通信服务、输入采样、程序执行、输出刷新五个阶段。整个过程扫描执行一遍所需的时间称为扫描周期。

一品黄山

  • 精华:11帖
  • 求助:0帖
  • 帖子:754帖 | 9779回
  • 年度积分:0
  • 历史总积分:48262
  • 注册:2004年3月31日
发表于:2011-03-22 15:10:25
7楼
可编程序控制器的工作过程
PLC上电后,就在系统程序的监控下,周而复始地按固定顺序对系统内部的各种任务进行查询、判断和执行,这个过程实质上是一个不断循环的顺序扫描过程。一个循环扫描过程称为扫描周期。
PLC在一个扫描周期内基本上要执行以下六个任务:
(1) 运行监控任务。为了保证系统可靠工作,PLC内部设置了系统监视定时器WDT,WDT的时间设定值一般为扫描周期的2~3倍,通常为100~200 ms。
(2) 与编程器交换信息任务。编程器在PLC的外部设备中占有非常重要的地位,用户把应用程序输入到PLC中,或对应用程序进行在线运行监视和修改都要用到它。编程器在完成处理任务或达到信息交换的规定时间后,就把控制权交还给PLC。
(3) 与数字处理器(DPU)交换信息任务。一般大中型PLC多为双处理器系统,一个是字节处理器(CPU),另一个是数字处理器(DPU) ,在一般小型PLC中是没有这个任务的。
(4) 与外部设备交换信息任务。如果没有连接外部设备,则该任务跳过。
(5) 执行用户程序任务。系统的全部控制功能都在这一任务中实现。
(6) 输入/输出信息处理任务。

秒杀G

  • 精华:12帖
  • 求助:0帖
  • 帖子:55帖 | 1460回
  • 年度积分:0
  • 历史总积分:12556
  • 注册:2009年4月10日
发表于:2011-03-28 11:13:36
8楼
PLC的工作方式采用不断循环的顺序扫描工作方式。每一次扫描所用的时间称为扫描周期或工作周期。CPU从第一条指令执行开始,按顺序逐条地执行用户程序直到用户程序结束,然后返回第一条指令开始新的一轮扫描。
PLC就是这样周而复始地重复上述循环扫描的。PLC工作的全过程可用图7.9所示的运行框图来表示。整个过程可分为以下几个部分:
第一部分是上电处理。PLC上电后对系统进行一次初始化,包括硬件初始化和软件初始化,停电保持范围设定及其他初始化处理等。
第二部分是自诊断处理。PLC每扫描一次,执行—次自诊断检查,确定PLC自身的动作是否正常。如CPU、电池电压、程序存储器、I/O和通讯等是否异常或出错,如检查出异常时,CPU面板上的LED及异常继电器会接通,在特殊寄存器中会存入出错代码。当出现致命错误时,CPU被强制为STOP方式,所有的扫描便停止。


第三部分是通讯服务。PLC自诊断处理完成以后进入通讯服务过程。首先检查有无通讯任务,如有则调用相应进程,完成与其他设备的通讯处理,并对通讯数据作相应处理;然后进行时钟、特殊寄存器更新处理等工作。
第四部分是程序扫描过程。PLC在上电处理、自诊断和通讯服务完成以后,如果工作选择开关在RUN位置,则进人程序扫描工作阶段。先完成输入处理,即把输入端子的状态读入输入映像寄存器中,然后执行用户程序,最后把输出处理结果刷新到输出锁存器中。
在上述几个部分中,通讯服务和程序扫描过程是PLC工作的主要部分,其工作周期称为扫描周期。可以看出扫描周期直接影响控制信号的实时性和正确性,为了确保控制能正确实时地进行,在每个扫描周期中,通讯任务的作业时间必须被控制在一定范围内。PLC运行正常时,程序扫描周期的长短与CPU的运算速度、与I/O点的情况、与用户应用程序的长短及编程情况等有关。通常用PLC执行l KB指令所需时间来说明其扫描速度,一般为零点几ms到上百ms。值得注意的是,不同指令其执行时间是不同的,从零点几μs到上百μs不等,故选用不同指令所用的扫描时间将会不同。而对于一些需要高速处理的信号,则需要特殊的软、硬件措施来处理。
当PLC处于正常运行时,它将不断重复扫描过程。分析上述扫描过程,如果对远程I/O、特殊模块和其他通讯服务暂不考虑,这样扫描过程就只剩下“输入采样”、“程序执行”和“输出刷新”三个阶段了。这三个阶段是PLC工作过程的中心内容,理解透PLC工作过程的这三个阶段是学习好PLC的基础。下面就对这三个阶段进行详细的分析。
(1) 输入采样阶段
PLC在输入采样阶段,首先扫描所有输人端点,并将各输入状态存入相对应的输入映像寄存器中。此时,输入映像寄存器被刷新。接着,进入程序执行阶段和输出刷新阶段,在此阶段输入映像寄存器与外界隔离,无论输入情况如何变化,其内容保持不变,直到下一个扫描周期的输人采样阶段,才重新写入输入端的新内容。所以一般来说,输人信号的宽度要大于一个扫描周期,否则很可能造成信号的丢失。
由此可见,输入映像寄存器的数据完全取决于输入端子上各输入点在上一刷新期间的接通和断开状态。
(2) 程序执行阶段
根据PLC梯形图程序扫描原则,一般来说,PLC按从左到右、从上到下的步骤顺序执行程序。当指令中涉及输入、输出状态时,PLC就从输入映像寄存器中“读入”采集到的对应输入端子状态,从元件映像寄存器“读入”对应元件(“软继电器”)的当前状态。然后,进行相应的运算,运算结果再存入元件映像寄存器中。对元件映像寄存器来说,每一个元件(“软继电器”)的状态会随着程序执行过程而变化。
(3) 输出刷新阶段
在所有指令执行完毕后,元件映像寄存器中所有输出继电器的状态(接通/断开)在输出刷新阶段转存到输出锁存器中,通过输出端子和外部电源,驱动外部负载。
由此可见,输出映像寄存器的数据取决于输出指令的执行结果,输出锁存器中的数据由上一次输出刷新期间输出映像寄存器中的数据决定,而输出端子的接通和断开状态,完全由输出锁存器决定。

最后回复

  • 精华:1帖
  • 求助:1帖
  • 帖子:65帖 | 1155回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2011-03-28 17:04:35
9楼

PLC与微机在许多方面有相似之处,但其工作方式却与微机有很大不同。微机一般采用等待命令的工作方式,如在常见的键盘扫描方式或I/O扫描方式下,当有键按下或I/O动作时转入相应的子程序;当无键按下或I/O不动作时则继续工作。PLC采用循环扫描的工作方式,PLC中用户程序按先后顺序存放,CPU从第一条指令开始执行程序,直至遇到结束符后又返回第一条指令,如此周而复始不断循环。这种工作方式是在系统软件控制下,扫描输入的状态,按用户程序进行运算处理,然后向输出发出相应的控制信号。

PLC工作过程具体简述:
开机后:

1自检
2所有触头复位
3采集输入信号,存入输入映像寄存器
4执行用户程序,一次性将映像寄存器中的数据全部读入
5运算结果存入输出映像寄存器
6程序执行完毕后,所有运算结果一并输出,各触点同时驱动

矩形科技

  • 精华:1帖
  • 求助:0帖
  • 帖子:22帖 | 276回
  • 年度积分:0
  • 历史总积分:1221
  • 注册:2008年1月18日
发表于:2011-04-02 19:24:09
10楼

一、从PLC的执行扫描方式而言分为垂直扫描(列扫描)和横向扫描(行扫描)。

垂直扫描可以理解为和实际电气原理类似的执行方式,从火线开始,最靠近火线的一列先执行。而一般垂直扫描都分网络,同一个网络的才有垂直扫描之说,网络之间还是第一个网络先执行。垂直扫描在中型PLC中用的会多一点,我们矩形科技的小型PLCV80系列,N80系列以及中型PLC PPC11系列为垂直扫描方式,莫迪康(PLC的鼻祖)的中型PLC也是垂直扫描方式。

偷一点懒,将前面CANOPEN通讯的图片拿过来解释一下。上图的梯形图程序,因为是垂直扫描,在执行的第一个时间09925先执行。随后执行第二列的2个MOVE指令,分别为MOVE #7,40100,以及MOVE #01A0H,40103;
第三时刻,执行MOVE #01A0H,40101;MOVE #0,40104.......因为CAN_INIT指令处理网络中最后一列,那么在执行他之前,前面的6个参数都已执行,故执行CAN_INIT时参数均已先赋值完毕了。
横向扫描或者行扫描
就是我们通常习惯的看法一样,第一行从左到右执行完毕,再执行下一行,再从左到右。
如果按照横向扫描的方式,则上图的程序,应为09925为上电第一次有效脉冲,在这次能够CAN_INIT是,处于第一行的2个MOVE指令没有得到执行,参数赋值不完整(默认值为0),则初始化和实际我想要的初始化参数不一样了。
两者编程的注意事项:
对于垂直扫描的方式,如果每个网络只写一行,这样就和行扫描保持一致。
垂直扫描和横向扫描对于电平有效的执行方式,没有太多的问题。无非就是错开一个执行周期,在很多情况下是不存在问题的,因为一个扫描周期一般也就是10ms左右。
但是对于脉冲沿的情况因为垂直扫描和横向扫描看起来和实际的执行时间是有区别的,例如上图,如果按横向扫描则有2个参数没有赋值就已经执行了初始化指令。因为09925为脉冲沿,到下一个扫描周期,参数值都已经赋值好了,但是由于09925已无效了,CAN_INIT在上次执行了,下次就不在执行了。
二、从PLC的大框架结构上而言,梯形图扫描执行可以分为:循环扫描、定时扫描、中断扫描

循环扫描:PLC按获取输入状态,梯形图从头到尾运算,输出方式循环执行;

定时扫描:PLC根据用户设置的时间定时扫描,比方说50ms扫描一次,使用这种扫描方式,用户需要保证用户程序在设定时间内一定能扫描完毕,一般PLC使用定时中断和子程序结合起来实现这个功能(这种情况下与中断扫描方式并无不同),但在IO扫描方面会有一些细微的不同,很可能会用到立即刷新IO的功能块UpData_IO。

中断扫描:中断扫描根据外部或者内部中断的激活中断扫描程序的运行。比方说外部IO中断、高速计数中断、定时中断等。

通常PLC都采用上面的三种运行方式中的一种或者几种,用户需要对其有一定的了解,这可以使大家在编程的时候更加清晰,矩形科技 PLC支持三种运行方式。

(文中的第二中扫描方式从矩形科技编程软件中的V80手册的第三节  "三、V80的软硬件结构和实现原理"    COPY过来的)

ye_w

  • 精华:21帖
  • 求助:1帖
  • 帖子:69帖 | 5217回
  • 年度积分:0
  • 历史总积分:46739
  • 注册:2002年4月17日
发表于:2011-04-03 09:32:57
11楼

也许刚入门的新手对于扫描不甚理解,我看是否能说得通俗一些。

 

这个扫描的过程,就是指从头到尾一一查看,如果条件是满足的,那么就会有相应的动作;如果不满足,自然直接过滤掉。所以大家在编写程序的时候,需要考虑互锁就是这个原因,由于条件成立就会执行,所以自然靠将条件考虑清楚,推荐大家习惯使用流程图就是这个原因。

 

通常扫描不仅仅执行一行行代码,还包括一些内容,比如通讯,呵呵,对于初学者又是一个难以理解的。由于PLC本身不是独立存在,经常需要与其他的设备之间进行通讯,比如HMI设备。

 

PLC这个设备要想时刻能输出正确的信号,除了编程逻辑关系、条件正确之外,还需要自己给自己“体检”(就是自诊断),如果不能通过体检的话,PLC的扫描就可能会停止。

 

基本上就是这样,也不知道是不是通俗。

zxjjynl

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 561回
  • 年度积分:0
  • 历史总积分:2626
  • 注册:2011年3月06日
发表于:2011-04-04 21:13:42
12楼

在用户程序已存入PLC 主机的前提下, 一旦PLC 接到运行命令, CPU 就根据系统程序的监控, 首先清除输入、输出暂存器中的内容, 而后就进入循环扫描。在循环扫描中, 先进行自诊断, 然后扫描全部输入端, 一一读取其状态, 并逐一写入输入暂存器的相应位置内; 接着扫描用户程序: 从用户存贮器的起始地址开始, 按地址号递增的方向, 直至用户程序所占用的最后一个地址为止, 在扫描每一句用户程序时, CPU 根据程序的需要, 取出输入、输出暂存器相应位置里的内容参与解算, 并将解算结果写入输出暂存器的相应位置; 当最末一句用户程序扫描完毕, CPU 就将所有输出暂存器中的内容通过输出锁存电路传送至输出端。循环扫描周而复始进行, 直至停止运行

 整个循环扫描过程分为三个阶段:


1、输入采样阶段( 也称读、集中采样 )
在这一阶段, PLC 以扫描方式顺序获取全部输入端子的状态: 接通/ 断开( ON/ OFF) , 并将它们的状态逐一读入输入暂存器相应位置中。在后两个阶段中, 即使输入端子的状态发生变化, 输入暂存器所存的内容也不会发生变化。这充分说明, 输入暂存器中内容的刷新仅仅在输入采样阶段完成。


2、用户程序执行阶段( 也称算、集中解算 )
在这一阶段, PLC 按从左至右、自上而下的顺序对用户程序的指令逐条扫描, 根据程序的需要, 从输入暂存器或输出暂存器中读取所需端子的状态, 进行算术逻辑运算, 并将结果存入输出暂存器中。可以看出: 在这阶段, 输出暂存器中所存放的状态信息会随着用户程序的执行而不断刷新。


3、输出刷新阶段( 也称写、集中输出 )
在这一阶段, 输出暂存器将其所存内容, 通过输出锁存电路去驱动输出器件, 成为PLC 输出的控制信息。在这三个阶段前, PLC 每进入一次循环扫描, 就受系统程序控制进行一次自诊断, 以避免出错。我们以图 所示的梯形图为例, 对照波形, 运用慢镜头, 进一步介绍PLC 的循环扫描工作过程。该波形以高电平表示得电状态, 以低电平表示失电状态。其中1 号、2 号点是输入点, 3 号、4 号点为输出点。

cqu_rockwell

  • 精华:16帖
  • 求助:0帖
  • 帖子:678帖 | 8694回
  • 年度积分:0
  • 历史总积分:57901
  • 注册:2010年6月30日
发表于:2011-04-06 09:22:53
13楼
引用Piston 的回复内容:

关于PLC的扫描工作方式说明如下:




王工,你这种回帖的给你误判个有引用抄袭的嫌疑,哈哈!!!!!

cqu_rockwell

  • 精华:16帖
  • 求助:0帖
  • 帖子:678帖 | 8694回
  • 年度积分:0
  • 历史总积分:57901
  • 注册:2010年6月30日
发表于:2011-04-06 17:04:38
14楼
从0000号存贮地址开始,在无中断或跳转控制的情况下,按存贮地址号递增的方向顺序逐条扫描用户程序直到程序结束。
完成一次扫描程序后,再从头开始扫描,并周而复始地重复。一个循环扫描过程时间称为扫描周期。扫描过程分为三个阶段进行:即输入采样(输入处理)阶段,程序执行(程序处理)阶段,输出刷新(输出处理)阶段。

cqu_rockwell

  • 精华:16帖
  • 求助:0帖
  • 帖子:678帖 | 8694回
  • 年度积分:0
  • 历史总积分:57901
  • 注册:2010年6月30日
发表于:2011-04-06 17:05:38
15楼

PLC工作过程:                        

cqu_rockwell

  • 精华:16帖
  • 求助:0帖
  • 帖子:678帖 | 8694回
  • 年度积分:0
  • 历史总积分:57901
  • 注册:2010年6月30日
发表于:2011-04-06 17:06:07
16楼
程序执行过程                     

cqu_rockwell

  • 精华:16帖
  • 求助:0帖
  • 帖子:678帖 | 8694回
  • 年度积分:0
  • 历史总积分:57901
  • 注册:2010年6月30日
发表于:2011-04-06 17:08:39
17楼

程序执行阶段:
程序执行阶段,PLC对程序按顺序进行扫描;
如果程序用梯形图表示,则总是按先左后右、先上后下的顺序进行扫描;
每扫描到一条指令时,所需要的输入元件状态或其它元件的状态分别由输入映像寄存器和元件映像寄存器中读出,而将执行结果写入到元件映像寄存器中;
元件映像寄存器中寄存的内容,随程序执行的进程而动态变化。

程序执行阶段:
程序执行阶段,PLC对程序按顺序进行扫描;
如果程序用梯形图表示,则总是按先左后右、先上后下的顺序进行扫描;
每扫描到一条指令时,所需要的输入元件状态或其它元件的状态分别由输入映像寄存器和元件映像寄存器中读出,而将执行结果写入到元件映像寄存器中;
元件映像寄存器中寄存的内容,随程序执行的进程而动态变化。

 

输出刷新阶段:
程序执行完后,进入输出刷新阶段。此时,将元件映像寄存器中所有输出继电器的状态转存到输出锁存寄存器,再去驱动用户输出设备(负载),这就是PLC的实际输出。

cqu_rockwell

  • 精华:16帖
  • 求助:0帖
  • 帖子:678帖 | 8694回
  • 年度积分:0
  • 历史总积分:57901
  • 注册:2010年6月30日
发表于:2011-04-06 17:09:43
18楼
扫描周期:
PLC重复执行上述三个过程,每重复一次的时间就是一个工作周期(或扫描周期)。工作周期的长短与程序的长短、指令的种类和CPU执行的速度有关。一个扫描过程中,执行指令程序的时间占了绝大部分。
PLC在每次扫描中,对输入信号采样一次,对输出信号刷新一次。这就保证了PLC在执行程序阶段,输入映像寄存器和输出锁存寄存器的内容或数据保持不变。

cqu_rockwell

  • 精华:16帖
  • 求助:0帖
  • 帖子:678帖 | 8694回
  • 年度积分:0
  • 历史总积分:57901
  • 注册:2010年6月30日
发表于:2011-04-06 17:10:44
19楼
                                                        

guqingliang76

  • 精华:1帖
  • 求助:0帖
  • 帖子:1帖 | 10回
  • 年度积分:0
  • 历史总积分:92
  • 注册:2010年12月08日
发表于:2011-04-07 21:03:30
20楼

1、PLC的扫描首先从输入模块读取每个点的数据数据,成批或分批刷新成为输入映像区。

2、按照PLC指定的顺序完成变量的扫描,存入堆栈。

3、扫描用户程序按照从左向右、从上到下(在用户界面看)的顺序逐行运算直到程序结束,出现中断时,中断优先。

4、将输出结果存入输出映像区中。

5、将输出映像区对应的的点的状态输出到物理点进行刷新。即完成一个扫描周期。


热门招聘
相关主题

官方公众号

智造工程师
    首页 上一页 1 2 下一页 尾页