Mastercam系統配置的是適應單一型別控制系統的通用後置處理,該後置處理提供了一種功能資料庫模型,使用者根據數控機床和數控系統的具體情況,可以對其資料庫進行修改和編譯,定製出適應某一數控機床的專用後置處理程式。
Mastercam系統後置處理檔案的副檔名為PST,稱為PST檔案,它定義了切削加工引數、NC程式格式、輔助工藝指令,設定了介面功能引數等,其結構由八個部分組成:
1. 註解
程式每一列前有“#”符號表示該列為不影響程式執行的文字註解。如:
# mi2-Absolute, or Incremental positioning
0=absolute
1=incremental
表示mi2定義程式設計時數值給定方式,若mi=0為絕對值程式設計,mi=1為增量值程式設計。
在這一部分裡,定義了數控系統程式設計的所有準備功能G程式碼格式和輔助功能M程式碼格式。
2. 程式糾錯
程式中可以插入文字提示來幫助糾錯,並顯示在螢幕上。如:
# Error messages (錯誤資訊)
psuberror # Arc output not allowed
"ERROR-WRONG AXIS USED IN AXIS SUBSTITUTION", e
如果展開圖形捲成旋轉軸時,軸替換出錯,則在程式中會出現上面引號中的錯誤提示。
3. 定義變數的資料型別、使用格式和常量賦值
如規定G程式碼和M程式碼是不帶小數點的兩位整數,多軸加工中心的旋轉軸的地址程式碼是A、B和C,圓弧長度允許誤差為0.002,系統允許誤差為0.00005,進給速度最大值為10m/min等。
4. 定義問題
可以根據機床加工需要,插入一個問題給後置處理程式執行。
如定義NC程式的目錄,定義啟動和退出後置處理程式時的C-Hook程式名。
5. 字串列表
字串起始字母為s,可以依照數值選取字串,字串可以由兩個或更多的字元來組成。
字串sg17,表示指定XY加工平面,NC程式中出現的是G17,scc1表示刀具半徑左補償,NC程式中出現的是G41,字串sccomp代表刀具半徑補償建立或取消。
6. 自定義單節
可以讓使用者將一個或多個NC碼作有組織的排列。
自定義單可以是公式、變數、特殊字串等:
pwcs # G54+ coordinate setting at toolchange
if mil >1, pwcs_g54
表示用pwcs單節指代#G54+在換刀時座標設定值,mil定義為工件座標系(G54~G59)
7. 預先定義的單節
使用者可按照數控程式規定的格式將一個或多個NC程式碼作有組織的排列,編排成一條程式段。
8. 系統問答
後置處理軟體提出了五組問題,供使用者回答,可按照註解文字、賦值變數、字串等內容,根據使用的機床、數控系統進行回答。
設計後置處理檔案,一般是按照NC程式的結構模組來進行。根據NC程式的功能,後置處理檔案分成六個模組如下:
1. 檔案頭
檔案頭部分設定程式名稱和編號,此外,SINUMERIK 810D系統還必須指定NC程式存放路徑,並按照以下格式輸出:
“%_N_(程式名及編號)_(路徑)”。
NC程式可存放在主程式、子程式和工作程式目錄下,副檔名分別為:MPF、SPF、WPD,一般放在工作程式目錄下。因此經修改的Pst檔案格式為:
Pheader # Start of file
" %_N_", progname, "_WPD" (程式名、存放目錄)
2. 程式起始
在程式開始,要完成安全設定、刀具交換、工件座標系的設定、刀具長度補償、主軸轉速控制、冷卻液控制等,並可顯示程式設計者、程式設計日期、時間等註解。
修改後的有刀具號Pst檔案開頭格式如下:
# Start of file for non-zero tool number
......
pspindle (主軸轉速計算)
pcom_movbtl (移動裝置)
ptoolcomment (刀具引數註解)
pbld, n, *sgcode, *sgplane, "G40", "G80", *sgabsinc
(快進、XY加工平面、取消刀補、取消固定迴圈、絕對方式程式設計)
if mil <=one, pg92_rtrnz, pg92_rtrn, pg92_g92 (返回參考點)
pbld, n, *sgcode, *sgabsinc, pwcs, pfxout, pfyout, pfcout, *speed, *spindle, pgear, pcan1
(快進至某位置、座標系編置、主軸轉速等)
pbld, n, pfzout, *tlngno, scoolant, [ if stagetool=one, *next_tool]
(安全高度、刀長補償、開冷卻液)
pcom_movea (加工過程)
3. 刀具交換
刀具交換執行前,須完成返回參考點、主軸停止動作,然後換刀,接著完成刀具長度補償、安全設定、主軸轉速控制。
Pst檔案中用自定義單節ptlchg指代換刀過程,編輯修改後的程式如下:
Ptlchg # Tool change
ptoolcomment (新刀引數註解)
comment (插入註解)
if stagetool <> two, pbld, n, *t, e (判斷、選刀)
n, "M6" (換刀)
pindex (輸出地址)
(快進至某位置、座標系偏置、主軸轉速等)
pbld, n, pfzout, *tlngno, "M7", [if stagetool=one, *next_tool]
(安全高度、刀長補償號、開冷卻液)
4. 加工過程
這一過程是快速移動、直線插補、圓弧插補、刀具半徑補償等基本加工動作。
對於幾乎所有系統,這些加工動作的程式指令基本相同。只是注意SINUMERIK 810D系統的刀具長度補償值由字母D後加兩位數字呼叫,不需要G43/G44指令;而半徑補償值則由G41/G42呼叫,不需要再接地址程式碼。用G40取消刀具長度和刀具半徑補償。
5. 切削迴圈
Mastercam軟體提供了6種內定的孔加工固定迴圈方式:一般鑽削(Drill/Cbore)、深孔啄鑽(Peck Drill)、斷屑鑽(Chip Break)、右攻絲(Tap)、精鏜孔(Bore#1)、粗鏜孔(Bore #2),透過雜項選項(Misc #1/Misc #2)可設定左攻絲、背鏜孔、盲孔鏜孔、盲孔鉸孔等迴圈,並採用G73~G89程式碼來表示。
如對於深孔鑽削固定迴圈,Mastercam採用的格式為:G83 X_Y_Z_R_Q_F;而SINUMERIK 810D系統用CYCLE83指代深孔鑽削迴圈,其NC程式要求給出迴圈加工所有引數,輸出格式為:
CYCLE83(RTP,RFP,SDIS,DP,DPR,FDEP,FDPR,DAM,DTB,DTS,FRF,VARI)
在pst檔案中需按SINUMERIK 810D系統格式進行定義、修改和編寫。
6. 程式結尾
程式結尾一般情況下是取消刀補、關冷卻液、主軸停止、執行回參考點,程式停止等動作。下面是修改後的pst程式結尾:
Ptoolend_t #End of tool path, toolchange
pbld, n, sccomp, "M5", *scoolant, e (取消刀補、主軸停止、關冷卻液)
pbld, n, *sg74, "Z1=0. X1=0. Y1=0.", e (返回參考點)
if mi2=one, pbld, n, *sg74, "X1=0.", "Y1=0.", protretinc, e
else, protretabs (程式結束)
例子中文說明:[轉貼]
# POST 名稱 : wgkG54
# 型別 : MILL
# 機床名稱 : GENERIC FANUC
# 控制器名稱 : GENERIC FANUC
# 描述 : GENERIC FANUC 3 AXIS MILL POST
# Associated Post : NONE
# 車/銑複合 : NO
# 4-axis/Axis subs. : NO
# 五軸 : NO
# 子程式支援 : NO
# 自動換刀 : NO
# 工作座標系 : G54
# Executable : MP 8.00
#
# 這個POST支援FANUC控制器普通三軸銑床的的G 程式碼輸出,
# 不支援自動換刀,有最大圓弧報警
# 是針對Mastercam Mill V8的特徵而設計的
# --------------------------------------------------------------------------
# 修改日誌:
# Programmers Note:
# CNC 05/01/00 - Initial post setup, jce
# 2002-10-11 - 去掉自動換刀,xxx
# 2002-10-12 - 增加中文註釋,xxx
# 2002-10-21 - 增加最大圓弧警告,xxx
# 2002-11-05 - 修改座標系為G54,xxx
# 特徵:
# 下列 Misc.(雜項) 必須使用整數:
# mi2 - 絕對或增量座標 at top level
# 0 = 絕對
# 1 = 增量
# mi3 - 選擇G28或G30來執行參考點回歸.
# 0 = G28, 1 = G30
# Canned text:
# 在輪廓點裡插入"cantext".以允許/禁止 下列Mastercam裡許可的功能,
# Entering cantext on a contour point from within Mastercam allows the
# following functions to enable/disable.
# Cantext 值:
# 1 = Stop = 輸出 "M00" 停止碼
# 2 = Ostop = 輸出 "M01" 選擇停止碼
# 鑽孔:
# 在這個 POST 裡支援所有的鑽孔方法.
# 附加註意事項:
# 1) G54 calls are generated where the work offset entry of 0 = G54,
# 1 = G55, etc.
# 2) 由NCI變數"met_tool"決定是否使用米制
# 3) 以增量方式從換刀起始位置計算運動量.
# 起始位置通常定義為所有換刀時刀具所處的最後位置
# Incremental mode calculates motion from home position at toolchanges.
# The home position is used to define the last position of the tool
# for all toolchanges.
# 4) 變數 "absinc" 現已被預先定義, 設定 mi2 (雜項整數)以定義
# 絕對/增量程式輸出.
Mastercam系統配置的是適應單一型別控制系統的通用後置處理,該後置處理提供了一種功能資料庫模型,使用者根據數控機床和數控系統的具體情況,可以對其資料庫進行修改和編譯,定製出適應某一數控機床的專用後置處理程式。
Mastercam系統後置處理檔案的副檔名為PST,稱為PST檔案,它定義了切削加工引數、NC程式格式、輔助工藝指令,設定了介面功能引數等,其結構由八個部分組成:
1. 註解
程式每一列前有“#”符號表示該列為不影響程式執行的文字註解。如:
# mi2-Absolute, or Incremental positioning
0=absolute
1=incremental
表示mi2定義程式設計時數值給定方式,若mi=0為絕對值程式設計,mi=1為增量值程式設計。
在這一部分裡,定義了數控系統程式設計的所有準備功能G程式碼格式和輔助功能M程式碼格式。
2. 程式糾錯
程式中可以插入文字提示來幫助糾錯,並顯示在螢幕上。如:
# Error messages (錯誤資訊)
psuberror # Arc output not allowed
"ERROR-WRONG AXIS USED IN AXIS SUBSTITUTION", e
如果展開圖形捲成旋轉軸時,軸替換出錯,則在程式中會出現上面引號中的錯誤提示。
3. 定義變數的資料型別、使用格式和常量賦值
如規定G程式碼和M程式碼是不帶小數點的兩位整數,多軸加工中心的旋轉軸的地址程式碼是A、B和C,圓弧長度允許誤差為0.002,系統允許誤差為0.00005,進給速度最大值為10m/min等。
4. 定義問題
可以根據機床加工需要,插入一個問題給後置處理程式執行。
如定義NC程式的目錄,定義啟動和退出後置處理程式時的C-Hook程式名。
5. 字串列表
字串起始字母為s,可以依照數值選取字串,字串可以由兩個或更多的字元來組成。
字串sg17,表示指定XY加工平面,NC程式中出現的是G17,scc1表示刀具半徑左補償,NC程式中出現的是G41,字串sccomp代表刀具半徑補償建立或取消。
6. 自定義單節
可以讓使用者將一個或多個NC碼作有組織的排列。
自定義單可以是公式、變數、特殊字串等:
pwcs # G54+ coordinate setting at toolchange
if mil >1, pwcs_g54
表示用pwcs單節指代#G54+在換刀時座標設定值,mil定義為工件座標系(G54~G59)
7. 預先定義的單節
使用者可按照數控程式規定的格式將一個或多個NC程式碼作有組織的排列,編排成一條程式段。
8. 系統問答
後置處理軟體提出了五組問題,供使用者回答,可按照註解文字、賦值變數、字串等內容,根據使用的機床、數控系統進行回答。
設計後置處理檔案,一般是按照NC程式的結構模組來進行。根據NC程式的功能,後置處理檔案分成六個模組如下:
1. 檔案頭
檔案頭部分設定程式名稱和編號,此外,SINUMERIK 810D系統還必須指定NC程式存放路徑,並按照以下格式輸出:
“%_N_(程式名及編號)_(路徑)”。
NC程式可存放在主程式、子程式和工作程式目錄下,副檔名分別為:MPF、SPF、WPD,一般放在工作程式目錄下。因此經修改的Pst檔案格式為:
Pheader # Start of file
" %_N_", progname, "_WPD" (程式名、存放目錄)
2. 程式起始
在程式開始,要完成安全設定、刀具交換、工件座標系的設定、刀具長度補償、主軸轉速控制、冷卻液控制等,並可顯示程式設計者、程式設計日期、時間等註解。
修改後的有刀具號Pst檔案開頭格式如下:
# Start of file for non-zero tool number
......
pspindle (主軸轉速計算)
pcom_movbtl (移動裝置)
ptoolcomment (刀具引數註解)
......
pbld, n, *sgcode, *sgplane, "G40", "G80", *sgabsinc
(快進、XY加工平面、取消刀補、取消固定迴圈、絕對方式程式設計)
if mil <=one, pg92_rtrnz, pg92_rtrn, pg92_g92 (返回參考點)
......
pbld, n, *sgcode, *sgabsinc, pwcs, pfxout, pfyout, pfcout, *speed, *spindle, pgear, pcan1
(快進至某位置、座標系編置、主軸轉速等)
pbld, n, pfzout, *tlngno, scoolant, [ if stagetool=one, *next_tool]
(安全高度、刀長補償、開冷卻液)
pcom_movea (加工過程)
3. 刀具交換
刀具交換執行前,須完成返回參考點、主軸停止動作,然後換刀,接著完成刀具長度補償、安全設定、主軸轉速控制。
Pst檔案中用自定義單節ptlchg指代換刀過程,編輯修改後的程式如下:
Ptlchg # Tool change
......
ptoolcomment (新刀引數註解)
comment (插入註解)
if stagetool <> two, pbld, n, *t, e (判斷、選刀)
n, "M6" (換刀)
pindex (輸出地址)
pbld, n, *sgcode, *sgabsinc, pwcs, pfxout, pfyout, pfcout, *speed, *spindle, pgear, pcan1
(快進至某位置、座標系偏置、主軸轉速等)
pbld, n, pfzout, *tlngno, "M7", [if stagetool=one, *next_tool]
(安全高度、刀長補償號、開冷卻液)
pcom_movea (加工過程)
4. 加工過程
這一過程是快速移動、直線插補、圓弧插補、刀具半徑補償等基本加工動作。
對於幾乎所有系統,這些加工動作的程式指令基本相同。只是注意SINUMERIK 810D系統的刀具長度補償值由字母D後加兩位數字呼叫,不需要G43/G44指令;而半徑補償值則由G41/G42呼叫,不需要再接地址程式碼。用G40取消刀具長度和刀具半徑補償。
5. 切削迴圈
Mastercam軟體提供了6種內定的孔加工固定迴圈方式:一般鑽削(Drill/Cbore)、深孔啄鑽(Peck Drill)、斷屑鑽(Chip Break)、右攻絲(Tap)、精鏜孔(Bore#1)、粗鏜孔(Bore #2),透過雜項選項(Misc #1/Misc #2)可設定左攻絲、背鏜孔、盲孔鏜孔、盲孔鉸孔等迴圈,並採用G73~G89程式碼來表示。
如對於深孔鑽削固定迴圈,Mastercam採用的格式為:G83 X_Y_Z_R_Q_F;而SINUMERIK 810D系統用CYCLE83指代深孔鑽削迴圈,其NC程式要求給出迴圈加工所有引數,輸出格式為:
CYCLE83(RTP,RFP,SDIS,DP,DPR,FDEP,FDPR,DAM,DTB,DTS,FRF,VARI)
在pst檔案中需按SINUMERIK 810D系統格式進行定義、修改和編寫。
6. 程式結尾
程式結尾一般情況下是取消刀補、關冷卻液、主軸停止、執行回參考點,程式停止等動作。下面是修改後的pst程式結尾:
Ptoolend_t #End of tool path, toolchange
......
pbld, n, sccomp, "M5", *scoolant, e (取消刀補、主軸停止、關冷卻液)
pbld, n, *sg74, "Z1=0. X1=0. Y1=0.", e (返回參考點)
if mi2=one, pbld, n, *sg74, "X1=0.", "Y1=0.", protretinc, e
else, protretabs (程式結束)
例子中文說明:[轉貼]
# POST 名稱 : wgkG54
# 型別 : MILL
# 機床名稱 : GENERIC FANUC
# 控制器名稱 : GENERIC FANUC
# 描述 : GENERIC FANUC 3 AXIS MILL POST
# Associated Post : NONE
# 車/銑複合 : NO
# 4-axis/Axis subs. : NO
# 五軸 : NO
# 子程式支援 : NO
# 自動換刀 : NO
# 工作座標系 : G54
# Executable : MP 8.00
#
#
#
# 這個POST支援FANUC控制器普通三軸銑床的的G 程式碼輸出,
# 不支援自動換刀,有最大圓弧報警
# 是針對Mastercam Mill V8的特徵而設計的
#
#
# --------------------------------------------------------------------------
# 修改日誌:
# --------------------------------------------------------------------------
# Programmers Note:
# CNC 05/01/00 - Initial post setup, jce
# 2002-10-11 - 去掉自動換刀,xxx
# 2002-10-12 - 增加中文註釋,xxx
# 2002-10-21 - 增加最大圓弧警告,xxx
# 2002-11-05 - 修改座標系為G54,xxx
# --------------------------------------------------------------------------
# 特徵:
# --------------------------------------------------------------------------
#
#
# 下列 Misc.(雜項) 必須使用整數:
#
# mi2 - 絕對或增量座標 at top level
# 0 = 絕對
# 1 = 增量
#
# mi3 - 選擇G28或G30來執行參考點回歸.
# 0 = G28, 1 = G30
#
# Canned text:
# 在輪廓點裡插入"cantext".以允許/禁止 下列Mastercam裡許可的功能,
# Entering cantext on a contour point from within Mastercam allows the
# following functions to enable/disable.
# Cantext 值:
# 1 = Stop = 輸出 "M00" 停止碼
# 2 = Ostop = 輸出 "M01" 選擇停止碼
#
#
# 鑽孔:
# 在這個 POST 裡支援所有的鑽孔方法.
#
# 附加註意事項:
# 1) G54 calls are generated where the work offset entry of 0 = G54,
# 1 = G55, etc.
# 2) 由NCI變數"met_tool"決定是否使用米制
#
# 3) 以增量方式從換刀起始位置計算運動量.
# 起始位置通常定義為所有換刀時刀具所處的最後位置
# Incremental mode calculates motion from home position at toolchanges.
# The home position is used to define the last position of the tool
# for all toolchanges.
# 4) 變數 "absinc" 現已被預先定義, 設定 mi2 (雜項整數)以定義
# 絕對/增量程式輸出.