所有者:TerryWang(呢称); 发布时间:2020-02-07 00:30:18; 更新时间:2023-05-14 18:50:38
阅读所需积分:0;
简介:顾名思义,就是当发生了某个事件,系统会自动调用某个设定的子程序,用于对事件做出相应的处理。这里所说的事件有如下几个: 程序启动 程序结束 操作面板上的复位 NC系统上电 具体对那个事件做出响应呢?由MD20108 $MC_PROG_EVENT_MASK 来选择 Bit0 = 1: 响应“程序启动” Bit1 = 1: 响应“程序结束” Bit2 = 1
顾名思义,就是当发生了某个事件,系统会自动调用某个设定的子程序,用于对事件做出相应的处理。这里所说的事件有如下几个:
程序启动
程序结束
操作面板上的复位
NC系统上电
具体对那个事件做出响应呢?由MD20108 $MC_PROG_EVENT_MASK 来选择
Bit0 = 1: 响应“程序启动”
Bit1 = 1: 响应“程序结束”
Bit2 = 1: 响应“操作面板上的复位”
Bit3 = 1: 响应“NC系统上电”
在828D和840Dsl上,PROG_EVENT.SPF 是一个西门子的标准循环,不能被修改,有以下两点需要说明:
● 在制造商循环或用户循环目录中保存一个自己写入的循环 PROG_EVENT.SPF 时,该循环不会生效。
● 制造商专用的 prog_events 必须由以下循环映射,这些循环由 PROG_EVENT 调用:
– CYCPE1MA.SPF 在内部 prog_event 开始时调用。
– CYCPE_MA.SPF 在内部 prog_event 结束时调用。
注:最好使用 CYCPE_MA.SPF。
所以制造商用户可以使用CYCPE_MA.SPF来替代原来840Dpl上的PROG_EVENT.SPF程序,实现一些需要在“程序启动”、“程序结束”、“操作面板上的复位”、“NC系统上电”等阶段触发的功能。
简单举例如下:
1.在制造商循环目录下创建并编写 CYCPE_MA.SPF程序。(注意其它目录中不能有相同的程序名)
内容如下:
IF ($P_PROG_EVENT==1)
MSG(“this is program start”)
ENDIF
IF ($P_PROG_EVENT==2)
MSG(“this is program end”)
ENDIF
IF ($P_PROG_EVENT==3)
MSG(“this is reset on OP”)
ENDIF
IF ($P_PROG_EVENT==4)
MSG(“this is NC power up”)
ENDIF
M17
2.设置机床数据 MD20108 $MC_PROG_EVENT_MASK=FH
3.当你按程序启动键,程序结束的时候,按面板上的复位键或是 NC 上电完成,系统会自动调用 CYCPE_MA.SPF 程序中相应功能,在屏幕上方你就能看到不同的提示。
随查一数控报警
https://mp.weixin.qq.com/s?__biz=MzA5MjUxMTE2NQ==&tempkey=MTA0NF81TmJ1K1V4eE5QU2cyMHpHMWtybk1NUGtXcVhCZ3o5ZUF3SXhMRmw3MUtzSWFESXRzVW14bnJCaHVFUGNXb0N4LXV2b3RheVZOOGZBUGozUklNZjRWRGR1dnNyZDM1SGMzZ2RWSHZ5cENOd1NScjNlbjFRZ2FyVlJXeEFObHZzLUtYMUxjZ0xqVjIwZmc5cUpTdE5PTzNaS1MzTWVzdURYMWh1SDZnfn4%3D&chksm=0bb4d64c3cc35f5a0e86727a68bed8688e554010d1a2490f8556f4656151a023ec1fcf18f824