定时器操作
TP、TON、TOF、TONR 与控制
定时器在每个自动化项目中都至关重要 — 从简单的延迟到复杂的顺序控制。通过本完整指南掌握 TIA Portal 中的每条定时器指令。
什么是 TIA Portal 中的定时器操作?
TIA Portal 中的定时器操作实现了基于时间的控制逻辑。它们是符合 IEC 61131-3 标准的功能块,用于测量经过时间、生成脉冲并创建接通/断开延迟。每个定时器都有一个输入 (IN)、一个预设时间 (PT)、一个经过时间输出 (ET) 和一个状态输出 (Q)。
TIA Portal 提供 4 种 IEC 定时器类型(TP、TON、TOF、TONR)以及用于启动、复位和加载定时器的控制指令。每个定时器实例都需要自己的实例数据块 (IDB),或者可以在 FB 中作为多重实例使用。
IEC 定时器类型
4 种标准定时器功能块 — 每种都具有不同的定时行为
TP — 生成脉冲
功能
生成固定持续时间的脉冲。当 IN 从 FALSE 变为 TRUE 时,输出 Q 变为 TRUE 并保持 TRUE 恰好达到预设时间 PT,无论 IN 发生什么。经过时间 ET 从 T#0s 计数到 PT。一旦达到 PT,Q 变为 FALSE 且 ET 复位。
何时使用
当您需要由事件触发的固定持续时间输出脉冲时。例如:报警触发时使蜂鸣器响 3 秒,为电磁阀提供精确持续时间的脉冲,为下游设备创建固定宽度的信号。
专家提示
TP 是不可重复触发的 — 当 Q 已为 TRUE 时,IN 上的新上升沿没有效果。脉冲将运行至结束。要使其可重复触发,请先复位定时器。
输出 Q 不跟随 IN。即使 IN 在脉冲期间变为 FALSE,Q 也会保持 TRUE 直到 PT 到期。
在 SCL 中:myTP(IN := trigger, PT := T#3s); IF myTP.Q THEN ... END_IF;
TON — 生成接通延迟
功能
延迟输出的激活。当 IN 变为 TRUE 时,定时器开始计数。预设时间 PT 过后,Q 变为 TRUE。如果 IN 在达到 PT 之前变为 FALSE,则定时器复位且 Q 保持 FALSE。延迟后只要 IN 保持 TRUE,Q 就保持 TRUE。
何时使用
PLC 编程中最常用的定时器。用于:电机启动延迟、传感器去抖动(忽略短于 X 毫秒的信号)、报警延迟(仅在条件持续 N 秒后触发报警)、启动序列。
专家提示
TON 是“经典”延迟定时器。可以理解为:“等待 X 秒,然后开启 — 但仅当条件仍然成立时”。
当 IN 变为 FALSE 时,Q 立即变为 FALSE 且 ET 复位为 T#0s。没有断开延迟行为。
对于传感器去抖动,使用较短的 PT,如 T#50ms 或 T#100ms。这可以滤除电气噪声和触点抖动。
TOF — 生成断开延迟
功能
延迟输出的停用。当 IN 变为 TRUE 时,Q 立即变为 TRUE。当 IN 变为 FALSE 时,定时器开始计数。PT 过后,Q 变为 FALSE。如果 IN 在 PT 到期前再次变为 TRUE,则定时器复位且 Q 保持 TRUE。
何时使用
当输出在输入关闭后仍需保持开启一段时间时。例如:电机停止后让冷却风扇继续运行 30 秒,在检测不到运动后让灯保持开启 60 秒,在循环结束后保持润滑泵激活。
专家提示
TOF 与 TON 相反:Q 立即激活,但延迟停用。
如果 IN 在 PT 到期前经历 TRUE→FALSE→TRUE,则定时器复位。Q 从不变为 FALSE — 这是一种“保持激活”行为。
在 HVAC 中常见:在过程停止后让通风继续运行 5 分钟以清除残余烟雾。
TONR — 累积定时器
功能
一种累积接通延迟定时器。类似于 TON,但当 IN 变为 FALSE 时,经过时间 ET 不会被复位。当 IN 为 FALSE 时 ET 暂停,当 IN 再次为 TRUE 时继续计数。当 ET 达到 PT 时,Q 变为 TRUE。必须使用 R 输入显式复位定时器。
何时使用
当您需要测量间歇性操作的总累积运行时间时。例如:跟踪电机总运行时间以进行维护调度,测量可能暂停的固化过程中的总暴露时间,汇总操作时间以进行计费或 SLA 报告。
专家提示
TONR 有一个额外的 R (复位) 输入。设置 R=TRUE 以将 ET 清零为 T#0s 并将 Q 设置为 FALSE。这是重启累积器的唯一方法。
与 TON/TOF/TP 不同,TONR 记住了其经过时间。掉电后的行为取决于实例数据块 (DB) 的保持性设置。
将 TONR 用于维护计数器:当总运行时间超过 X 小时时,触发“需要维护”报警。
定时器控制指令
从 LAD/FBD 启动、复位和配置定时器
—(TP)— 启动脉冲定时器
—(TP)—功能
一种线圈式指令,直接从 LAD 梯级启动 TP(脉冲)定时器。当 RLO 从 FALSE 变为 TRUE 时,相关的 TP 定时器生成脉冲。这是使用 TP 功能块框的替代方案。
何时使用
当您在 LAD 中更喜欢线圈表示法而不是功能块框时。一些程序员认为将定时器逻辑编写为以定时器线圈结束的梯级比在网络中间插入一个大的 FB 框更清晰。
专家提示
线圈版本引用与框版本相同的 IEC 定时器实例。它们是可以互换的。
放置在梯级的末尾,就像输出线圈一样。预设时间在定时器实例中配置。
在大多数现代项目中,首选 FB 框版本,因为它直观地显示了所有参数 (IN, PT, Q, ET)。
—(TON)— 启动接通延迟定时器
—(TON)—功能
一种启动 TON(接通延迟)定时器的线圈式指令。当 RLO 为 TRUE 时,相关的 TON 定时器计数。当达到预设时间时,定时器输出 Q 变为 TRUE。
何时使用
TON 的替代线圈表示法。当您想要 LAD 中简洁的延迟定时器表示而不需要较大的 FB 框时使用。
专家提示
行为与 TON 功能块相同 — 只是在 LAD 中的视觉表示不同。
定时器实例 DB 存储所有参数:PT, ET, Q, IN。
您可以通过引用实例 DB 在其他网络中读取定时器的 Q 和 ET 输出。
—(TOF)— 启动断开延迟定时器
—(TOF)—功能
一种启动 TOF(断开延迟)定时器的线圈式指令。当 RLO 为 TRUE 时,定时器输出 Q 立即激活,并在 RLO 变为 FALSE 后的预设时间内保持 TRUE。
何时使用
TOF 的替代线圈表示法。用于简洁 LAD 梯级中的断开延迟逻辑。
专家提示
行为与 TOF 功能块相同。
常用于“延时运行”定时器:在触发消失后让输出保持激活一段时间。
在其他网络中引用实例 DB 的 Q 输出以使用延迟断开信号。
—(TONR)— 累积定时器
—(TONR)—功能
用于 TONR(累积接通延迟)定时器的线圈式指令。当 RLO 为 TRUE 时,经过时间累积;为 FALSE 时暂停。必须显式复位定时器。
何时使用
TONR 的替代线圈表示法。在 LAD 格式中跟踪累计运行时间时使用。
专家提示
记得使用 RT (复位定时器) 指令在需要时复位累积器。
累积的时间存储在实例 DB 中,并在扫描周期中保持。
对维护调度很有用 — 当总累积时间超过阈值时触发报警。
—(RT)— 复位定时器
—(RT)—功能
将定时器复位至其初始状态。当 RLO 为 TRUE 时,指定定时器的经过时间 ET 被设置为 T#0s 且输出 Q 被设置为 FALSE。适用于所有定时器类型 (TP, TON, TOF, TONR)。
何时使用
当您需要从单独的网络强制复位定时器时。对 TONR 是必不可少的(因为它不会自动复位),但在特定条件下(如故障确认或模式更改)复位任何定时器也很有用。
专家提示
对于 TONR 定时器,RT 是复位累积时间的唯一方法。没有它,定时器永远不会复位。
您可以从任何网络复位定时器 — 它不需要与定时器启动位于同一个网络中。
在“全部复位”按钮上使用 RT 以一次性清除多个定时器。
—(PT)— 加载时间长度
—(PT)—功能
在运行时将新的预设时间值 (PT) 加载到现有的定时器实例中。当 RLO 为 TRUE 时,定时器的预设时间更新为指定值。这允许您在不修改程序的情况下动态更改定时器持续时间。
何时使用
当定时器持续时间需要从 HMI 或配方系统进行调整时。例如:操作员在 HMI 上设置停留时间,PT 将该值加载到过程定时器中。对基于传感器反馈的自适应定时也很有用。
专家提示
当 RLO 为 TRUE 时,PT 加载该值。如果定时器已在运行,新的 PT 将在下次定时器启动时生效。
与 HMI 可编辑变量一起使用,让操作员无需工程访问权限即可调整定时。
时间值格式为 TIME(例如:T#5s, T#1m30s, T#500ms)。您也可以使用 TIME 变量。
传统定时器指令
来自 S7-300/400 的 S5 定时器 — 仅用于向后兼容
TIA Portal 还包括传统 S5 定时器指令 (S_PULSE, S_PEXT, S_ODT, S_ODTS, S_OFFDT),用于与 S7-300/400 程序向后兼容。对于新项目,请始终使用 IEC 定时器 (TP, TON, TOF, TONR),因为它们更灵活、可移植且易于维护。
定时器比较 — 该使用哪一个?
根据您的定时要求快速做出决定
| 您需要... | 使用该定时器 | 示例 |
|---|---|---|
| 固定持续时间输出脉冲 | TP | 报警时蜂鸣器响 3 秒 |
| 延迟激活(去抖动) | TON | 电机在按下按钮 5 秒后启动 |
| 延迟停用(延时运行) | TOF | 电机停止后风扇运行 30 秒 |
| 跟踪累计运行时间 | TONR | 累计 1000 小时后发出维护报警 |
| 强制清除任何定时器 | RT | 在故障确认时复位所有定时器 |
| 在运行时更改定时器持续时间 | PT | 操作员从 HMI 调整停留时间 |
常见问题
TP 和 TON 有什么区别?
TP 生成一个固定持续时间的脉冲,无论输入如何都会运行至结束 — 一旦触发,输出将保持接通恰好 PT 时间,即使输入变为 FALSE。TON 要求输入在整个持续时间内保持 TRUE — 如果输入在 PT 之前变为 FALSE,定时器复位且输出永不激活。
我可以在定时器运行时更改其预设时间吗?
您可以使用 PT 指令加载新的 PT 值,但它通常在下次定时器启动时生效,而不是当前运行。要中途更改定时,您需要复位定时器并使用新的 PT 值重新启动它。
如何制作重复脉冲(时钟发生器)?
使用两个定时器:一个 TON 用于接通时间,另一个 TON 用于断开时间,交叉连接。当定时器 1 到期时,它启动定时器 2 并复位自身。当定时器 2 到期时,它启动定时器 1 并复位自身。这将创建一个具有可配置接通/断开持续时间的连续振荡信号。
定时器在掉电后是否具有保持性?
默认情况下,定时器实例不具有保持性 — 它们在通电时复位为零。要使定时器具有保持性(例如,用于维护时间的 TONR),请在其属性中将实例数据块 (DB) 设置为“保持性”。注意:保持性定时器在掉电后从上次的值继续计数。