跳轉到

主軸能力 (Spindle Capability)

SpindleCapability (API) 描述機台主軸的能量、扭矩、功率與熱性能封包。它以 XML 載入(位於 Resource/SpindleCapability/ 的 .SpindleCapability 檔案),掛在 MachiningEquipment.SpindleCapability (API) 上,作為專案設備的一部分。本頁說明此模型的物理意涵,以及加工步上四個比值是如何推導而來。

如何於應用程式中編輯,請見英文 App Anatomy 的 Spindle Capability Page。HiNC 主軸功率與 Fanuc ServoGuide 量測值的驗證比對,請見主軸功率評估。

邊界曲線:連續 vs 瞬時

FANUC aT12/12000i 主軸的功率與扭矩對轉速曲線

典型的主軸規格圖(FANUC aT12/12000i,以 FANUC-aT12-12000i.default.SpindleCapability 出貨):扭矩 (N-m) 與功率 (kW) 對主軸轉速。S1 Cont. 曲線為連續邊界;S3 60% 曲線為短時額定。HiNC 正是以「可工作時長」為 key 儲存這些曲線。

主軸能力以兩個以「可工作時長 (分鐘)」為 key 的字典儲存,描述各主軸轉速下能交付的最大功率或扭矩:

兩個 duration key 具有特殊意義:

  • PositiveInfinity — 連續邊界。主軸可在此曲線上任意 (轉速, 數值) 點永遠運行而不過熱。產業上常稱為 S1 額定。
  • 最小有限 key(例如 15)— 瞬時邊界。主軸只能在此曲線上的 (轉速, 數值) 點運行該可工作時長,之後即達溫度上限。

通常還會有中間 key(例如 60 分鐘)用於記錄主軸廠商公布的額定曲線。

為何用 duration 當 key,而不是用兩條曲線?

Duration key 兼具兩種角色。Contour 數值給出尖峰負載能力(用於下方比值計算)。Duration 值則隱含了熱時間常數(用於後方熱封包章節)。一組曲線同時驅動兩件事。

如果 GearShiftSpindleSpeed_rpm (API) 有設定,每條 contour 會以該轉速為界切成兩段,僅取當前轉速所屬的那一段做內插。曲線端點外採取最近鄰夾住,不做外插。

四個比值如何計算

每當主軸轉速變動,SpindleSpeedCache (API) 會在當前轉速對四條 contour 內插,並儲存四個純量邊界:

邊界(分母) 來源 contour
MinInsistentRatioSpindleTorqueBoundary_Nm 扭矩字典最小 key 的條目,於當前 rpm 內插
InfInsistentRatioSpindleTorqueBoundary_Nm 扭矩字典 ∞-key 的條目,於當前 rpm 內插
MinInsistentRatioSpindlePowerBoundary_W 功率字典最小 key 的條目,於當前 rpm 內插
InfInsistentRatioSpindlePowerBoundary_W 功率字典 ∞-key 的條目,於當前 rpm 內插

MachiningStep 上的四個比值即為下列除式:

\[ \begin{aligned} \text{MaxSpindleTorqueRatio} &= \frac{\text{MaxAxialTorque\_Nm}}{\text{MinInsistentRatioSpindleTorqueBoundary\_Nm}} \\[6pt] \text{ContinueSpindleTorqueRatio} &= \frac{\text{MaxAxialTorque\_Nm}}{\text{InfInsistentRatioSpindleTorqueBoundary\_Nm}} \\[6pt] \text{MaxSpindlePowerRatio} &= \frac{\text{inputPower\_W}}{\text{MinInsistentRatioSpindlePowerBoundary\_W}} \\[6pt] \text{ContinueSpindlePowerRatio} &= \frac{\text{inputPower\_W}}{\text{InfInsistentRatioSpindlePowerBoundary\_W}} \end{aligned} \]

