在 Allen-Bradley (AB) ControlLogix 5500 系列PLC中,实现 定时静止输出(即输出在满足条件后保持一段时间,然后自动复位)可以通过 定时器(Timer)指令 和 逻辑控制 实现。以下是详细的实现方法和示例程序:
1. 定时静止输出程序逻辑
功能需求
- 当输入条件(如 - Input_Trigger)触发时,输出- Output_Signal置为 ON。
- 输出保持 ON 状态一段时间(如 - T#5s),然后自动复位为 OFF。
- 如果在定时期间 - Input_Trigger再次触发,则重新计时。
适用指令
- TON(On-Delay Timer):延时接通定时器。 
- TOF(Off-Delay Timer):延时断开定时器(也可用 TON 实现)。 
- RES(Reset):复位定时器(可选)。 
2. 程序示例(使用 TON 定时器)
梯形图(Ladder Logic)示例
// 输入触发条件(如 X0 或某个 BOOL 变量) Input_Trigger (X0) |--[ ]------------------------------------------------(TON Timer_1, ????????, T#5s) 
// 定时器接通时,输出 ON Timer_1.DN (Done Bit) |--[ ]------------------------------------------------(Output_Signal) 
// 可选:手动复位定时器(如 HMI 按钮) Reset_Button (X1) |--[ ]------------------------------------------------(RES Timer_1) 
说明
- Input_Trigger:可以是数字量输入(如- I:0/0)或内部 BOOL 变量。
- TON Timer_1:
- Timer_1:定时器标签(可在 - Controller Tags中定义)。
- ????????:定时器预设值(PRE),单位可以是 ms 或 s(如- 5000= 5秒)。
- T#5s:在 Studio 5000 中,可以直接输入- 5000(毫秒)或使用- TIME数据类型。
- Timer_1.DN:定时器完成位(Done Bit),当计时到达- PRE值时置- 1。
- Output_Signal:可以是数字量输出(如- O:0/0)或内部 BOOL 变量。
- Reset_Button:可选,用于手动复位定时器(如 HMI 按钮)。
3. 程序示例(使用 TOF 定时器)
如果希望 输出在输入消失后保持一段时间(类似 延时断开),可以使用 TOF(Off-Delay Timer):
Input_Trigger (X0) |--[ ]------------------------------------------------(Output_Signal)  // 直接驱动输出 
// 当 Input_Trigger 断开时,启动 TOF 定时器 Input_Trigger (X0) |--[\ ]------------------------------------------------(TOF Timer_2, ????????, T#5s) 
// 定时器未完成时,保持输出 ON Timer_2.DN (Done Bit) |--[\ ]------------------------------------------------(Output_Signal) 
说明
- TOF 定时器在 输入条件从 ON→OFF 时启动。 
- Timer_2.DN为- 0时,输出保持- ON;为- 1时,输出断开。
4. 在 Studio 5000 中的实现
- 创建定时器: 
- Timer_1(类型:- TIMER)
- Input_Trigger(类型:- BOOL)
- Output_Signal(类型:- BOOL)
- 在 - Controller Tags中添加:
- 编写梯形图: 
- 使用 - TON或- TOF指令。
- 设置 - PRE(预设值)为- 5000(5秒)。
- 测试: 
- 强制 - Input_Trigger为- 1,观察- Output_Signal是否在 5 秒后自动复位。
5. 高级应用(带复位功能)
如果需要在定时期间 手动复位 或 重新触发:
Input_Trigger (X0) |--[ ]------------------------------------------------(TON Timer_1, ????????, T#5s) 
// 定时器接通时,输出 ON Timer_1.DN (Done Bit) |--[ ]------------------------------------------------(Output_Signal) 
// 手动复位(如 HMI 按钮) Reset_Button (X1) |--[ ]------------------------------------------------(RES Timer_1) 
// 重新触发逻辑(可选) Input_Trigger (X0) |--[ ]------------------------------------------------(RES Timer_1)  // 重新启动定时器 
6. 注意事项
- 定时器单位: 
- 在 Studio 5000 中, - PRE值可以是 毫秒(ms) 或 秒(s)(如- 5000= 5秒)。
- 也可以使用 - TIME数据类型(如- T#5S)。
- 扫描周期影响: 
- 定时器精度受 PLC 扫描周期影响,短延时(<100ms)建议使用 高速计数器 或 中断。 
- 冗余设计: 
- 如果输出控制重要设备,建议增加 互锁逻辑(如急停信号)。 
7. 完整示例(Studio 5000 代码)
// 输入触发 Input_Trigger (BOOL) |--[ ]------------------------------------------------(TON Timer_1, 5000)  // 5秒定时 
// 定时器完成时,输出 ON Timer_1.DN (BOOL) |--[ ]------------------------------------------------(Output_Signal) 
// 手动复位(可选) Reset_Button (BOOL) |--[ ]------------------------------------------------(RES Timer_1) 
总结
| 方法 | 适用场景 | 指令 | 特点 | 
|---|---|---|---|
| TON | 输入触发后定时输出 | TON Timer, PRE, Time | 输入 ON 时启动,到达时间后输出 ON | 
| TOF | 输入消失后保持输出 | TOF Timer, PRE, Time | 输入 OFF 时启动,到达时间后输出 OFF | 
| TON + RES | 可复位定时 | TON + RES | 支持手动复位或重新触发 | 
通过 TON 或 TOF 定时器,可以轻松实现 定时静止输出 功能,适用于 电机启动延时、阀门控制、报警提示 等场景。

 

