如何中断NC程序中延时?

比如:G04 F=10;
          G90 G01 X100 F20;
 如何在5S的时候就结束延时,转到下面程序段。谢谢!

问题补充:
不可以设定5s,5s只是举例子,也可能是其它比10s小的时间,其实意思就是只要有一个指定的PLC输入信号给我,就将中断延时,类似于删除剩余行程的意思。

最佳答案

楼主的问题可以用PI服务,即西门子的Step-7 功能块FB4的PI  服务功能来完成,FB 4的PI_SERV被用于NCK内部零件加工程序与外部开关量即plc的输入输出接口建立连接,从而达到内外部转换的过程。当内部某中间继电器为有效脉冲后,强制方式组转换到AUTO方式,同时启*能FB4,程序功能会自动寻找DB91(事先做好)的指定外部加工程序的地址路径,自动执行该程序,执行完毕后自动转回到方式组初始状态。例如在一个加载到NCK的程序中,借助于PI SERVICE的申请,可以借助于机床检测开关或者一个面板上的按键执行一个特殊的功能,如在5S的时候就结束延时,转到下面程序段。
注意在调用FB4时,必须分配一个单独的DB区,楼主可以参考Step-7 获得较为详细建立数据块的信息。
借助于 PISERVICE的参数,可以实现指定的服务。
PISERVICE的功能可以由自由的分配各种数据类型的输入变量来实现。当调用FB4,并且一个标志寄存器被触发为有效后,指定的服务程序立即执行。
“PI“ 数据块DB16包含内部PI服务的描述。在DB16的符号列表中有一个标识来指定该数据块。在调用FB4时,“DB-Name.PI-Name”作为实参用于PI服务的传送。
举例如下:
    
    CALL  FB4, DB100
        Req      :=I6.3
        PIService:="PI".ASUP       
        Unit     :=1
        Addr1    :="new".p1_path      //  " new " 是定义的字符,数据块是DB101,用来存放程序属性-路径、名字等
     Addr2    :="new".p1_name  
        Addr3    :=
        Addr4    :=
        WVar1    :=
        WVar2    :=
        WVar3    :=
        WVar4    :=
        WVar5    :=
        WVar6    :=
        WVar7    :=
        WVar8    :=
        WVar9    :=
        WVar10   :=
        Error    :=M200.0
        Done     :=M200.1
        State    :=MW201
 
此调用FB4的目的在于,当按下I6.3时(也可将其定义为机床检测开关),系统执行程序p1, p1的内容由用户自行定义,如结束延时。

提问者对于答案的评价:
谢谢!

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc209165.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年11月12日 上午10:21
下一篇 2017年11月12日 上午10:21

相关推荐