由於連續邊界永遠不大於短時邊界,相同負載下對應的 Continue- 比值永遠大於等於對應的 Max- 比值:

  • Max- 比值超過 100% 表示主軸已瞬時超載,會在額定短時內觸發熱保護。這就是 MaxSpindleTorqueRatio (API) 與 MaxSpindlePowerRatio (API) 在製程可加工性用以判定斷刀的依據。
  • Continue- 比值超過 100% 表示主軸無法永遠維持此負載 — 短時間爆衝仍可能安全。適合用於規劃長時間操作的步調,而非預測立即性故障。

輸入功率 vs 輸出功率

上述比值的功率分子是輸入功率(進入主軸的能量),不是輸出功率(到達切削端的能量)。兩者透過主軸的能量轉換效率關聯:

\[ \text{inputPower\_W} = \frac{\text{AbsAxialPower\_W}}{\text{EnergyEfficiency}} \]

其中 EnergyEfficiency 是 EnergyEfficiency (API),AbsAxialPower_W 為切削實際所需的功率。失去的比例 \((1 - \text{EnergyEfficiency})\) 變成熱量,必須由熱封包負責散去。

主軸功率評估以實際 Fanuc ServoGuide TCMD 量測數據佐證此換算的合理性。

空轉功率

即使刀具未接觸工件,轉動中的主軸仍會以軸承摩擦與空氣風阻的形式消耗功率。HiNC 把摩擦建模為主軸轉速 \(S\)(rpm)的一次項、把風阻建模為三次項,並把兩者之和限制在主軸以連續額定運轉時的損耗之內:

\[ P_\text{dry}(S) = \min\left(10^{-3}\,a\,S + 10^{-12}\,b\,S^3,\ (1 - \eta)\,P_\text{cont}(S)\right) \]

單位為瓦特,其中:

  • \(a\) 是 DryRunFrictionPowerCoefficient_mWdrpm (API),單位 mW/rpm,預設 4.82。
  • \(b\) 是 DryRunWindagePowerCoefficient_pWdrpm3 (API),單位 pW/rpm³,預設 90。
  • \(\eta\) 是 EnergyEfficiency (API),\(P_\text{cont}(S)\) 是連續(PositiveInfinity)功率曲線在 \(S\) 的值;主軸能力沒有連續曲線時,取時長最長的那條。能永遠維持連續額定的主軸,空轉時的損耗低於該額定下的損耗,所以超過的值會被截在這裡。

低轉速時摩擦項主導,高轉速時風阻項主導;GetDryRunPower_W (API) 計算這條式子。主軸只有在轉動時才消耗空轉功率,也就是有轉速、且在 M03 或 M04 之下。M05 之後 S 值仍是模態值,但主軸已經停止;第一個 M03 或 M04 之前,主軸也還沒啟動;這兩種情況都不消耗空轉功率。

預設係數是依已發表的軸承摩擦與齒輪風阻研究粗估的,不是主軸的量測;在 18,000 rpm 時為 612 W。要拿功率或能量和機台比對之前,先依擬合空轉係數,把係數擬合到您的主軸。

熱封包(下文)會在空轉功率與切削損耗中取較大值,因此即便是空程移動,主軸也持續暖機。

主軸表計功率與能量

上面的輸入功率不含空轉功率:空程時它是 0。機台上的功率讀值顯示的是輸出功率加上主軸的損耗,而損耗取空轉功率與效率損耗中較大的一個,也就是熱封包加熱主軸所用的同一份損耗:

\[ P_\text{meter} = \max\left(\frac{P_\text{out}}{\eta},\ P_\text{out} + P_\text{dry}(S)\right) \]

空程時輸出功率為 0,表計功率就是空轉功率。重切削時效率損耗較大,表計功率等於輸入功率。主軸停止時讀值為 0。

每一步以 SpindleMeterPower_W (API) 回報這個值。AccumulatedSpindleMeterEnergy_kWh (API) 把它乘上步長,對已播放的各步累加,得到一個工件的主軸能量,空程也算在內。AccumulatedSpindleEnergyConsumption_kWh (API) 只累加切削的輸入能量。

  • 表計功率讀取當下的主軸能力,能量則是在程式播放時累加。修改主軸能力之後,要重新播放程式,能量與主軸溫度才會更新。
  • 物理關閉、沒有物理結果卻有切削的步,沒有表計功率,也不計入能量。
  • 主軸能力完全沒有功率曲線時,取不到上限,轉動中的步同樣沒有表計功率。
  • 以百分比顯示的負載表,顯示的是相對某個額定值的百分比。乘上控制器文件所列的那個額定值,才能以瓦特比對。

