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

(已结帖)2011-04-7-工控擂台-简述PLC的扫描工作方式。 点击:4608 | 回复: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后、用户可通过用户管理后台申请兑换)。



楼主最近还看过



总版主

  • 精华:0帖
  • 求助:0帖
  • 帖子:26帖 | 470回
  • 年度积分:0
  • 历史总积分:2845
  • 注册:2010年6月04日
发表于:2011-04-10 17:42:32
21楼
20MP获得者:
cqu_rockwell cqu_rockwell(回答完整,图文并茂,一目了然)

10MP获得者:
welfare87 welfare87
勇者 zyw3166
jingtao 惊涛骇浪
秒杀G wain0222
(综合本期考虑给予以上四位奖励!)

20积分获得者:
ye_w                 ye_w
Piston               topkingjun
QHDTHL           QHDTHL
最后回复             the_wise
zxjjynl                zxjjynl
guqingliang76            guqingliang76

公孙轩辕

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 3回
  • 年度积分:0
  • 历史总积分:52
  • 注册:2012年5月31日
发表于:2012-05-31 22:41:45
22楼
回复内容:
对:矩形科技关于一、从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过来的)内容的回复:


“如果按照横向扫描的方式,则上图的程序,应为09925为上电第一次有效脉冲,在这次能够CAN_INIT是,处于第一行的2个MOVE指令没有得到执行”请问第一行的2个MOVE指令为什么没得到执行?

张十

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 58回
  • 年度积分:0
  • 历史总积分:528
  • 注册:2009年8月11日
发表于:2012-06-18 22:23:46
23楼
引用 welfare87 的回复内容:         PLC执行程序的过程分为三个阶段,即输入采样阶段、程序执行阶段、输出刷新阶段,PLC的扫描工作过程如图所示。      (1)输入采样阶段。在这一阶段中,PLC以扫描方式读入所有输入端子上的输入信号,并将各输入状态存入对应的输入映像寄存器中。此时,输入映像寄存器被刷断。在程序执行阶段和输出刷新阶段中,输入映像存储器与外界隔离,其内容保持不变,直至下一个扫描周期的输入扫描阶段,才被重新读入的输入信号刷新。可见,PLC在执行程序和处理数据时,不直接使用现场当时的输入信号,而使用本次采样时输入到映像区中的数据。一般来说,输入信号的宽度要大于一个扫描周期,否则可能造成信号的丢失。       (2)程序执行阶段。在执行用户程序过程中,PLC按照梯形图程序扫描原则,一般来说,PLC按从左至右、从上到下的步骤逐个执行程序。但遇到程序跳转指令,则根据跳转条件是否满足来决定程序跳转地址。程序执行过程中,当指令中涉及输入、输出状态时,PLC就从输入映像寄存器中“读入”对应输入端子状态,从输出映像寄存器“读入”对应元件(“软继电器”)的当前状态。然后进行相应的运算,运算结果再存入输出映像寄存器中。对输出映像寄存器来说,每一个元件(“软继电器”)的状态会随着程序执行过程而变化。        (3)输出刷新阶段。程序执行阶段的运算结果被存入输出映像区,而不送到输出端口上。在输出刷新阶段,PLC将输出映像区中的输出变量送入输出锁存器,然后由锁存器通过输出模块产生本周期的控制输出。如果内部输出继电器的状态为“1”,则输出继电器触点闭合,经过输出端子驱动外部负载。全部输出设备的状态要保持一个扫描周期。         输入/输出滞后问题:         当PLC的输入端输入信号发生变化PLC输出端对该输入变化做出反应需要一段时间,这种现象称为PLC输入/输出响应滞后。         由上述分析可知,扫描周期的长短主要取决于程序的长短。扫描周期越长,响应速度越慢。由于每一个扫描周期只进行一次I/O刷新,即每一个扫描周期PLC只对输人、输出状态寄存器更新一次,故使系统存在输人、输出滞后现象,这在一定程度上降低了系统的响应速度。工业现场的干扰常常是脉冲式的、短时的,PLC的输入/输出响应滞后,对一般的工业控制要求,是完全允许的,还可以起到增强系统的抗干扰能力。        但是,对于控制时间要求严格、响应速度要求较快的系统,就要采取措施减小输入/输出滞后的不利影响。




热门招聘
相关主题

官方公众号

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