天天看点

自动化制造系统中的PLC(第九部分)

作者:Engineer Fu

9 锁存器、定时器、计数器等

9.1 引言

更复杂的系统无法仅通过组合逻辑进行控制。主要原因是我们不能或选择不添加传感器来检测所有条件。在这些情况下,我们可以使用事件来估计系统的状态。PLC通常使用的事件包括:

PLC首次扫描 - 表示PLC刚刚启动

自输入开/关以来的时间 - 延迟

事件计数 - 等待发生一定数量的事件

锁存或解锁 - 锁定或关闭某物

所有这些事件的共同主题是它们都基于两个问题之一:“多少?”或“多久?”事件设备的一个示例如图9.1所示。该设备的输入是一个按钮。当按下按钮时,设备的输入变为打开状态。如果然后释放按钮并且设备关闭,则它是一个逻辑设备。如果释放按钮时设备保持打开状态,则它将是一种基于事件的设备。总之,如果设备对发生的一个或多个事情作出响应,它就是基于事件的。如果设备对即时输入只有一种响应方式,则它是逻辑的。

自动化制造系统中的PLC(第九部分)

9.2 锁存器

锁存器就像一个粘性开关 - 按下时它将打开,并保持在那个位置,必须拉动才能释放并关闭它。在梯形图逻辑中,锁存器使用一条指令进行锁存,第二条指令进行解锁,如图9.2所示。带有“L”标记的输出将在输入A变为真时打开输出D。即使A变为假,D也将保持打开状态。如果输入B变为真,并且带有“U”标记的输出变为真(注意:这一点一开始可能会有点反直觉),输出D将关闭。如果一个输出被锁存为打开状态,即使电源被关闭,它也会保持其值。

自动化制造系统中的PLC(第九部分)

图9.2中梯形图逻辑的运行通过图9.3中的时序图进行了说明。时序图显示了随时间变化的输入和输出的值。例如,输入A的值一开始是低电平(假),然后变为高电平(真),持续了一小段时间,然后再次变为低电平。在这里,当输入A变为真时,两个输出都会打开。由于程序扫描时间,输入变化和输出变化之间存在轻微的延迟。在这里,虚线表示输出扫描、健全性检查和输入扫描(假设它们非常短)。虚线之间的空间是梯形图逻辑扫描的时间。考虑当A最初变为真时,直到第一条虚线之前它都不会被检测到。然后,在梯形图逻辑扫描时会有一个延迟到达下一个虚线的过程,接着是在下一个虚线时的输出。当A最终变为假时,常规输出C会关闭,但锁存的输出D仍然保持打开。输入B将解锁输出D。输入B启动两次,但第一次启动的时间不足以被输入扫描检测到,因此被忽略。第二次启动时,它解锁了输出D,输出D关闭。

Figure 9.3 A Timing Diagram for the Ladder Logic in Figure 9.2

图9.3中的时序图比图9.4中的时序图中通常的时序图更为详细。短脉冲通常是不希望的,可以通过延长脉冲的持续时间或减小扫描时间来设计系统,将其排除在系统之外。理想的系统运行速度非常快,不会出现混叠的情况。

自动化制造系统中的PLC(第九部分)

图9.5展示了一个更为复杂的锁存器示例。在这个示例中,地址是针对Allen-Bradley MicroLogix控制器的。输入以I/开头,后面是输入编号。输出以O/开头,后面是输出编号。

自动化制造系统中的PLC(第九部分)

在梯形逻辑中,正常输出应该只出现一次,但锁存和解锁指令可以出现多次。在图9.5中,正常输出O/2重复两次。当程序运行时,它将检查第四行并更改内存中O/2的值(请记住,输出扫描直到梯形扫描完成才会发生)。然后解释最后一行,它覆盖了O/2的值。基本上,只有最后一行会改变O/2。

并非所有PLC供应商都普遍使用锁存器,其他供应商如西门子使用触发器。它们的行为类似于锁存器,但符号不同,如图9.6所示。这里的触发器是连接到两个不同逻辑梯形的输出块。所示的第一个梯形有一个输入A连接到S设置端子。当A为真时,输出值Q将变为真。第二个梯形有一个输入B连接到R重置端子。当B为真时,输出值Q将被关闭。输出Q将始终是Q的反向。请注意,S和R的值等效于先前示例中的L和U的值。

自动化制造系统中的PLC(第九部分)

9.3 计时器

