使用 S7-200 SMART 脉冲输出功能, 可采用以下两种方式来实现脉冲输出的立即停止:
使用 S7-200 SMART 创建运动控制向导, 可启用 STP 定位,立即停止脉冲串输出。
使用 PLS 指令编程, 禁止 PTO 操作,可立即停止脉冲串输出。
STP 定位与 STP 信号的输入滤波时间和 PTO 频率有关。
例如,在 S7-200 SMART 运动控制向导中,启用 I0.2 作为 STP 信号,选择响应为 “立即停止”。 如下图 1 所示:
图 1. 启用 STP 信号和立即停止
由于 PTO 频率越大, 输出脉冲串越快,为最快响应 STP 输入信号,立即停止脉冲串输出, 应注意在系统块里修改STP 信号(例如 I0.2)的输入滤波时间为最小值 0.2 μs 。 如下图 2 所示:
图 2. 修改输入滤波时间
注意:更改数字量输入通道的滤波时间存在的风险:
如果数字量输入通道的滤波时间更改自以前的设置,则新的“0”电平输入值可能需要保持长达 12.8 ms 的累积时间,然后滤波器才会完全响应新输入。 在此期间,可能不会检测到持续时间少于 12.8 ms 的短“0”脉冲事件或对其计数。
滤波时间的这种更改会引发意外的机械或过程操作,这可能会导致人员死亡、重伤和/或设备损坏。
为了确保新的滤波时间立即生效,必须关闭 CPU 电源后再开启。
PLS 定位与程序,指令执行时间有关。
例如,启用 I0.2 上升沿中断 INT_0, 对应的中断事件号 EVNT=4。在中断程序里编程,立即禁止 PTO。 如下图 3 所示:
图 3. 启用 I0.2 上升沿中断
使用 PLS 定位, 应在中断程序里网络 1, 立即禁止 PTO。例如,V0.0 上升沿触发 PLS 指令,以 100 HZ 频率输出 5000 个脉冲数。在 5000 个脉冲数输出完成之前,使能 I0.2 ,I0.2 上升沿中断禁止 PTO 。程序编写如下图 4 所示:
程序说明:
PTO 控制字节 SMB67=16#C5
PTO 频率值 SMW68=100
PTO 脉冲数 SMD72=5000
使能 V0.0,上升沿触发 PLS ,
I0.2 上升沿中断禁止 PTO 。
图 4. I0.2 上升沿中断禁止 PTO
任何时候都可复位控制字节(SM67.7、SM77.7 或SM567.7)PTO 使能位,执行 PLS 指令,禁止 PTO。
如果在 PTO 操作正在产生脉冲时被禁止,该脉冲将内在地完成其整个周期时间,不会出现在输出端。
如果在 PTO 操作正在产生脉冲时被禁止,再次执行 PLS 指令之前必须要有时间延迟,并要确保其等于上一个有效脉冲的最大周期时间。
若在脉冲内在完成之前设置使能位并执行 PLS 指令,将导致非致命错误以及指令被忽略。