时间的魔法师:西门子 PLC 博图平台中的定时器

引言:

时间,常常被人们视为一位魔法师,总是悄悄地将一切变化溶入它的流水中。在现代工业自动化中,时间同样扮演着至关重要的角色。而在西门子 PLC 博图平台中,定时器就是这位时间的魔法师。它们能够精确控制工艺流程,保证设备的正常运行,本文将为您揭示定时器的妙用,并且结合官方案例解释。

正文:

PLC 编程中最常用的定时器是脉冲定时器、导通延时定时器、保持导通延时定时器和关断延时定时器。一些 PLC 可能包含比这 4 个更多的定时器,但它们基本上是 4 个基本定时器的某种组合。

您可以在 Siemens TIA Portal 指令选项卡中找到 4 个定时器。见下图。

图片

2.1  TP 定时器

当输入IN处的逻辑运算(RLO)结果从“0”变为“1”(正信号边沿)时,脉冲定时器将设置Q输出的编程持续时间。

编程时间 PT 在指令开始时开始。虽然输出 Q 设置为持续时间为 PT,但在 IN 输入端检测到新的正信号边沿对 Q 输出端的信号状态没有影响。

您可以扫描 ET 输出端的当前时间值。计时器值从 T#0s 开始,在达到持续时间 PT 的值时结束。当时间经过 PT 且输入 IN 处的信号状态为“0”时,ET 输出复位。

脉冲定时器指令可以放置在网络内部或网络末端。它需要前面的逻辑运算。

脉冲定时器指令的每次调用都必须分配给存储定时器数据的实例数据。脉冲定时器的时序图见下图。     

图片

示例程序:

  • 'TP_DB'.TP(IN := 'Tag_Start',
  •                   PT := 'Tag_PresetTime',
  •                   Q => 'Tag_Status',  
  •                   ET => 'Tag_ElapsedTime');         

当“Tag_Start”操作数的信号状态从“0”变为“1”时,PT 参数预设的时间开始计时,且“Tag_Status”操作数置位为“1”。当前时间值存储在“Tag_ElapsedTime”操作数中。

2.2  TON 定时器

您可以使用导通延迟定时器 (TON) 指令将 Q 输出的设置延迟到编程时间 PT。当输入IN处的逻辑运算(RLO)结果从“0”变为“1”(正信号边沿)时,指令启动。编程时间 PT 在指令开始时开始。

当时间经过 PT 时,输出 Q 的信号状态为“1”。只要起始输入仍为“1”,输出 Q 就保持设置。当起始输入的信号状态从“1”变为“0”时,Q输出复位。

当在起始输入端检测到新的正信号边沿时,定时器功能再次启动。

TON 指令可以放置在网络内部或网络末端。它需要前面的逻辑运算。

ON-Delay 定时器指令的每次调用都必须分配给存储定时器数据的实例数据。TON 时序图见下图。

图片

示例程序:

  • 'TON_DB'.TON(IN := 'Tag_Start',
  •                          PT := 'Tag_PresetTime',
  •                          Q => 'Tag_Status', 
  •                          ET => 'Tag_ElapsedTime');         

当“Tag_Start”操作数的信号状态从“0”变为“1”时,PT 参数预设的时间开始计时。超过该时间周期后,操作数“Tag_Status”的信号状态置位为“1”。只要操作数 Tag_Start 的信号状态为“1”,操作数 Tag_Status 就会保持置位为“1”。当前时间值存储在“Tag_ElapsedTime”操作数中。当操作数 Tag_Start 的信号状态从“1”变为“0”时,将复位操作数 Tag_Status。

2.3  TOF 定时器

您可以使用关断延迟定时器 (TOF) 指令将 Q 输出的复位延迟到编程时间 PT。

当输入IN处的逻辑运算(RLO)结果从“1”变为“0”(负信号边沿)时,将设置Q输出。当输入 IN 处的信号状态变回“1”时,编程时间 PT 开始。

只要 PT 运行了持续时间,输出 Q 就会保持设置。当 PT 持续时间到期时,Q 输出复位。如果输入IN的信号状态在PT持续时间到期之前变为“1”,则定时器被重置。输出 Q 的信号状态继续为“1”。

