NX10 ISV and Postprocessor Training
謝良駿
西門子工業軟體公司 資深方案顧問
2015/07/17
Restricted © Siemens AG 2013 All rights reserved.
授 課 章 節
壹. Cycle800機能說明後處理應用 貳. PostBuilder後處理應用說明 叁. TCL 常用語法
肆. Post調校練習
壹. Cycle800機能說明後處理應用
-- Siemens框架定義的座標轉換
Frame框架定義TRANS/ ATRANS/ ROT/ AROT 與 Cycle 800的異同點 :
框架定義 TRANS/ ATRANS/ ROT/ AROT 的功能:
框架定義的功能提供單個指令的―座標移轉/增量移轉/單個旋轉/增量旋轉‖等功能。
為何要使用 Cycle 800 的功能?
CYCLE800是專門用來在帶有角度擺頭的機床上加工斜面的, 也就是常規的3 + 2加 工, 它會使加工的斜面傾斜一個角度, 使傾斜後的斜面和刀具軸垂直, 同時為便於編 程方便, 系統會根據擺頭的幾何尺寸和刀具長度, 自動偏置坐標系。
當程式執行到CYCLE800後, 系統就生成了一個新的加 工平面和新的坐標系, 對於這個新平面上的加工編程, 就可以和正常平面上一樣。如右圖所示。
Cycle 800 的功能:
本Cycle 800功能已含括框架定義 TRANS/ ATRANS/
ROT/ AROT 的功能,但是對於執行的順序與多條程式 的串接,Cycle 800在多個軸向的連續轉換順序,有更 嚴謹的定義與處理。
迴轉稜邊 G57偏位點
Cycle 800
定位平面
Cycle 800
基準點
Restricted © Siemens AG 2013 All rights reserved.
針對歪斜面的銑削加工,允許座標重定位
適用於3 + 2軸加工, 若是僅有3 + 1軸加工, 要注意軸角限制.
通過NX優化的UDE與後處理器, 自動判斷當前條件,輸出Cycle800命令
特殊迴圈指令 -- cycle 800 案例加工完成的外型 NX輸出Cycle800, 由控制器
重定位座標與補正加工數值
壹. Cycle800機能說明後處理應用
-- Siemens框架定義的座標轉換
CYCLE800(_FR, _TC, _ST, _MODE, _X0, _Y0, _Z0, _A, _B. _C, _X1, _Y1, _Z1, _DIR, _FR_I)
_FR Retraction Method
退刀方法 _TC Name of Swivel Data Record
旋轉資料紀錄的名稱 _ST Swivel Plane
旋轉台平面0: New
新增1: Additive
附加的 _MODE Swivel Mode
旋轉模式use 57 ( = Axis-by-axis rotation XYZ)
_X0,_Y0,_Z0 Reference Point Prior x, y, z relative to prior coordinate zero
_A Angle relative to x-axis along YZ,
本角度是相應於X軸,沿著YZ平面而來 _B Angle relative to y-axis along ZX
, 本角度是相應於Y軸,沿著XZ平面而來 _C Angle relative to z-axis along XY
, 本角度是相應於Z軸,沿著XY平面而來 _X1,_Y1,_Z1
旋轉後的零點 _DIR
當旋轉循環 swivel cycle被調用, 如果計算出兩個NC 的解時, 運算單元將選擇一個優先的方向_FR_I
在刀具方向的增量退刀值Sinumerik Cycle 800 系列指令的格式碼
壹. Cycle800機能說明後處理應用
-- Siemens Controller Cycle 800系列指令
Restricted © Siemens AG 2013 All rights reserved.
TRANS , AROT
The TRANS / AROT NC code is derived from:
Operation type
MCS setting
Parameters in the Sinumerik 840D dialog
•
MCS setting• Purpose - Local
• Special output - CSYS Rotation
•
Transformation – TRAORI/TRAFOOF•
Operation type – Fixed axis milling/drillingVariable axis milling/drilling (ONLY available with TRAORI)
CYCLE800( 1, "", 0, 57, 220., 33., 67., 45., 35., -150., 0.0, 0.0, 0.0, 1, )
範例: NC code 的對應:
TRAORI
TRANS X220. Y33. Z67.
AROT X45.
AROT Y35.
AROT Z-150
.壹. Cycle800機能說明後處理應用
-- Siemens Controller Cycle 800系列指令
前置條件與步驟 :
1). 必須在Siemens的控制器上呼叫 Cycle 800 的指令, 所以要先載入機床在工件上:
(a). 在Manufacturing中將瀏覽器切換成 ―Machine Tool View‖
(b). 在 ―GENERIC MACHINE‖中, 按右鍵, 選擇 ―Edit‖
(c). 在 ―GENERIC MACHINE‖ 對話窗的Library中, 按 ―Retrieve Machine from Library‖的按鍵,
選擇 ―Mill‖雙擊, 選擇您已建構的機床, 如果您 尚未建立機床, 則可由NX內定機床庫選擇 :
Sim05_mill_5ax_sinumerik的龍門式機台
壹. Cycle800機能說明後處理應用
-- NX系統機床導入& 插入UDE—Siemens 840D設定
Restricted © Siemens AG 2013 All rights reserved.
1). (d). 在 ―Part Mounting ‖中, 可用兩種方式置放機床:
―Use Assembly Positioning‖ 組裝方式定位與 ―Use Part Mount Junction‖ 工件疊合方式定位 (e). 疊合組裝後的結果, 如右圖 :
2). 編輯或創建多軸工序, 並插入UDE之設定 :
(a). 編輯或創建多軸工序.
(b). 在Machine Controll 的 Start of Path Events中, 按 Edit, 如下頁.
壹. Cycle800機能說明後處理應用
-- NX系統機床導入& 插入UDE—Siemens 840D設定
2). (c). 加入Sinumerik 840D, 並按Add new event, 加入到下方的 Events Used 區域.
(d). 在Sinumerik 840D 的 對話窗中, 根據需求定義
表中選單, 如中間的對話 窗.
(e). 我們亦可由下表 的 List 選單, 查看輸出的
Information, 看看是否 正確定義在格式內.
壹. Cycle800機能說明後處理應用
-- NX系統機床導入& 插入UDE—Siemens 840D設定
Restricted © Siemens AG 2013 All rights reserved.
Page 10 Siemens PLM Software
2). (f). 範例: 未加入與加入Sinumerik 840D UDE的List 內容比較 :
未加入UDE for Sinumerik 840D:
TOOL PATH/HOLE_MILLING,TOOL,UGT0201_015 TLDATA/MILL,0.3937,0.0000,0.9055,0.0000,0.0000
MSYS/0.0000,0.0000,0.0000,1.0000000,0.0000000,0.0000000,0.0000000,1.0000000,0.0000000
$$ centerline data PAINT/PATH PAINT/SPEED,10
LOAD/TOOL,1,ADJUST,1
已加入UDE for Sinumerik 840D:
TOOL PATH/HOLE_MILLING,TOOL,UGT0201_015 TLDATA/MILL,0.3937,0.0000,0.9055,0.0000,0.0000
MSYS/0.0000,0.0000,0.0000,1.0000000,0.0000000,0.0000000,0.0000000,1.0000000,0.0000000
$$ centerline data PAINT/PATH PAINT/SPEED,10
LOAD/TOOL,1,ADJUST,1
$$UDE: SINUMERIK 840D/STATUS=ACTIVE,COMPRESSOR=ON,SMOOTHING=ON,FEED FORWARD=ON,TRANSFORMATION=TRAORI,
COORDINATE SYSTEM=WORKPIECE,INTERPOLAT
上面各項參數之說明將詳見如後
壹. Cycle800機能說明後處理應用
-- NX系統機床導入& 插入UDE—Siemens 840D設定
3).
在NX後處理器創建工具 中,可直接選取
Siemens_840D的範本, 內定的選項即可直接對 應到上一頁設定的UDE 功能, 包括SINUMERIK固 定迴圈和5軸命令.
壹. Cycle800機能說明後處理應用
-- NX系統機床導入& 插入UDE—Siemens 840D設定
Restricted © Siemens AG 2013 All rights reserved.
在下列目錄: \MACH\resource\user_def_event, 編輯 ude.cdl 檔案, 激活 ―Sinumerik 840D User Defined Events‖
在後處理的定義檔格式內, 移除下列行段前面的數字符號 (#)# INCLUDE {$
UGII_CAM_USER_DEF_EVENT_DIR/Siemens_Cycles.cdl}
在下列命令 ― PB_CMD_Sinumerik_default_setting‖, 將 它訂製為後處理的內定設置
在Sinumerik 840D start event的對話窗中(就是UDE- Siemens 840D的對話窗), 其內定參數的設定是相同於Sinumerik 840D template post後處理樣板檔的默認值, 也 就是說, 我們在後處理的資料庫裡所點選的 Siemens 840D 控制器(如上一頁的操作畫面), 是不需要做其它的更改, 就能夠 由UDE內(如右圖對話窗)的選項調用該功能.
壹. Cycle800機能說明後處理應用
-- NX系統機床導入& 插入UDE—Siemens 840D設定
User Defined Events — Siemens 840D 說明 :
在此處選取設置,可觸發NX後置處理器輸出針對SINUMERIK控制器的特定迴圈指令和命令 例如: Cycle 800, Cycle 832, TRAORI命令
針對Sinumerik優化的CAM輸出, 功能說明:
Status: Active : 五軸迴圈和操作輸出開啟 Tolerance : 可自定使用者公差值:
• 可在CAM和CNC系統中使用相同的公差, 讓 Cycle演算的公差與 機床控制器一致
壹. Cycle800機能說明後處理應用
-- UDE—Siemens 840D 選項說明
Restricted © Siemens AG 2013 All rights reserved.
Feed Forward 前進速率控制:• 包含前饋控制與單節預讀功能, 當啟動時, 在經過 某單節點的精準路徑下, 可獲得最好的速率控制, 亦即最有效率的降速與精度維持, 提高性能.
Transformation 選取轉換的類型:
• 分為TRAORI與TRAORI2與TRAFOOF與
Swiveling 四種, 其中TRAORI 可減少五軸編程的 複雜性, 在CAM編程的點到點位之間, 補償主軸 運動軌跡, 避免線性化錯誤.
High Speed Machining: 高速加工設定欄位
Compressor 壓縮指令開關:
• 當壓縮器技術啟動時, 將線性移動(G01) 轉換成 為光順的樣條曲線 (Spline curve). 可獲得最佳 的表面加工品質.
Smoothing 光順指令開關:
• 當光順技術啟動時, 可在符合公差範圍內的稜角 處, 控制成角落的圓角, 獲得最佳的表面光順度.
壹. Cycle800機能說明後處理應用
-- UDE—Siemens 840D 選項說明
Five Axis Orientation : 五軸原點設定欄位
Coordinate System 座標系統指定:• 可設定為工件或機床的座標為輸出基準
Interpolation選取插補的類型:
• 分為Linear與Plane兩種,使用線性G0/G1與平面 G17…+G0/G1/G2/3的數值解算, 適合斜面真圓 度要求的加工
Definition 選取方位的輸出:
• 分為Rotary Axes與Vector兩種輸出方式
Feed Rate : 速率設定欄位
Define Feed Rate in Variable 變速型的速率定義:• 本功能可在某一單節內, 將速率分成七段變速, 輸 出變速指令給西門子的控制器, 依製造需求處理, 例如: 複合材料…
壹. Cycle800機能說明後處理應用
-- UDE—Siemens 840D 選項說明
Restricted © Siemens AG 2013 All rights reserved.
壓縮器功能啟動 壓縮器功能關閉
使用壓縮器光順的功能
本功能即是由Cycle 832所定義的功能之一,可獲 得最佳的表面加工品質.當壓縮器技術啟動時, 輸 出線性移動(G01)碼,控制器將轉換成為光順的 樣條曲線 (Spline curve)加工.
壹. Cycle800機能說明後處理應用
-- UDE—Siemens 840D 選項說明
典型的CAM後置處理基本輸出 –很多短直線。無法產生光滑 表面及高速加工的理想輸出。
控制器的壓縮功能將資料按使用者 給定的公差帶轉換為光順曲線(樣 條曲線)。從而可獲得光順的運動 和好的表面品質。
使用壓縮器光順的功能
壹. Cycle800機能說明後處理應用
-- UDE—Siemens 840D 選項說明
Restricted © Siemens AG 2013 All rights reserved.
在尖角處和稜邊處加工,其刀具中 心軸線上的擺動轉換,是以順滑擺 動的方式處理,避免刀軸的瞬間驟 轉,這在NX的ToolAxis亦有類似 更光順的機床運動 設定。
–更快的加工、更好的表面品質
光順指令通過特殊的―G代碼‖或 832固定迴圈命令, 傳遞給控制器
壹. Cycle800機能說明後處理應用
-- UDE—Siemens 840D 選項說明
(在誤差範圍內)插入刀軸順滑變換的分佈線段(樣條)
Transformation 主軸運動軌跡的轉換 刀尖控制 與 機床運動自主的編製程序 1). TRAFOOF 主軸運動軌跡補正關閉 2). TRAORI 主軸運動軌跡補正開啟
3). TRAORI 2 應用在雙主軸切換, 或多刀具軸頭調用的參數 4). Swiveling 旋轉補正, 說明在Swiveling 章節:
TRAFOOF TRAORI
壹. Cycle800機能說明後處理應用
-- UDE—Siemens 840D 選項說明
Restricted © Siemens AG 2013 All rights reserved.
Transformation = TRAORI , 選取轉換的類型—主軸運動軌補正
使用TRAORI命令的A軸運動 & 移動X 和Z軸時,刀尖在空間保持恒定(佳)
沒有使用TRAORI命令的A軸運動 刀尖在空間是移動的(劣)
沒有線性化錯誤
線性化錯誤
壹. Cycle800機能說明後處理應用
-- UDE—Siemens 840D 選項說明
Swivel head
旋轉頭 Swivel table
旋轉盤
Swivel head and table (mixed) 旋轉頭與 旋轉盤
對於旋轉軸向機台, 以最佳化的五軸後處理樣板, 可輸出座標旋轉(CYCLE800/TRANS, AROT) 行 列在NC碼內
基於此特徵, 我們能夠使用旋轉頭 swivel heads 或旋轉盤 swivel tables 去設定傾斜平面
Transformation = Swiveling
Supported machine kinematics: 支援機台運動
設置
壹. Cycle800機能說明後處理應用
-- UDE—Siemens 840D 選項說明
Restricted © Siemens AG 2013 All rights reserved.
Optimized 3+2 Five Axis Support :
支援3+2五面加工或五軸的機台的優化
產生的 NC code 範例:
CYCLE800(1,“CA_HEAD “,0,57,0,40,0,-45,0,0,0,0,0,-1,1)
CYCLE800 NC 碼的驅動是由下列條件而來 :a). 存在的加工工序 Operation
Operation 種類 – 固定軸銑削 / 鑽孔 b). MCS 設定, 如下一頁圖示.
Purpose – Local 目標座標—以加工地基準
Special output - CSYS Rotation 輸出指定 – 以CSYS 旋轉方式c). 導入機床與Siemens品牌的控制器.
d). UDE– 加入Sinumerik 840D 的參數設定
設定Transformation為 Swiveling.(Swiveling是Cycle800的指令)
壹. Cycle800機能說明後處理應用
-- UDE—Siemens 840D 選項說明
CYCLE832(0.01, 112101)
Compressor Feed Forward Smoothing Transformation Machining mode
Tolerance
循環832‖ 優化的高速加工指令:
NX CAM 編程人員能夠使用高速加工的訂製化參數, 直接應用到編程的操作工序內, 快速達到設定需求.
註: Tolerance & Compressor & Smoothing & Feed Forward & TRAORI / TRAORI 2 / TRAFOOF是Cycle832的指令 ;
而Swiveling 則是 Cycle800的指令.
壹. Cycle800機能說明後處理應用
-- ―循環832‖ 優化的高速加工指令
Restricted © Siemens AG 2013 All rights reserved.
CYCLE832 指令回顧
Machining Mode n Finishing
n Prefinishing
n Roughing
n Deselection (normal)
Tolerance_Tol. n Chord tolerance - Tolerance of linear/rotary axes
Transformation n TRAFOOF Transformation “off”
n TRAORI First transformation “on”
n TRAORI(2) Second transformation “on”
Compressor n no (COMPOF) Compressor OFF
n COMPCAD Compressor ON, constant acceleration for mold making applications
n COMPCURVE Jerk-free for circumferential milling
n B-SPLINE Spline interpolation
Smoothing n G64 Continuous-path mode
n G641 Programmable rounding clearance
n G642 Corner rounding with single axis tolerances
n G643 Block-internal corner rounding withsingle axis tolerances
n G644 Speed-optimized corner rounding with settable tolerances
Feedforward n FFWON-SOFT With feedforward control, with jerk limitation n FFWOF-SOFT Without feedforward control, with jerk limitation n FFWOF-BRISK Without feedforward control, without jerk limitation
壹. Cycle800機能說明後處理應用
-- ―循環832‖ 優化的高速加工指令
CSYS Rotation —以Local MCS 加工地為座標, 成為輸出的基準.
後處理可以使用這些座標, 亦即 Local 加工地座標去綁定主座標, 輸出編程, 如下圖.
這是由Local_CSYS_Rotation 掛在 Main_G54的座標下, 輸出 ―固定軸‖或
―固定軸+輔助軸‖的NC檔. 所以NC數值是有加入G54的位移值.
諸如: CYCLE800 / CYCLE 19 / G68.1
壹. Cycle800機能說明後處理應用
-- ―循環832‖ 優化的高速加工指令
Restricted © Siemens AG 2013 All rights reserved.
此移動的定位軸, 能夠參照到機床座標系統或 工作(或工件)座標系統
選 項 輸 出 描 述
Machine ORIMKS 定位於機床座標系統 Workpiece ORIWKS 定位於工件座標系統
+X +Y
+Z
MKS
WKS +X
+Y
+Z
ORIWKS A0 C0ORIMKS A15 C0
Five Axis Orientation 五軸定位
Coordinate System of Orientation 座標系統定位
壹. Cycle800機能說明後處理應用
-- ―循環832‖ 優化的高速加工指令
選 項 輸 出 描 述
Linear ORIAXES 機床或定位軸向作線性插補計算 Plane ORIVECT 大半徑環型的插補計算
ORIAXES
ORIVECT
五軸機床能夠將刀具放在適當的位置, 定位在任何的 工作件上.
描述該路徑的加工, 從起點到終點的定位, 導致主軸裝 置的移動, 從一個定位點到任何/其他的中途位置, 都 必須被插補計算.Interpolation of Orientation 定位的插補計算
壹. Cycle800機能說明後處理應用
-- ―循環832‖ 優化的高速加工指令
Restricted © Siemens AG 2013 All rights reserved.
選 項 輸 出 描 述
Rotary Axes
A B C 對旋轉軸的運動, 直接編製程序
Vector A3 B3 C3 直接向量的程序編製.
此一 ―直接的向量點‖是從刀尖 點指向刀具夾持器
當刀具定位的程序編製, 下列的選項是可用的 : Definition of Orientation 定位的插補計算
壹. Cycle800機能說明後處理應用
-- ―循環832‖ 優化的高速加工指令
授 課 章 節
壹. Cycle800機能說明後處理應用 貳. PostBuilder後處理應用說明 叁. TCL 常用語法
肆. Post調校練習
Restricted © Siemens AG 2013 All rights reserved.
NX/Post
(後處理產生器)
Definition File .def (
定義格式)
Output NC File 輸出NC檔案
Event Name (事件名) Variable (變數) Variable (變數) Variable (變數)
Post Builder Creates and Edits
(後處理調整) 器)
NX Part
Libraries
Post Builder .pui (
介面操作)
MOM Functions
Event Handler .tcl
(數值演算)OS
(作業系統)Shop Doc
Event
Generator
(事件構建器) (NX工件)
(資料庫) (工作連絡單)
Post Builder 後處理調整器: 根據機台的組態, 調整後處 理 索引檔, 一經設定妥當, 即不須再設定該機台.
NX Post 後處理產生器: 根據機台組態的後處理索引檔, 計算加工件上的刀具路徑, 輸出相應的NC檔案.
貳. PostBuilder後處理應用說明
-- NX Post Architecture NX後處理架構
post_name .pui
本檔案只被 Post Builder 使用, 為介面操作文件.
必須與 .tcl 和 .def 檔案放在同一個目錄路徑下.
Post Builder的介面組態檔, 不可直接編輯或刪除!
post_name .def
定義檔案的輸出格式
NX/Post Execute 執行檔索引到本檔案
索引到 template_post.dat定義檔 post_name .tcl
為Event handler 事件處理器的檔案
NX/Post Execute 執行檔索引到本檔案
索引到 template_post.dat定義檔
Post Builder 定義的三個檔案
NX/Post Builder 對話窗概要
由Create New Post Processor 對話窗中, 定義新的後處理索引檔.
編輯存在的後處理索引檔.
對話窗包含目錄條、工具條、提 示列、介面語言切換…等操作功 能.
管理可以被調用的變數名, 及其幫 助文件與變數名搜尋器…等等.
提供即時顯示的指令說明, 對應到 使用者所點選的功能定義.
貳. PostBuilder後處理應用說明
-- NX Post Architecture NX後處理架構
Restricted © Siemens AG 2013 All rights reserved.
Machine Tool 機床
提供使用者設定基本的機床運動參數, 並將機 床運動方向的種類加以顯示, 並且可以設置或 修改某些基本的控制器性能. 例如:是否輸出 圓弧碼...等等.
Default :
還原到最近一次存儲後處理檔的 狀態.Restore:
還原到當你進入目前的表列對話 窗的狀態.Display Machine Tool 顯示機床
按 ―顯示機床‖ 的圖標,以虛擬該近似機的 型式. 我們可以核對軸向的定位. 對於一台四 軸或五軸的銑床而言, 我們可以指定其對應 的A, B or C軸. 並在每一個旋轉軸上定義其 行程限制.
目前機床的預覽圖像還不能顯示車銑機台和 線切割的結構組態, 但可以調整其後處理.
貳. PostBuilder後處理應用說明
-- Machine Tool 機台
Default Coordinate Mode 設定 Circular Record Mode 設定 Output 輸出
Polar (極座標) Polar (極座標) Polar circles (極座標圓弧)
Cartesian (笛卡兒座標) Cartesian (笛卡兒座標) Cartesian circles(笛卡兒座標圓弧)
Cartesian Polar No circle output
Polar Cartesian No circle output
Output Circular Record 輸出圓弧碼記錄
可設定此一選項為Yes 或 No. 如果設定為 ―Yes‖, 系統將根據圓弧運動的參數盡量輸出圓弧碼 (G2或G3). 假 如設定成 ―No‖, 系統將不輸出圓弧碼, 而輸出直線碼 G1.
圓弧碼的輸出也根據 Default Coordinate Mode 與 Circular Record Mode 的設定而得. 其規範如下:
Linear Axis Travel Limit 線性軸行程限制
這個選項可以提供機床行程限制的功能.正如我們個別輸入 custom command
―pb_cmd_check_travel_limits.tcl‖. 的作法一樣.
Home Position 回零位置
如果使用者沒有設定一個FROM 位置, 這個功能可定義默認的FROM位置.
Linear Motion Resolution 線性運動解析值
這個功能可定義出系統計算座標的最小解析值.
Traversal Feed Rate 移刀進給率
這個功能可定義移刀進給率去計算快速運動的機加時間. 系統也使用本值去決定是否該用 ―線性進給率G1‖
的移動, 實際作為快速移動的用法 (以G1取代G0的運動碼).
貳. PostBuilder後處理應用說明
-- Machine Tool 機台
Restricted © Siemens AG 2013 All rights reserved.
Machine Zero to 4th Axis Center 由機台零點(原點)到第四軸中心 當第四軸被選取時, 即可顯示此項目.
設定此一距離, 是由機台零點(原點)到第四軸旋 轉中心.
這個後處理設定值是要對應MCS座標的NX程式 與機台座標系統的一致.
貳. PostBuilder後處理應用說明
-- Machine Tool 機台
銑床的第四軸欄位
銑床的第五軸欄位
貳. PostBuilder後處理應用說明
-- Machine Tool 機台
Mill Fourth Axis and Fifth Axis parameters
銑床的第四軸與第五軸參數
銑床的第五軸欄位4th Axis Center to 5th Axis Center
由第四軸中心到第五軸中心 當第五軸被選取時, 即可顯示 此項目.
設定此一距離, 是介於第四軸 旋轉中心指向到第五軸旋轉 中心. 這個後處理設定值是要 對應MCS座標的NX程式與 機台座標系統的一致.
左側視圖
Z Offset=? X Offset=?
Restricted © Siemens AG 2013 All rights reserved.
Rotary Motion Resolution (Deg) 旋轉運動解析度 (度) 後處理器計算旋轉角度的精確小數值.
Angular Offset (Deg) 角度偏置 (度)
設定此值以增加 ―可再調整旋轉軸的偏置角度‖. 如果我們不再調整, 可設定為零.
例如: 某些標準的擺頭與轉盤類型的機台, 因為先前輸入的偏置(前面的初始主軸的對話窗已設定):
一個刀具軸向量(0,0,1) 導致輸出一個有角度位址的第四軸 90.0 度, 此時就要設置 ―–90度‖偏置.
貳. PostBuilder後處理應用說明
-- Machine Tool 機台
銑床的第五軸欄位
Axis Rotation 軸旋轉 (本欄位只定義旋轉方向, 而不定義定址位置)
根據右手定則, 拇指指向為正的旋轉軸線方向, 4 指捲曲的指尖定義正的旋轉方向. 用 ―Normal 法向‖與 ―Reverse 反向‖指令來調整旋轉方 向, Normal 法向是內定的選項.
根據右手定則, 如果轉盤沒有如我們要求的方向 旋轉, 那麼選擇Reverse 反向指令來更正. 例如:
我們需要 B–90, 但卻是輸出B90, 我們可以在後
處理中設定 Reverse, 在上機台前可以加以檢查.
Magnitude Determines Direction 大小量值決定旋轉方向 (先決條件: 正負值為不同定址位置) 旋轉到一個較大的角度總是是以順時針旋轉的;旋轉到一個較大的角度總是是以逆時針旋轉的.
B–90 與 B90 代表不同的位置, 兩者相差180度.
使用本功能的設定, 其典型的旋轉盤行程限制是超過 360 度的, 例如: –9999 to 9999.
Sign Determines Direction 正負符號決定旋轉方向(本欄位只定義旋轉方向, 而不定義定址位置) 當開啟本功能時, 此一正負符號只決定旋轉的方向, 不做位置的定義, 例如: B90 與 B–90是同一個 位置, 旋轉方向不同. 當我們下達 B90 時, 旋轉盤依照順時針方向, 從目前的位置旋轉到 90 度的 位置.當我們下達 B–90 時, 旋轉盤依照逆時針方向, 從目前的位置旋轉到 90 度的位置.
使用本功能的設定, 其典型的旋轉盤行程限制是由0度到 360 度.
貳. PostBuilder後處理應用說明
-- Machine Tool 機台
Axis Limits (Deg) 軸向限制
設定最小與最大的角度的輸出, 如果有超行程的動作還沒有做完, 那 麼就用其他軸向的自由度來完成, 如果還無法完成或滿足該行程, 則 依 Axis Limit Violation Handling 軸向限制的違犯處理的設定來處 理. 此項後處理器在量度軸向限制的行程, 是以順時針方向從最小角 度量到角度.
This Rotary Axis Can Be Incremental 設定旋轉軸為增量
可輸出旋轉軸角度為增量值, 例如: 有時候我們希望XYZ值為G90, 但
是旋轉軸定位值為G91計算.
Restricted © Siemens AG 2013 All rights reserved.
Max. Feed Rate (DegMin)
可設定最大的旋轉進給速率. 如果加總線性與旋轉移動的旋轉 總值, 超過到最大的每分鐘角度值, 後處理器會將旋轉進給速率 封頂到限制值以下.
Pivot Distance 樞軸距離
可設定樞軸距離: 從擺頭或者是盤面的旋轉樞軸點rotation pivot point (旋轉中心的交點)到主軸的軌距點gage point.
對於五軸雙轉盤型式的機台而言, 樞軸距離是無效的.
我們能夠指定該值在第四軸或第五軸的其中一個對話窗; 總之, 機台上總共只有一個樞軸距離.
[註釋: Gage Line軌距線: 這一條虛構的線段是指:刀具夾持器有 一點間距地裝夾在機台主軸的底部邊緣, 如下圖 ]
Gage Line
貳. PostBuilder後處理應用說明
-- Machine Tool 機台
Pivot Dist
Tool Length offset刀長補正值: 從刀尖點到 軌距線gage line的距離, 決定刀長補正值
Pivot距離 :
適用於具有旋轉主軸頭的機床, Pivot距離 是從旋轉關節中心到Gage Line的距離。
貳. PostBuilder後處理應用說明
-- Machine Tool 機台
Restricted © Siemens AG 2013 All rights reserved.
Axis Limit Violation Handling 軸向限制的違犯處理 Warning 警告
將警告訊息輸出到列表檔listing file 或警告檔,
警告檔的激活方式: Output Settings→Other Options 圖標.
列表檔的激活方式: Output Settings→Listing File 圖標.
Retract/Re-Engage 退刀/重新進刀
提刀到圓柱或球面的安全高度.
如果可能的話, 重新定位旋轉軸到一個有效的位置.
重新進刀到使用者定義的距離(由工件往上的距離) .
進給到前一個位置.
移動到程式的末端位置.
User Defined 使用者定義
按下處理器 Handler 去設定一段指令, 這包含適當的字元或客 製化的命令. 我們可預先定義備用.
當旋轉軸發生超過行程的事件時, 去執行先前所設定的使用者 定義, 處理此一機台限制的問題.
貳. PostBuilder後處理應用說明
-- Machine Tool 機台
對於四軸與五軸的機台, 欲激活線性插補, 我們也可以在NX CAM中使用後處理命令 ―LINTOL‖.
在NX CAM的機床控制Machine Control下, 由起始路徑的事件中設定 User Defined. 其命令的 語法如下: LINTOL/ [ON | OFF | n] (當我們設定公差值 n, 系統在背景(後台)打開線性插補) 對於車銑機台的運動, 線性插補將可線性化XZC的移動. 所以對 Mill-Turn 的機台, 通常設定輸 出的模式為極座標 polar. 其後處理命令的內定設定為: SET/POLAR,ON. 其語法如下:
SET/POLAR, [ON | OFF] (車銑機台通常是設定極座標開啟的模式)
ON 的設定模式是極座標. 其座標的輸出是 XZC, 並且線性插補將視運算需要, 而隨時開啟.
OFF 的設定模式是笛卡爾座標 Cartesian.其座標的輸出是 XYZ 以及沒有線性插補作用.
對雙擺頭的機台, 如果將NC的位址點設定在刀尖輸出時, 線性插補是不生作用. 例如: 當刀具的 Z Offset 值(沒補正), 或者後處理的軌距-樞軸距離(gauge-pivot distance) 為 0.0 時.
Linearization Interpolation 線性插補
內定的線性公差是關閉的. 我們可在此設定內定的線性公差.
在設定公差的範圍內, 將刀具路徑打成多段的運動. 為什麼要這樣 做呢? 由於被要求的直線運動(已不是單單的固定軸運算), 加總到 旋轉(多了旋轉軸)與線性的移動, 可能導致運動路徑脫軌, 所以我 們要告訴後處理器, 有多少的線性公差帶, 可以做旋轉軸與線性軸 的同動空間, 來做數值演算.
貳. PostBuilder後處理應用說明
-- Machine Tool 機台
Restricted © Siemens AG 2013 All rights reserved.
其他資料單元
User-defined event .cdl file 本介面是為了 ―使用者定義事件‖
與 ―使用者定義循環 (cycles)‖ 與 關連性變數, 這些被定義在ude.cdl 檔案內, 並置放於下列目錄中:
$UGII_BASE_DIR\mach\resource
\user_def_event\ folder.
我們可設定環境變數與路徑
$UGII_CAM_USER_DEF_EVENT_
DIR.
在文字編輯器上編輯 .cdl 檔案與 Tcl 處理器, 是很容易定義UDEs 的.
我們能夠在程式的起始或結束的位置, 或是在CAM 物件、刀具、機床…等 位置附加 UDEs, 讓後處理器根據使用者定義事件, 產生需要的NC結果.
User-defined events 使用者定義事件 (UDEs)
如果我們不能夠組態機床的內定選 項, 成為可以調用的資料時, 我們可 以將 ―使用者定義事件‖ 加入到 operations操作中, 以及CAM Object 物件中, 透過後處理以獲取 特定的控制資訊 (事件與變數).
貳. PostBuilder後處理應用說明
-- N/C 資料定義
Output Control Elements group 輸出控制單元
NC File Output Extension 輸出NC副檔名
設定內定的NC檔的副檔名輸出.
Output Warning Messages 輸出警告訊息
當NX 後處理器的對話窗, 依照其設定的內定值-- Post Defined, 將輸出警告到 Log 檔案, 系統添加延 伸檔名_warning.out , 並與 NC檔一併輸出到同一 個目錄下.
Display Verbose Error Messages 顯示詳細 的錯誤訊息
如果發生TCL錯誤的情形, 本功能就能顯示詳細的錯 誤訊息.
Generate Group Output 生成群組輸出
生成群組輸出的內定值是關閉的,當 ―Generate Group Output 生成群組輸出‖ 的方框被勾選, 則 群組內的所有刀軌,將一次輸出所有刀軌的個別 NC檔案,與串聯各個刀軌的總NC檔。
貳. PostBuilder後處理應用說明
-- 輸出設定
Restricted © Siemens AG 2013 All rights reserved.
例如: 我們在第一表列選擇一個事件
由選擇的事件器產生相應的資 料, 並顯示在第二表列
, 以及選擇事件所產生連結的 NC 碼, 被加亮顯示在第三列 在列表頂端的顯示, 秀出我們 已選擇的事件, 或者是選擇 NC 碼而得來的事件.
.
應用:
左邊欄位: 提供查閱進行中的流程, 其運 行事件的順序, 會對應在中間欄位 的變數名, 與右邊欄位的結果.
中間欄位: 在這個欄位的事件, 可以讓我 們查閱--還有哪些事件所相關的變 數名, 可以讓我們加到程式內, 去取 出這些可以利用的數值.
右邊欄位: 顯示相對應的結果.
貳. PostBuilder後處理應用說明
-- 輸出設定
User Tcl Source 使用者TCL來源
確認一個附加的Tcl 檔案, 去優先讀取該選項的設定.
Source User’s Tcl File 來源使用者TCL檔案
如果我們已經建構TCL檔案, 包含 UDE 後處理命令的處理 器在內, 我們就可以使用本功能來鍊結進入設定檔.
如果來源TCL已經設定某項功能的運算, 但是開檔的TCL又 擁有該某項功能的重複宣告或衝突 (但演算法定義不一樣), 則以來源TCL的設定為優先(以本項來源TCL宣告為準, 除 非沒有設定某功能). 例如: G94 的定義不一樣的處置.
你的 Tcl 檔案必須存放在與現有後處理器之相同的目錄下.
File Name 檔名
設定來源的檔案名稱, 以進入你的後處理.
Optional Alternate Units Subpost 選用的備選單位副處理
在 Create New Post Processor 對話窗下的 Units Only Subpost ―僅單位副處理‖功能, 本選項 Optional
Alternate Units Subpost 是配合其單位設置/運算的選項.
貳. PostBuilder後處理應用說明
-- 輸出設定
Restricted © Siemens AG 2013 All rights reserved.
Virtual N/C Controller 虛擬 NC 控制器
提供使用者組態一台數值控制器 . 由 於是模擬機台控制器, 其輸出的內容 僅僅相容於 Tcl-based 程式語言的機 床驅動, 或者是 MTD (Machine Tool Driver) 類型.
Tool mounting junction 刀具置入的連接
如果我們設定為主軸 spindle, 記得 要將 Spindle 分類為 ―_DEVICE‖, 並且它的連接為 ―Tool Mount‖.
這機台主軸的起始位址被內定為 Home Position, 也就是機床移動使 用G28命令, 刀具的換刀位置.
Program zero reference 程式零點參考
指的是第一個不旋轉元件為程式零點參考, 如果兩個旋轉軸都是掛在X元件上, 則X_SLIDE 為程式零點參考的元件.
貳. PostBuilder後處理應用說明
-- Virtual N/C Controller 虛擬 NC 控制器
授 課 章 節
壹. Cycle800機能說明後處理應用 貳. PostBuilder後處理應用說明 叁. TCL 常用語法
肆. Post調校練習
#=============================================
proc PB_CMD_machine_time { } {
#=============================================
global mom_machine_time MOM_set_seq_off
MOM_output_literal "(Time = [format "%.2f" $mom_machine_time]min)"
MOM_set_seq_on }
Restricted © Siemens AG 2013 All rights reserved.
在公用程式裡, 我們可以叫出 MOM變數瀏覽器, 去搜尋某 些字串的變數名與其敘述。
例如我們輸入―contact‖, 就可以得到刀具3D接觸點補 正的資料, 由Custom
Command 客製化命令中帶 入該變數, 即可驅動工具機去 補正刀具的磨耗, 當然了, 機 台控制器必須要具備3D刀補 的功能, 而在控制器中輸入補 正值.
叁. TCL 常用語法
叁. TCL 常用語法 – Event 事件的產生
Event Generator事件生成器
從頭至尾掃描NX刀軌資料,提取每一 個事件及相關參數資訊,將相應的事 件名、變數等傳遞給MOM去處理;
MOM加工輸出管理器
傳遞每一事件及相關參數給Event Handler事件處理器*.tcl ,事件處理 器決定對事件如何進行處理,然後返 回資料給MOM;
MOM根據Definition File定義檔*.def 規定的格式來決定如何格式化輸出資 料;
MOM把格式化好的資料輸出,成為 符合要求的NC文件。
Restricted © Siemens AG 2013 All rights reserved.
叁. TCL 常用語法 – Event 事件的產生
NX內部刀軌
NX/Post
Event Generator 事件生成器
Event Handler.tcl Definition File.def
Output File
Event Name/事件名稱 variable/變數
variable/變數 variable/變數
Post Builder .pui
MOM函數
Shop Docs
Part CAM Program
PATH
Events
叁. TCL 常用語法 – Event 事件的產生
Linear Move X = 100
Y = 50 Z = 75
NX/Post
EventGenerator
proc Linear_Move {MOM_do_
template Linear}
Format Socket %0.3f Address X
{Format Socket Min 0 Max 550}
BLOCK_TEMPLATE Linear { G01 X[$x] Y[$y] Z[$z] }
G01 X100. Y50. Z75.
Linear_Move x = 100 y = 50 z = 75
1
2 3
4
5
Event Generator讀取刀位元數據GOTO/100,50,75,將事件名Linear_Move和變數X=100、
Y=50、Z=75傳遞給NX/Post。
Post根據事件處理器中規定的MOM_linear_move對該事件進行處理,根據定義檔中的
BLOCK_TEMPLATE Linear規定的格式輸出,最終得到就是G01 X100.Y50.Z75.
Restricted © Siemens AG 2013 All rights reserved.
Event 事件分類:
Setup event設置事件
Machine Control event機床控制事件
Move event運動事件
Cycle event固定迴圈事件
User Defined event用戶定義事件:Event 事件的用途為何?
特定事件將導致特別的機床動作,相 關參數中存儲的資訊,用來進一步確 定機床動作。
例如,一個―Linear-Move‖事件將 導致機床驅動刀具沿直線移動,而具 體移動到的位置,則由存儲在與此事 件相關的參數X、Y、Z中的數值來進 一步確定。
MOM的觀念:
每一MOM事件,都與一組變數mom 關聯,如右邊的範例。
對每一事件生成器識別的事件,都有 一對應的TCL副程式進行處理。
傳遞給事件處理器的變數,將作為全 域變數進行處理。
Event 範例:
Post命令
•
SPINDL/RPM,100,CLW Event事件•
MOM_spindl_rpm Variables变量•
mom_spindle_speed = 100•
mom_spindle_direction = CLWM03 S100
叁. TCL 常用語法 – Event 事件的用途與分類
Tcl - 變數操作
我們可以把變數想像成是一塊儲存資料的空間,它可以讓你儲存程式執行時的資料。建立變數的方法如下:
set 變數名稱 變數的值
Tcl對於變數名稱的規定不是很嚴格,但是請儘量使用英文字母、數字及底線來組合變數名稱。另外,變數名 稱有區分英文大小寫,所以dai和Dai是兩個不同的變數。
當變數建立後,使用set可以重新設定變數的值,使用unset可以釋放變數佔用的空間,例如,使用下面命令 可以釋放變數:
unset 變數名稱
全域變數的取用和清除方法和普通變數是一樣的,在變數的前面加上一個「$」號,就可以取出變數的值。
「;#」後面的都是註解,不是程式。例如,下面的puts會印出儲存在dai變數裡的內容:
puts $dai
凡是以兩個冒號開頭的變數名字(變數名字中間沒有出現其它的雙冒號),即表示是一個全域性的變數,這種 變數可以在任何地方使用它,方法就和一般變數一樣。沒有使用兩個冒號開頭的變數名字,即表示是區域性 質的變數,它只可以用在特定的程式區塊,一但離開了所屬的區域就會被自動清除。例如:
set ::var ―Hello‖ ;# 建立全域變數 set var2 "這是一個區域的變數"
var puts $::var ;# 取用var變數的值 puts $::var1 ;# 取用內容 unset ::var ;# 釋放var變數 unset ::var1 ;# 清除變數
叁. TCL 常用語法 -- Tcl - 變數操作
Restricted © Siemens AG 2013 All rights reserved.
if 條件命令
if是大部份程式語言都會提供的功能,它可以用條件式來限定某些程式是否要被執行。其語法如下:
if 條件式 程式區塊
在習慣上我們會用一對大括號夾起條件式及程式區塊,而且三個項目中之間一定要用空白隔開。例如:
001 set flag 1
002 if {$flag == 1} {puts ―hello‖}
執行結果為 : hello
上面的程式使用if命令去判斷「如果$flag等於1,才執行puts ―hello‖」。
如果你想要條件式成立時可以執行多行程式,可以這樣寫:
if {條件式} { 程式....
程式...
}
§ 特別注意 :
if、條件式、程式區塊,這三個項目中間最少要用1個空白隔開,否則會被當成是不合法的命令。
叁. TCL 常用語法 -- if 條件命令
二選一的條件命令 if ... else ...
下方的程式示範了一個不管條件是否成立,最少都會執行某一些程式的例子。
001 set sex 0
002 if {$sex != 0} {puts "先生您好"}
003 if {$sex == 0} {puts "女仕您好"}
以下是Tcl用來處理二選一情況的命令。意義是,如果條件式成立就執行程式區塊1,否則就執行程式區塊2。
其語法如右: if 條件式 程式區塊1 else 程式區塊2
接下來的程式和上面的功能一樣,但使用了if...else...的語法,請試著比較看看。
001 set sex 0
002 if {$sex == 0} { 003 puts "女仕您好"
004 } else {
005 puts "先生您好"
006 }
在上面的程式中可以寫成像下面的一行
if {$sex == 0} {puts "女仕您好"} else {puts "先生您好"}
叁. TCL 常用語法 -- 二選一的條件命令 if ... else ...
Restricted © Siemens AG 2013 All rights reserved.
多選一的條件命令 if ... elseif ... else ...
處理多選一的情況, 讓程式設計者可以設定多組條件式及多個程式區塊,如果其中一個條件式成立時即執行 對應的程式區塊,它的語法如下:
if 條件式1 程式區塊1 elseif 條件式2 程式區塊2 elseif 條件式3 程式區塊3 .... else 程式區塊X
當條件式1成立就執行程式區塊1,當條件式2成立就執行程式區塊2...依此類推,當條件式n成立就執行程式 區塊n,最後的else及程式區塊X會在所有條件都不成立時被執行,若你希望所有條件都不成立時不要做任何 事,可以把else及程式區塊X省略。事實上你可以設定任意組的條件式及程式區塊,Tcl允許你這麼做,但請 注意,不管在任何情況下,最多都只會有一個程式區塊被執行,而且是最先符合的先執行。
程式範例:
001 set num 5 002 if {$num > 5} {
003 puts "變數num的值大於5"
004 } elseif {$num < 5} {
005 puts "變數num的值小於5"
006 } else {
007 puts "變數num的值等於5"
008 }
程式輸出的結果是: 變數num的值等於5
叁. TCL 常用語法
-- 多選一的條件命令 if ... elseif ... else ...
多選一的條件命令 switch ...
s
witch也是一個多選一的程式結構,但它特別適合用在從多個項目中比對符合的值,然後執行對應的程式區 塊, 它的語法如下:switch ?選項? 字串 比對值1 程式區塊1 比對值2 程式區塊2 ... default 程式區塊X
用兩個問號夾起來的項目表示可以選擇性的給予。switch語法的意義是,如果字串等於比對值1就執行程式 區塊1,如果字串等於比對值2就執行程式區塊2...以此類推,如果字串等於比對值n就執行程式區塊n,如果 都比對失敗就執行default後面的程式區塊X,其中default及程式區塊X是可以省略的。
程式範例: 數字轉換星期的程式,我們透過switch去比對num的值,並轉換為星期一~星期日輸出。
001 set num 3 002 switch $num {
003 "1" {puts "星期一"}
004 "2" {puts "星期二"}
005 "3" {puts "星期三"}
006 "4" {puts "星期四"}
007 "5" {puts "星期五"}
008 "6" {puts "星期六"}
009 "7" {puts "星期日"}
010 "default" {puts "錯誤的輸入值"}
011 } 程式輸出的結果是:星期三
叁. TCL 常用語法 --多選一的條件命令 switch ...
Restricted © Siemens AG 2013 All rights reserved.
while迴圈命令
迴圈命令可以讓某些程式碼有條件的反覆執行,如果你想讓程式擁有「如果某件事是真的,就反覆做某些事
」的功能,這時就要仰賴迴圈命令了。例如,寫一個讀取檔案的程式,你可能會一次從檔案內讀取一部份的 內容,然後一直反覆直到讀完檔案。像這樣的情況就會用到迴圈。
while是最單純的迴圈命令,常被用來執行不確定次數的迴圈,當然這並不是硬性的規定,真正該如何使用 還是得看個人的使用習慣,while的語法如下:
while test body
while命令判斷條件式test的值來決定是否反覆執行body。test是條件式用來決定是否繼續執行迴圈。body 是條件式為真的時候要執行的程式碼。while的運作流程如下:
step1 : 直譯器執行到while命令。
step2 : 如果需要的話先處理test及body的代換動作。
step3 : 運算條件式test, 如果執行結果是「真」就執行step4,否則就跳到step5。
step4 : 執行body的內容,執行完跳回step3。
step5 : 結束while迴圈。
§ 關於迴圈條件式
Tcl使用與expr相同的方式來運算迴圈的條件式。換句話說,你可以想像迴圈的條件式,會交由expr命令運算
,然後再由運算的結果來判斷迴圈是否反覆執行。
叁. TCL 常用語法 -- while迴圈命令
for 迴圈命令
for迴圈是語法比較複雜一點的命令,但拿來執已知次數的迴圈非常的好用,它的語法如下:
for start test next body
start : 在for命令執行時會無條件先執行一次的程式碼。
test: 迴圈的條件式用來決定body是否執行。
next: 每次執行完body命令時會緊接著執行一次的程式碼。
body: 當條件式test為「真」時要被執行的程式碼。
當for命令開始執行時start會無條件先執行一次,目的是用來初始化迴圈變數。接下來for命令判斷條件式 test,如果結果是邏輯的「真」就依序執行body及next,否則結束迴圈。然後就一直重覆著判斷條件式,然 後執行body及next的動作,一直到條件式為假才結束迴圈。其中next的目的是用來設定迴圈變數的增量。
for迴圈的運作流程可以看成這樣:step1 : 程式執行到for命令。 step2 : 視情況先處理start、test、next、
body的代換動作。 step3 : 無條件執行一次start中的程式碼。 step4 : 運算條件式test。如果結果為「真」
跳到step5,否執跳到step6。 step5 : 依序執行body(先)及next(後)的內容,執行完成跳回step4。 step6 : for命令執行結束。
右上角的程式用了很笨的方法來計算1加到100,但用來展示for迴圈的用法還滿適合的。程式的第1行建立了 一個變數sum並設定初值是0,我們用它來儲存1累加到100的結果。迴圈的條件test設定為「i的值在小於等 於100」時都要執行body及next程式區塊, 在這個程式裡body程式區塊總共會執行100次。
001 set sum 0
002 for {set i 1} {$i <= 100} {incr i} { 003 incr sum $i
004 }
005 puts $sum
叁. TCL 常用語法 -- for迴圈命令
Restricted © Siemens AG 2013 All rights reserved.
foreach 迴圈命令
foreach是專為清單設計的迴圈命令,它可以讓你很方便的逐一處理清單中的項目,其語法如下:
foreach varName list body
foreach將清單list中的項目值逐一取出,並設定給varName指定的變數,每設定一次varName指定的變數
,就緊接著執行一次body程式碼。如下是一個簡單的示範:
001 set list1 [list n ne e se s sw w nw center]
002 foreach {item} $list1 {
003 pack [label .lbl$item -anchor $item -width 8 -height 8 -text $item -bd 2 -relief groove] -side left 004 }
這個程式的第1行建立一個9個項目的清單,每個 項目都代表一個方位。第2行中list1的項目會逐一 設定給變數item,而且每設定一次item第3行就 跟著被執行一次。label命令可以用來建立文字標 籤,它的-anchor參數可以用來指定文字標籤內 部對齊的方位,-bd用來指定邊框大小,-relief用 來指定邊框的樣式。
叁. TCL 常用語法 --foreach迴圈命令
授 課 章 節
壹. Cycle800機能說明後處理應用 貳. PostBuilder後處理應用說明 叁. TCL 常用語法
肆. Post 調校練習:1~4
Restricted © Siemens AG 2013 All rights reserved.
練習 1 :
Create a Siemens 840D Post, using COMPCURV for compressor method.
【Sample Output】 : TRAORI
N1080 G54 N1090 FFWON N1100 UPATH N1110 SOFT
N1120 COMPCURV N1130 G642
肆. Post 調校練習 — Siemens 840D Post
練習 2 :
Create a Siemens 840D Post, using CYCLE800 Part: cycle800.prt
【Sample output】 : N420 TRAFOOF N430 G54
N440 FFWON N450 UPATH N460 SOFT
N470 MSG("DRILL_METHOD")
N480 CYCLE800( 1, "", 0, 57, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1, )
肆. Post 調校練習 — Siemens 840D Post
Restricted © Siemens AG 2013 All rights reserved.
練習 3 :
Create a Siemens 840D Post, using CYCLE840 Part: cycle840.prt
【Sample Output】:
N430 MCALL CYCLE840(0.2,0.,0.5,-1.,,1.,0,3,,3) N440 X-1. Y4.
N450 Y3.
N460 Y2.
N470 Y1.
N480 MCALL
肆. Post 調校練習 — Siemens 840D Post
練習 4 :
Create a Siemens 840D Post, using CUT3DC for cutter compensation Part: cutter_compensation.prt
【Sample output 】:
N400 MSG("MILL_ROUGH") N410 ORIRESET(90.,270.) N420 ROT X90
N430 G0 X11.006678 Y-.083333 Z.6 A3=0.0 B3=-1. C3=0.0 S0 M3 N440 ;Approach Move
N450 Z.1 A3=0.0 B3=-1. C3=0.0 N460 ;Engage Move
N470 CUT3DC
N480 G41 G1 Z0.0 A3=0.0 B3=-1. C3=0.0 M8 F10.
N490 X10.506678 A3=0.0 B3=-1. C3=0.0