plc定时器指令教程(PLC编程之定时器的使用)

我们都知道,作为设备,很多时候,现场采集回来的信号是不稳定的。我们需要一定的时间对现场设备的状态进行确认,以免PLC产生误指令,在设备不应该动作时,执行了错误的动作。虽然这个确认时间可能很短,但却是至关重要的,特别是在运动控制过程中。

plc定时器指令教程(PLC编程之定时器的使用)(1)

比如说在传递产品的传送带上,如果产品到达某个工位之时,需要将气缸顶上,将产品定位,并停止该小段的传送带的运行,以方便机械手对该工作的产品进行操作。我们可以设想一下这种状态下,在接近开关检测到物品时,会立即发出一个信号,不管这个物品是否是产品还是操作人员不小心,只是从旁边有个手指滑过而已。在后一种情况下,如果程序动作了,那么,很显然地,后续所有的操作将发生错误。而这种信号的异常,会是比较常见而普遍的。设备的振动,干扰,外界闪断等,都可能导致问题的产生。如何回避这一类问题呢?

使用定时器吧。不得不说,定时器是一个相当伟大的的发明。为确保工位上确实存在相应的物品,我们可以这样操作:

plc定时器指令教程(PLC编程之定时器的使用)(2)

当I0.2接近开关接通时,确认30*10ms,即0.3S,在这0.3S内,如果输入的接近开关I0.2保持持续接通,那么定时器T33接通。输出Q0.0机械手动作。

当然,一旦I0.2不接通,T33将立即补复位,Q0.0也就停止动作了。

在这里,涉及了几个问题:

1:10ms是什么鬼?

它是指定时器的分辩率,定时器的定时精度即分辨率一般可以可分为3个等级:1ms、10ms和100ms。即每个一设定值的倍数关系。定时器的定时时间为T(实际时间)=PT(设定参数)×S(分辩率)。上图中,TON指令使用T33(10ms),设定值(PT)为30,则实际定时时间为T=30×10ms=300ms。

plc定时器指令教程(PLC编程之定时器的使用)(3)

2:TON是什么东东?

这是一个定时器的代号,每一种PLC可能会的一些差异,在西门子低系列的PLC中,有3种类型的定时器:

TON:通电延时型

TONR:有记忆的通电延时型又叫又叫保持型

TOF:断电延时型

plc定时器指令教程(PLC编程之定时器的使用)(4)

它们各有适应的场合。举个例子吧:对于TOF,我们可以设想一下这样的场景:在非定位跟随灌装工序中,当检测到瓶子到达灌装工位时,即需要立即执行灌装作业,在我们无法使用重量、液面检测等其它技术手段时,对于灌装量的控制只能通过灌装的跟随系统位移时间长度来控制。也就是说,达到一定时间后,即停止灌装作业:

plc定时器指令教程(PLC编程之定时器的使用)(5)

如上图,当I0.0灌装瓶检测到位时,TOF定时器IN端有输入,定时器T37输出ON,Q0.0开始灌装。T37数值为0,灌装瓶随传送带移动,同时灌装嘴跟随移动,I0.0因瓶子的移动而脱离,信号丢失。此时T37开始计时从0递增,达到预设值时,T37复位,输出为OFF状态,并停止计时,当前值保持。即Q0.0在信号I0.0关断3S(30*100ms)后,停止输出。

而TONR是我比较喜欢的一个定时器,为什么这样说呢,它可以实现累积计时。做这样的一个设想场景吧:

使用点动阀给缸内加料,为保证加料准确,我们可以在一开始保持长按,然后中间可能因为N多事被中断,或者在快达到标准线时,一点一点增加,这个时候,往往容易超标,怎么办?使用TONR吧:

plc定时器指令教程(PLC编程之定时器的使用)(6)

如上图,按钮I0.2按下,T65开始计时,中间被老板拉去训了一次话,I0.2中断,这时T65计数到比如120的位置,将保持在1200. 然后回来接着按I0.2加料,T65从1200开始计时,中间又被同事拉去抽根烟,这时的计时T65达到3700,回来后,接着按I0.2时,计数会从3700开始计。一晃到了5000时,将Q0.0输出,提示累计的I0.2加料时间达到设定值了,如果这时还按I0.2时,T65将保持累计,Q0.0将持续输出。

只有当I0.1 按下,即原物料已清理或使用完信号产生时,T65才复位为0,Q0.0停止输出,重新开始计算累计的补料时间。

3:为什么有T33、T65不同?TON、TOF以及TONR又是怎么产生出来的?

每一种PLC对于定时器的定义是有差异的,对于西门子来说,它共计256个定时器(T0至T225),不同类型的定时器编号不一样:TON或TOF型定时器,分辨率为10ms的编号只能是T33-T36,T97-T100。详细如下图:

plc定时器指令教程(PLC编程之定时器的使用)(7)

对于FX2N:

plc定时器指令教程(PLC编程之定时器的使用)(8)

使用时,需要仔细参考各型号的编程手册。

当然,定时器只是编程里的一种计时手段,我们还有很多其它的手段完成我们的编号目标,比如说使用计数器!

一般的PLC均会自带一些特殊的继电器,比如在FX2N中,产生时钟脉冲功能的特殊继电器有四个:

M8011:触点以10毫秒的频率作周期性振荡,产生10ms的时钟脉冲。

M8012:触点以100毫秒的频率作周期性振荡,产生100ms的时钟脉冲。

M8013:触点以1秒的频率作周期性振荡,产生1s的时钟脉冲。

M8014:触点以1分钟的频率作周期性振荡,产生1min的时钟脉冲。

在西门子中,同样存在这样的特殊中继,利用好它们,照样可以达到计时的目的:

SM0.0:始终接通;

SM0.1:首次扫描为1,以后为0,常用来对程序进行初始化;

SM0.2:当机器执行数学运算的结果为负时,该位被置1;

SM0.3:开机后进入RUN方式,该位被置1一个扫描周期;

SM0.4:该位提供一个周期为1分钟的时钟脉冲,30秒为1,30秒为0;

SM0.5:该位提供一个周期为1秒钟的时钟脉冲,0.5秒为1,0.5秒为0;

例如使用SM0.4的上升沿做计数器的计数输入,达到预定数值后输出相关的输出。照样可以实现定时功能。

用好计时器,使你的程序更稳定。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页