一、SINUMERIK 840Dsl /828D的程序段搜索功能
在实际的工厂环境中,被加工件一般都具有多品种、批量化、精度高、效率高的特点,有些工厂会要求实现全自动化的智能加工生产。在化工、锅炉、风电等行业,管板类、法兰类等工件上有大量的钻孔、镗孔等加工工序,而且孔的数量较多,有些工件的孔的数量会在1万个以上。这些工件在实际加工过程中需要较高的加工效率,尽量减少停机或者辅助时间就显得尤为重要。
当数控系统在加工过程中因为各种原因造成停机时,消除停机原因后要在最短时间内重新开始加工过程。西门子数控系统840Dsl/828D以及最新的SINUMERIK one均提供了“程序段搜索”功能,通过“中断位置”、“搜索指针”等按键可以方便地查找中断位置,然后在这个位置重新启动程序来继续加工工件。图1显示了当前执行的工件程序是TEST.MPF,它调用了子程序OEMZK.SPF,当前中断的位置在TEST.MPF中程序段号为N0200的地方。图2显示子程序的中断位置在OEMZK.SPF中程序段标号为N31800这一行上。

图1 程序段搜索

图2 搜索指针
二、程序段搜索不能满足客户的需求
数控系统提供的“程序段搜索”功能在系统重启或者系统意外断电再上电的时候,中断位置和搜索指针都不会保留,造成加工位置丢失。如果单纯靠人工去查找加工中断的位置,费时费力还容易出错,不能快速恢复生产,严重影响加工效率。
山东法因数控的一个客户主要是加工管板或者法兰工件,钻孔加工占比高,孔的数量大,客户提出了如下要求:(1)自动记录当前程序段号,系统断电或重启时此数据不会丢失;(2)交接班时不用人工记录程序名称、程序段号等数据,避免出错;(3)因为刀具保护功能被触发导致了刀具从工件中退出,能够记录当前位置坐标数值、主轴转速、工进速度等数据。

图3 管板类工件

图4 管板类工件图纸
三、巧用系统变量$P_BLOCKNO[n]
我们知道,西门子数控系统有系统变量$P_BLOCKNO[n],这个变量是字符串变量,它记录了数控加工程序不同层级嵌套时的当前程序段号。嵌套层级n从0到11,共12级。当n=0时,表示的是主程序的当前程序段号。使用系统变量$P_BLOCKNO[0]就可以实现记录并转存主程序的当前程序段号的功能。转存的记录被保存到断电保持的系统数据中,即使系统断电或者重启也不会丢失。

图5 变量$P_BLOCKNO
在此基础上,为客户定制了专用子程序OEMZK.SPF和Easyscreen界面。这个子程序执行钻孔动作,完成主程序名称、程序段号的记录和转存。当刀具保护功能被触发时,刀具从工件中自动退出,中断当前孔的加工。此时自动记录并保存当前孔的主轴转速、工进速度、位置坐标等数据。这些记录在数控系统断电或者重启之后不会清空,方便操作人员查看、参考。

图6 程序名称及程序段号

图7 Easy screen界面
要使用变量$P_BLOCKNO,必须激活$MN_DISPLAY_FUNCTION_MASK=1H, 同时,程序中也不能激活DISPLOF,否则变量$P_BLOCKNO将读取不到相应的数据。


四、应用过程
1. 程序中断时工件程序的名称、当前程序段号和加工参数等数据被自动记录。主程序的程序段号可以在自定义界面中查看。
2. “AUTO”方式下,移动光标到保存的程序段号处,如“N0600”行,然后按“程序段搜索”,再按“启动搜索”键,会出现“CHAN1:找到搜索目标按下“CYCLESTART”继续”窗口。

图9 程序段搜索之一
3. 按“CYCLESTART”键后,会提示“CHAN1:用CYCLESTART(循环启动)来继续程序”;按下“CYCLESTART”键后,工件程序会从被选中的程序段开始运行。

图10 程序段搜索之二
上述功能已经在客户处实际运行并取得了非常好的效果,使客户从人工记录、检查、复核的环节中解脱出来,减少了差错,提高了效率。通过一定的技术处理,也可以实现工件程序内任意程序段跳转、不用程序段搜索中断位置一键启动程序等功能。
五、总结
西门子数控系统SINUMERIK提供了高度的灵活性、开放性和适应性,在这里我们一定能找到适应客户需求的解决方法和途径。西门子曾经有一句“知其道用其妙”宣传语,我认为这既是西门子数控SINUMERIK的精到之处,也是对我们工控人学习和使用SINUMERIK的极致要求。
参考资料:
1. 《SINUMERIK 840D sl/828D System variables Parameter Manual》
SIEMENS, 6FC5397-6AP40-5BA3,10/2015.