PROC L66 ;SAVE SBLOF DISPLOF

;—————————————————————

; Version:           V05

; last change:     10.08.2021

; AUTOR:           APC DG

; Modifier:         DG LingYi WPC

; CUSTOMER:    GREE GA-GF4545D

;—————————————————————

;***********Define variables************

DEF INT T_SP,T_NEW,T_MODE,T_LD1_EXIST,T_SP_EXIST

DEF REAL X_CHAN,X_PREP,Y_PREP,Y_INTM,Y_CHAN,Y_SLOW,Z_PREP,Z_INTM,Z_CHAN,Z_SLOW,SP_POS,A_POS

DEF INT _PrepareTool=0,_ActiveTool,_SpTool=0

DEF INT _SpNo, _ChanNo, _MagNo

_ChanNo=$P_ChanNo

IF _ChanNo==1  GOTO CHAN1

CHAN1:

STOPRE

X_PREP=$MN_USER_DATA_FLOAT[3]

X_CHAN=$MN_USER_DATA_FLOAT[4]   ; X: MD14514[0] is tool change position

;Y_CHAN=$MN_USER_DATA_FLOAT[5]  ; Y: MD14514[2] is tool change position

Z_PREP=$MN_USER_DATA_FLOAT[1]   ; Z: MD14514[3] is prepare position, MAG door outside

Z_CHAN=$MN_USER_DATA_FLOAT[2]   ; Z: MD14514[4] is tool change position

SP_POS=$MN_USER_DATA_FLOAT[0]   ; SP:MD14514[6] is tool change position

;$C_ME 读入 M 代码的扩展地址

_SpNo=$C_ME

IF _SpNo==0  

    IF $MC_TOOL_MANAGEMENT_TOOLHOLDER==0

        _SpNo=$AC_MSNUM

    ENDIF

    IF $MC_TOOL_MANAGEMENT_TOOLHOLDER<>0

        _SpNo=$AC_MTHNUM

    ENDIF

ENDIF

_SpTool=$TC_MPP6[9998,1]

;不带计算搜索,使用不带计算搜索时,将不执行换刀动作。

;IF($P_SEARCH2<>0)

;   M17

;ENDIF

;模拟,测试,带计算程序段搜索  

IF ($P_SIM==1) OR ($P_ISTEST==1); OR ($P_SEARCH==1)

    M[_SpNo]=206

    D1

    M17

ENDIF

;读入主轴 1 的预选刀具和当前激活的刀具

GETSELT(_PrepareTool,_SpNo)

GETEXET(_ActiveTool,_SpNo)

;显示无预选刀具信息

IF _PrepareTool==-1

    Msg(“****主轴”<<_SpNo<<“无预选刀具****”)

    G04F3  

    MSG(“”)  

    M17

ENDIF

;刀具表中的主轴刀具与实际激活刀具不符

IF ($P_SIM==1) OR ($P_ISTEST==1); OR ($P_SEARCH==1)

    IF _ActiveTool<>_SpTool

        Msg(“****主轴”<<_SpNo<<“中,刀具表中的主轴刀具与实际激活刀具不符****”)

        G04F3  

        MSG(“”)  

        M17

    ENDIF

ENDIF

;预选刀具=主轴刀具

IF ((_PrepareTool==_SpTool) AND (_PrepareTool>0) AND (_SpTool>0))

    MSG(“****主轴”<<_SpNo<<“预选刀具=主轴刀具****”)

;   MSG(“”)  

    M17  

ENDIF

;主轴无刀

IF ((_PrepareTool==_SpTool) AND (_PrepareTool==0) AND (_SpTool==0))

    MSG(“****主轴”<<_SpNo<<“无刀且无预选刀****”)  

    G04F3  

    MSG(“”)  

    M17  

ENDIF

IF (_Sptool>0) AND (T_LD1_EXIST<>0)

    MSG(“**** 无换刀动作  原因:装载点刀位有刀,换刀错误 ****”)

    G04F2

    M0

    M17

ENDIF

IF ((T_SP_EXIST<>0)AND(T_LD1_EXIST<>0))

    MSG(“**** 无换刀动作  原因:装载点有刀和主轴有刀,换刀错误 ****”)

    G04F2

    M0

    M17

ENDIF

TRAFOOF

DRFOF

SETMS(1)

;————————————————————————————————-

;无机械手,斗笠式流程

;——–STEP1,到达准备换刀位置—————————————————————

M84   ;CHECK

$A_DBB[42]=1

G153 G00 G90 Z=0                            ;Z axis prepare position

STOPRE

