介紹 NcCycleSense 讀你的 NC 程式,模擬控制器與機台實際會怎麼走,推算加工工時。

工時為什麼難算

CAM 給的加工時間多半是路徑長度 ÷ 進給率, 背後的假設是機台全程跑在指令進給上。實際的機台做不到: 每個轉角要減速、小半徑圓弧會被向心加速度限制住、 程式段太短時控制器讀不贏機台走。

指令進給與實際進給的差異 上方是 CAM 假設的定速直線;下方是實際的進給曲線,在每個轉角與短程式段處被壓低,因此同樣的路徑需要更長的時間。 CAM 實際 指令進給,全程不變 轉角 轉角 短程式段

同一條路徑,兩種算法。中間的落差是機台真的花掉的時間。

落差有多大,取決於程式的形狀。幾條長直線的粗銑差不了多少; 段長 0.05 mm 的精修程式差得很多 —— 那種程式裡, 控制器讀進一個程式段的時間比那一段的運動時間還長, 瓶頸從進給率換成了控制器。

工時預估頁的「精修高段密度」範例就是這種程式, 檔頭寫了怎麼自己驗算。「G61 vs G64」則是同一條路徑、同一個進給率, 只換平滑模式,時間就不一樣。

引擎怎麼算

引擎把程式重跑一次,逐段解出速度曲線。

引擎的處理流程 NC 程式依序經過詞法分析、語法分析、巨集展開、解譯與運動規劃,最後產生報告與 3D 軌跡。機台設定檔在運動規劃階段進入。 NC 程式詞法分析 block 語法分析 巨集 展開與求值 解譯 模態狀態機 運動規劃★ 核心 報告 · 3D逐刀具分解 機台設定加減速 · 行程 · 非切削 可換成你自己這一台的參數

每一步都留著來源座標,報告裡的每一則診斷都指得回原始程式的行號。

運動規劃這一步涵蓋的項目:

巨集(#100WHILEG65)會真的求值。 族群化程式的路徑是算出來的而不是寫在檔案裡, 不求值巨集的工具看到幾十行,實際上可能是幾百個孔。

算出來的東西你都看得到:逐刀具的工時分解、 每一段的時間被什麼限制(進給率、轉角、圓弧、加速度, 或是程式段處理時間),以及依限制原因上色的 3D 軌跡 —— 點一下就跳到對應的 NC 行。 貼上既有估值(CAM、模擬軟體、師傅的經驗都可以)會列出逐項差異。 報告可以下載成 HTML 附在工單上。

資料處理

NC 程式、機台設定與 STL 都在你的瀏覽器裡處理,不會送出。 引擎是一個 WebAssembly 模組,載入之後整個計算都在本機完成。

計算的邊界 NC 程式、WebAssembly 引擎與產生的報告全部在瀏覽器分頁內。對外的連線被內容安全政策阻擋。 你的瀏覽器分頁 NC 程式拖進來的檔案 引擎 WebAssembly 報告 · 3D留在這一頁 機台設定檔(.toml)與 STL 也一樣 關掉網路也算得出來 伺服器任何主機 CSP 阻擋 connect-src 'self'

工時預估頁與機台設定頁的內容安全政策是 connect-src 'self', 由瀏覽器強制執行。

這一點你可以自己驗證:開著開發者工具的網路分頁按下計算, 過程中不會發出任何請求;也可以直接斷網再算一次。 逐頁的對外連線清單列在可稽核性

會送出資料的只有回饋聯絡兩個表單, 兩者都是獨立頁面,沒有檔案上傳欄位,送出前可以先看過內容。

關於精度

工時的誤差來源主要有三類:機台參數(加減速能力、 控制器的處理速度)、現場條件(進給修調、實際的換刀與等待時間), 以及程式本身的變異。 其中機台參數是唯一可以事先收斂的一項,所以我們把重點放在那裡。

報告每次都會標示這一次用的參數屬於哪一級:

等級參數來源怎麼取得
T0 構型範本的假設值,依機台級別推導 預設。不需要任何設定
T1 控制器的參數檔或探測讀數 機台設定頁填入,或用 P1 探測程式讀出
T2 實測行為擬合出來的動態參數 P2 動態探測(開發中)

預設是 T0,數字代表「這一級的機台大致會是這樣」。 往上走一級的方式是建立機台設定 —— 每個欄位都標了對應的 Fanuc 參數編號,填進你確定知道的值就會更貼近這一台機器。

我們不對工時預估的精度做保證。 結果是預估值,適合用來比較方案、找出時間花在哪裡、 以及發現與既有估值差距大的程式; 作為報價或驗收的唯一依據之前,請先在自己的機台上對過。

模型的驗證方式:拿公開的實測資料(如美國 NIST 製造研究平台的真實機台加工記錄) 與引擎的預估逐段對帳 —— 切削、快速移動與非切削分開比對, 找出偏差來自哪一項、該往哪個方向修。這個過程會隨新的機台資料持續重複, 使用者回饋的實測工時也會併進同一套對帳。

範疇是運動行為與工時,不含碰撞檢測與材料移除模擬。 程式裡用到引擎未支援的指令時,報告的診斷區會明確列出來。

後續方向

正在做

  • 精度驗證與改善 —— 持續找機台與資料做對照,收斂機台模型。
  • 機台範本庫 —— 更多構型與級別。

接下來

  • Windows 桌面版與付費方案。免費版繼續維持。
  • 支援更多控制器(目前是 Fanuc 系)。你用哪一台? 告訴我們會影響順序。
  • 機台校正 —— 用探測程式讀出這台機器的實際參數, 取代預設的假設值。

長期

  • NC 程式最佳化 —— 用同一套模型指出可以改的地方, 包含兩個版本之間的差異。

順序會依實際情況與回饋調整,所以不標日期。

預估結果跟實測工時差很多的話,那筆資料對我們最有價值 —— 回饋一筆只要四個欄位,不用提供 NC 程式。 其他任何事情用聯絡我們(可匿名)或 contact@nccyclesense.com