• {{item.name}}
SIMATIC S7-200 SMART {{item.name}}
{{item2.name}}
更多

PTO立即停止后如何快速再次启动

star star star star star
0 分
  • 软件编程
发布时间:2024年01月11日
  • 0
  • 54
PTO立即停止后如何快速再次启动

S7-200 SMART PTO立即停止后如何快速再次启动

V2.2固件CPU

V2.2固件的CPU PTO停止后可以立即再次启动,不需要有上一个有效脉冲的周期时间延迟。

V2.1固件CPU

由于在 PTO 操作正在产生脉冲时被禁止,再次执行 PLS 指令之前必须要有时间延迟,并要确保其等于上一个有效脉冲的最大周期时间。因此,可采用如下方法来实现延迟执行新脉冲串输出:

1. 采用定时中断:

延迟上一个有效脉冲的最大周期时间,再执行PLS 指令,输出新脉冲串。

2. 利用 PTO 空闲状态位(SM66.7、SM77.7 和 SM566.7)和程序执行错误状态位 SM4.3:

    PTO 空闲(SM66.7=1、SM77.7=1 和 SM566.7=1)以及程序执行无错误 SM4.3=0 时,执行 PLS 指令;

    PTO 空闲(SM66.7=1、SM77.7=1 和 SM566.7=1)以及程序执行有错误 SM4.3=1 时, 通过GET_EEROR 指令获取 CPU 程序执行错误代码16#05,继续返回直到错误清除执行 PLS 指令。

S7-200 SMART PLS 定位编程方法比较

采用定时中断利用 PTO 空闲状态位和程序执行错误状态位
实际应用中,在 PTO 频率值不固定的情况下, 需根据变化的 PTO 频率值计算再次执行 PLS 指令的延迟时间Tdelay = 1 / Fmax编程相对复杂,但精确计算上一个有效脉冲的最大周期时间,有利于保证延迟执行新脉冲串的输出。PTO 频率越小,PTO 操作被禁止后内在地完成该脉冲的周期时间越长。即 LBL 标签内跳转次数越多,该部分程序处理时间越长,因此可能造成 CPU 看门狗超时错误。此时,则需要用户编程延长看门狗时间,防止CPU 停机。

1. 采用定时中断:

例如,V0.0 上升沿触发 PLS 指令,以 100 HZ 频率输出 5000 个脉冲数。在 5000 个脉冲数输出完成之前,使能 I0.2 ,I0.2 上升沿中断程序 INT_0 里中断禁止 PTO 并启用定时中断 INT_1,定时中断时间 SMB34= Tdelay = 1 / 100HZ= 10 ms;

定时时间到,更新  PTO  频率为 2000 HZ 和脉冲数为 10000, 立即执行 PLS 指令输出新脉冲串并分离中断。 程序编写如下图 5 所示:

程序说明:

PTO 控制字节 SMB67=16#C5

PTO 频率值 SMW68=100

PTO 脉冲数 SMD72=5000

使能 V0.0,上升沿触发 PLS ,

在 5000 个脉冲数输出完成之前,I0.2 上升沿中断禁止 PTO并启用定时中断INT_1,定时时间 SMB34= 1 / 100HZ= 10 ms 。

定时时间到,进入定时中断 INT_1, 更新PTO  频率为 2000 HZ 和脉冲数为10000

PTO 控制字节 SMB67=16#C5

PTO 频率值 SMW68=2000

PTO 脉冲数 SMD72=10000

立即执行 PLS 指令输出新脉冲串并分离中断。

图 5. 采用定时中断禁止延时执行新脉冲串输出

2.  利用 PTO 空闲状态位(SM66.7、SM77.7 和 SM566.7)和程序执行错误状态位 SM4.3:

例如,V0.0 上升沿触发 PLS 指令,以 100 HZ 频率输出 5000 个脉冲数。在 5000 个脉冲数输出完成之前,使能 I0.2 ,I0.2 上升沿中断程序 INT_0 里中断禁止 PTO ,更新  PTO  频率为 2000 HZ 和脉冲数为 10000, 并跳转到标签 0;

程序说明:

PTO 控制字节 SMB67=16#C5

PTO 频率值 SMW68=100

PTO 脉冲数 SMD72=5000

使能 V0.0,上升沿触发 PLS 。

在 5000 个脉冲数输出完成之前,I0.2 上升沿中断禁止 PTO , 更新PTO  频率为 2000 HZ 和脉冲数为10000

PTO 控制字节 SMB67=16#C5

PTO 频率值 SMW68=2000

PTO 脉冲数 SMD72=10000

在标签 0 编写如下程序:

PTO 空闲 SM66.7=1 以及程序执行无错误 SM4.3=0 时,执行 PLS 指令,输出新脉冲串;

PTO 空闲 SM66.7=1 以及程序执行错误状态位 SM4.3=1 时,

通过 GET_EEROR 指令获取 CPU 程序执行错误代码16#05,继续返回到标签 0。

程序编写如下图 6 所示:

图 6. 利用 PTO 空闲状态位和程序执行错误状态位延时执行新脉冲串输出

S7-200 SMART 采用运动控制向导STP实现立即停车,如何快速复位STP,实现再次启动?

在向导内激活STP后,当STP使能高速脉冲会立即停车,当需要再次发送脉冲时,需复位STP信号,而有些工况人工无法干预,如何复位STP?

以ST40为例,见图7 所示:


图7. 运动控制轴0组态

接线如下图所示:

将实际的STP信号接入 I0.0,将 Q1.0输出连接到 I0.1,如图 8 所示:

图8.ST40接线

注:红色虚线为程序内逻辑;黑色实线为实际接线

程序如下图 9 所示:

图9. STP功能复位

常问问题

S7-200 SMART PLS指令 正在产生脉冲时被禁止,为何不能再立即执行 PLS 指令输出新脉冲串?

S7-200 SMART PTO 正在产生脉冲时被禁止,CPU 对立即执行新脉冲串输出不响应,导致非致命错误。 再次执行 PLS 指令前必须要有时间延迟,并确保其等于上一个有效脉冲的最大周期时间 Tdelay = 1 / Fmax

例如,I0.2 上升沿中断禁止 PTO,立即更新脉冲频率和脉冲数,CPU 忽略立即执行的 PLS 指令并报错。

程序说明:

PTO 控制字节 SMB67=16#C5

PTO 频率值 SMW68=100

PTO 脉冲数 SMD72=5000

使能 V0.0,上升沿触发 PLS 。

在 5000 个脉冲数输出完成之前,I0.2 上升沿中断禁止 PTO , 更新PTO  频率为 2000 HZ 和脉冲数为10000

PTO 控制字节 SMB67=16#C5

PTO 频率值 SMW68=2000

PTO 脉冲数 SMD72=10000

立即执行 PLS 指令。

如下图 10 所示:

图 10. 中断程序里立即执行 PLS 指令

STEP 7 Micro/Win SMART 软件在线,从 PLC 信息可以查看到非致命错误。如下图 11 所示:

图 11. 非致命错误


剩余80%未阅读,请登录查看大全章节内容

  • 评论
更多
  • 分享

    扫码分享

0元领课点我

信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。