口口外挂论坛

标题: G83鑽孔用G1方式 [打印本页]

作者: m1738264    时间: 2016-8-14 09:13
标题: G83鑽孔用G1方式
  IF (G01 == 3) //G83方式用G01鑽孔
        IF (CJ == 1)  //正常
        
                 Xin = CYC_PECK * I_CURPOS ;
                 Yin = CYC_PECK * J_CURPOS ;
                 Zin = CYC_PECK * K_CURPOS ;
                 // calculate final depth 計算最終深度
                 XDepth = X_CURPOS - CYC_DEPTH * I_CURPOS;
                 YDepth = Y_CURPOS - CYC_DEPTH * J_CURPOS;
                 ZDepth = Z_CURPOS - CYC_DEPTH * K_CURPOS;
                 // calculate first clear height! 計算第一個清除高度
                 XClear = X_CURPOS + CYC_CLEAR * I_CURPOS;
                 YClear = Y_CURPOS + CYC_CLEAR * J_CURPOS;
                 ZClear = Z_CURPOS + CYC_CLEAR * K_CURPOS;      
                        
                PeckNumber = INT_(CYC_DEPTH/CYC_PECK) + 1 ;
                RestPeck = FRAC_(CYC_DEPTH/CYC_PECK) ;      
                Counter = 1 ;
                        
       REPEAT
      
       OUTPUT $ ;
                IF_SET (CODE_LIN_FAST) OUTPUT CODE_LIN_FAST ; END_IF ;
                IF (Counter == 1)
                                                
                      OUTPUT "X" XClear "Y" YClear  ; // first clear height 第一個清除高度
                        OUTPUT \J "Z" ZClear ; // 鑽孔開始安全高度
                ELSE
*                        OUTPUT " X" XdClear " Y" YdClear " Z" ZdClear ; // next clear height 下一個清除高度
                         OUTPUT "Z" ZdClear ;
                        END_IF;
                        // calc next drill depth 計算下一個鑽孔深度
              XTemp = X_CURPOS - Counter * Xin ; YTemp = Y_CURPOS - Counter * Yin ; ZTemp = Z_CURPOS - Counter * Zin ;
              OUTPUT $ CODE_LIN_FEED "X" XTemp "Y" YTemp "Z" ZTemp "F" MCH_FEED; // drill current peck 目前啄鑽
*              OUTPUT $ " " CODE_LIN_FAST " X" XClear " Y" YClear " Z" ZClear ; // retract to first clear point
              OUTPUT $ CODE_LIN_FAST "Z" ZClear ; //每次提刀到鑽孔開始位置
                        // calculate next clear height CODE_LIN_FAST=G00 計算下一個清除高度
              XdClear = XTemp + CYC_CLEAR * I_CURPOS;
              YdClear = YTemp + CYC_CLEAR * J_CURPOS;
              ZdClear = ZTemp + CYC_CLEAR * K_CURPOS;
              Counter = Counter + 1 ;
              UNTIL (Counter == PeckNumber);
              IF (RestPeck > 0) // last peck in case of uneven distribution
              OUTPUT $ "X" XdClear "Y" YdClear "Z" ZdClear ; // last clear hieght 最後清除高度
              OUTPUT $ CODE_LIN_FEED "X" XDepth "Y" YDepth "Z" ZDepth "F" MCH_FEED; // drill last peck3
              END_IF ;
              OUTPUT $ CODE_LIN_FAST "X" X_CYC_DZINIT "Y" Y_CYC_DZINIT "Z" Z_CYC_DZINIT; // retract to init point
         END_IF ; //CJ=1

這是分享給大家的~~如果要整合~~要定義一些東西喔~~我目前已經寫出上下左右的後處理了~~但是目前只有針對發那科~並且把g81跟g83用g01的方法寫入90度頭裡面~~歡迎大家研究看看


作者: zzzz1989527    时间: 2016-8-16 09:47
哥,弄好了没。等着呢

作者: 710279284    时间: 2016-8-16 12:21
看不明白!大师能解释下每句话的意思莫?

作者: 710279284    时间: 2016-8-16 12:25
按这个可以用,自己改下就可以了!孔深的话程序太长,用段宏程序好像也可以实现G1钻孔

作者: 710279284    时间: 2016-8-16 12:27
大师傅,四轴坐标系怎么初始化?怎么定义机床?

作者: m1738264    时间: 2016-8-17 06:36
無須定義~~程式都寫在Z+的方向~~側機頭在選擇手動你要後處理的方向

作者: 710279284    时间: 2016-8-17 10:50
m1738264 发表于 2016-8-17 06:36
無須定義~~程式都寫在Z+的方向~~側機頭在選擇手動你要後處理的方向

不是侧铣,改成四轴后处理,怎么定义机床,还有坐标输出怎么初始化

作者: 710279284    时间: 2016-8-17 22:08
m1738264 发表于 2016-8-17 06:36
無須定義~~程式都寫在Z+的方向~~側機頭在選擇手動你要後處理的方向

G84侧铣可以实现吗?

作者: m1738264    时间: 2016-8-18 22:55
可以的~~你要了解原理就可以了

作者: 710279284    时间: 2016-8-18 23:19
m1738264 发表于 2016-8-18 22:55
可以的~~你要了解原理就可以了

哦,攻牙的宏程序应该怎么写?

作者: m1738264    时间: 2016-8-20 07:10
你想想看攻牙的動作~~在分解他的步驟就能寫出來了

作者: 积雨云    时间: 2016-8-20 08:13
多谢分享                     






欢迎光临 口口外挂论坛 (http://bbs.cncqq.com/) Powered by 口口外挂