iCAx开思网

标题: 如何用SPost(GPost)撰寫海德漢TNC530 G2xx的Cycle循環 [打印本页]

作者: sinderal    时间: 2008-9-27 10:01
标题: 如何用SPost(GPost)撰寫海德漢TNC530 G2xx的Cycle循環
相信很多人用CAD/CAM對於輸出 海德漢TNC530的G2xx循環很頭痛.  不管是對話式(Coversational)或者ISO格式
這邊將以ISO格式來舉例應用. 如何使用SPost(GPost)來產生正確的G2xx Q2xx=,....的循環指令!

[ 本帖最后由 sinderal 于 2008-9-27 11:06 编辑 ]
作者: sinderal    时间: 2008-9-27 10:12
用Optfile開啟or 創建 一個後處理檔案, 此處我用3187
一開始的一些設置請參看之前我所做的教程, 此處將不再贅述.
進入 File Format --> MCD File --> 設置個個位址碼的格式
例如 X, Y , Z.....................均設成 有正負號輸出的 5.3
作者: sinderal    时间: 2008-9-27 10:15
到File Format --> MCD File -->Genernal Address Output
將 Output At least  One Zero 打勾
作者: sinderal    时间: 2008-9-27 10:19
到Machine Codes --> Prep G-Codes 設置如下
作者: sinderal    时间: 2008-9-27 10:25
Operator Messages 設置 ; 來替代 (

並將 其他的均打勾, 並將 Insert Continuation Charater 改成 92 (\)
作者: sinderal    时间: 2008-9-27 10:29
接下來到 Advanced --> FIL Editor
寫一些 FIL 與 Macros

CIMFIL/ON,SPINDL
Rslt=postf(13)
SPED=POSTF(7,4)      ----- 抓SPINDLE 的值
SPD=INTF(SPED)        ------ 取SPINDLE值的實數
CIMFIL/OFF

[ 本帖最后由 sinderal 于 2008-9-27 10:30 编辑 ]
作者: sinderal    时间: 2008-9-27 10:33
寫 CYCLE的 FIL

CIMFIL/ON,CYCLE
  XLOC=POSTF(1,3,344)
  YLOC=POSTF(1,3,345)
  DPTH=POSTF(7,6)
  RATE=POSTF(7,8)
  CYTYP=POSTF(7,4)
  CASE/CYTYP
    WHEN/ICODEF(OFF)
      RSLT=POSTF(13)
      CFLG=0
    WHEN/ICODEF(DRILL)                                $$ CYCLE/DRILL
      CHK=POSTF(7,9)
      IF(CHK.EQ.ICODEF(DWELL))THEN
        DWEL=POSTF(7,10)
        CLER=POSTF(7,12)
        CLER2=POSTF(7,14)
      ELSE
        DWEL=0
        CLER=POSTF(7,10)
        CLER2=POSTF(7,12)
      ENDIF
      CALL/CANNED
       Zloc=DPTH+CLER
       DWEL=TEXT/CONVF,DWEL,3,1,0,0,1
   INSERT/'G200 Q200=',omit,CLER,'\$'
   SEQNO/OFF
   INSERT/' Q201=-',omit,DPTH, '\$'
   INSERT/' Q206=',omit,RATE, '\$'
   INSERT/' Q202=+1' '\$'
   INSERT/' Q210=+0' '\$'   
   INSERT/' Q203=+',omit,Zloc, '\$'
   INSERT/' Q204=+',omit,CLER2, '\$'
   INSERT/' Q211=',OMIT,DWEL, '$'
   SEQNO/ON  
   POSTN/IN,X,XLOC,Y,YLOC,M,99

    WHEN/ICODEF(DEEP)                            $$ CYCLE/DEEP
      CHK=POSTF(7,9)
      IF(CHK.EQ.ICODEF(DWELL))THEN
        DWEL=POSTF(7,10)
        PECK=POSTF(7,12)
        CLER=POSTF(7,14)
        CLER2=POSTF(7,16)
      ELSE
        DWEL=0
        PECK=POSTF(7,10)
        CLER=POSTF(7,12)
        CLER2=POSTF(7,14)
      ENDIF
      CALL/CANNED
      Zloc=DPTH+CLER
      DWEL=TEXT/CONVF,DWEL,3,1,0,0,1
      PECK=TEXT/CONVF,PECK,4,1,1,0,1   
   INSERT/'G203 Q200=',omit,CLER,'\$'
   SEQNO/OFF
   INSERT/' Q201=-',omit,DPTH, '\$'
   INSERT/' Q206=',omit,RATE, '\$'
   INSERT/' Q202=',OMIT,PECK, '\$'
   INSERT/' Q210=+0' '\$'   
   INSERT/' Q203=+',omit,Zloc, '\$'
   INSERT/' Q204=+',omit,CLER2, '\$'
   INSERT/' Q212=+0' '\$'     
   INSERT/' Q213=3' '\$'
   INSERT/' Q205=+0' '\$'        
   INSERT/' Q211=',OMIT,DWEL, '\$'
   INSERT/' Q208=3000' '\$'
   INSERT/' Q256=+0.2' '$'      
   SEQNO/ON  
     POSTN/IN,X,XLOC,Y,YLOC,M,99
作者: sinderal    时间: 2008-9-27 10:35
因為 海德漢TNC530 G2XX的 QXXX參數太多, CAD/CAM無法輸出那麼多的參數值相對應, 所以有些值必須輸入定值, 屆時再由操機者手動更改調整

    WHEN/ICODEF(BRKCHP)                            $$  CYCLE/BRKCHP
      CHK=POSTF(7,9)
      IF(CHK.EQ.ICODEF(DWELL))THEN
        DWEL=POSTF(7,10)
        PECK=POSTF(7,12)
        CLER=POSTF(7,14)
        CLER2=POSTF(7,16)
      ELSE
        DWEL=0
        PECK=POSTF(7,10)
        CLER=POSTF(7,12)
        CLER2=POSTF(7,14)
      ENDIF
      CALL/CANNED
      Zloc=DPTH+CLER
      DWEL=TEXT/CONVF,DWEL,3,1,0,0,1
      PECK=TEXT/CONVF,PECK,4,1,1,0,1   
   INSERT/'G205 Q200=',omit,CLER,'\$'
   SEQNO/OFF
   INSERT/' Q201=-',omit,DPTH, '\$'
   INSERT/' Q206=',omit,RATE, '\$'
   INSERT/' Q202=',OMIT,PECK, '\$'
   INSERT/' Q203=+',omit,Zloc, '\$'
   INSERT/' Q204=+',omit,CLER2, '\$'
   INSERT/' Q212=+0' '\$'     
   INSERT/' Q205=+0' '\$'
   INSERT/' Q258=+0.5' '\$'
   INSERT/' Q259=+1' '\$'
   INSERT/' Q257=',OMIT,PECK, '\$'
   INSERT/' Q256=+0.2' '\$'
   INSERT/' Q211=',OMIT,DWEL, '$'
   SEQNO/ON  
     POSTN/IN,X,XLOC,Y,YLOC,M,99
作者: sinderal    时间: 2008-9-27 10:37
攻牙與左攻牙指令相同 只有差一個正負號

    WHEN/ICODEF(TAP)                         $$ CYCLE/TAP
      CHK=POSTF(7,9)
      IF(CHK.EQ.ICODEF(DWELL))THEN
        DWEL=POSTF(7,10)
        CLER=POSTF(7,12)
        CLER2=POSTF(7,14)
      ELSE
        DWEL=0
        CLER=POSTF(7,10)
        CLER2=POSTF(7,12)
      ENDIF
      CALL/CANNED
       Zloc=DPTH+CLER
       DWEL=TEXT/CONVF,DWEL,3,1,0,0,1
       PICTH=INTF(RATE)/SPD
       PICTH=TEXT/CONVF,PICTH,3,1,0,0,1
   INSERT/'G85 P01 ',omit,CLER,'\$'
   SEQNO/OFF
   INSERT/' P02 -',omit,DPTH, '\$'
   INSERT/' P03 ',omit,PICTH, '$'
   SEQNO/ON  
   POSTN/IN,X,XLOC,Y,YLOC,M,99      
    WHEN/ICODEF(LTAP)                         $$ CYCLE/LTAP
      CHK=POSTF(7,9)
      IF(CHK.EQ.ICODEF(DWELL))THEN
        DWEL=POSTF(7,10)
        CLER=POSTF(7,12)
        CLER2=POSTF(7,14)
      ELSE
        DWEL=0
        CLER=POSTF(7,10)
        CLER2=POSTF(7,12)
      ENDIF
      CALL/CANNED
       Zloc=DPTH+CLER
       DWEL=TEXT/CONVF,DWEL,3,1,0,0,1
       PICTH=INTF(RATE)/SPD
       PICTH=TEXT/CONVF,PICTH,3,1,0,0,1
   INSERT/'G85 P01 ',omit,CLER,'\$'
   SEQNO/OFF
   INSERT/' P02 -',omit,DPTH, '\$'
   INSERT/' P03 -',omit,PICTH, '$'
   SEQNO/ON  
   POSTN/IN,X,XLOC,Y,YLOC,M,99
作者: sinderal    时间: 2008-9-27 10:52
剛性攻牙與剛性左攻牙

    WHEN/ICODEF(RIGID)                         $$ CYCLE/RIGID
      CHK=POSTF(7,9)
      IF(CHK.EQ.ICODEF(DWELL))THEN
        DWEL=POSTF(7,10)
        CLER=POSTF(7,12)
        CLER2=POSTF(7,14)
      ELSE
        DWEL=0
        CLER=POSTF(7,10)
        CLER2=POSTF(7,12)
      ENDIF
      CALL/CANNED
       Zloc=DPTH+CLER
       DWEL=TEXT/CONVF,DWEL,3,1,0,0,1
       PICTH=INTF(RATE)/SPD
       PICTH=TEXT/CONVF,PICTH,3,1,0,0,1
   INSERT/'G207 Q200=',omit,CLER,'\$'
   SEQNO/OFF
   INSERT/' Q201=-',omit,DPTH, '\$'
   INSERT/' Q239=',omit,PICTH, '\$'
   INSERT/' Q203=+',omit,Zloc, '\$'
   INSERT/' Q204=+',omit,CLER2, '\$'
   INSERT/' Q211=',OMIT,DWEL, '$'
   SEQNO/ON  
   POSTN/IN,X,XLOC,Y,YLOC,M,99      
    WHEN/ICODEF(LRIGID)                         $$ CYCLE/LRIGID
      CHK=POSTF(7,9)
      IF(CHK.EQ.ICODEF(DWELL))THEN
        DWEL=POSTF(7,10)
        CLER=POSTF(7,12)
        CLER2=POSTF(7,14)
      ELSE
        DWEL=0
        CLER=POSTF(7,10)
        CLER2=POSTF(7,12)
      ENDIF
      CALL/CANNED
       Zloc=DPTH+CLER
       DWEL=TEXT/CONVF,DWEL,3,1,0,0,1
       PICTH=INTF(RATE)/SPD
       PICTH=TEXT/CONVF,PICTH,3,1,0,0,1
   INSERT/'G207 Q200=',omit,CLER,'\$'
   SEQNO/OFF
   INSERT/' Q201=-',omit,DPTH, '\$'
   INSERT/' Q239=-',omit,PICTH, '\$'
   INSERT/' Q203=+',omit,Zloc, '\$'
   INSERT/' Q204=+',omit,CLER2, '\$'
   INSERT/' Q211=',OMIT,DWEL, '$'
   SEQNO/ON  
   POSTN/IN,X,XLOC,Y,YLOC,M,99
   ENDCAS
CIMFIL/OFF  

在 ENDCAS 之前你可以繼續添加 如上面所列的來輸出
如CYCLE/BORE, CYCLE/REAM, CYCLE/BKBORE, CYCLE/BRKCHP, CYCLE/FACE .....等等
作者: sinderal    时间: 2008-9-27 10:55
CIMFIL/ON,GOTO
  RSLT=POSTF(20)
  IF(CFLG.EQ.1)THEN
    AUXFUN/99,next
  ENDIF
  RSLT=POSTF(21)
  RSLT=POSTF(13)
CIMFIL/OFF


CANNED=MACRO
  RSLT=POSTF(2,1,1867,1)
  RSLT=POSTF(13)
  RSLT=POSTF(14)
  RSLT=POSTF(13)
  RSLT=POSTF(2,1,1867,0)
  CFLG=1
TERMAC
作者: sinderal    时间: 2008-9-27 11:01
我所轉出來的NC程序

%1 G71 G50
N1 G17 G40
N2 G53 P01 1
N3 M109
N4 ; GLOBAL OFFSET X= 0 Y= 0 Z= 0)
N5 ;SURFCAM TOOL LIBRARY NUMBER 2106)
N6 ;SURFCAM TOOL TYPE NUMBER 1)
N7 ;DESCRIPTION: 2.50MM  CENTER DRILL - HSS)
N8 ;TAPER ANGLE: 60.000000)
N9 ;NUM FLUTES: 2)
N10 ;MATERIAL: 0)
N11 ; ENDMILL ,  D= 2.5 ,  R= 0)
N12 M05
N13 M09
N14 M00
N15 T01 M06
N16 M54
N17 G90 G00 A+0 C+0
N18 G62 T0.02
N19 S2500 M03
N20 M08
N21 G00 C+0.000 A+0.000
N22 X-11.000 Y-10.000
N23 G200 Q200=3 Q201=-2.5 Q206=400 Q202=+1 Q210=+0 Q203=+5.5 Q204=+100 Q211=0.0
N24 X-11.000 Y-10.000 M99
N25 X-22.500 Y-5.500 M99
N26 Y-17.500 M99
N27 G00 Z+100.000
.................
...................
N323 M111
N324 M05
N325 M09
N326 M30
N9999999 %1 G71 G50


