工單進度到底怎麼算出來的?拆解 MES 報工與 OEE 儀表板背後的資料架構

工單進度到底怎麼算出來的?拆解 MES 報工與 OEE 儀表板背後的資料架構

某鋼鐵廠的熱軋產線,維修團隊說比較接近 75%,品保部門又報良率 91%。這兩組數字都算合格只是抓的時間點不同、用的定義也不一樣。

延續皮克敏娃娃訂單案例:上一篇生管 Kevin 把工單 WO-01 派給 A 線、09:00 開工。週一中午,業務 Peter 在群組問了一句:「WO-01 進度怎樣,下午能完工嗎?

生管 Kevin 心裡有個數字(大概 73%),MES 首頁跳出來的卻是 99%。他差點就回 Peter「快好了、下午可以交貨」,還好先切到各站明細:縫製站還卡 79 件、掛牌站還沒動,最後改口說「進度很趕,下午三點再更新一次進度」。這裡進度怎麼算、OEE 儀表板該長什麼樣,我繼續沿著這張範例工單往下拆解。

目錄

  1. 同一條產線,為什麼大家報的數字都不一樣?
  2. 吃掉 OEE 的,往往是沒人記錄的小停機
  3. 換線時間會偷偷變長,而且沒人發現
  4. 資料怎麼從機台跑到螢幕,多久更新一次
  5. 數字要能告訴你,下一步該查哪一站
  6. 重工算良品還是不良品?
  7. 數字對不上,常見的四個誤解
  8. 總結

同一條產線,為什麼大家報的數字都不一樣?

回到工單 WO-01。業務 Peter 問「進度怎樣」的時候,現場實際狀況是:填充站 198 件全部完成、縫製站做了 119 件(還剩 79 件在排隊)、掛牌站還沒開始。同一張工單,MES 數位報工畫面上跳什麼數字,取決於系統怎麼定義「開工」與「完工」。

角色看到的數字算法為什麼會這樣算
MES 系統首頁99%曾進站的件數 ÷ 總數(198÷200)系統預設「進站」就算「已開工」,不管在哪一站卡住
生管 Kevin 心裡的盤算73%依工序加權(填充100%、縫製60%、掛牌0%)他知道掛牌站還沒進站,不會把「進過填充或縫製」當成「整張工單做完」
若用良品折算98.5%197 件可交良品 ÷ 200忽略了那 79 件還卡在縫製站排隊的事實

99%、73%、98.5% 三個數字都沒算錯,只是沒在回答同一個問題:「停機」、「良品」事先沒講清楚,算法自然各走各的。只有生管 Kevin 心裡那個 73% 回答了 Peter 真正想知道的事:現在到底能不能準時交。做在規劃、開發數位儀表板功能之前,得先問這個數字要答誰的什麼問題,再決定算法;若程式寫完才回頭想顯示什麼,常常就變成首頁一個好看的 99%。

前豐田研究員 Christoph Roser 統計過檢測案例:有三分之二的產線,真正的瓶頸和管理者以為的並不一樣;OEE 這種平均值,會把「縫製站還在排隊」這類問題整個抹平。

這裡先搞清楚一件事:剛剛在吵的 99% 是「工單進度」,接下來要談的 OEE 是另一組數字,兩者不一樣,卻生的是同一種病:定義沒先講清楚。而 OEE 會漏水的地方其實很固定,後面三節就是順著它的三個乘數走:吃掉「產能效率」的小停機、拉低「可用率」的換線、影響「良率」的重工。同一個數字,三個地方各自在漏。

剛剛那個 99% 談的是「工單進度」,接下來要看的是 OEE 這個數字。兩者算法不同,但常常栽在同一個坑:事先沒講清楚,像是停機、良品、進度都沒有明確定義。OEE(整體設備效率, Overall Equipment Effectiveness) 拆開就是 Availability(可用率) * Performance(產能效率) * Quality(良率);後面會分別提到停機、換線與重工,看它們怎麼把這個數字一點一點拉下來。

吃掉 OEE 的,往往是沒人記錄的小停機

