iT邦幫忙

0

(3) 研發看 MES:生產開始以前,MES 要準備哪些基礎資料?

mes
  • 分享至 

  • xImage
  •  

研發看 MES:生產開始以前,MES 要準備哪些基礎資料?

上一篇我們從一個 Lot 出發,看了一次它可能經歷的生命週期。
從建立 Lot、進站、出站,到 HOLD、Rework、Split,最後完成生產、包裝與出貨。
但其實我們跳過了一個很重要的問題:
MES 怎麼知道這個 Lot 應該怎麼生產?

系統不可能憑空知道:

這是什麼產品?
是替哪個客戶生產?
要經過哪些製程?
每一道製程可以使用哪些機台?
生產完成後又要去哪裡?

所以在真正開始建立工單、生產 Lot 以前,我們必須先告訴 MES 一些最基本的資訊。
這些資訊,就是 MES 的:
基礎資料(Master Data)。


先把工廠的「世界觀」建立起來

我自己在開發 MES 的過程中,慢慢覺得基礎資料其實很像是在:

告訴系統,這間工廠的世界長什麼樣子。

例如今天我們要生產:
Product-A

系統首先要知道:
Product-A 是什麼?

接著可能要知道:
Product-A 要經過哪些製程?

例如:
組裝 → 測試 → 檢驗

這三個製程又可能分別使用不同的機台。
最後完成生產之後,產品可能先進入完工倉,再經過包裝與出貨。
如果連這些基本資料都不存在,MES 當然也沒有辦法管理後面的生產流程。


1. 產品:我們到底要生產什麼?

第一個很好理解:
產品(Product)

MES 至少要知道目前工廠有哪些產品。

例如:
PRODUCT-A
PRODUCT-B
PRODUCT-C

當我們建立工單時,就可以指定:

這張工單要生產的是 PRODUCT-A。

後面建立出來的 Lot,也就能知道自己正在生產什麼產品。
所以產品資料回答的是一個非常基本的問題:

「我們現在到底在做什麼?」

看起來很簡單,但它會一路跟著後面的工單、Lot 與生產歷史。

2. 客戶:這批產品是替誰生產的?

第二個是:
客戶(Customer)

在我們目前的 MES 中,工單可以綁定客戶。
例如:
Customer-A

今天建立:
WO-20261007-001

我們就可以知道:

這張工單是替 Customer-A 生產 Product-A。

因此後面建立出來的 Lot,也能跟這張工單產生關係。
從生產管理的角度來看,這樣未來在查詢資料時,就不只是知道:

「這批產品做了什麼?」

也能進一步知道:

「這批產品是替誰生產的?」

3. 製程:產品需要經過哪些加工?

再來開始進入生產本身。
我們需要建立:
製程(Process)

例如一個產品可能需要:
組裝
測試
檢驗

這些都是獨立的製程。
但這裡有一個很容易搞混的地方。
建立了製程,不代表我們已經知道產品要怎麼走。
因為「組裝」、「測試」、「檢驗」目前都只是三個獨立存在的製程。

系統還不知道:
到底誰先?
誰後?
是不是每個產品都要走一樣的流程?
這時候就需要另一個很重要的東西。

4. 途程:把製程真正串起來

途程(Route)
可以把前面建立好的製程按照生產需求串起來。

例如:
Route-A

裡面的流程可能是:
組裝 → 測試 → 檢驗

另一條:
Route-B

可能是:
組裝 → 檢驗

所以「製程」跟「途程」其實是不同的概念。

製程比較像是在定義:

工廠有哪些生產步驟。

途程則是在定義:

這一次生產,要按照什麼順序走這些步驟。

這也是後面 Lot Control 非常重要的基礎。

因為 MES 要判斷:

LOT-001 做完組裝之後,下一站到底是哪裡?

答案通常就會跟它所使用的途程有關。

5. 機台:這一道製程在哪裡做?

知道要做什麼製程之後,還有一個問題:
在哪裡做?

所以我們還需要:
機台(Machine)

例如:
Machine-001
Machine-002
Machine-003

當 Lot 要進入某一道製程時,我們就可以進一步管理它所使用的機台。
這樣未來查看生產紀錄時,就不只是知道:

LOT-001 在 10:00 進入「測試」製程。

還能進一步知道:

LOT-001 是在哪一台機台進行這次生產。

對生產履歷來說,這些資訊就開始慢慢串起來了。

6. 倉庫:生產完成之後去哪裡?

最後還有一個比較容易被忽略的基礎資料:
倉庫(Warehouse)

我們目前的 MES 將倉庫區分成不同用途,例如:

暫存倉
完工倉
包裝倉
報廢倉

使用者也可以依照實際需求建立自己的倉庫。

為什麼 MES 需要知道這些?
因為 Lot 並不是完成最後一道製程之後就突然消失了。
它可能完成生產後進入完工倉。
經過包裝後準備出貨。
或者因為某些原因進入報廢倉。

所以除了:

「Lot 現在在哪一道製程?」

我們還可能需要知道:

「Lot 完成生產之後去了哪裡?」

把這些資料串起來看看

現在我們已經有:
產品
客戶
製程
機台
途程
倉庫

單獨看,每一個都只是很普通的資料。

但是當它們開始組合之後,MES 才真正有辦法理解一個生產需求。
例如:

  • 客戶: Customer-A
  • 產品: Product-A
  • 途程: Route-A

而 Route-A 裡面定義:
組裝 → 測試 → 檢驗

各個製程再搭配現場可以使用的機台。

最後產品完成生產後,進入:
完工倉

這時候我們才有足夠的資訊去建立一張真正的:
工單(Work Order)
接著再由工單產生需要管理的 Lot。

為什麼不直接全部寫在工單裡?

看到這裡可能會有一個問題。
既然建立工單的時候都要選這些資料,那為什麼不直接在工單裡面全部填一填就好了?
這其實也是我覺得 MES 基礎資料設計很重要的地方。

假設每建立一張工單,都重新輸入:
產品名稱、客戶、製程、機台、途程……

不只很麻煩,也很容易發生:
同一個東西,每個人填出來卻不一樣。

例如有人輸入:
Product A

另一個人輸入:
Product-A

甚至有人輸入:
產品A

對人來說可能知道這三個指的是同一個東西。

但對系統來說:
它們就是三筆不同的資料。

所以我們會先建立好基礎資料,再讓後續的工單、生產流程去使用這些資料。

從研發角度看 Master Data

剛開始做系統時,我其實會覺得:
產品管理、客戶管理、機台管理……
這些頁面好像都只是很普通的 CRUD。
C:新增。
R:查詢。
U:修改。
D:刪除。

但真正開始把 MES 串起來之後,才會發現:
後面的生產流程,其實全部建立在這些看起來最普通的資料上。

基礎資料如果定義得不清楚,後面的工單會開始混亂。
工單混亂,Lot Control 就會跟著混亂。
Lot Control 一旦混亂,最後連 Lot History 都可能很難解釋。

所以我現在反而會把 Master Data 看成:

MES 用來描述工廠的共同語言。

先讓系統知道:
「我們有哪些東西。」

後面才有辦法告訴系統:
「這些東西要怎麼一起生產。」

下一篇,我們就先從這些基礎資料裡最基礎的開始:
「第一個功能為什麼我選擇從機台開始?」

看起來只是機台資料的設定,卻是所有資料的起點。

認識我們
聯繫我們

章節列表


*提醒邦友,使用第三方服務/API 時,請務必評估資安風險與隱私保護
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言