M05  M09  M25               ;spindle stop

M97 G153 G00 G90 Y=-6 X=X_PREP SPOS[_SpNo]=SP_POS     ;Door open, Y axis prepare position, spindle position, X axis prepare position

STOPRE

;——–Step2,还刀—————————————————————————

IF (_Sptool>0)  

    T[_SpNo]=0  

    STOPRE

    $A_DBB[40]=2

    STOPRE

    M94     ;等待刀库旋转到位

    G09 G153 G00 G90 Z=Z_CHAN           ;Z axis tool change position

    G09 G153 G00 G90 X=X_CHAN+50        ;X axis tool change position

    G09 G153 G01 G90 F10000 X=X_CHAN

ELSE

    M96                                        ;判断主轴是否有刀

    G09 G153 G00 G90 Z=Z_PREP X=X_PREP      ;Z axis intermediate position

ENDIF

STOPRE

;——–Step3,松刀抬Z轴———————————————————————

IF (_Sptool>0)

    IF ($TC_DP1[_Sptool,1]==710)

        M[_SpNo]=206    

        M92                     ;Unclamp tool

        D0

        G09 G153 G01 F10000 G90 Z=Z_PREP            ;Z axis intermediate position, tools break detective

        STOPRE

        IF (_PrepareTool==0)

            M5

            M93                                        ;Clamp tool

        ENDIF

    ENDIF

ENDIF

STOPRE

IF (_Sptool>0)

    IF ($TC_DP1[_Sptool,1]<>710)

        M[_SpNo]=206    

        M92                     ;Unclamp tool

        D0

        G09 G153 G01 F10000 G90 Z=Z_PREP    M82     ;Z axis intermediate position, tools break detective

        IF ($A_DBB[41]==1)                  ;If tools broken Z&X go to prepare position and stop

            M92                     ;Unclamp tool

            G09 G153 G01 F10000 G90 Z=Z_PREP

            M93                     ;Clamp tool

            G09 G153 G01 F10000 G90 X=X_PREP

            $A_DBB[42]=0

                AB:

            M0

            GOTOB AB

            M17

        ENDIF

        STOPRE

        IF (_PrepareTool==0)

        M5

        M93                                        ;Clamp tool

        ENDIF

    ENDIF

ENDIF

STOPRE

;——–Step4,抓新刀—————————————————————–

IF (_PrepareTool>0)

    IF ($TC_DP1[_PrepareTool,1]<>710)

        T[_SpNo]=$TC_TP2[_PrepareTool]

        STOPRE

        $A_DBB[40]=1

        STOPRE

        M94                                 ;等待刀库旋转到位

        M92             ;Unclamp tool

        M82 G09 G153 G01 F20000 G90 X=X_CHAN        ;X axis change position, tools break detective

        IF ($A_DBB[41]==1)                  ;If tools broken Z&X go to prepare position and stop

            M92                     ;Unclamp tool

            G09 G153 G01 F10000 G90 Z=Z_PREP

            M93                     ;Clamp tool

            G09 G153 G01 F10000 G90 X=X_PREP

            $A_DBB[42]=0

                ABC:

            M0

            GOTOB ABC

            M17

        ENDIF

        STOPRE

        G09 G153 G00 G90 Z=Z_CHAN+30        ;Z axis slow position

        G09 G153 G01 F5000 G90 Z=Z_CHAN                            ;Z axis  change position

        M5

        M[_SpNo]=206

        M93                 ;Clamp tool

        D1

    ENDIF

ENDIF

STOPRE

IF (_PrepareTool>0)

    IF ($TC_DP1[_PrepareTool,1]==710)

        T[_SpNo]=$TC_TP2[_PrepareTool]

        STOPRE

        $A_DBB[40]=1

        STOPRE

        M94                     ;等待刀库旋转到位

        M92             ;Unclamp tool

        G09 G153 G01 F20000 G90 X=X_CHAN        ;X axis change position, tools break detective

        G09 G153 G00 G90 Z=Z_CHAN+30        ;Z axis slow position

        G09 G153 G01 F5000 G90 Z=Z_CHAN                       ;Z axis  change position

        M5

        M[_SpNo]=206

        M93                 ;Clamp tool

        D1

    ENDIF

ENDIF

STOPRE

;——–Step5,回准备位置——————————————————————-

G09 G153 G0 G90 X=X_PREP

$A_DBB[42]=0

STOPRE

M98  G09 G153 G0 G90 Z=0

SETPIECE(1)             ;tool life monitor

STOPRE

M17

程序文件下载

作者 molipo

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注