有四种基本类型的计时器,如图9.7所示。通电延时计时器将在梯形逻辑线圈为真后等待一段时间再打开,但会立即关闭。脱电延时计时器将在梯形逻辑线圈为真后立即打开,但在关闭之前会有一定延迟。考虑一个旧车的例子。如果你转动点火开关,但车辆不能立即启动,那就是通电延时。如果你转动点火开关以停止发动机,但发动机在几秒钟后才停止,那就是脱电延时。通电延时计时器可用于在开始生产之前让烤箱达到温度。脱电延时计时器可以在烤箱关闭后继续运行冷却风扇一段预设的时间。

自动化制造系统中的PLC(第九部分)

保持型计时器将累加计时器的开启或关闭时间,即使计时器从未完成。非保持型计时器将每次从零开始计算延迟时间。保持型计时器的典型应用包括跟踪维护所需的时间。非保持型计时器可用于启动按钮,在传送带开始移动之前设置短暂的延迟时间。

图9.8显示了一种Allen-Bradley TON计时器的示例。梯形逻辑线圈有一个单一的输入A和一个TON功能块(注意:对于不同的PLC,此计时器块的外观可能会有所不同,但它将包含相同的信息)。计时器块内的信息描述了计时器的参数。第一项是计时器编号T4:0。这是PLC内存中存储计时器信息的位置。T4:表示它是计时器存储器,0表示它在第一个位置。时间基数为1.0,表示计时器将以1.0秒的间隔工作。其他时间基数以秒的分数和倍数可用。预设值是计时器的延迟时间,在这种情况下是4。要找到延迟时间,将时间基数乘以预设值4*1.0秒=4.0秒。累加器值给出了计时器的当前值,为0。在计时器运行时,累加器值将增加,直到达到预设值。只要输入A为真,EN输出将为真。DN输出将在累加器达到预设值之前保持为假。EN和DN输出在编程时无法更改,但在调试梯形逻辑程序时非常重要。梯形逻辑的第二行使用计时器DN输出来控制另一个输出B。

自动化制造系统中的PLC(第九部分)

图9.8中的时序图说明了带有4秒通延迟的TON计时器的操作。A是计时器的输入,每当计时器输入为真时,计时器的EN启用位也将为真。如果累加器值等于预设值,则会设置DN位。否则,将设置TT位,并且累加器值将开始增加。第一次A为真时,它仅为真3秒钟,然后关闭,此后该值重置为零(注意:在保持型计时器中,该值将保持在3秒钟)。第二次A为真时,它持续时间超过4秒。 4秒后,TT位关闭,DN位打开。但是,当A被释放时,累加器重置为零,并且关闭DN位。

在编程时可以为累加器输入一个值。当程序下载时,该值将在计时器的第一次扫描中。如果TON计时器未启用,则该值将被设置为零。通常,会为预设值输入零。

图9.9中的计时器与图9.8中的计时器相同,只是它是保持型的。最重要的区别是当输入A关闭时,累加器值不会重置为零。因此,计时器将更早地打开,并且在打开后不会关闭。稍后将显示一个复位指令,允许将累加器重置为零。

自动化制造系统中的PLC(第九部分)

图9.10显示了一个关断延时计时器。该计时器的时间基准为0.01秒,预设值为350,总延迟时间为3.5秒。与以前一样,计时器的EN启用与输入相匹配。当输入A为真时,DN位为开。当输入A已关闭且累加器在计数时,DN位也为开。只有当输入A关闭足够长的时间,使累加器值达到预设值时,DN位才会关闭。这种类型的计时器不是保持型的,因此当输入A变为真时,累加器会重置。

自动化制造系统中的PLC(第九部分)

保持型关断延时(RTF)计时器的应用较少,很少被使用,因此许多PLC供应商不包括它们。

图9.11中显示了一个示例程序。总共有四个计时器在这个例子中使用,分别是T4:1到T4:4。计时器指令采用了一种简写的符号表示法,其中时间基准和预设值结合在一起作为延迟。所有四种不同类型的计数器都有输入I/1。当TON计数器T4:1完成时,输出O/1将打开。所有四个计时器都可以使用输入I/2进行复位。

自动化制造系统中的PLC(第九部分)

这个例子的时序图如图9.12所示。当输入I/1打开时,TON和RTO计时器开始计数,并达到4秒后打开。当I/2变为true时,它们被复位,并在I/1关闭之前开始计数另外一秒。在输入关闭后,TOF和RTF都开始计数,但都没有达到4秒的预设。输入I/1再次打开,TON和RTO都开始计数。RTO提前一秒打开,因为它在7-8秒的时间段内存储了1秒。在I/1再次关闭后,所有的关断延时计数器都开始倒计时,达到4秒延迟并打开。这些模式在整个图表中持续发生。

