对于计数器和定时器的比较

  仪器信息网 ·  2012-08-19 07:45  ·  52052 次点击
计数器和定时器是作为输出元素进入OpenPLC的,这些元素是布尔逻辑元素。每个计数器和定时器可以在其它的布尔逻辑表达式中处理状态位,状态位表示定时器或者计数器是否已经计数到达终点。对于计数或计时的结果,OpenPLC有另外的元素单独存储累计量,该量可以在计数或者计时的过程中不断改变。对先进的程序操作来说,可以用布尔逻辑表达式直接控制计数器和定时器的状态位,并且还有处理数据或改变累计值的指令。
计数器和定时器是控制过程中常用的工具,几乎所有的控制系统,包括PLC或者DCS都有计数器和定时器指令。计数器主要是对一个逻辑状态从假到真的次数进行计数,例如,有一个传感器能够感应生产线上的啤酒瓶,这样就可以对生产线上的瓶子计数。定时器的功能则是计算时间单元,比如,当一个啤酒箱装满后从生产线上的一个传感器旁移开时,定时器就开始计时,直到下一个箱子装满为止。计数器和定时器都可以用布尔逻辑来实现并根据其状态进行控制,比如,启动一个传送带将装满啤酒瓶的箱子运走,或者停止将啤酒瓶装箱。计数器和定时器指令影响内存中时间数值或计数数值放置的位置的数据字,因此,尽管计数与计时都是布尔编程逻辑程序,计数器和定时器却不是简单的布尔程序元素。
计数器和定时器是作为输出元素进入OpenPLC的,这些元素是布尔逻辑元素。每个计数器和定时器可以在其它的布尔逻辑表达式中处理状态位,状态位表示定时器或者计数器是否已经计数到达终点。对于计数或计时的结果,OpenPLC有另外的元素单独存储累计量,该量可以在计数或者计时的过程中不断改变。对先进的程序操作来说,可以用布尔逻辑表达式直接控制计数器和定时器的状态位,并且还有处理数据或改变累计值的指令。
3.3.1计数器指令
许多PLC的计数器是从最大值向零来计算的,计数器有一个状态位,当计数器的结果是“0”时,该位的状态会变化。OpenPLC程序包括一个指令,对累计值进行初始化,同时可以将预先设定的值放到累计值中,也可以然后将积累值递减到零。也有PLC用正向计数的。每次执行时,OpenPLC会将数据与预设定的数值进行比较,如果等于或大于预设数值,则改变状态。此外,还有清零和向预测方向递减的指令。
与计数器不同的是,大部分定时器在当其控制逻辑停止又重新启动时,都会自动启动,因此,复位指令可能是不需要的。但也有一种保持计时器,当停止时,他们停止计时,但保持时间,当再启动时,将继续接下去计时。这种定时器就需要一个复位指令来控制。
与计数器类似,有的控制器采用递减计时,但大部分是采用递增计时,这样所计的时间会与预先设定的值进行比较,当到达零或者设定值时,定时器的状态位改变。有的定时器还有一些辅助状态位表示“定时器在工作”。
定时器可以选择时间单位的大小,因为定时器只有在他们运行的时候才能够检查状态,因此,程序越长,定时器的精度越低。比如,一个程序的执行时间是50毫秒,则定时器的时间精度为±50mS,即使定时器所用的时间单元小于50mS。
有的OpenPLC控制器提供实时时钟的功能,OpenPLC不需要从用户程序的指令就可跟踪时间。用户程序可以包含访问时间和改变时间的指令。
OpenPLC的定时器实际上是对时间单元进行计数的计数器。其预设值必须是正的,从0到+32767之间。这个值代表时间单元的数量。OpenPLC的时间基本单元为0.01秒,最大可以到1秒。定时器只能正向计时,到达预设值时将停止。定时器只有三个状态位,DN(DONE),TT(TIMERTIMING),和EN(ENABLED)。EN位反映定时器的控制逻辑。
定时器和计数器是PLC中最简单的功能块,也是最常用的功能块。OPENPLC对这些它们的处理采取的是以可靠和尽量减少资源占用的目的来设计的。
本文把OpenPLC的CPU的功能介绍到这里,随后,还会有陆续的文章介绍OpenPLC的其它功能。

0 条回复

暂无讨论,说说你的看法吧!

 回复

你需要  登录  或  注册  后参与讨论!