数控系统为840d系统,想要使用“事件驱动子程序”功能来实现当按下MCP面板上的reset按键时执行一个子程序。
设置了MD 11620,在“制造商循环”中编入了要被调用的子程序且装载到NC中,再就是MD 20108的设置。MD 20108的bit 0为循环起动,bit 1为循环结束,bit 2为MCP面板的reset按键被按下,bit 3为NC重启动。我要用到的就是bit 2这一位。MD 20108是重启NC后生效。
我将MD20108 的bit 2设置为1,然后重启NC,发现MD20108 的bit 2又由1被还原0,这样就使对应的MCP-RESET按键驱动子程序功能没法用。
我在其他的好几台840d设备上试了都是这样,看资料好像跟MD11602的bit 0有关,想把MD11602的bit 0设为1也设置不上,同样是在重启系统后被还原为0。又试了好几个其他的MD也不成功,郁闷!
我问了西门子的人“事件驱动子程序”功能是不是选件功能,他们说是标准功能,不是选件功能,可是我怎么试也试不出来。
哪位高手调试过这个功能,请赐教,谢谢!
[DOCONCD上的资料位置在Function manual basic functions--mode group,channel,progran operation,reset response (k1)--2.7.12章节]
最佳答案
楼主的问题,对于840d数控系统,想要使用“事件驱动子程序”功能来实现当按下MCP面板上的reset按键时执行一个子程序。我认为要将MD 20108的位2设为“1“,同时在程序中还要添加指令行,如下所示:
IF ($P_PROG_EVENT == 3)
N10 .....
N20 ......
N30
...
N50 M17
ENDIF
这样可以将MD20108的位2保持为“1“,不受上、下电的影响了。
如果以上方法未奏效,检查 MD20109 $MC_PROG_EVENT_MASK_PROPERTIES 的设定(注意必须在 Siemens840d SW 6.3和更高版本):
– Bit0 = 0: 可以通过reset键执行异步子程序,
– Bit0 = 1: 不允许通过reset键执行异步子程序,
如果以上方法仍未奏效,有可能需要在更高权限的密码下,才能更改MD20108,建议楼主在”sunrise“的密码下进行修改。
以上说明可以助力楼主解决调试“事件驱动子程序”功能时,MD20108设置不上的故障,祝楼主好运1
提问者对于答案的评价:
谢谢沧浪子的支持!
问题还是没能解决问题,我认为这还是个选件功能。
尽管如此,还是感谢您给的建议!
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc217070.html