自动化制造系统中的PLC(第九部分)

考虑图9.13中用于控制加热烤箱的简短梯形逻辑程序。系统通过按下启动按钮启动,该按钮导通自动模式。如果按下停止按钮,则可以停止系统运行(请记住:停止按钮通常为闭合状态)。当自动模式一开始时,TON计时器用于在前10秒发出警报,提示烤箱即将启动,之后警报停止,加热线圈开始工作。当关闭烤箱时,风扇将继续吹风,持续300秒或5分钟。

自动化制造系统中的PLC(第九部分)

图9.14中展示了一个每秒闪烁一次灯光的程序。当PLC启动时,第二个计时器将处于关闭状态,T4:1/DN位将关闭,因此第一个计时器的常闭输入将打开。T4:0将开始计时,直到达到0.5秒,完成后第二个计时器将开始计时,直到达到0.5秒。在那时,T4:1/DN将变为真,第一个计时器的输入将变为假。然后T4:0被设置回零,接着T4:1也被设置回零。整个过程再次从头开始。在这个例子中,第一个计时器用于驱动第二个计时器。这种安排通常称为级联,可以使用超过两个计时器。

自动化制造系统中的PLC(第九部分)

9.4 计数器

有两种基本的计数器类型:递增计数器和递减计数器。当递增计数器的输入为真时,累加器值将增加1(不管输入为真多长时间)。如果累加器值达到预设值,计数器的DN位将被设置。递减计数器将减少累加器值,直到达到预设值。

图9.15中展示了一条Allen Bradley递增计数器(CTU)指令。该指令需要PLC中的存储值和状态的内存,本例中为C5:0。C5:表示它是计数器内存,0表示它是第一个位置。预设值为4,累加器中的值为2。如果输入A从假变为真,累加器中的值将增加到3。如果A再次变为假,然后再次变为真,累加器值将增加到4,并且DN位将打开。计数可以继续超过预设值。如果输入B为真,计数器累加器中的值将变为零。

自动化制造系统中的PLC(第九部分)

递减计数器与递增计数器非常相似,实际上它们可以在相同的计数器内存位置上同时使用。考虑图9.16中的示例,示例输入I/1驱动计数器C5:1的递增指令。输入I/2驱动相同计数器位置的递减指令。计数器的预设值存储在内存位置C5:1中,因此递增和递减指令必须具有相同的预设值。输入I/3将复位计数器。

自动化制造系统中的PLC(第九部分)

图9.16中的时序图说明了计数器的运作。如果我们假设累加器中的值从0开始,那么I/1输入会使其递增到3,然后它会打开计数器C5:1。然后通过输入I/3进行复位,累加器值变为零。接着,输入I/1再次脉冲,导致累加器值再次增加,直到达到最大值5。输入I/2然后导致累加器值减小到3以下,计数器再次关闭。输入I/1然后导致其递增,但输入I/3将累加器复位为零,脉冲将继续直到接近末尾的3。

图9.17中的程序用于从带有气缸的传送带上去掉每10个零件中的5个。当检测到零件时,两个计数器都将递增1。当第六个零件到达时,第一个计数器将完成,从而允许气缸在第五个零件之后的任何零件上动作。第二个计数器将继续,直到检测到第11个零件,然后两个计数器都将被复位。

自动化制造系统中的PLC(第九部分)

9.5 主控继电器(MCRs)

在电气控制系统中,主控继电器(MCR)用于关闭电气系统的一部分,正如之前在电气布线章节中所示。这个概念在梯形逻辑中也得到了实现。梯形逻辑的一部分可以被放置在两个包含MCR的线之间。当第一个MCR线圈处于激活状态时,所有中间的梯形逻辑将被执行,直到第二个MCR线圈所在的线。当第一个MCR线圈不活跃时,梯形逻辑仍然会被检查,但所有输出都会被强制关闭。

考虑图9.18中的示例。如果A为真,则将执行后续的梯形逻辑,就像正常情况下一样。如果A为假,则将检查后续的梯形逻辑,但所有输出都将被强制关闭。第二个MCR函数出现在一行中,标志着MCR块的结束。在第二个MCR之后,程序执行恢复正常。当A为真时,X将等于B,Y可以通过C打开,并通过D关闭。但是,如果A变为假,X将被强制关闭,而Y将保持在其最后的状态。使用MCR块来移除程序的部分不会显著增加程序执行的速度,因为逻辑仍然会被检查。

自动化制造系统中的PLC(第九部分)

