跳到正文
Learn-SCL
SCL 示例库/SCL 指令手册/SCL 定时器指令

SCL 定时器指令

西门子 SCL 定时器:TON、TOF、TP、TONR 的区别、调用写法、实例类型和常见坑,含完整 FB 示例和云仿真场景。

SCL 的定时器都是 IEC 定时器实例:TON、TOF、TP、TONR。区别在于 IN 断开后 Q 怎么办、ET 清不清零。

示例统一用 IEC_TIMER 实例,调用写成 #MyTimer.TON(...);实例名不要用 Timer(保留字)。

每个页面都有完整 FB、参数表和云仿真边界场景;先看对比表,再进具体页。

SCL 定时器指令 4

怎么选

需求 指令 Q 的行为
接通后延时 TON IN 持续到 PT 后 Q=1;IN 断开立即复位
断开后保持 TOF IN 断开后 Q 仍保持 PT
固定脉冲 TP IN 上升沿后 Q 固定保持 PT
累计时间 TONR IN 断开 ET 不清零;R=1 才复位

统一调用写法

SCL
1VAR
2   MyTimer : IEC_TIMER;
3END_VAR
4 
5#MyTimer.TON(IN := #Start, PT := #Preset, Q => #Q, ET => #ET);
6#MyTimer.TOF(IN := #Start, PT := #Preset, Q => #Q, ET => #ET);
7#MyTimer.TP (IN := #Start, PT := #Preset, Q => #Q, ET => #ET);
8#MyTimer.TONR(IN := #Start, R := #Reset, PT := #Preset, Q => #Q, ET => #ET);

实例名用 MyTimer,不要用 Timer(TIA 保留字)。

常见问题

TON、TOF、TP、TONR 怎么选?

接通延时用 TON,断开延时用 TOF,固定脉宽用 TP,累计运行时间用 TONR。

定时器实例为什么不能用 Timer 命名?

Timer 是 TIA/SCL 的保留字,外部源导入会报“设定值无效”;改名为 MyTimer 即可。

ET 什么时候复位?

TON 在 IN=0 时复位;TOF 在 IN 重新为 1 时复位;TP 在脉冲结束且 IN=0 时复位;TONR 只有 R=1 才复位。

PT 为 0 会怎样?

不同定时器行为不同:TON/TOF 可能立即输出,TP 可能一个扫描都不亮;PT 一般要求为正。

← 返回 SCL 指令手册