擬合空轉係數

在主軸空轉、讀值穩定之後,於一個或多個轉速 \(S_i\)(rpm)讀取主軸功率,得到 \(P_i\)(W)。先以瓦特擬合:摩擦項 \(f\)(W/rpm)與風阻項 \(w\)(W/rpm³),再換算。

  • 兩個以上的轉速。 以最小平方法把 \(f\)、\(w\) 擬合到 \(P = f\,S + w\,S^3\)。恰好兩個轉速時可以直接解出:\(w = (P_1/S_1 - P_2/S_2)/(S_1^2 - S_2^2)\),\(f = P_1/S_1 - w\,S_1^2\)。若有一個算出負值,就把它設為 0,只擬合另一個。
  • 只有一個轉速。 摩擦係數維持預設,也就是 \(f = 10^{-3}\,a\)(4.82 × 10⁻³ W/rpm),只擬合風阻:\(w = (P - f\,S)/S^3\)。若讀值比摩擦項 \(f\,S\) 本身還小,就把 \(w\) 設為 0、\(f\) 設為 \(P/S\)。
  • 換算。 摩擦係數填 \(a = 10^3\,f\)(mW/rpm),風阻係數填 \(b = 10^{12}\,w\)(pW/rpm³)。
  • 檢查上限。 在讀取的最高轉速,\(f\,S + w\,S^3\) 應低於 \((1 - \eta)\,P_\text{cont}(S)\)。若沒有,空轉功率會被截斷,空程時的表計功率會比機台讀值低:代表這個主軸的能量效率設得太高,或連續曲線設得太低。

在主軸能力設定的空轉係數中填入這兩個係數。

熱封包

SpindleCapability 同時驅動主軸機身的熱模型。你不需要直接設定熱容或對流係數 — 熱模型由你已經輸入的資料自動校準:

  • 連續 (∞-key) 曲線 加上 WorkingTemperatureUpperBoundary_C (API) 共同決定主軸於穩態下散熱多快。物理意涵:連續額定就是主軸可以永遠承受而不超過工作溫度上限的負載 — HiNC 由此推得對應的穩態散熱能力。
  • 最短時長曲線 加上其 duration key 共同決定主軸在達到溫度上限前能吸收多少熱量。物理意涵:短時額定就是讓主軸在該可工作時長剛好升至上限的負載 — HiNC 由此推得對應的有效熱質。

對使用者的意義:把 contour 設準(更精確的 (轉速, 功率/扭矩) 數據點、更貼合實際的 duration key),就同時改進了負載能力預測與熱反應速度。沒有額外的熱模型參數需要調整。

步階溫度輸出

每一步內,主軸體溫度依當下熱量輸入(切削耗損或空轉,取較大者)演變,趨近該熱量輸入所對應的穩態溫度。每步發布的兩個輸出為:

Note

SpindleWorkingTemperatureRatio 描述的是主軸機身整體的熱狀況。它和製程可加工性中的「熱塑刃應力比 (Thermal Yield Ratio)」不是同一件事 — 後者是局部的刀刃熱失效。

編輯與檔案存取

主軸能力以 XML(.SpindleCapability 檔案)持久化。Resource/SpindleCapability/ 內預載三組機種:

  • FANUC-aT12-12000i.default.SpindleCapability
  • TMV-720A-STD-8000RPM.default.SpindleCapability
  • VP-8--Fanuc-10000RPM.default.SpindleCapability

.default 標記代表這是出貨的檔案,資源播種程序 (resource seeder) 可能會更新它。請把它載入專案——專案之後會保有自己的一份複本——而不要就地編輯它。

互動式編輯數值,請見英文 App Anatomy 的 Spindle Capability Page。

延伸閱讀