关断延迟定时器指令可以放置在网络内部或网络末端。它需要前面的逻辑运算。

“生成关闭延迟”指令的每次调用都必须分配给存储计时器数据的数据实例。TOF时序图见下图。

图片

示例程序:

  • 'TOF_DB'.TOF(IN := 'Tag_Start',
  •                        PT := 'Tag_PresetTime',
  •                        Q => 'Tag_Status', 
  •                        ET => 'Tag_ElapsedTime');          

“Tag_Start”操作数的信号状态从“0”变为“1”时,将置位“Tag_Status”操作数。当“Tag_Start”操作数的信号状态从“1”变为“0”时,PT 参数预设的时间开始计时。只要该时间仍在计时,“Tag_Status”操作数就会保持置位状态。该时间计时完毕后,将复位“Tag_Status”操作数。当前时间值存储在“Tag_ElapsedTime”操作数中。

2.4  TONR 定时器

保持导通延迟定时器 (TONR) 指令用于在参数 PT 设置的时间段内累加时间值。当IN输入端的信号状态从“0”变为“1”(信号边沿正)时,执行时间测量,时间PT开始。

当时间 PT 运行时,当 IN 输入的信号状态为“1”时,会累积记录的时间值。

累积时间将写入 ET 输出。当持续时间 PT 到期时,输出 Q 的信号状态为“1”。

即使IN参数的信号状态从“1”变为“1”(负信号边沿),Q参数仍设置为“0”。

R 输入复位 ET 和 Q 输出,而不考虑启动输入的信号状态。

TONR 指令可以放置在网络内部或网络末端。它需要前面的逻辑运算。

必须为 TONR 指令的每个调用分配一个存储定时器数据的数据实例。TONR时序图见图10。

图片

示例程序:

  • 'TONR_DB'.TONR(IN := 'Tag_Start',
  •                              R := 'Tag_Reset',
  •                              PT := 'Tag_PresetTime',
  •                              Q => 'Tag_Status',    
  •                              ET => 'Tag_Time'); 

当“Tag_Start”操作数的信号状态从“0”变为“1”时,PT 参数预设的时间开始计时。当该时间值正在计时时,累加在 Tag_Start 操作数的信号状态为“1”时记录的时间值。累加得到的时间值将存储在“Tag_Time”操作数中。达到 PT 参数中指定的时间值时,“Tag_Status”操作数的信号状态将置位为“1”。当前时间值存储在“Tag_Time”操作数中。

3  拓展思考:

  1. 定时器在自动化工程中的应用非常广泛,你能否思考一下在其他领域中定时器的潜在应用?

  2. 目前 PLC 技术发展迅速,定时器的功能也在不断拓展,请列举一些新兴的定时器类型及其应用场景。

  3. 除了 PLC 平台中的定时器,你还了解其他自动化控制系统中的定时器吗?对比一下它们的特性和应用领域。

  4. 定时器不仅可以用于时间控制,还可以结合其他传感器或设备,实现更复杂的控制逻辑。举个例子,如何利用定时器和温湿度传感器来控制温室的灌溉系统?

  5. 定时器在运输领域也有重要的应用,例如船舶和飞机上的定时器可以用来进行航行计时、航线规划和定位等任务。你能否想象一下这些场景中定时器起到的作用以及它们是如何实现的?

  6. 在工业生产中,定时器的精确性对于保证产品质量和生产效率非常重要。你可以思考一下,如何利用 PLC 系统中的动态调整和校准功能来提高定时器的准确性?

4  总结:

时间,作为工业自动化中不可或缺的一部分,通过定时器在西门子 PLC 博图平台中发挥着重要的作用。不同类型的定时器可以满足各种控制需求。本文向读者介绍了定时器的基本原理和应用示例,并通过拓展思考引发了读者对于定时器的更深层次的思考。希望读者通过本文的阅读,能够更好地理解和运用定时器技术,为工业自动化领域的发展贡献一份力量。

图片

2024年06月

Tags: