机器人铣削生产中,为了减少换刀停机时间,一些客户会要求增加自动换刀柄功能,下面例子是本公司换刀程序标准。
PROC PlaceTool() //放刀柄程序//
DIWait I_ToolStand2Sensor,1,3,"等待抓刀工位2处刀柄检测有";
DIWait I_ToolStand1Sensor,0,3,"等待放刀工位1处刀柄检测无";
Reset motor_power;"切断电主轴电源"
Cover_Open1;"打开防护罩"
DIWait I_ToolStand1Sensor, 0, 3, "等待放刀工位1处刀柄检测无";
Reset do_tool_inhold;"复位刀柄机器人已抓取信号";
Set O_76ToolInChange; "发出机器人正在换刀讯息";
MoveAbsJ pHome, vMid, fine, ToolTcp\WObj:=wobj0;"回原点";
MoveJ P1, vBig, z200, ToolTcp;"机器人移动到换刀点上方";
MoveL Offs(pToolPlace,0,0,300), vBig, z100, ToolTcp;"上方30mm";
MoveL Offs(pToolPlace,0,0,50), vMid, z10, ToolTcp;"上方10mm";
MoveL pToolPlace, v50, fine, ToolTcp;"换刀点位";
!This point is the same as the previous position,but has different TCP must need modify again.
MoveL pToolPlace1, v50, fine, NoToolTcp;"换刀点位,TCP改变";
DIWait I_ToolStand1Sensor,1,3,"等待放刀工位1处刀柄检测有";
Set O_Enable_TC;"打开快换刀柄使能";
Set O_UnLock_TC;"刀柄更换锁紧打开";
DIWait I_TC_Coupled,0,3,"等待刀柄内部连接信号无";
DIWaitI_TC_UnCoupled,1,3,"等待刀柄内部未连接信号有";
WaitTime 1;"延时1S";
MoveL Offs(pToolPlace1,0,0,50), v100, fine, NoToolTcp;"抬高距离";
bTool:=FALSE;"已经无工具";
MoveJ P2, vmax, z200, NoToolTcp;"抬高到安全位置";
Reset O_Enable_TC;"关闭快换刀柄使能";
Reset O_UnLock_TC;"刀柄更换锁紧关闭";
MoveJ pBetween, vmax, fine, NoToolTcp;"移动到放刀抓刀的中间位";
Cover_Close1;"关闭防护罩"
ENDPROC
PROC PickTool() //抓刀柄程序//
DIWait I_ToolStand2Sensor,1,3"等待抓刀工位2处刀柄检测有";
DIWait I_ToolStand1Sensor,1,3,"等待放刀工位1处刀柄检测有";
Cover_Open2;"打开防护罩"
DIWait I_ToolStand2Sensor, 1, 3, "等待抓刀工位2处刀柄检测有";
MoveJ pBetween, vBig, fine, NoToolTcp;"移动到放刀抓刀的中间位";
MoveJ P3, vBig, z200, NoToolTcp;"移动到抓刀位上方";
MoveL Offs(pToolPick,0,0,50), v300, z10, NoToolTcp;
Set O_Enable_TC;"打开快换刀柄使能";
Set O_UnLock_TC;"刀柄更换锁紧打开";
DIWaitI_TC_UnCoupled,1,3,"等待刀柄内部未连接信号有";
MoveL pToolPick, v50, fine, NoToolTcp;"移动到抓刀位";
Reset O_UnLock_TC;"关闭快换刀柄使能";
Reset O_Enable_TC;刀柄更换锁紧关闭";
DIWait I_TC_Coupled,1,3,"等待刀柄内部连接信号有";
DIWait I_TC_UnCoupled,0,3,"等待刀柄内部未连接信号无";
WaitTime 1;"延时1S";
MoveL pToolPick10, v100, z50, GripTcp;"抬高位置";
DIWait I_ToolStand2Sensor, 0, 3,"等待抓刀工位2处刀柄检测无";
bTool:=TRUE;"已经有工具";
MoveJ P4, vBig, z200, ToolTcp;"抬高位置";
MoveAbsJ pHome,vBig,fine,ToolTcp;"回到机器人原点";
Set moter_power;"打开电主轴电源"
Set do_Tool_inhold;"置位刀柄机器人已抓取信号";
Reset O_76ToolInChange;"关闭机器人正在换刀讯息";
Cover_Close2;"防护罩关闭";
ENDPROC