11:20,縫機 C 卡線,停機 8 分鐘,安燈亮了,生管 Kevin 站在現場看得一清二楚。麻煩的是,會把 OEE 一點一點吃掉的,往往是那些亮不了燈、也沒人回頭記的小停機。

某鋼鐵廠的月報統計過:每月平均有 180 次低於 5 分鐘的小停機,每一次都沒人手動記錄進停機日誌,但加總起來吃掉了每月 11 小時的產能、3 ~ 5 個 OEE 百分點。這些數字在月報上完全看不出原因,管理層只看到「OEE 又掉了」,卻查不出是哪裡漏的。另一個常見場景是包裝線:機台速度每分鐘 300 件以上時,一次 5 分鐘的微停機根本不會被寫進停機紀錄,但會直接反映在 Performance(產能效率)這個指標上。

對應到工單 WO-01:如果縫機 C 那天除了 11:20 那次明顯的卡線之外,還發生過幾次 30 秒、1 分鐘的小停頓(操作員可能根本沒意識到要去記錄)。這些小停頓單獨看都不嚴重,但累積起來才是產能效率從理論值掉到 98% 的真正原因。一套好的數位報工系統,要能自動把這些「太短、太瑣碎、人懶得記」的事件也算進去,不能只靠人工記錄那種「值得被記住」的大停機。

這種案例其實多到不行,有家汽車零件廠就實測過:把紙本改成數位系統即時量測後,第一個月 OEE 不升反降。不是產線變差,是紙本本來就漏記了一半的損失。那些以為修好、其實還在發作的故障,還有沒人記的零星微停機,全被攤在陽光下;單線試跑半年,收斂完這些損失,OEE 反而提高了。食品業更極端,有的產線工站每班會出現 50 ~ 100 次、每次才 3 ~ 4 秒的微停機,短到沒人覺得需要記,裝了感測器之後逐秒去抓,光把這些「不值得記」的小停機揪出來,一年累積就多擠出 10% 的 OEE 出來 …

換線時間會偷偷變長,而且沒人發現

WO-01 若下午完工、傍晚要換線做 WO-02,排程表上寫換線 45 分鐘,那是當初做過一輪快速換線(把換模、備料、調機拆開、盡量事先準備好,縮短停線時間)改善後,寫進系統的標準工時。實際呢?上次換線 52 分鐘、上上次 61 分鐘,沒人寫為什麼多這 10 分鐘,六個月下來平均悄悄爬到 58 分鐘,會議裡卻還在拿 45 分鐘排產能。

有個真實案例:某廠標準換線設定 45 分鐘,即時資料顯示實際換線時間落在 38 ~ 112 分鐘之間,沒有任何文件記錄為什麼。六個月下來,平均換線時間從 45 分鐘悄悄爬升到 62 分鐘。多出來的 17 分鐘乘上換線頻率,等於每週多損失 2.8 小時的產能,而且在這六個月裡完全沒有人注意到

這種漂移,人工記錄的報工系統幾乎抓不到,因為人工記錄的精度往往只到「有換線、沒換線」這個層級,不會精確到分鐘,更不會去比對「這次換線比上次多花了多少時間」。WO-01 如果接著要換線去做 WO-02,這次花了 50 分鐘還是 65 分鐘、差在哪裡,正是即時資料系統該補上的細節,而不是排程表上那個寫死的「45 分鐘」。

專門開發 OEE 量測的 TeepTrak 公司也觀察到同樣的事:一旦改用自動量測,實際換線時間通常會比標準值多出 20 ~ 45%,因為操作員手動計時,往往沒把準備動作和過程中的零碎延遲算進去。

這些被漏掉的損失要抓得到,得先看資料是怎麼從機台一路跑到螢幕的。

資料怎麼從機台跑到螢幕,多久更新一次