附上.APT與 .I 供大家參考
作者: alexcho    时间: 2008-9-27 20:48
第一次来surface,就看到老大的猛贴了,顶,
作者: sinderal    时间: 2008-9-27 23:34
Pro-NC與Surfcam所輸出的APT語句 minor word的位置可能有所不同, 所以Pro-NC的使用者要參考Pro-NC GPost的說明書來稍做更改相關的FIL

  DPTH=POSTF(7,6)
  RATE=POSTF(7,8)
  CYTYP=POSTF(7,4)
.....
.....
        DWEL=POSTF(7,10)
        CLER=POSTF(7,12)
        CLER2=POSTF(7,14)
      ELSE
        DWEL=0
        CLER=POSTF(7,10)
        CLER2=POSTF(7,12)
......

      DWEL=POSTF(7,10)
        PECK=POSTF(7,12)
        CLER=POSTF(7,14)
        CLER2=POSTF(7,16)
      ELSE
        DWEL=0
        PECK=POSTF(7,10)
        CLER=POSTF(7,12)
        CLER2=POSTF(7,14)
.....
等等部分內容


附上所做的Uncx01.P3187, Uncx01.F3187 b3187    rar file.

Will be expired on Dec. 31, 2008
作者: cathyhust    时间: 2008-10-21 21:22
繁体看的不舒服啊
作者: Alan    时间: 2009-1-20 10:22
太好了,下来试试!
作者: tebise70    时间: 2009-1-20 16:41
支持教程!!
作者: tebise70    时间: 2009-1-20 16:42
顶!!!!!!!!!!!
作者: tebise70    时间: 2009-1-20 16:43
载了,学习,谢谢
作者: tebise70    时间: 2009-1-20 16:45
谢谢,不错的资料
作者: tebise70    时间: 2009-1-20 16:47
感谢楼主分享
作者: nizhen6007    时间: 2009-3-29 17:46
看来超级版主的职位委屈他了,强顶他出任版主一职位。

1楼楼主看来是后处理方面的行家呀。
作者: zhizheyoudao    时间: 2011-10-5 15:01
请问哪里可以下载这个后处理生成软件?Option file generator
作者: margar2016    时间: 2016-9-25 08:56
谢谢分享!谢谢分享!
作者: jsr007168    时间: 2016-10-11 21:19
谢谢,顶一下
作者: dhwdxy    时间: 2019-2-2 19:39
谢谢分享!谢谢分享!
作者: antalya    时间: 2020-5-6 23:33
膜拜版主,厉害!




欢迎光临 iCAx开思网 (https://www.icax.org/) Powered by Discuz! X3.3