用户中心

资讯 > 技术之源

PLC是如何进行扫描的?

来源:控制工程网2016.10.26阅读 2128

  全世界范围内,几乎所有的可编程逻辑控制器PLC)都采用相同方式处理扫描问题。首先,CPU读取物理输入信号并存储于内存表中,通常被称为“输入表”,在程序评估的时候使用该表。在不同的平台之间CONTROL ENGINEERING China版权所有,有不同类型的寄存器;当逻辑沿着每个程序的梯形图从左到右以及从上到下处理的过程中,寄存器的内容得到更新。这包括输出表的更新,该输出表会在后续用于驱动连接到PLC的物理设备。
  程序可以因为不同的目的而调用不同的子程序;执行顺序比较重要。根据内存寄存器和输出表更新的位置,物理输出可能延误长达两个扫描周期。在任意一种情况下,被调用以后,程序通过不同的路径执行,直到返回到程序被调用的地方,而且最终终止在初始循环程序处。大多数程序都使用初始循环程序,用于调用其它程序。一些程序按照周期运行CONTROL ENGINEERING China版权所有,而不是连续运行。大部分使用一个连续运行程序,且运行的能多快就多快。


图中所示为使用请求数据包间隔(RPI) 进行可编程逻辑控制器扫描的例子。

  在完成所有代码执行、逻辑评估以及更新所有数据表(除了在扫描最开始的时候写入的输入表以外)之后控制工程网版权所有,结果输出表或寄存器内容被写入到物理输出上。
  扫描时间长短取决于平台(处理器的速度)、程序中代码的多少以及所用的指令类型。有时候编程人员会在程序中使用回路或者重复调用相同的程序。所有这些都会影响总的扫描时间。一般会有文档说明不同的指令所需要的执行时间,不过将它们加起来用于时间长度的估计是没有意义的。那仅仅用于参考目的。
  扫描时间可以长达80 ms。如果扫描时间超过50 ms(对于一个机器控制项目),那么用户需要寻求更加强大的处理器或使代码更加高效的方法。超过50 ms以后,对于机器控制项目的输出响应的影响可以很严重,对于过程控制来说,这应该不是问题。
  本文图中所示的案例中,这个程序的扫描时间显示为56 ms。尽管对于每个平台来说CONTROL ENGINEERING China版权所有,扫描的工作方式都有所描述,但是这是个例外(显示为A,B和C)。这个平台采用制造商-消费者模式,输入卡为CPU加工信息,CPU为输出卡加工信息。这样就可以说CPU“消费”信息,而输出卡消费来自于CPU的信息。信息的加工和消费在每个输入/输出(I/O)卡内通过设定所谓的请求数据包间隔(RPI)来制定时间安排。
  假设将RPI设定为20 ms;每个扫描周期中,程序都会从物理输入获得一些更新,并且每个扫描周期更新两次物理输出。这对于数字量I/O很常见;模拟量输入通常设定为100 ms或更长控制工程网版权所有,并且其更新通常比数字量更慢。更新在扫描周期的不同点进行,所用的时间长度会有比较大的变化。(作者:Frank Lamb)

版权声明:版权归控制工程网所有,转载请注明出处!

频道推荐

关于我们

控制工程网 & CONTROL ENGINEERING China 全球工业控制、自动化和仪器仪表领域的先锋媒体

CE全球

联系我们

商务及广告合作
任小姐(北京)                 夏小姐(上海)
电话:010-82053688      电话:18616877918
rendongxue@cechina.cn      xiashuxian@cechina.cn
新闻投稿:王小姐

关注我们的微信

关于我们 | 网站地图 | 联系我们
© 2003-2018    经营许可编号:京ICP证120335号
公安机关备案号:110102002318  服务热线:010-82053688