填充站「198 良品」怎麼出現在螢幕上?Kevin 中午查進度才發現,這個數字其實是三條資料流疊起來的:機台會透過 OPC-UAMQTT 協定來回傳運轉、停機狀態、品檢透過掃描確認、ERP 藉由批次同步處理領料與入帳。三邊的更新與延遲(Latency)都不一樣;如果畫面沒把「資料來源」與「最後更新時間」標示清楚,Kevin 看到的就可能是「每秒」、「分鐘」和「小時」在同一張看板上的數字絕對兜不起來。

至於更新頻率也應該分層:機台運轉、停止這種關鍵狀態,要在 2 ~ 5 秒內反映;OEE 這種平均型指標,30 ~ 60 秒更新一次就夠了;歷史對比類的趨勢圖 5 分鐘更新都會不影響決策。重點不是「越快越好」,而是把即時性用在「一變就要採取行動」的資訊上;把所有東西都做成每秒級更新只會讓系統更脆弱、更貴,因為等於整條資料鏈都要跟著升級成即時系統:寫入量、彙總計算、同步與錯誤處理都會暴增,成本上去、故障點也會跟著變多,而這些規劃並不會加快生管 Kevin 的判斷。 ​

數字要能告訴你,下一步該查哪一站

有一個很實用的判準:「產能效率因為過去 10 分鐘發生 6 次停機而下降 12%」這遠比單獨丟一個資訊「OEE:68%」還有幫助。前者告訴生管 Kevin 該往哪裡查,後者只讓他知道「狀況不好」,卻讓決策者不知道從何下手。

工單 WO-01 的 MES 報工儀表板如果只顯示一個冷冰冰的「90.9%」,生管 Kevin 看到也不知道該做什麼。但如果畫面上同時告訴他「縫製站因為縫機 C 卡線 8 分鐘,Availability(可用率)從預期的 98% 掉到 94%」,他立刻知道問題出在哪一站、要不要去查那台機器。

這也是為什麼分層呈現比單一數字重要:

WO-01 整體進度:73%(依工序加權)
  ├─ 填充站:100% 完成
  ├─ 縫製站:60% 進行中(受縫機 C 停機 8 分鐘影響)
  └─ 掛牌站:0% 尚未開始

這裡有個常被忽略的前提:畫面做得再漂亮,操作員願不願意用、記不記得住才是關鍵。曾經看過某個肉品加工廠就發現,早期的數位工具登錄一次小停機的操作動線就要花老半天,操作員嫌麻煩乾脆不記,資料一漏 OEE 就立刻失真。他們後來乾脆立了一條內規:超過大約 4% 的停機沒被登錄,這份資料就當作不可信;與其把畫面塞好塞滿,他們反而把登錄介面砍到最精簡資料品質才救得回來。反方向的坑也很常見:有些控制室擺了七、八個螢幕,操作員光搞懂一個異常就得登入好幾套系統、翻多個畫面,資訊一多決策卻更慢,決策人員不知道到底先看哪個。

所以好的儀表板能夠讓人在 3 秒內看懂「現在狀況」,而不是對著一個數字猜背後發生了什麼事。

不過再即時、再聚焦的儀表板,也只是把答案呈現得更清楚。答案本身對不對,還得看規則有沒有先講清楚,比方說:重工到底算不算良品。

重工算良品還是不良品?

WO-01 那 1 隻線跡不整、要重工的成品,該不該先算進不良品?這題其實有標準答案。OEE 定義的權威 Vorne(也就是 oee.com 的母公司)講得很直接:OEE 的品質是用「​直通率(First Pass Yield, FPY)」來衡量的,第一次判定不良就得計入不良,就算後來重工成功,也不能把它洗白成良品

換句話說:那 1 隻線跡不整的成品,在它被判定為需要重工的那一刻,就要算進不良品數量。重工後即使順利交貨,紀錄上仍要保留「這批曾經出現過 1 件首次不良」這個事實,不能因為事後補救成功就讓統計數字變乾淨。這個做法的理由很實際:如果重工救回來的東西可以洗白成良品,那「重工率」這個本該被持續追蹤、持續改善的指標,就會被悄悄掩蓋掉。

