WIP (Work In Progress) トラッキングは、MESの中で最も基本的かつ重要な機能です。日本語では「仕掛品(しかかりひん)管理」や「工程進捗管理」と呼ばれます。
先ほどのPythonコードでも update_status で簡易的に行っていた部分ですが、実際の半導体工場におけるWIPトラッキングは、単なる「場所の記録」を超えて、「製品の履歴書と未来の予定表」を分単位で管理する高度な仕組みです。
その仕組みを専門用語(業界標準)を交えて解説します。
1. WIPトラッキングの基本サイクル(ステートマシン)
MESにおけるWIPトラッキングは、ある工程(ステップ)において、ロットの状態を厳密に切り替えることで行われます。
これをステート(状態)遷移(せんい)と呼びます。
最も基本的な4つの状態変化(トランザクション)は以下の通りです。
Queue[キュー] (待機 / Arrive)
前の工程が終わり、今の工程の装置の前に到着しているが、まだ加工は始まっていない状態。
MES上の意味: 「いつでも着工可能です」
Track-In[トラックイン] (着工 / Start)
最重要イベント。 ロットが装置に入り、加工が開始された瞬間。
MESの処理: この瞬間に「開始時刻」「使用した装置ID」「担当者(または搬送車ID)」「使用レシピ」を記録します。
状態:
WAITING→PROCESSING (RUN)に変化。
Processing[プロセッシング] (加工中 / Run)
実際に装置の中でウェーハが加工されている時間。
この間、MESは他のロットをこの装置に入れないようにブロックします(バッチ処理などを除く)。
Track-Out[トラックアウト] (完了 / End)
加工が終わり、装置から出てきた瞬間。
MESの処理: 「終了時刻」を記録し、自動的に**「次の工程は何か?」**をルート定義(Process Flow)から検索して、ロットの「現在工程番号」を+1します。
状態:
PROCESSING→WAITING (次の工程)に変化。
2. 何を記録しているのか?(データの解像度)
WIPトラッキングでは、「いまどこにいるか」だけでなく、以下のようなデータを紐付けて記録し続けています。
これをトレーサビリティ(追跡可能性)と呼びます。
| データ項目 | 内容 | 重要性 |
| Lot ID | ロット番号 | すべてのキーとなるID。 |
| Step ID | 工程ID | 「ゲート酸化膜形成」「メタル配線」などの工程名。 |
| Equipment ID | 装置ID | どの装置で加工したか。不良発生時、この装置を通った他のロットを特定するために必須。 |
| Recipe ID | レシピ名 | どの設定(温度・ガス流量など)で加工したか。 |
| Operator ID | 作業者ID | 誰が操作したか(フルオート工場ではシステムIDになることも)。 |
| Wafer Map | ウェーハ情報 | ロット内の25枚のうち、どのウェーハが存在するか(割れて減っていないか)。 |
| Time Stamp | 時刻情報 | Track-InとTrack-Outの差分で「タクトタイム(処理時間)」を算出。 |
3. 半導体特有の高度なWIP機能
半導体製造ならではの、特殊で難しいWIPトラッキング機能があります。
① Q-Time(制限時間)管理
半導体プロセスは化学反応の塊なので、「洗浄してから2時間以内に炉に入れないと、表面が酸化して不良になる」といった厳格な時間制限があります。
機能: MESはTrack-Outした瞬間からタイマーを回します。次の工程のTrack-Inが制限時間を過ぎると、自動的にロットをロック(Hold)し、エンジニアの許可がないと進めないようにします。
② Split / Merge(分割・結合)
Split: ロット内の25枚のうち、5枚だけを抜き出して「実験用の別条件」で流したい場合、MES上でロットを「親ロットA」と「子ロットA-1」に分割し、別々のルートを歩ませます。
Merge: 実験が終わったら、再度合流させて1つのロットに戻します。
難点: 履歴データが枝分かれするため、システム設計が非常に複雑になります。
③ Future Hold(予約ロック)
「検査工程で異常が見つかったが、原因はこのロットが3日前に通った成膜工程かもしれない」という場合。
エンジニアは「現在流れている他のすべてのロットが、将来その検査工程に到達したら自動で止まるように予約」します。これをFuture Holdと呼びます。
④ Rethink / Rework(やり直し)
検査でゴミが見つかった場合、MES上で「洗浄工程に戻れ」と指示を出します。ロットの進捗ステップが過去に戻ります(リエントラント)。履歴上は「同じ工程を2回通った」ことが分かるように管理されます。
4. データベースではどうなっている?
WIPトラッキングを実現するためのデータベース設計(イメージ)は、主に2つのテーブルで構成されます。
Current WIP Table(現在地テーブル)
ロットごとの「今の状態」だけを持つ。レコード数はロット数と同じ。頻繁に更新(UPDATE)される。
{LotID: "L001", Status: "RUN", Step: "ETCH01", Eq: "EQ_A"}
Lot History Table(履歴テーブル)
過去のすべての動きを持つ。更新はされず、追記(INSERT)のみされる。レコード数は膨大になる。
{Time: "10:00", LotID: "L001", Action: "TrackIn", Step: "CLEAN01"}{Time: "10:05", LotID: "L001", Action: "TrackOut", Step: "CLEAN01"}
まとめ
WIPトラッキングとは、工場の「カーナビ 兼 ドライブレコーダー」です。
カーナビ機能: 次にどこへ行くべきかを示し、道を間違えないようにガイドする(ルート制御)。
ドラレコ機能: 事故(不良)が起きたとき、いつ・どこで・どんな運転をしていたかを完全に再生できるようにする(履歴管理)。
この機能により、数千枚のウェーハが複雑に入り乱れる工場でも、整然と製造が進められるのです。














