韩永旺
(无锡机床股份有限公司,江苏 无锡214161)
作为数控磨床的操作者要根据磨削效果调整磨削量、磨削速度等磨削工艺参数。在磨削前,操作者要将工件的磨削位置输入到相应参数中,比如X 轴磨削位,Z 轴磨削位,一般方式为操作者将机床轴运动到工件磨削位,将机床坐标界面下对应各轴当前位置值记下,转至参数界面,将记录的数值输入到机床厂家预定义的参数中,这样,由于界面切换的操作,以及人工输入的方式将造成使用上的不便以及数值错误会造成的撞车等危险。鉴于此,需要开发对刀功能。虽然各个数控磨床厂家配置的数控系统品牌型号不同,但相应的功能其作用相同,只是名称区别。本文以西门子802D sl 数控系统为例介绍3 种对刀功能方案的开发。
方案1:PLC 读取轴位置后送至相关位置参数。
802D sl 系统采用PLC 程序可以读取机床坐标中的各个轴的位置。对应各轴的位置地址:
第一轴:VD57000000;第二轴:VD57010000;第三轴:VD57020000;第四轴:VD57030000;第五轴:VD57040000。
802D sl 系统 提供512 字节NC 与PLC 交换数据,PLC 定义接口地址对应公共存储区V49000000.0~V49000512.7,可以按字节、字、长字对其读取。
NC 亦定义了系统变量对应于此公共存储区,NC程序中可以利用系统变量对该存储器进行读写。系统变量为:$A_DBB[n]——字节;$A_DBW[n]——字;$A_DBD[n]——长字;$A_DBR[n]——浮点数。其中n 表示地址偏移。
结合上述功能编辑PLC 程序,如图1 所示。
用对刀按钮触发,将轴位置VD57000000 以MOV_R 形式传递到V49000000 中,在NC 磨削循环中可以将将系统变量$A_DBR[0]直接用于X 轴磨削位或赋值给其他变量。
NC 程序如下:
%_N_磨削循环_MPF
;$PATH=/_N_MPF_DIR
……….
MSG(“X 轴到磨削位”)
G90 G01 X= $A_DBR[0]F=2000
………
M30
方案2:采用异步子程序在NC 程序中将轴位置赋值给相关位置参数
西门子数控802D sl 可以使用异步子程序功能,即可以采用PLC 程序触发一些NC 程序,这个操作不受操作模式的限制,也不受任何加工程序的限制,从而为磨床在非循环加工前对刀提供了条件,机床制造商可以在JOG 方式下触发NC 程序将轴位置赋值给相关位置参数(磨削循环中的变量R 参数)。
具体步骤如下:
(1)将PLCASUP1.SPF 和PLCASUP2.SPF 两个程序存放在CMA 机床制造商循环目录。
两个ASUP 子程序如下:
PLCASUP1.SPF
;PROC PLCASUP1 DISPLOF
MSG(“X 轴磨削位对刀有效”)
R0= $A_IW[X] ;将X 轴当前位置赋值给R0
G04 F0.2
MSG(“”)
M17
PLCASUP2.SPF
;PROC PLCASUP2 DISPLOF
MSG(“Z 轴磨削位对刀有效”)
R1= $A_IW[Z];将Z 轴当前位置赋值给R1
G04 F0.2
MSG(“”)
M17
(2)设置系统参数
MD19340 $ON_PROG_MASK=4
MD10702 $MN_IGNORE_SINGLEBLOCK_MASK=13
MD11604 $MN_ASUP_START_PRIO_LEVEL=2
MD20107 $MC_PROG_EVENT_IGN_INHIBIT=C
MD20109 $MC_PROG_EVENT_MASK_PROPERTIES=1
(3)PLC 进行初始化
ASUPS 初始化信号:
①VB12000001:送数值1:分配中断程序PLCASUP1.SPF,其优先级为1。送数值2:分配中断程序PLCASUP2.SPF,其优先级为2。
②V12000000.0:启动。
③V12000000.1:写变量。
④V12000000.2:PI 服务。
初始化梯形图,如图2 所示。
出错时复位中断请求梯形图,如图3 所示。
用10.0 触发PLCASUP1.SPF 中断程序,实现X轴磨削位对刀梯形图,如图4 所示。
用I0.2 触发PLCASUP2.SPF 中断程序,实现Z轴磨削位对刀梯形图,如图5 所示。
在上述操作后,通过按压X 对刀按钮I0.0 即可将X 轴位置送至R0,通过按压Z 轴对刀按钮I0.1 即可将Z 轴位置送至R1,在磨削循环中R0 和R1 可以直接用于编程。
磨削循环程序如下:
%_N_磨削循环_MPF
;$PATH=/_N_MPF_DIR
……….
MSG(“X 轴到磨削位”)
G90 G01 X=R0 F=2000
MSG(“Z 轴到磨削位”)
G90 G01 Z=R1 F=2000
………
M30
方案3:OEM 人机界面中处理系统变量将轴位置赋值给相关位置参数。
在用户界面下采用软键触发OP 写指令,如下:
<softkey POSITION="1">
<caption>X 磨削位</caption>
<let name = "tmpVar3" type="INT"></let>
<MSGBOX text="确认对应关系后操作" caption=" 确认窗口"
retvalue="tmpVar3" type="BTN_OKCANCEL"/>
<IF>
<CONDITION>"tmpVar3" !=0</CONDITION>
<THEN>
<op > " nck/Channel/Parameter/R [0]" = " nck/Channel/MachineAxis/actToolBasePos[u1,0]" </op> //将X 轴位置写入R0 参数中
<op>"tmpVar3"=0 </op>
</THEN>
<ELSE>
</ELSE>
</IF>
</softkey>
在用户界面下操作者可以进行各个位置对刀操作,磨削循环中可以直接应用R 参数编程。对刀画面如图6 所示
对比上述3 种方案,各有优劣,方案1、2 中都采用了PLC 与NC 结合实现,编程工作量大,更新修改麻烦,方案3 只在人机界面中编程实现,对原PLC 和NC无任何影响,比较适合已有机床功能增加。人机界面的开发不仅局限在对刀操作,还有更多的功能可实现,对于提高机床品质会有很多帮助,机床电气设计人员可以将此作为开发重点。
[1]西门子公司. 西门子简明调试手册[Z].