PLC_博图系列☞基本指令”TP:启动脉冲定时器“

时间:2024-10-23 08:10:37
头图

PLC_博图系列☞基本指令”TP:启动脉冲定时器“

文章目录

  • PLC_博图系列☞基本指令”TP:启动脉冲定时器“
    • 背景介绍
    • TP: 启动脉冲定时器
      • 说明
      • 参数
      • 脉冲时序图
      • 示例

关键字: PLC西门子博图Siemens TP

背景介绍

这是一篇关于PLC编程的文章,特别是关于西门子的博图软件。我并不是专业的PLC编程人员,也不懂电路,所以如果你希望从这里学习PLC编程技术,可能会有些失望。然而,因为工作需要,我开始了解PLC编程,特别是西门子的博图软件,并记录了这些经验。随着我国工业4.0的推进,相信会有更多的人从事类似的工作。如果这篇文章能对你有所帮助,欢迎点赞关注我❥(^_-)。

TP: 启动脉冲定时器

说明

可以使用“启动脉冲定时器”指令启动将指定持续时间作为脉冲的 IEC 定时器。逻辑运算结果 (RLO) 从“0”变为“1”(信号上升沿)时,将启动 IEC 定时器。之后无论 RLO 的状态如何更改,IEC 定时器都会运行一段指定的时间。IEC 定时器是否超时不受所检测到的新上升沿影响。只要 IEC 定时器在运行,对定时器状态是否为“1”的查询就会返回信号状态“1”。当 IEC 定时器计时结束之后,定时器的状态将返回信号状态“0”。

当前定时器状态将保存在 IEC 定时器的结构组件 Q 中。通过二进制逻辑运算,可以查询定时器状态。

执行“启动脉冲定时器”的指令可以放置在程序段的中间或者末尾。它需要一个前导逻辑运算。

说明 由于每次查询输出 Q 或 ET 都会更新 IEC_TIMER 结构,因此 IEC 定时器的启动和查询可具有不同的超时级别。

对于 S7-1200 CPU

“启动脉冲定时器”指令以数据类型为 IEC_TIMER 或 TP_TIME 的结构存储其数据。可以如下声明此结构:

  • 声明为一个系统数据类型为 IEC_TIMER 的数据块(例如,“MyIEC_TIMER”)
  • 声明为块中“Static”部分的 TP_TIME 或 IEC_TIMER 类型的局部变量(例如,#MyIEC_TIMER)

对于 S7-1500 CPU

“启动脉冲定时器”指令以数据类型为 IEC_TIMER、IEC_LTIMER、TP_TIME 或 TP_LTIME 的结构存储其数据。可以如下声明此结构:

  • 声明为一个系统数据类型为 IEC_TIMER 或 IEC_LTIMER 的数据块(例如,“MyIEC_TIMER”)
  • 声明为块中“Static”部分的 TP_TIME、TP_LTIME、IEC_TIMER 或 IEC_LTIMER 类型的局部变量(例如,#MyIEC_TIMER)

更新实例数据中的实际值

“启动脉冲定时器”中的实例数据根据以下规则更新:

  • IN 输入

    “启动脉冲定时器”指令将当前 RLO 与保存在实例数据 IN 参数中上次查询的 RLO 进行比较。如果指令检测到 RLO 从“0”变为“1”,则说明出现了一个信号上升沿并开始进行时间测量。在“启动脉冲定时器”指令处理完毕后,IN 参数的值在实例数据中更新,并作为存储器位用于下次查询。

    请注意,边沿检测将在其他功能写入或初始化 IN 参数的实际值时中断。

  • PT 输入

    当边沿在 IN 输入处改变时,PT 输入处的值将写入实例数据中的 PT 参数。

  • Q 和 ET 输出

    Q 和 ET 输出的实际值在以下情况下更新:

    • 当输出 ET 或 Q 互连时,调用该指令。

    • 访问 Q 或 ET。

    如果输出未互连并且还未被查询,则不更新 Q 和 ET 输出的当前时间值。即使在程序中跳过该指令,也不会对输出进行更新。

    “启动脉冲定时器”指令的内部参数用以计算 Q 和 ET 的时间值。请注意,时间测量将在其他功能写入或初始化指令的实际值时中断。

危险

**重新初始化实际值的危险 **

在时间测量时,重新初始化 IEC 定时器的实际值会破坏 IEC 定时器的功能。更改实际值可能会导致程序和实际过程之间不一致。这会对财产和人身造成造成严重损害。 以下功能可导致实际值重新初始化:

  • 通过重新初始化加载块
  • 将快照加载为实际值
  • 控制或强制执行实际值
  • “WRIT_DBL”指令

在执行这些功能前,请采取以下预防措施:

  • 在覆盖实际值之前,应确保设备始终处于安全状态。
  • 在初始化 IEC 定时器的实际值前,请确保定时器已计时结束。
  • 如果使用快照覆盖实际值,请确保是在系统处于安全状态时拍摄的快照。
  • 确保程序在传输期间不读写受影响的数据。

参数

下表列出了“启动脉冲定时器”指令的参数:

参数 声明 数据类型 数据类型 存储区 说明
S7-1200 S7-1500
VALUE Input TIME TIME、LTIME I、Q、M、D、L 或常量 IEC 定时器运行的持续时间
<IEC 定时器> InOut IEC_TIMER、TP_TIME IEC_TIMER、IEC_LTIMER、TP_TIME、TP_LTIME D、L 启动的 IEC 定时器

脉冲时序图

下图为“时间累加器”指令的脉冲时序图:

image-20240331111331784

示例

以下示例说明了该指令的工作原理:

image-20240331111349161

当操作数 Tag_Input 的信号状态从“0”变为“1”时,执行“启动脉冲定时器”指令。“DB1”.MyIEC_TIMER 定时器将持续运行操作数“TagTime”中存储的一段时间。

image-20240331111411525

只要定时器 DB1. MyIEC_TIMER 在运行,则定时器状态 (DB1.MyIEC_TIMER.Q) 的信号状态便为“1”且置位操作数“Tag_Output”。当 IEC 定时器计时结束后,定时器状态的信号状态将重新变为“0”,同时复位操作数“Tag_Output”。

**注:**以上部分内容来之博图V16帮助文档。


博客签名2021