如果MCR块包含另一个功能,比如一个TON定时器,关闭MCR块将强制关闭定时器。一般规则是,正常的输出应该放在MCR块外,除非它们在MCR块关闭时必须被强制关闭。

9.6 内部继电器

在简单的程序中,输入用于设置输出。更复杂的程序还使用不是输入或输出的内部内存位置。这些有时被称为 '内部继电器' 或 '控制继电器'。熟练的程序员通常将其称为 '位内存'。在Allen Bradley PLC中,这些地址默认以 'B3' 开头。内存中的第一个位是 'B3:0/0',其中第一个零代表第一个16位字,第二个零代表字中的第一个位。位序列如图9.19所示。程序员可以根据需要自由使用这些内存位置。

自动化制造系统中的PLC(第九部分)

位内存的使用示例如图9.20所示。第一个梯形逻辑横栏将在输入 'hand_A' 被激活且输入 'clear' 未激活时打开内部内存位 'B3:0/0'。 (请注意,B3内存既被用作输入又被用作输出。)第二行梯形逻辑类似。在这种情况下,当两个输入都被激活时,输出 'press on' 处于激活状态。

自动化制造系统中的PLC(第九部分)

位内存在这里被简要介绍,因为它对于后面章节的设计技术非常重要,但在那之后将会更深入地介绍。

9.7 设计案例

为了强调本章节提出的原理,以下提供设计案例。建议在查看提供的解决方案之前尝试开发梯形图逻辑。

9.7.1 基本计数器和定时器

问题:开发梯形图逻辑,使其在开关A打开后的15秒钟后点亮输出灯。

自动化制造系统中的PLC(第九部分)

问题:开发梯形图逻辑,使其在开关A闭合10次后点亮一盏灯。按下按钮B将复位计数器。

自动化制造系统中的PLC(第九部分)

9.7.2 更多计时器和计数器

问题:开发一个程序,使得在输入A打开后的20秒内,输出B被锁存。按下A后,必须经过10秒的延迟,然后A才能再次产生任何效果。在A被按下3次后,B将被关闭。

自动化制造系统中的PLC(第九部分)

9.7.3 死锁开关

问题:一台电机将由两个开关控制。启动开关将启动电机,停止开关将停止电机。如果使用停止开关停止电机,则必须两次扔启动开关才能重新启动电机。当电机处于活动状态时,应点亮一个灯。停止开关将被连接为常闭开关。

自动化制造系统中的PLC(第九部分)

9.7.4 输送机

问题:通过开关电机来运行输送机。我们正在使用光学检测器在输送机上定位零件。当光学传感器触发时,我们希望等待1.5秒,然后停止输送机。在延迟2秒后,输送机将重新启动。我们需要使用启动和停止按钮 - 在系统活动时应点亮一盏灯。

自动化制造系统中的PLC(第九部分)

9.7.5 接受/拒绝分类

问题:对于上一个情况中的输送机,我们将添加一个分类系统。已连接了指示零件好坏的测量仪器。如果零件是好的,它将继续前进。如果零件是坏的,我们不希望延迟2秒,而是要启动一个气缸。

自动化制造系统中的PLC(第九部分)

9.7.6 剪切压机

问题:基本要求如下,

  1. 必须同时开启切换启动开关(TS1)和安全门上的限位开关(LS1),才能激活电磁阀(SOL1)以将冲压缸伸展到零件的顶部。
  2. 在冲压电磁铁激活期间,必须保持其激活状态,直到激活限位开关(LS2)。第二个限位开关指示了行程的结束。在此点上,电磁阀应该被去能,从而将缸缩回。
  3. 当缸完全缩回时,会激活限位开关(LS3)。在此限位开关激活之前,循环不得重新开始。
  4. 还应包括一个循环计数器,允许对生产的零件进行计数。当该值超过5000时,机器应关闭并点亮一盏指示灯。
  5. 还应包括一个安全检查。如果缸电磁铁激活时间超过5秒,这表明缸可能卡住或机器存在故障。如果是这种情况,应关闭机器并点亮维护指示灯。
自动化制造系统中的PLC(第九部分)

9.8 总结

• Latch(锁存)和Unlatch(释放)指令将保持输出处于打开状态,即使电源关闭。

• 定时器可以延迟打开或关闭。保持型定时器将保留数值,即使处于非活动状态。保持型定时器需要复位。

• 计数器可以进行正向或反向计数。

• 当定时器和计数器达到预设限制时,DN(Done)位被设置。

• MCRs(主控制继电器)可以强制关闭梯形逻辑的一部分。