換線時間算不算停機?也是同樣的邏輯:先講清楚規則,再讓系統照規則執行,而不是放任每個人憑自己的理解各算各的。這種定義戰其實到處都是。常見的一種是:A 線把換線時間算進停機、B 線不算,結果兩條線的可用率立刻沒得比,不是誰做得比較好,純粹是各算各的。定義沒對齊,再精準的系統也只是把各說各話的數字算得更快而已。這正是文章開頭「同一條產線,三個部門報出三個數字」的問題根源。

數字對不上,常見的四個誤解

  1. 系統有了,OEE 數據就會自動校正:很多工廠一上系統後的第一件事不是「數字變漂亮」,而是發現「原來比想像更差」。不是系統算錯,是以前那些沒人記的小停機、換線拖延本來就被漏掉了。也經歷過 OEE 導入 後直接掉 10 ~ 20%:設備沒變差,只是把過去人工填的數字灌水和漏記的攤開來。還看過同一個「良品率」在品保、生產、財務各有一套算法,系統照單全收後,都只是把十幾種版本一起搬上看板。
  2. 資料越即時越好,全部做成每秒更新:不是每種數字都值得做到每秒更新。真正該即時的,是那種一出狀況就要立刻處理的訊號;但像 OEE 這種彙總指標,30 秒更新一次通常就夠了。分不清哪些要快、哪些不用快,把所有東西都歸化成每秒更新,最後只會變成系統更貴、更難維護,現場也不會因此更快做決定。
  3. 儀表板顯示的數字越多越好:一個冷冰冰的百分比數字常常只是干擾而已;能真正指出「哪一站、為什麼、下一步怎麼查」的才是答案。畫面塞滿 KPI,不代表生管判斷更快。你會看到牆上一整排大螢幕,大家走過去瞄一眼就算了,開會也不拿它當依據,因為資訊太多反而抓不到重點。
  4. 只要系統夠準確、介面夠好看,數字一定對得上:這點最常被忽略!定義沒對齊,前面三點做再好也一樣:有人心裡算 73%,螢幕上跳 99%。曾遇過「交付準時率」在採購、生產、銷售各算各的,開會永遠對不攏,最後才發現不是誰不專業,是一開始就沒把定義寫清楚。

總結

業務 Peter 問一句「進度怎樣」,會拿到 73% 還是 99%,其實取決於這套系統怎麼定義「進度」、有沒有把沒人手動記的小停機算進去、換線時間有沒有偷偷變長卻沒被發現。說穿了,就是 OEE 那三個乘數(可用率、產能效率、良率)有沒有被誠實地算進去。這些聽起來像技術細節,骨子裡都是同一件事:規則先講清楚,技術才知道要往哪裡使力。

這也不是紙上談兵。有金屬沖壓廠導入系統後,單班停機從 1.5 小時掉到 20 分鐘;有廠商兩年內把 OEE 從 45% 拉到 70%。共通點都不是買了多神的系統,而是先把「什麼算停機、什麼算良品」定義清楚,讓數字終於能指出下一步該怎麼做。

其實要確實的落地並導入系統,抓住這 4 個重點就對了:

  1. 先定義:停機的定義、良品的定義、進度怎麼加權,白紙黑字要先講清楚。
  2. 分層更新:關鍵狀態要不要每秒、平均指標分鐘級、歷史資料要存取多久。
  3. 給得出下一步:畫面要能指出「哪一站、為什麼」,而不是只有一個百分比。
  4. 首次良率入帳:重工算不良,不能讓事後補救把數字洗乾淨。

有一句話講得很實際:沒有連到改善行動的即時 OEE 監控,只是讓你更快看到自己正在虧損而已。儀表板存在的目的,也不是讓生管 Kevin 看到一個更新更快的數字,而是讓他在縫機卡線的當下,就判斷得出這會不會影響交期、要不要現在就處理。

換線一多,報工畫面更容易跟現場脫節。生產模式跟換線成本怎麼扯上關係,可以參考這篇:少量多樣是什麼?跟大量少樣、客製化生產差在哪

Ref

comments powered by Disqus