(2)処理槽で故障が発生して装置停止した後の生産再開時、プロセスNG発生時、ユニットNG発生時、ユニット使用・不使用設定変更時には、線形計画法スケジューラからシミュレーション法スケジューラへ制御を切り替える。
(3)基板処理装置内の回収対象基板が基板収納容器へ戻るまでの非定常状態では、後続の新規基板投入を含めシミュレーション法スケジューラにより運転制御を行う。基板処理装置運転が新規基板投入のみによる定常状態に戻った時点で制御を線形計画法スケジューラへ戻す。
以下、本発明の実施の形態について、詳細に説明する。本実施の形態では、基板処理装置として半導体基板にめっき処理を行うめっき装置を例に説明するが、本発明に係る基板処理装置はこれに限らず、例えば、ガラス基板に対してLCD製造用の処理を行う基板処理装置等各種の基板処理装置に適用できる。
図1は本発明の実施例に係るめっき装置の構成例を示す模式図である。本めっき処理装置10はロードポート11を備え、内部にロードロボット12、基板位置決め台13、洗浄乾燥機14、締付ステージ15a、15b、複数のストッカ16を備えた基板ホルダー貯留領域25、前水洗槽17、前処理槽18、水洗槽19、粗乾燥槽(ブロー槽)20、水洗槽21、複数のめっき槽22を備えためっき領域26、2台の搬送機23、24が配置された構成である。図1において、矢印Aは基板のロード移送行程を、矢印Bは基板のアンロードの移送行程を示す。ロードポート11には複数枚の未処理基板を収納した基板収納容器、複数枚の処理済基板を収納する基板収納容器が載置されるようになっている。
上記構成のめっき処理装置10において、ロードロボット12はロードポート11に載置された基板収納容器から未処理の基板を取り出し、基板位置決め台13に載置し、ノッチ、オリフラ等を基準に基板の位置決めを行う。次にロードロボット12は基板を締付ステージ15a、15bに移送し、該締付ステージ15a、15bで基板ホルダー貯留領域25のストッカ16から取り出した基板ホルダーに基板を装着する。ここでは2台の締付ステージ15a、15bでそれぞれの基板ホルダーに基板を装着し、2つの基板ホルダーを1組として搬送するようになっている。基板ホルダーに装着された基板は搬送機23により、前水洗槽17に移送され該前水洗槽17で前水洗処理された後、前処理槽18に移送され、該前処理槽18で前処理された後、更に水洗槽19に移送され、該水洗槽19で水洗処理される。
水洗槽19で水洗処理された基板は搬送機24でめっき領域26のいずれかのめっき槽22に移送され、めっき液に浸漬される。ここでめっき処理が施され基板に金属膜が形成される。該金属膜が形成された基板は搬送機24により水洗槽21に移送され、該水洗槽21で水洗処理された基板は粗乾燥槽(ブロー槽)20に移送され、該粗乾燥槽20で粗乾燥処理を施された後、搬送機23により締付ステージ15a、15bに移送され、ここで基板は基板ホルダーから外される。基板ホルダーから外された基板は、ロードロボット12で洗浄乾燥機14に移送され、洗浄・乾燥処理を施された後、ロードポート11に載置されている所定基板収納容器の所定位置(基板収納容器の上記未処理基板を取り出した位置又は別途載置された処理終了後の基板(処理済基板)を収納する基板収納容器の所定位置)に収納される。
上記ロードロボット12、搬送機23、及び搬送機24による矢印Aに示す基板のロード移送行程の搬送制御、及び矢印Bに示す基板のアンロードの移送行程の搬送制御は、後述する制御部の制御により行う。図2は制御部のハードウエア構成の一例を示す図である。図示するように、制御部30は、中央処理装置(CPU)31、キーボード、マウス等のポインティングデバイスや他のコンピュータ内に格納されたデータを読み込むための通信装置等の入力装置32、及び共有記憶装置33を備えている。共有記憶装置33はROM33−1、メモリ33−2、ハードディスク33−3を備えている。また、制御部30は入出力インターフェース34を介してめっき処理装置10のロードロボット12、搬送機23、及び搬送機24及び装置制御用コントローラ35に接続されており、CPU31からの信号は入出力インターフェース34を介して装置制御用コントローラ35に送られることにより、ロードロボット12、搬送機23、及び搬送機24が制御される。
本実施例では、線形計画法とシミュレーション法を切り替え、厳しいプロセス制約条件を満たしながら、高い生産量を実現するため、以下(1)乃至(3)に示す解決策を実行した。ここで、厳しいプロセス制約条件とは、プロセスが終了してから次のプロセスを開始するまでのプロセス時間間隔のことであり、図3に示すように、Lユニットレシピ処理からMユニットレシピ処理に移るプロセス時間間隔TPは、
TP=後処理時間T1+取出待ち時間T2+搬送時間T3+前処理時間T4
である。通常、めっき処理では、後処理時間T1及び前処理時間T4は0(T4=0,T1=0)、搬送時間T3はめっき槽22のどの列から取り出すかにより異なる。そこで、プロセス時間間隔TPを超えないように取出待ち時間T2を調整してスケジューリングする。
また、生産量とは、狭義的には、通常搬送時に単位時間当たりに処理できる基板の枚数のことであり、スループットと呼ぶが、ここでは、図4に示すように、故障発生から復旧時間(故障原因究明時間+故障修理時間+基板回収時間)を含めた広義の単位時間当たりの基板処理量である。
(1)故障の復旧後に、めっき処理装置内に残留した基板を回収しながら、新規の基板を投入できるような搬送スケジュールを行うことで、基板回収に要する時間を削減して基板の生産量を向上させる。
(2)基板のめっき処理中に故障が発生して、当該基板のめっき処理中の処理ユニット(めっき槽22)がそれ以降使用できなくなった場合に、当該処理ユニットを動的に使用不可に設定し、後続基板を継続してめっき処理することを可能にする搬送スケジューリングを行う。これにより、めっき処理装置を停止させて基板を回収する時間を削減して基板の生産量を向上させる。
(3)めっき処理プロセス不良が発生した場合、めっき処理装置内にある他の基板のめっき処理プロセス制約条件を満たしながら、該当基板を優先的にプロセスの継続が可能な他の同種別処理ユニットへ移動させるか、或いは基板収納容器へ回収するための搬送スケジュールを行うことにより、該当基板のプロセス的なダメージを可能な限り少なくして不良の発生を抑制する。
制御部30は、後に詳述するように、「新規基板投入処理」、「装置停止からの生産再開処理」、「ユニット(基板処理部)使用不可設定変更処理(ユニット不使用動的切り替え処理)」、「プロセスNG基板回収処理」を行う機能を有し、線形計画法及びシミュレーションを切り替えて基板搬送スケジュールを作成する。
図5は上記基板の搬送スケジュールを作成するスケジューラのアーキテクチャを示す図である。図示するように、本スケジューラ40はスケジューラ切替プロセス41、線形計画法スケジューラ45、シミュレーション法スケジューラ46、入出力インターフェース44を備える。スケジューラ切替プロセス41は線形計画法スケジューラ45とシミュレーション法スケジューラ46に対する制御指定の切替を行う。指定されたスケジューラのみが搬送制御スケジューリングを行い、装置制御用コントローラ51とデータ送受信をする。線形計画法スケジューラ45はめっき処理装置の定常運転状態における新規基板の投入制御に用いる。また、シミュレーション法スケジューラ46は非定常イベントを受信したときの基板回収等、及びシミュレーション法スケジューラ46に制御が戻されるか又はめっき処理装置が停止するまでの間における後続の新規基板投入スケジューリングに用いる。
線形計画法スケジューラ45とシミュレーション法スケジューラ46間の共有記憶装置33を介して受け渡すデータの中身は、主にスケジューリング済の基板搬送スケジュール、基板プロセス条件データとする。装置制御部システム50の装置制御用コントローラ51と線形計画法スケジューラ45及びシミュレーション法スケジューラ46間のデータ送受信を行うための入出力インターフェース44は、両スケジューラに対して共通であり、装置制御用コントローラ51を備えた装置制御部システム50との通信、及びスケジューラ切替プロセス41へのイベント通知、基板の搬送スケジュールの送受信を行う。共有記憶装置33は入出力インターフェース44、及びスケジューラ切替プロセス41で、パラメータ設定やレシピ設定、基板の搬送スケジュール等の各種データを受け渡す。
図6は基板搬送スケジューラのモジュール構成を示す図である。基板搬送スケジューラは、装置内のイベントに応じて基板搬送シミュレーションを行い、下記a)〜d)の機能を実現する。
a)新規基板投入スケジューリング機能(新規基板のプロセスレシピ条件に対応した基板搬送スケジュールを作成する機能)
b)生産再開スケジューリング機能(装置が故障停止した後、装置内に残留した全ての基板を回収するための基板搬送スケジュールを作成する機能)
c)ユニット使用・不使用動的切替機能(ユニット(基板処理部)設定切替と同時に、設定変更されたユニットを使用予定していた投入済基板、及び未処理基板の使用ユニットを変更する基板搬送スケジュールを作成する機能)
d)プロセスNG基板の回収スケジューリング機能((めっき)プロセス不良と判定された基板に関して、他の正常な基板のプロセスを継続しながら、迅速に他のプロセス継続が可能な同種別ユニットへ移動させるか、或いは水洗乾燥後基板を基板収納容器へ回収する基板搬送スケジュール作成機能))
ここで、ユニット使用不可設定処理とユニット不使用動的切り替え処理は同義で、ユニット使用不可設定処理は、ユニット使用・不使用動的切り替え処理に含まれる。
以下、上記めっき処理装置10における基板搬送制御の手順について説明する。図7は、線形計画法スケジューラ45の構成例を示すブロック図である。線形計画法スケジューラ45はスケジュール演算部45−1、解判断部45−2、基板搬送スケジュール作成部45−3、動作司令部45−6、及び再試行部45−5を備えている。
先ず、めっき処理装置10の運転開始に先立って、めっき処理装置10のロードロボット12、搬送機23、搬送機24(本明細書ではこれらを「搬送機器」と呼ぶことがある。)の各動作に必要とされる時間(以下、「動作予定時間」という)、例えば、ロードロボット12、搬送機23、24が処理機器から基板を受け取るために必要とされる予定時間やロードロボット12、搬送機23、24がある処理機器位置から他の処理機器位置に移動するために必要とさせる予定時間などの入力を入力装置32を操作して行う。
また、基板位置決め台13、洗浄乾燥機14、締付ステージ15、ストッカ16、前水洗槽17、前処理槽18、水洗槽19、粗乾燥槽20、水洗槽21、めっき槽22(本明細書ではこれらを「処理機器」と呼ぶことがある。)の各処理機器において基板を処理するために予定される時間(以下、「処理予定時間」という)などを入力する。この処理予定時間の入力も入力装置32を操作して行う。
なお、これらの動作予定時間及び処理予定時間を入力するための入力装置は、キーボードやポインティングデバイス等に限られるものではなく、例えば、上記動作予定時時間や処理予定時間を予めメモリ33−2やハードディスク33−3にファイルとして格納しておき、このファイルを読み込むことにより動作予定時間及び処理予定時間を入力することとしてもよいし、また、このようなファイルを他のコンピュータに保存しておき、これを通信装置を介して読み込むことにより動作予定時間及び処理予定時間を入力することとしてもよい。動作予定時間をファイルに格納する場合には、例えば、ロードロボット12、搬送機23、24等の各搬送機器に接続されたコンピュータによって実際に搬送機器の各動作に必要とされる時間を計測し、この計測された時間を動作予定時間としてファイルに格納することとしてもよい。また、この場合には、めっき処理装置10の運転中に搬送機器の各動作に必要とされる時間を計測し、平均化にどの処理を行って上記ファイルに格納された動作予定時間を更新すれば、動作予定時間の精度を向上させたり、経時変化に対処させたりすることが可能となる。
次に、線形計画法スケジューラ45のスケジュール演算部45−1によって、対象とする基板の最終枚(最終基板)が全処理を終えてめっき処理装置10から回収される時刻を最も早くするようにロードロボット12、搬送機23、24の搬送機器の各動作の動作時刻(以下、「実行時間」という)が導出される。この実行時刻の導出は所定条件を満たす解を算出することによって行うが、この詳細については後述する。
ここで、上記条件式を満たす解は必ず存在するとは限らず、上記線形計画法スケジューラ45のスケジュール演算部45−1での演算の後、上記条件を満たす解が得られたか否かが解判断部45−2で判断される。解が得られたと判断した場合には、実行時刻に基づいて基板搬送スケジュール作成部45−3で基板搬送スケジュール、即ち、上記得られた実行時刻と該実行時刻になったときに行うロードロボット12、搬送機23、24の動作とを対応づけたテーブルを作成(更新)し、該基板搬送スケジュールを共有記憶装置33のハードディスク33−3に格納する。
そして、めっき処理装置10の運転時には、ハードディスク33−3に格納された基板搬送スケジュールを参照してロードロボット12、搬送機23、24の搬送機器の制御を行う。即ち、ハードディスク33−3の基板搬送スケジュールに記憶されていた実行時刻になったときに、対応する搬送機器の動作を入出力インターフェース44を介して装置制御部システム50の装置制御用コントローラ51に指令する。これにより、対象とする基板の最終枚が全処理を終えためっき処理装置10から回収される時刻が最も早くなる。なお、装置制御用コントローラ51がロードロボット12、搬送機23、24の搬送機器に動作を指令する際には、その搬送機器が非動中であること、搬送元の処理機器における基板の処理が完了していること、及び搬送先の処理機器に先行する基板が存在せずリセットも完了していることを確認した上で、指令を送信する。これらの条件が満足されない場合には、動作司令部45−6は上記条件が満足されるまで待ってから指令を送信する。
一方、解判断部45−2が上記条件式を満たす解が得られないと判断した場合には、めっき処理装置10内の搬送機器及び処理機器上に同時に存在する基板の平均枚数を減じるように、即ち、基板の投入間隔を調整して、上記条件式を修正し、上記所定の条件に基づき実行時刻を導出する処理を行い、実行時刻の解を得る。この条件の修正は、搬送機器の動作予定時間と処理機器における処理予定時間を0とした仮想的な基板(以下、「空基板」という)を適当な間隔で基板間に挿入することにより行われる。このとき、装置内に同時に存在する基板の枚数が減れば、搬送機器の動作の頻度が小さくなって搬送機器に余裕が生じるため、解が得られる確率が増す。再試行後も解が得られない場合には、更に上述のめっき処理装置10内に同時に存在する基板の平均枚数を減じるように上記条件式を修正することとし、極端な場合には、先行する基板の全処理が終了して基板収納容器に回収されてから、次の基板がめっき処理装置10内投入されることになる。
次に、線形計画法スケジューラ45のスケジュール演算部45−1における条件式の設定及び実行時刻の導出を具体例と共に説明する。なお、以下に説明する条件式の設定及び実行時刻の算出は一例であり、他のあらゆる手法を用いて行うこともできる。
まず、ロードロボット12、搬送機23、24の搬送機器の動作の番号(動作番号)kを基板がめっき処理装置10に投入されてから回収されるまでの経路に沿って順に1,2.3.・・・,Kと定義する。まためっき処理装置10の運転開始から十分に時間が経過しためっき処理装置10内に基板が十分にあって定常的に運転されている状態を想定して、動作kに関し、対応する搬送機器の次に実行される動作の番号をkp(k)と表す。更に、めっき処理装置10の運転開始時には1枚目の基板の前に、また、運転終了時には最終基板の後に、上述した空基板が適当枚数存在すると仮定することにし、これら空基板を含めて、基板収納容器からめっき処理装置10への投入順に基板番号nを定めることとし、動作kから次の動作kp(k)に移るときに動作の対象とする基板の基板番号の増分をnp(k)と表す。例えば、図1に示すめっき処理装置10については以下のように定義する。
ロードロボット12がロードポート11に載置された基板収納容器から未処理の基板を取り出し、基板位置決め台13に搬送する動作をk=1、基板位置決め台13から位置決めされた基板を締付ステージ15a、15bに搬送する動作をk=2、基板ホルダー貯留領域25のストッカ16を取り出し締付ステージ15a、15bに搬送する動作をk=3、搬送機23が基板ホルダーに装着された基板を前水洗槽17に搬送する動作をk=4、前水洗槽17から前処理槽18に搬送する動作をk−5、前処理槽18から水洗槽19に搬送する動作をk=5、搬送機24で水洗槽19で水洗処理された基板をめっき領域26のいずれかのめっき槽22に搬送する動作をk=6、めっき槽22から水洗槽21に搬送する動作をk=7、水洗槽21から水洗処理された基板は粗乾燥槽(ブロー槽)20に搬送する動作をk=8、粗乾燥槽20で粗乾燥処理された基板を締付ステージ15a、15bに搬送する動作をk=9等と定義する。
更に、めっき処理装置10の運転開始から十分に時間が経過して、めっき処理装置10内に基板が十分にあって定常的に運転されている状態を想定して、ロードロボット12、搬送機23、24の搬送機器の動作順序を定めておく。例えば、搬送機24の動作順序を動作番号が3→5→4→6→7→3→・・・となるように周期的を定義する。この場合には、
kp(3)=5
kp(4)=6
kp(5)=4
kp(6)=7
kp(7)=3
と表すことができる。更に、動作kから次の動作kp(k)に移るときの基板番号の増分npも以下のように定めておく。なお、このnpは基板位置決め台13、洗浄乾燥機14、締付ステージ15、ストッカ16、前水洗槽17、前処理槽18、水洗槽19、粗乾燥槽20、水洗槽21、めっき槽22の各処理機器の各種別ごとに処理機器の数を考慮して定められる。
np=(3)=−2
np=(4)=−2
np=(5)=+2
np=(6)=−3
np=(7)=+6
このとき、各基板が同一種別内の各処理機器(例えばめっき領域の各めっき槽22)に投入順・周期的に割り当てられるものとすれば、以下に示す動作予定時間が一義的に定められる。これらの動作予定時間は、上述の入力装置32により入力されたもの、或いは入力された値を基に搬送機の位置や経路を考慮して計算により求められるものである。
M1(k,n):搬送機器が動作kの直前位置から基板nを受け取る前に移動する時間
G1(k,n):搬送機器が動作kで処理機器から基板nを受け取る時間
M(k,n):搬送機器が動作kで基板nを保持して移動する時間
G2(k,n):搬送機器が動作kで処理機器に基板nを引き渡す時間
M2(k,n):搬送機器が動作kで基板nを引き渡してから移動する時間
なお、これらの動作予定時間0となる場合がある。
また、これらの合計をTg(k,n)と定義しておく。即ち、
Tg(k,n)=M1(k,n)+G1(k,n)+M(k,n)+ G2(k,n)+M2(k,n)
と定義する。
また、以下の非負の変数を定義する。
xr(k,n):基板nに対する動作kの直前の搬送機器の休止時間
xw(k,n):基板nに対する動作kの直前の処理機器上での待ち時間
xf(k,n):基板nに対する動作kにより基板を処理機器に引き渡す直前の該処理機器の空き時間
なお、xw(k,n)は処理機器からの基板受け取りを含む動作についてのみ定義される。また、xf(k,n)は処理機器への基板の引き渡しを含む動作についてのみ定義されるが、実用的には、搬送機器間の基板の受け渡しに用いられる中継器に基板を引き渡す動作に限定してもよい。
ここで、基板nに対する動作kの開始時刻をt(k,n)で表すと、以下の3式が成立する。
t(kp(k),n+np(k))
=t(k,n)+Tg(k.n)
+xr(kp(k),n+np(k)) ・・・(式1)
t(k+1,n)
=t(k,n)+Tg(k.n)−M2(k,n)+P(k,n)
−M1(k+1,n)+xw(k+1,n)+xw(k+1,n)・・・(式2)
t(k,n)
=t(k+1,n−U(k))
+M1(k+1,n−U(k)+G1(k+1,n−U(k))
−M1(k,n)−G1(k,n)−M(k,n)+xf(k,n)
・・・(式3)
ここで、(式2)中のP(k,n)は動作番号kで表される動作後の基板番号nの処理予定時間であって、上記入力装置32により入力されたもの、或いは入力された値を基に計算されたものであり、通常基板ごとに指定されるめっき、洗浄等の処理予定時間に加えて、処理機器上で処理を行うに先立って実行されるシャッタ閉や液張り等の前動作や、処理を終えてから実行される液抜きやシャッタ開等の後動作に要する時間を含むものである。また、(式3)中のU(k)は動作kで基板を引き渡す処理機器に対する種別内の機器数を表す。
上記(式1)は基板nに対する動作kの次に同一の搬送機が行う動作の開始時刻、(式2)は基板nに対して処理機器での処理終了後次に行われる動作k+1の開始時刻、(式3)は搬送機器が処理機器からの処理後の基板を受け取った後次の基板nを引き渡す動作の開始時刻をそれぞれ表している。
上記(式1)〜(式3)の式は、T,Xr,Xw,Xfをそれぞれt(k,n),xr(k,n),xw(k,n),xf(k,n)を要求する列ベクトル、Rm,Wm,Fmを適当な行列、Rv,Wv,Fvを適当な列ベクトルとして、以下のように変形することができる。
T =RmXr+Rv ・・・(式1a)
Xw=WmXr+Wv ・・・(式2a)
Xf=FmXr+Fv ・・・(式3a)
ここで、上記(式1a)において、左辺のベクトルTには最終基板N(空基板を除く)に対する回収動作の開始時刻を表すt(K,N)に相当する要素があり、右辺のベクトルRmXrにおいてこれに対応する要素が最小となれば、対象とする基板の最終枚が全処理を終えてめっき処理装置10から回収される時刻を最も早くすることができる。この回収時刻を早くする条件は、cを適当なベクトルとして以下のように表すことができる。
cXr→最小 ・・・(式4)
ところで、上記(式1a)〜式(3a)で表される搬送動作が物理的に成立するための条件は、通常、Xr≧0,Xw≧0,Xf≧0であり、この不等式と上記(式1a)〜(式3a)とから、以下の不等式を導くことができる。
Xr≧0 ・・・(式1b)
WmXr≧−Wv ・・・(式2b)
FmXr≧−Fv ・・・(式3b)
ここで、ある処理機器において、搬送機器が先行する基板を受取ってから次の基板を引き渡し始めるまでに一定の時間を要する場合には、(式3b)の右辺の対応する要素に、この時間を加える。例えば、上述の締付ステージ15a、15bにおいては、ロードロボット12がホルダーから外された基板を受取った後、ホルダーが基板ホルダー貯留領域に返還された後、搬送機23が次の基板を引き渡すことができる。この場合には、右辺の対応する要素にホルダー返還所要時間を加えることとする。
また、(式1a)に表されるように、すべての動作開始時刻はXrの一次式で表されるから、任意の動作時刻に関する一次の制約条件はXrに関する一次不等式で表すことができる。例えば、制約条件として、動作k0において、直前の処理終了後の任意の基板を直ちに受け取ること、即ちxw(k0,n)=0であることを条件とするならば、上記(式2a)おいてk0に該当する行を取り出して、以下の一次不等式で表すことができる。
−Wm0Xr0≧Wv0 ・・・(式5)
なお、基板n0に対して、動作k0で直前の処理機器から基板を受け取ってから、動作k0+1で次の処理機器に引き渡すまでの時間に上限の制約条件を設ける場合にも、同様の形式の不等式を導くことができる。また、同様に、任意の2つの動作の開始時刻間に下限の制約条件を設けることができ、これにより、搬送機器にある程度余裕を持ったスケジュールを行うことが可能である。更に、動作kにより処理機器へ基板nを引き渡してから実際に処理を開始するまでの処理前の待ち時間xww(k,n)と定義し、上述の変数ベクトルXrに含めるように定式化することも可能である。この場合には、xw(k+1,n)に関する上限の制約条件を満たす確率を上げることができる。
以上により、(式1b)〜(式3b)、及び(式5)は、Aを適当な行列、bを適当な列ベクトルとすれば、以下の式で表すことができる。
AXr≧b ・・・(式6)
従って、最終基板の回収時刻を最も早くするためには、(式6)の下で(式4)の最小値を求めることが必要となるが、このようなXrの解は線形計画法の問題として解くことができる。この解Xrが得られれば、最終基板の回収時刻を最も早くする各動作の実行時刻(式1a)から得ることができ、これに基づいて上述した基板搬送スケジュール作成(更新)することができる。
図8は線形計画法スケジューラ45の他の構成例を示すブロック図である。めっき処理装置10を長時間連続して運転する場合には、各基板に対する処理予定時間が事前に与えられた場合だけであるとは限らず、運転中に、例えば、新しい基板収納容器をロードポートに載置(セット)する度に、基板収納容器内の未処理の基板に対する処理予定時間を与えて制御を行うことが考えられる。本実施形態のめっき処理装置10はこのような場合にも対応することができる。
即ち、本実施形態におけるめっき処理装置10は、スケジューリング対象時間領域をめっき処理装置10の運転中に後方に移動させながら、遂次スケジューリングを繰り返し、各スケジュールの結果を矛盾なく継ぎ足して制御を行うものである。本実施形態におけるめっき処理装置10は、図8に示すように共有記憶装置33のハードディスク33−3に格納されたコンピュータプログラムとCPU31(図2参照)との協動によって、スケジュール判断部45−11、演算条件決定部45−12、スケジュール演算部45−13、解判断部45−14、基板搬送スケジュール作成部45−15、動作指令部45−16、再試行部45−17が構成されている。
先ず、図7の場合と同様に、入力装置32により動作予定時間が入力される。更に入力装置32により処理予定時間が入力される。これら動作予定時間及び処理時間が入力されると、スケジュール判断部45−11が新たなスケジューリングが必要か否かを判断する。即ち、処理予定時間が入力されているのにスケジューリングがまだされていない基板がないかを検査する。このスケジュール判断部45−11により、スケジューリングがなされていない基板がない、即ち新たなスケジュールが必要ないと判断された場合には、演算条件決定部45−12により、現時点以降の一の想定時刻と、スケジューリング演算の対象とする最終基板(空基板を除く)とを決定する。最終基板は、既にスケジューリング済みの基板に加えて新たなスケジューリング演算の対象として追加される基板の最終枚であり、空基板ではないものとする。
この想定時刻と最終基板は、過去に導出されたスケジューリング結果において、最終非空基板(空基板でないものをいう)がめっき処理装置10に投入されてから最初に空基板を含む基板が基板収納容器に回収される時刻を想定時刻として、現時点から想定時刻までの間に余裕を持ってスケジューリング演算を完了できる範囲の追加基板の枚数を推定し、最終基板を決定する。追加基板の枚数の推定は、スケジューリングはまだされていないが処理予定時間が入力されている基板の枚数の範囲内に行われる。また、正の追加基板枚数が得られない場合には、想定時刻を次のスケジューリング済みの基板の回収時刻にずらして求められる。このようにすると想定時刻から最終基板が回収される時刻までの間が、概略のスケジューリング対象時間領域となる。
ここで、追加した基板の枚数に対してスケジューリング演算に要した時間の平均値が演算時間テーブルとして共有記憶装置33のハードディスク33−3内に保存されており、演算条件決定部45−12は、この演算時間テーブルに保存された演算の所要時間を考慮して適切基板枚数の推定を行う。この新たなスケジューリングによる最終基板の回収時刻は、全基板の処理予定時刻が事前に与えられている場合に実現される真の最早値(最も早い時刻)に比べて通常遅くなるが、各回のスケジューリングにおいて追加する基板の枚数をある程度大きくとれば、近似的に真の最早値に近くすることができる。
演算条件決定部45−12により想定時刻とスケジューリング演算の対象となる最終基板とが決定されると、次にスケジュール演算部45−13は、上述の追加基板を追加した後の条件式に基づいて上記スケジューリング対象時間領域内における搬送機器の各動作の実行時刻を導出する。
この場合において、過去に導出されたスケジューリング結果のうち、実行時刻が想定時刻より後の動作番号と基板番号の組を参照することにより、各動作kに対して着目する基板番号の下限を求める。或いは、搬送機器の動作順次から処理予定時間や動作予定時間によって想定時刻より後に起こり得る動作を求めて基板番号の下限を求めても良い。このようにすれば、過去のスケジューリング結果において、想定時刻が保持されてない動作が生じる場合もある。また、上述のスケジューリング演算の対象となる最終基板の基板収納容器への回収動作の開始時刻よりも前に起りえる動作を求めて、基板番号の上限を定める。ここで、最終基板以降の基板に関しては、動作時間と処理時間が0の空基板が存在すると仮定する。
このようにして定められた基板番号の下限と上限とに基づいて、上述した未知の列ベクトルT,Xr等が構成され、スケジューリング演算が行われる。そして、各回のスケジューリング演算において、演算に実際に要した時間に基づいて上記演算時間テーブルに保存された演算の所要時間の平均値が更新される。
なお、連続運転開始時にはスケジューリングの即応性を特に重視するため、先頭の1枚目の基板に対し、(式1)〜(式3)が成立する最小値としてk=1,2,・・・Kの順に動作時刻を求める。めっき処理装置10内で処理される基板が1枚の場合、このようにすれば該基板の回収時刻は最も早くなる。また、処理予定時間や動作予定時間が極端な値をとらない限り、基板は、各処理機器で処理された後すぐにロードロボット12、搬送機23、24の搬送機器によって次の処理機器に搬送される。よって、与えられた制約条件を満たす最適解が求められることとなる。
スケジュール演算部45−13による処理の後、図7の実施形態と同様に、解判断部45−14により実行時刻の解が得られるか否かが判断され、実行時刻の解が得られた場合は基板搬送スケジュール作成部45−15により基板搬送スケジュールが作成(更新)される。基板搬送スケジュールが作成(更新)された後は、上記処理を繰り返す。動作指令部45−16は、図7の場合と同様に、ハードディスク33−3に格納された基板搬送スケジュールを参照することにより、ロードロボット12、搬送機23、24の搬送機器の制御を行う。
一方、解判断部45−14で実行時刻の解が得られないと判断された場合には、図7の場合と同様、再試行部45−17により空基板が各基板間に挿入されるが、かかる場合には、演算条件決定部45−12は、この挿入される空基板をも考慮して、非空の追加基板が存在するように、想定時刻とスケジュール演算の対象となる最終基板とを決定する。
なお、本実施形態においては、新たにスケジューリングで求められるロードロボット12、搬送機23、24の搬送機器の動作の実行時刻が想定時刻よりも前になることがあるので、上述した追加基板枚数の推定において安全率を大きめに設定し、想定時刻より早くスケジューリング運算を終えて動作指令部45−16によるロードロボット12、搬送機23、24の搬送機器への動作指令を行えるようにする必要がある。
図9はスケジュールリングプロセスのメイン処理のフローを示す図である。ステップST1で装置制御部システム50の装置制御用コントローラ51(図5参照)からスケジューラコマンドを受信し、ステップST2に移行する。該ステップST2では、装置始動要求有りかを判断し、有り(Y)の場合はステップST3に移行し、無し(N)の場合は上記ステップST1に戻る。ステップST3では装置始動処理(動作予定時間、ユニット使用・不使用設定、プロセス制約時間を入力)し、続くステップST4では、スケジューラ選択初期設定を線形計画法としてステップST5に移行する。
ステップST5では、装置制御用コントローラ51からスケジューラコマンドを受信し(ここではスケジューラコマンド受信と同時に、各々のプロセスにおける処理予定時間を入力する)、ステップST6に移行する。ステップST6では、装置コマンドの種類を判断し、装置コマンドが「新規基板投入」、「装置生産再開」、「ユニット使用・不使用動的切替」、「プロセスNG発生」かにより、それぞれステップST11、ステップST12、ステップST13、ステップST14に移行する。ステップST11ではスケジューラ選択が線形計画法かシミュレーション法かを判断し、線形計画法である場合はステップST21の新規基板投入処理線形計画法に、シミュレーション法である場合はステップST22の新規基板投入処理シミュレーション法に移行する。ステップST12ではスケジューラ制御切替を線形計画法からシミュレーション法とし、ステップST23に移行し、ステップST23では装置停止からの生産再開処理を行い、ステップST30に移行する。ステップST13ではスケジューラ制御切替を線形計画法からシミュレーション法とし、ステップST24に移行し、ステップST24ではユニット使用不可設定変更処理(ユニット不使用動的切り替え処理)を行い、ステップST30に移行する。ステップST14ではスケジューラ制御切替を線形計画法からシミュレーション法とし、ステップ25に移行し、ステップ25では、プロセスNG基板回収処理を行い、ステップST30に移行する。
ステップST30では、装置内に処理中基板が有るか又は処理予定基板が有るかを判断し、イエス(Y)の場合はステップST31に移行し、装置制御用コントローラ51の基板搬送スケジュールを更新し(これは段落0057の「ハードディスク33−3の基板搬送スケジュールに記憶されていた実行時刻になったとき、対応する搬送機器の動作を入出力インターフェース44を介して装置制御部システム50の装置制御用コントローラ51に指令する。」と同義である。なお、本発明の実施形態において「基板搬送スケジュールを更新」とは同義である。)、ステップST32に移行する。ステッでST32では装置停止要求が有るかを判断し、イエス(Y)の場合はステップST33でスケジュール演算部停止処理を行い、ノー(N)の場合はステップST40に移行する。ステップST40では、スケジューラ制御をシミュレーション法から線形計画法切替判定し装置運転状態が定常的切替可か非定常的切替不可を判断し、定常的切替可の場合はステップST41に移行し、スケジューラ制御切替をシミュレーション法から線形計画法とし、ステップST5に戻る。非定常的切替不可の場合はステップST5に戻る。
・線形計画法スケジューラは、通常の装置運転制御において常に最大のスループットを発揮することを主眼として開発された技術であるので、その利点を活かして定常的に装置運転の制御手段として用いる。
・シミュレーション法スケジューラは、最大スループットの発揮を保証できる技術ではない。しかし、生産再開、ユニット使用・不使用動的切替、プロセスNG発生時等のイベントに対して、プロセス制約条件を満たしながら基板回収などの基板搬送スケジュールを柔軟に作成できるという利点を持つ。従って、本技術はそのような非定常的な装置運転の制御手段として用いる。
シミュレーション法により搬送スケジュール作成後、基板回収などの非定常的な基板搬送スケジュールが含まれた状態で運転制御手段を線形計画法スケジューラへ戻すとスケジューリングにおいて非常に複雑困難な演算を要求される。従って、本実施形態では、装置運転が新規投入基板のみの定常状態に戻ってから運転制御手段をシミュレーション法から線形計画法に戻している。
図10は新規基板投入処理線形計画法(図9のステップST21)のフローを示す図である。先ずステップST21−1ではスケジューリングが必要な基板が有るかを調べ、有り(Y)の場合はステップST21−2に移行する。ステップST21−2では想定時刻及び最終基板決定を行い、ステップST21−3に移行する。該ステップST21−3では搬送条件及びプロセス制約条件各条件式を設定し、ステップST21−4に移行する。ステップST21−4では所定の条件式に基づき線形計画法演算により基板搬送スケジュール計算を行い、ステップST21−5に移行する。
ステップST21−5では、条件を満たす基板搬送スケジュールが存在するかを調べ、無し(N)の場合は、ステップST21−6に移行し、基板投入間隔再調整を行い、前記ステップST21−2に戻る。有り(Y)の場合は基板搬送スケジュール更新を行い、ステップST21−8に移行する。ステップST21−8では、全ての新規投入基板のスケジューリングが終了したかを調べ、終了していない場合(N)の場合はステップST21−1に戻り、上記処理を繰り返す。
図11は新規基板投入処理シミュレーション法(図9のステップST22)のフローを示す図である。先ずステップST22−1では、装置内に先行処理中基板が有るかを調べ、無い(N)場合はステップST22−2に移行し、有り(Y)の場合はステップST22−4に移行する。ステップST22−2で搬送シミュレーションデータ初期化を行い、ステップST22−3に移行する。該ステップST22−3では先頭新規基板投入搬送シミュレーションを行い、ステップST22−4に移行する。
ステップST22−4では、後続基板同一レシピ投入かを判断し、イエス(Y)の場合はステップST22−5に移行し、ノー(N)の場合はステップST22−6に移行する。ステップST22−5では、スループット検証を行い、最大スループットパラメータを選択し、ステップST22−6に移行する。該ステップST22−6では後続新規基板投入搬送シミュレーションを行い、ステップST22−7に移行する。該ステップST22−7では基板搬送スケジュール更新を行う。
図12は装置停止からの生産再開処理(図9のステップST23)のフローを示す図である。装置停止からの生産再開処理では、先ずステップST23−1で装置制御用コントローラの装置内残留基板位置データを読み込み、ステップST23−2に移行する。該ステップST23−2では搬送シミュレーションデータ初期化を行いステップST23−3に移行する。該ステップST23−3では装置最下流側未回収残留基板の検索を行いステップST23−4に移行する。該ステップST23−4では未回収残留基板が有るかを判断し有り(Y)の場合はステップST23−5に移行し、無し(N)の場合はステップST23−7に移行する。ステップST23−5では新規回収対象基板を指定し、ステップST23−6に移行する。該ステップST23−6では回収指定残留基板回収搬送シミュレーションを行い、ステップST23−3に戻る。ステップST23−7では、基板搬送スケジュール更新を行う。
図13はユニット使用不可設定変更処理(ユニット使用不可設定動的切替処理)(図9のステップST24)のフローを示す図である。ユニット使用不可設定変更処理では、先ずステップST24−1で対象ユニットの使用・不使用設定切替を行い、ステップST24−2に移行する。該ステップST24−2では、当該ユニット変更後設定が使用か不使用かを判断し、不使用の場合はステップST24−3に移行する。該ステップST24−3では当該ユニット使用予定基板上流側検索を行い、使用予定基板有りの場合はステップST24−4に移行し、使用予定基板無しの場合はステップST24−7に移行する。ステップST24−4では同種別使用可能代替ユニットの有無を検索し、「無」の場合はステップST24−5に移行し、「有」の場合はステップST24−6に移行する。
ステップST24−5では、当該ユニット使用予定基板の回収搬送シミュレーションを行いステップST24−7に移行する。また、ステップST24−6では、当該ユニット使用予定上流基板の搬送スケジュールを代替ユニット使用へ変更し、ステップST24−7に移行する。ステップST24−7では、当該ユニット使用予定基板処理開始前の基板検索を行い、処理開始前基板有りの場合はステップST24−8に移行し、処理開始前基板無しの場合はステップST24−10に移行する。ステップST24−8では処理開始前基板の基板搬送スケジュールを削除し、ステップST24−9に移行する。該ステップST24−9では処理開始前基板再投入シミュレーションを行いステップST24−10に移行する。該ステップST24−10では、基板搬送スケジュールの更新を行う。
図14はプロセスNG基板回収処理(図9のステップST25)のフローを示す図である。プロセスNG基板回収処理では、先ずステップST25−1でNG対象基板の基板搬送スケジュールを削除し、ステップST25−2に移行する。該ステップST25−2では、同種別の使用可能代替ユニットを検索し、同種別の使用可能代替ユニットが有ったらステップST25−3に移行し、無かったらステップST25−5に移行する。このプロセス異常発生ユニットと同種別で代替ユニットが存在するかどうかの判定は、上流側又は基板収納容器に代替ユニットを使用する予定の正常基板が存在しないこと、或いは存在した場合には代替ユニットを使用予定の基板がそこへ到着する前にプロセスNG基板の代替ユニットでのプロセスが終了するタイミングであれば「有」と看做す。
ステップST25−3では、プロセスNG基板の代替ユニットプロセス継続搬送シミュレーションを行い、ステップST25−4に移行する。プロセスNG基板をプロセス制約時間内に異常ユニットから代替ユニットへ搬送してプロセス継続を行い、他の正常基板のプロセス制約条件を守りながら、プロセスNG基板を含め全ての基板を正常に基板収納容器へ戻すための搬送シミュレーション行う。ここで搬送シミュレーションの方法の詳細は生産再開における「回収指定残留基板回収搬送シミュレーション」と(ステップST23−6)同様である。
ステップST25−4では、プロセス継続搬送シミュレーションが成功したか否かを判定し、イエス(Y)の場合はステップST25−6に移行し、ノー(N)の場合はステップST25−5に移行する。本判定では、上記搬送シミュレーションでプロセスNG基板を含め全ての基板がプロセス制約条件を守って正常に基板収納容器へ戻ったかどうかを判定する。
ステップST25−5ではプロセスNG基板回収搬送シミュレーションを行い、ステップST25−6に移行する。プロセスNG基板を異常発生ユニットから取り出して水洗、乾燥処理を経由して基板収納容器へ戻すための搬送シミュレーションを行う。他の正常基板はプロセス継続を行う。ここで搬送シミュレーションの方法の詳細は生産再開における「残留基板回収搬送シミュレーション」と同様である。ステップST25−6では、基板搬送スケジュール更新を行う。
以下、上記各処理について説明する。図15は新規基板投入搬送シミュレーション処理(図11のST22−3、ST22−6)のフローを示す図である。図15において、Nは基板収納容器(ロードポート11)数、UNIT_NUMはユニット(めっき槽22)総数、TRF_NUMは搬送機台数を示す。先ずステップST101では、搬送シミュレーションの始めに、ユニット(めっき槽22)情報や搬送機(ロードロボット12、搬送機23、24)情報、投入済基板搬送スケジュールを参照するポインタを初期化し、搬送シミュレーション初期化を行い、ステップST102の搬送シミュレーション時刻計時処理に移行する。ステップST102の搬送シミュレーション時刻計時処理では、搬送機やユニット処理の次のステータス移行イベントまでの最小残り時間を検索し計時処理を行い、ステップST103、104に移行する。
ステップST103では、基板収納容器での新規投入基板又は投入済基板の投入開始処理を行い、ステップST104では、全プロセスユニットにおいてステータスの更新処理を行い、ステップST105に移行する。該ステップST105では、全ての搬送機において、搬送機ステータスの更新処理を行いステップST106に移行する。該ステップST106では、プロセスユニット又は搬送機に存在する新規投入基板に関して、搬送開始のための判定処理を行い、ステップST107に移行する。該ステップST107では、基板搬送スケジュールの参照ポインタが参照する投入済基板に関して、次の搬送開始のための判定処理を行い、ステップST108に移行する。
ステップST108では、新規投入基板又は投入済基板に関して搬送機開始判定処理により搬送開始を要求された基板の搬送機開始処理を行い、ステップS109に移行する。ステップST109では、上記ステップST104のステータス更新処理又はステップST105の搬送機ステータス更新処理においてプロセス制約条件を逸脱したエラーが発生した場合には、搬送シミュレーションデータを初期状態に復元してロード開始時刻を遅延する搬送エラー処理を行い、ステップST110に移行する。該ステップST110では、ロードポート11において処理開始要求信号をONにした後に搬送シミュレーションのロード前状態記憶要求が発生したときには、現在の搬送シミュレーションデータをロード前状態の記憶領域へコピーする処理を行い、ステップST111に移行する。
ステップST111では、搬送シミュレーション装置内にプロセス中の新規投入又は投入済の基板が存在するかを検索し、有り(Y)の場合はステップST102に戻り、無し(N)の場合、即ち新規基板及び投入済基板の搬送が全てプロセス制約を満たして正常に処理終了して指定基板収納容器へ戻ったことを確認したら、ステップST112に移行し、搬送シミュレーション終了処理を行う。この搬送シミュレーション終了処理では、新規に作成された基板搬送スケジュールを投入済基板搬送スケジュール変数領域に上書きコピーする。
図16は図15のステップST101の搬送シミュレーション初期化処理のフローを示す図である。先ずステップST101−1では、搬送シミュレーション状態を前回投入済基板のロード前状態へ初期化し、ステップST101−2に移行する。この搬送シミュレーション状態には、全てのユニット情報データ、搬送機情報データ、その他搬送シミュレーションに必要なデータを含む。初期化は、前回投入基板の搬送シミュレーション開始時に記憶領域にコピー(ステップST101−7)しておいたデータセットを搬送シミュレーション変数領域へ上書きコピーする。
前記ステップST101−2では、投入済基板搬送スケジュールの参照ポインタを新規投入基板ロード前状態へ初期化し、ステップST101−3に移行する。参照ポインタは、投入済基板の搬送開始の既存基板搬送スケジュールを順次参照するのに用いる。ステップST101−3は新規投入基板の前回投入済基板に対するロード待機時間を計算し、ステップST101−4に移行する。ロード待機時間下限をデフォルト値又はスループット検証結果値とする。ある複数のユニットから成る種別において全てのユニットが使用中の場合、最早に空になるユニットを検索して、そのユニットにスムーズに該当新規投入基板が収納されるようなロード待機時間を算出する。その計算された時間は上記下限値以上とする。
前記ステップST101−4では、新規投入基板のロード開始時刻を前回投入済基板の開始時刻にロード待機時間を加算して設定し、ステップST101−5に移行する。ステップST101−5では、装置現在時刻>新規投入基板ロード開始時刻かを判断し、イエス(Y)の場合はステップST101−6に移行し、ノー(N)の場合ステップST101−7に移行する。ステップST101−6では新規投入基板ロード開始時刻を装置現在時刻にマージン時間を加算して再設定し、ステップST101−7に移行する。ここでのマージン時間は、装置現在時刻にスケジューリングを開始して終了するまでの余裕をみた所要時間として予め定数設定しておいたものを用いる。なお装置現在時刻は装置制御用コントローラ51より読み込むものとする。前記ステップST101−7では、搬送シミュレーション状態変数データを全てロード前の記憶領域へコピーする。
図17は図15のステップST102の搬送シミュレーション時刻計時処理フローを示す図である。ステップST102−1では、ユニット次ステータス移行までの残り時間最小値を検索し、インターバル時間に設定し、ステップST102−2に移行する。ステップST102−2では、新規投入基板搬送開始時刻までの残り時間がインターバル時間より小さい(残り時間<インターバル時間)かを判断し、イエス(Y)の場合はステップST102−3に移行し、ノー(N)の場合はステップST102−4に移行する。ステップST102−3では新規投入基板搬送開始時刻までの残り時間をインターバル時間に設定し、ステップST102−4に移行する。
前記ステップST102−4では、搬送機の次ステータス移行までの残り時間最小値を検索し、ステップST102−5に移行する。ステップST102−5では搬送機の次ステータスまでの残り時間最小値がインターバル時間より小さい(残り時間最小値<インターバル時間)かを判断し、イエス(Y)の場合ステップST102−6に移行し、ノー(N)の場合はステップST102−7に移行する。ステップST102−6では搬送機の次ステータスまでの残り時間最小値をインターバル時間に設定し、ステップST102−7に移行する。ステップST102−7では、投入済基板搬送開始時刻までの残り時間最小値を検索し、ステップST102−8に移行する。
ステップST102−8では、投入済基板搬送開始時刻までの残り時間最小値がインターバル時間より小さい(残り時間最小値<インターバル時間)かを判断し、イエス(Y)の場合はステップST102−9に移行し、ノー(N)の場合はステップST102−10に移行する。ステップST102−9では投入済基板搬送開始時刻までの残り時間最小値をインターバル時刻に設定する。ステップST102−10では搬送詰まりエラーを監視し、ステップST102−11に移行する。ここで搬送詰まりエラー監視は、インターバル時間が一定回数以上にわたりゼロとなる状況を監視する。もしこのような状況が発生した場合には搬送エラーとして、新規基板投入時間を定数値に設定する。ステップST102−11では搬送シミュレーション時刻にインターバル時間を加算する。
図18は図15のステップST103の基板収納容器新規投入基板又は投入済基板投入開始処理のフローを示す図である。先ずステップST103−1では、次ロード指定投入基板を検索し、ステップST103−2に移行する。この次ロード指定投入基板検索は、スケジュール投入済の処理基板の順に次ロード基板を検索指定していき、最後尾で新規投入基板を次ロード指定する。ステップST103−2では次ロード指定投入基板ロード開始時刻経過かを判断し、イエス(Y)場合はステップST103−3に移行し、ノー(N)の場合はステップST103−11に移行する。ステップST103−3で基板収納容器ユニット情報指定投入基板データを登録し、ステップST103−4に移行する。ステップST103−4では、新規投入基板or投入済基板かを判断し、新規投入である場合はステップST103−5に移行し、投入済である場合はステップST103−12に移行する。
ステップST103−5では、新規投入基板の全プロセス使用ユニット検索し、ステップST103−6に移行する。新規投入基の投入開始から基板収納容器に戻るまでの全てのプロセスに対して、予め使用する予定のユニットを検索しておく。もしプロセス対象種別のユニットが複数あり全て使用中の場合には、最早で終るユニットに合わせてロード開始時刻を調整する。前記ステップST103−6では、新規投入基板に対して全てのプロセスで使用可能な空きユニットの検索が成功したかを判断し、検索成功(Y)の場合はステップST103−7に移行し、検索不成功(N)の場合はステップST103−13に移行する。ステップST103−7では、基板収納容器ユニットの搬送開始要求信号をONにして、ステップST103−8に移行する。該ステップST103−8では、搬送シミュレーション情報ロード前状態記憶要求信号をONにする。ここでロード前状態記憶要求信号をONにすると、搬送シミュレーションループ後方で搬送シミュレーション情報の指定記憶領域へのコピーが行われる。
また、ステップST103−11では、ロード開始時刻までの残り時間を設定する。また、ステップST103−12では、基板収納容器ユニット搬送開始要求信号をONにする。また、ステップST103−13では、ロード開始時刻を開始可能時刻まで遅延し、ステップST103−14に移行し、該ステップST103−14でロード開始時刻までの残り時間を設定する。
図19は図15のステップST104のユニットステータス更新処理フローを示す図である。先ステップST104−1でユニット処理経過時間に搬送シミュレーションインターバル時間を加算し、ステップST104−2に移行する。ステップST104−2では、ユニット処理経過時間が次ステータス移行時間を経過したか(ユニット処理経過時間≧次ステータス移行時間)かを判断し、イエス(Y)の場合はステップST104−3に移行し、ノー(N)の場合はステップST104−40に移行する。ステップST104−3では、ユニット処理ステータスを判断し、「処理中」であればステップST104−11へ、「処理終了」であればステップST104−21へ、「リセット」であればステップST104−31へそれぞれ移行する。
前記ステップST104−11では、ユニット処理ステータスを「処理終了」へ変更し、続くステップST104−12で基板搬送要求信号をONにする。ステップST104−21では、ユニット処理ステータス「リセット」移行要求信号がONかを判断し、イエス(Y)の場合は、ステップST104−22に移行し、該ステップST104−22でユニット情報基板データを削除し、ステップST104−23に移行する。該ステップST104−23ではユニット処理ステータスを「リセット」へ変更し、ステップST104−24に移行し、ステップST104−24で次ステータス移行時間にリセット時間を加算し、ステップST104−25に移行し、ステップST104−25では次ステータス移行時間までの残り時間を設定する。前記ステップST104−31では、ユニット処理ステータスを「処理停止」へ変更し、続くステップST104−32ではユニット情報データを全て消去する。
図20は図15のステップST105の搬送機ステータス更新処理フローを示す図である。先ステップST105−1で搬送機搬送処理経過時間に搬送シミレーションインターバル時間を加算し、ステップST105−2に移行する。ステップST105−2では搬送処理経過時間が次ステータス移行時間を経過した(搬送処理経過時間≧次ステータス移行時間)かを判断し、イエス(Y)の場合はステップST105−3に移行し、ノー(N)の場合はステップST105−50に移行する。ステップST105−3では搬送ステータスを判断し、「移動中」ではステップST105−11、「取出中」ではステップST105−21、「収納中」ではステップST105−31、「退避中」ではステップST105−41にそれぞれ移行する。
ステップST105−11では搬送機非干渉条件成立かを判断しイエス(Y)の場合はステップST105−12に、ノーの場合はステップST105−16に移行する。ステップST105−12では搬送機搬送種別を判断し、「取出」の場合はステップST105−13に移行し、搬送ステータスを「取出中」へ変更し、「収納」の場合はステップST105−14に移行し、搬送ステータスを「収納中」へ変更する。また、ステップST105−16では次ステータス移行時間を遅延更新する。
ステップST105−21では、ユニット内基板搬送要求信号がONかを判断し、イエス(Y)の場合はステップST105−22に移行し、ノー(N)の場合はステップST105−25に移行する。ステップST105−22ではユニット処理ステータスを「リセット」移行要求し、続くステップST105−23で搬送ステータスを「停止中」へ変更(搬送終了)し、続くステップST105−24でプロセス後放置時間上下限搬送エラーを監視する。また、ステップST105−25では次ステータス移行時間にユニット処理残り時間分を遅延加算する。
ステップST105−31では搬送基板データをユニット情報へコピーし、続くステップST105−32では収納先ユニットステータス「処理中」へ移行プロセス起動し、ステップST105−33に移行する。該ステップST105−33では搬送機位置干渉領域外かを判断し、イエス(Y)の場合はステップST105−34に移行し、ノー(N)の場合はステップST105−36に移行する。ステップST105−34では搬送ステータスを「停止中」へ変更(搬送終了)し、続くステップST105−35で搬送機情報データを全て消去し、ステップST105−37に移行する。また、ステップST105−36では搬送ステータスを「退避中」へ変更し、ステップST105−37に移行する。ステップST105−37では、プロセス時間間隔上下限搬送エラーを監視し、続くステップST105−38で搬送機保持時間上限搬送エラーを監視する。
ステップST105−41では、搬送機現在位置データを待機位置へ変更し、続くステップST105−42に移行し、ステップST105−42では搬送ステータスを「停止中」へ変更(搬送終了)し、ステップST105−43に移行し、ステップST105−43では搬送機情報データを全て消去する。また、前記ステップST105−50では次のステータス移行時間までの残り時間を設定する。
図21は図15のステップST106の新規投入基板搬送開始判定処理フローを示す図である。先ずステップST106−1では、指定搬送機停止中&搬送開始要求信号がOFFであるかを確認し、イエス(Y)であったらステップST106−2に移行する。ステップST106−2では、現在シミュレーション時刻が搬送開始時刻を経過した(現在シミュレーション時刻≧搬送開始時刻)かを判断し、イエス(Y)であればステップST106−3に移行し、ノー(N)であればステップST106−11に移行する。ここで搬送開始時刻は、取出の場合はユニット情報に対してプロセスレシピ設定時間から搬送機到達の所定時間を差し引いて設定された時刻を指す。また、収納の場合は現在シミュレーション時刻そのものとする。
ステップST106−3では搬送機非干渉条件判定処理を行い、続くステップST106−4では、搬送機条件判定、取出元・収納先ユニット条件判定を行い、ステップST106−5に移行する。本判定では、搬送機条件として取出しする場合には搬送機ハンドが基板をもっていないか、収納する場合には基板をもっているかを判定する。また、取出元・収納先ユニット条件として、取出元に基板が存在して収納先に別の基板が無いかを判定する。
ステップST106−5では、上記搬送機非干渉条件&搬送機条件&取出元・収納先ユニット条件の全てが成立しているかを判断し、イエス(Y)の場合はステップST106−6に移行する。ステップST106−6では、新規投入基板搬送開始優先判定し、ステップST106−7に移行する。本判定では、その搬送をすぐ開始すると投入済基板搬送の開始時刻遅れ時間が設定許容値を越える場合、新規基板搬送を投入済基板に対して優先するかを優先順位パラメータで判定する。
ステップST106−7では、新規投入基板の搬送遅延時間が0に等しい(=0)か又は正数値(>0)かを判断し、0の場合はステップST106−8に移行し、搬送機に対して搬送開始要求信号をONにする。また、正数の場合はステップST106−12に移行し、搬送開始時間に遅延時間を加算して残り時間を設定する。この残り時間は、搬送シミュレーション時刻計時用のインターバル時間計算に用いる。
図22は図15のステップST107の投入済基板の搬送開始判定処理のフローを示す図である。先ずステップST107−1では、指定搬送機停止中&で搬送開始要求信号がOFFであるかを判断し、イエス(Y)であればステップST107−2に移行する。該ステップST107−2では、現在シミュレーション時刻が搬送実行時刻テーブル搬送開始予定時刻を経過した(現在シミュレーション時刻≧搬送実行時刻テーブル搬送開始予定時刻)かを判断し、イエス(Y)の場合はステップST107−3に移行し、ノー(N)の場合はステップST107−11に移行する。ここで、搬送開始予定時刻は、基板搬送スケジュールのポインタが参照する行における時刻を指す。
ステップST107−3では、搬送機非干渉条件判定を行いステップST107−4に移行する。本判定は指定搬送機が隣接搬送機との干渉領域に入る場合、隣接搬送機が干渉領域内へアクセスしていないか、又はアクセスする予定の場合には指定搬送機が干渉領域を予約しているかを判定する。ステップST107−4では、搬送機条件判定、取出元・収納先ユニット条件判定を行い、ステップST107−5に移行する。この搬送機条件判定、取出元・収納先ユニット条件判定では、搬送機条件として取出する場合には搬送機ハンドが基板を持っていないか、収納する場合には、基板を持っているかを判定する。また、取出元・収納先ユニット条件として、取出元に別の基板が無いかを判定する。ステップST107−5では、上記搬送機非干渉条件&搬送機条件&取出元・収納先ユニット条件の全てが成立するかを判断し、イエス(Y)の場合はステップST107−6に移行する。
ステップST107−6では、投入済基板の搬送開始優先判定をし、ステップST107−7に移行する。ステップST107−7では、投入済基板搬送開始遅延時間が0に等しいか(=0)か又は正数値(>0)かを判断し、0の場合はステップST107−8で搬送機に対して搬送開始要求信号をONにし、正数値の場合はステップST107−12で搬送開始予定時刻に遅延時間を加算して残り時間を設定する。ここで残り時間は、搬送シミュレーション時刻計時用のインターバル時間計算に用いる。
図23は図15のステップST108の新規投入基板又は投入済基板、搬送機開始処理のフローを示す図である。先ずステップST108−1で指定搬送機停止中&搬送開始要求信号がONかを判断しイエス(Y)であったらステップST108−2に移行し、該ステップST108−2で搬送機情報データへ搬送基板データ、搬送動作を設定し、ステップST108−3に移行する。該テップST108−3では搬送ステータスを「移動中」へ設定し、続くステップST108−4では、搬送機次ステータス移行までの残り時間に移動時間を設定し、ステップST108−5に移行し、該ステップST108−5では、基板搬送スケジュールへ当該搬送データを登録し、ステップST108−6に移行する。ステップST108−6では新規投入基板or投入済基板かを判断し、「投入済」の場合はステップST108−7に移行し、投入済基板搬送スケジュール参照ポイントを更新し、「新規投入」の場合はステップST108−8に移行し搬送機搬送開始要求信号をOFFとする。
図24は図15のステップST109の搬送エラー処理フローを示す図である。先ず、ステップST109−1では、新規基板投入遅延時間が正数値(新規基板投入遅延時間>0)かを判断し、イエス(Y)の場合はステップST109−2に移行し、搬送シミュレーション状態を新規投入基板ロード前の初期状態へ復元し、ステップST109−3に移行する。ここで搬送シミュレーション状態の復元は、前回投入基板の搬送シミュレーション開始時に記憶領域にコピーしておいたデータセットを搬送シミュレーション変数領域へ上書きコピーする。ステップST109−3では、投入済基板搬送スケジュールの参照ポインタを新規投入基板ロード前の初期状態へ復元し、続くステップST109−4で新規投入基板のロード開始時刻を遅延時間だけ延期させる。
図25は図15のステップST110の搬送シミュレーション情報指定状態を記憶領域へコピーする処理フローを示す図である。先ずステップST110−1では、搬送シミュレーション情報記憶要求信号がONかを判断し、イエス(Y)の場合はステップST110−2に移行し、搬送シミュレーション情報指定状態を記憶領域へコピーし、続くステップST110−3に移行し搬送シミュレーション情報記憶要求信号をOFFとする。
図26は図15のステップST112の搬送シミュレーション終了処理フローを示す図である。ステップST112−1において、作成された基板搬送スケジュールを投入済基搬送スケジュール変換領域へ上書きコピーする。
〔スループット検証〕
図11のステップST22−5のスループット検証処理は下記のように行う。
1)同一プロセスレシピ条件の新規基板を複数枚同時に投入する場合、装置内に基板が存在しない状態からの先頭新規基板投入の搬送シミュレーション(図11のステップST22−3)後、及び後続新規基板投入の搬送シミュレーション(図11のステップST22−6)の前に最大スループットになる搬送制御パラメータ設定を選択する検証(図11のステップST22−5)を行う。ここで先頭新規基板投入の搬送シミュレーション(図11のステップST22−3)は、スループット検証最大スループットパラメータ選択処理(図11のステップST22−5)に時間を要する場合に先頭基板を先にプロセス投入するための処置である。
2)前記1)のスループット検証機能(図11のステップST22−5)では、最適と想定される複数のパラメータ設定を用意して、それらの各々に対してスループット評価対象枚数分の新規基板投入搬送シミュレーションを行い、スループットの評価値を計測する。その中から最大スループット値となるパラメータを選択して、それを残り複数枚の新規基板等投入搬送シミュレーションに使用する。
3)前記2)のパラメータ設定には新規投入基板、及び投入済基板の搬送開始遅れ許容時間、優先順位パラメータ、及び基板投入時間下限間隔を含む。
4)前記2)の最適と想定される複数のパラメータ設定は、予め設計時点において考えられるプロセスレシピ条件に対してスループット値が最大となるようなパラメータ設定を検索することにより準備しておく。
5)前記2)で計測するスループット評価値は、先頭新規基板が基板収納容器から投入されてから最後尾基板が基板収納容器に戻るまでの下記するロットインデックス値、或いは先頭新規基板が基板収納容器に戻ってから最後尾基板が基板収納容器に戻るまでのタクトベース値の何れかを選択使用する。何れを使用するかは装置毎に異なる。
ロットインデックス値WPHlot index
=基板処理枚数N/基板総処理所要時間TN
タクトベース値WPHtakt base
=(基板処理枚数N−1)/(総処理所要時間TN−先頭基板処理所要時間T1)
〔生産再開機能〕
装置の故障停止後において、人手によるメンテナンス後に装置制御部から生産再開の要求を受けたとき、装置内に残留する基板を指定された基板収納容器に回収しながら、同時に新規基板を装置内に投入するスケジューリングを、下記1)〜3)のように行う。
1)生産再開スケジューリングには搬送シミュレーション方式を用いる。
2)装置内に残留した基板は、プロセス制約条件を満たしながら指定された基板収納容器へ回収する。
3)装置内に残留した基板を回収するスケジューリングを行い、続いて後続の新規の基板を投入するためのスケジューリングを行う。
図27は装置停止状態からの生産再開を説明するための概念図であり、図27(a)は従来例を、図27(b)は本実施形態例を示す。図示するように、従来例では図27(a)に示すように、装置内に残留している基板1〜4を回収し、その後に生産再開準備を行い、該生産再開準備の終了後に新規基板5〜8の投入を行っていた。これに対して本実施例では、図27(b)に示すように、装置内に残留している基板1〜4の回収と並行して、新規基板5〜8の投入を行っている。これにより生産量が向上する。
〔装置内に残留している基板の回収スケジューリング〕
装置内に残留している基板の回収スケジューリングの概要は、下記1)〜4)となる。
1)装置内に残留した基板を1枚又は複数枚1組ずつ指定(本実施例では2枚1組指定)して基板収納容器への回収をするための搬送シミュレーションを行う。
2)搬送シミュレーションは、仮想的な装置モデルを制御部内に生成し(図5参照)、回収スケジューリング済基板は前回の残留基板回収シミュレーションで作成済の基板搬送スケジュールに従って搬送を行い、また新規回収指定基板はユニット処理終了条件及び搬送条件を満たした搬送シミュレーションを行って、新たな基板搬送スケジュールを作成する。
3)搬送シミュレーションでは、新規回収指定基板がプロセス終了後に指定された基板収納容器へ戻ることを前提とする。
4)搬送シミュレーションでは、各々の回収基板に対して予め装置制御部側で設定されたプロセスレシピ条件に従って搬送処理を行う。また、レシピ時間設定が0のユニットを飛び越す処理を含む。
〔生産再開基板回収搬送シミュレーション〕
図28は回収指定残留基板回収搬送シミュレーション(図12のステップST23−6)のフローを示す図である。図28において、Nは基板収納容器(ロードポート)の数を、UNT_NUMはユニット総数を、TRF_NUMは搬送機台数をそれぞれ示す。先ずステップST201では搬送シミュレーション初期化を行い、ステップST202に移行する。該ステップST202では、搬送機やユニット処理の次のステータス移行イベントまでの最小残り時間を検索して搬送シミュレーション時刻の計時処理を行い、ステップST203に移行する。該ステップST203では、全てのプロセスユニットにおいて、ステータスの更新処理を行い、ステップST204に移行する。該ステップST204では、全ての搬送機において、ステータスの更新処理を行い、ステップST205に移行する。
ステップST205では、装置内残留新規回収指定基板の搬送開始判定処理を行い、ステップST206に移行する。該ステップST206では、装置内残留回収スケジューリング(以下「SCH」と記す)済基板搬送開始判定処理を行い、ステップST207に移行する。該ステップST207では、新規回収指定基板、又は回収SCH済基板に関して、搬送機開始判定処理を行い、ステップST208に移行する。
ステップST208では、残留基板回収シミュレーション搬送エラー処理を行い、ステップST209に移行する。該ステップST209では、搬送シミュレーション装置内に回収基板が有るか否かを判断し、イエス(Y)の場合はステップST202に移行し、ノー(N)の場合はステップST210に移行し、搬送シミュレーション終了処理を行う。
図29は図28のステップST201の搬送シミュレーション初期化処理フローを示す図である。先ずステップST201−1では、搬送シミュレーション状態を前回回収SCH(スケジューリング)済基板の回収開始前状態へ初期化し、ステップST201−2又はステップST201−3に移行する。搬送シミュレーション状態には、全てのユニット情報データ、搬送情報データ、その他搬送シミュレーションに必要なデータを含む。初期化には、前回回収SCH済基板の搬送シミュレーション開始時に記憶領域にコピーしておいたデータセットを搬送シミュレーション変数領域へ上書きコピーする。ステップST201−2では投入済基板搬送スケジュールの参照ポインタを新規回収指定基板の回収開始前状態へ初期化し、ステップST201−3では新規回収指定基板の回収開始時刻を現在シミュレーション時刻に設定する。参照ポインタは、投入済基板の搬送開始を既存基板搬送スケジュールの順序に従って行うために、既存基板搬送スケジュールを順次参照するのに用いる。
図30は図28の搬送シミュレーション時刻経時(ステップST202)フローを示す図である。先ずステップST202−1では、ユニット次ステータス移行までの残り時間最小値を検索し、インターバル時間に設定し、ステップST202−2に移行する。ステップST202−2では新規回収指定基板搬送開始時刻までの残り時間がインターバル時間より小さい(残り時間<インターバル時間)かを判断し、イエス(Y)の場合はステップST202−3に移行し、ノー(N)の場合はステップST202−4に移行する。ステップST202−3では、新規回収指定基板搬送開始時刻までの残り時間をインターバル時間に設定し、ステップST202−4では搬送機の次ステータス移行までの残り時間最小値を検索し、ステップST202−5に移行する。
ステップST202−5では、搬送機の次ステータスまでの残り時間最小値がインターバル時間より小さい(残り時間最小値<インターバル時間)かを判断し、イエス(Y)であった場合はステップST202−6に移行し、ノー(N)であった場合はステップST202−7に移行する。ステップST202−6では搬送機の次ステータスまでの残り時間最小値をインターバル時間に設定し、ステップST202−7では回収SCH済基板搬送開始時刻までの残り時間最小値を検索する。続くステップST202−8では回収SCH済基板搬送開始時刻までの残り時間最小値がインターバル時間より小さい(残り時間最小値<インターバル時間)かを判定し、イエス(Y)の場合ステップST202−9に移行し、ノー(N)の場合はステップST202−10に移行する。
ステップST202−9では、回収SCH済基板搬送開始時刻までの残り時間を最小値をインバータ時間に設定し、ステップST202−10では搬送詰まりエラー監視を行い、続くステップST202−11では搬送シミュレーション時刻にインターバル時間を加算する。ここで搬送詰まりエラー監視は、インターバル時間が一定回数以上にわたりゼロとなる状況を監視する。もしこのような状況が発生した場合には搬送エラーとして、新規回収指定基板の回収遅延時間を定数値に設定する。
図31は図28のプロセスユニットステータス更新処理(ステップST203)フローを示す図である。先ずステップST203−1でユニット処理経過時間に搬送シミュレーションインターバル時間を加算し、ステップST203−2に移行する。ステップST203−2では、ユニット処理経過時間が次ステータス移行時間を経過した(ユニット処理経過時間≧次ステータス移行時間)かを判断し、イエス(Y)の場合はステップST203−3に移行し、ノー(N)の場合はステップST203−40に移行する。ステップST203−3ではユニット処理ステータスを判断し、「処理中」の場合はステップST203−11に、「処理終了」の場合はステップST203−21に、「リセット」の場合はステップST203−31にそれぞれ移行する。
ステップST203−11では、ユニット処理ステータスを「処理終了」へ変更し、続くステップST203−12では、基板搬送要求信号をONにする。ステップST203−21ではユニット処理ステータス「リセット」移行要求信号がONかを判断し、イエス(Y)の場合はステップST203−22に移行し、該ステップST203−22ではユニット情報基板データを削除してステップST203−23に移行する。該ステップST203−23ではユニット処理ステータスを「リセット」へ変更し、ステップST203−24に移行する。該ステップST203−24では次ステータス移行時間にリセット時間を加算し、続くステップST203−25では次ステータス移行時間までの残り時間を設定する。ステップST203−31ではユニット処理ステータスを「処理停止」へ変更し、続くステップST203−32ではユニット情報データを全て消去する。また、ステップST203−40では、次ステータス移行時間までの残り時間を設定する。
図32は図28の搬送機ステータス更新処理(ステップST204)フローを示す図である。先ず、ステップST204−1では、搬送機搬送処理経過時間に搬送シミュレーションインターバル時間を加算し、ステップST204−2では、搬送処理経過時間が次ステータス移行時間を経過した(搬送処理経過時間≧次ステータス移行時間)かを判断し、イエス(Y)の場合はテップST204−3に移行し、ノー(N)の場合はステップST204−50に移行する。テップST204−3では搬送ステータスが「移動中」か、「取出中」か、「収納中」か、「退避中」かを判断し、「移動中」、「取出中」、「収納中」、「退避中」であったら、それぞれステップST204−11、ステップST204−21、ステップST204−31、ステップST204−41に移行する。また、ステップST204−50では、次ステータス移行時間までの残り時間を設定する。
ステップST204−11では、搬送機非干渉条件が成立したかを判断し、イエス(Y)の場合はステップST204−12、ノー(N)の場合はステップST204−15に移行する。ステップST204−12では、搬送機搬送種別を判断し、「取出」の場合ステップST204−13に移行し、搬送ステータスを「取出中」へ変更する。「収納」の場合はステップST204−14で搬送ステータスを「収納中」へ変更する。ステップST204−15では、次ステータス移行時間を遅延更新する。ステップST204−21はユニット内基板搬送要求信号がONかを判断し、イエス(Y)の場合はステップST204−22に移行し、ノー(N)の場合はステップ204−25に移行する。ステップST204−22ではユニット処理ステータスを「リセット」移行要求し、ステップST204−23に移行する。該ステップST204−23では搬送ステータを「停止中」へ変更(搬送終了)し、続くステップST204−24でプロセス後放置時間上下限搬送エラーを監視する。また、ステップST204−25では次ステータス移行時間にユニット処理残り時間分を加算する。
ステップST204−31では、搬送基板データをユニット情報へコピーし、続くステップST204−32で収納先ユニットステータス「処理中」へ移行し、プロセス起動し、ステップST204−33に移行する。該ステップST204−33では搬送機位置が干渉領域外かを判断し、イエス(Y)の場合はステップST204−34に移行し、ノー(N)の場合はステップST204−36へ移行する。ステップST204−34では搬送ステータスを「停止中」へ変更(搬送終了)し、続くステップST204−35で搬送機情報データを全て消去し、ステップST204−37に移行する。ステップST204−36では搬送ステータスを「退避中」へ変更し、ステップST204−37に移行する。ステップST204−37では、プロセス時間間隔上下限搬送エラーを監視し、続くステップST204−38では、搬送機保持時間上限搬送エラーを監視する。ステップST204−41では搬送機現在位置データを待機位置へ変更し、続くステップST204−42に移行する。該ステップST204−42では搬送ステータスを「停止中」へ変更(搬送終了)し、続くステップST204−43で搬送機情報データを全て消去する。
図33は図28の装置内残留新規回収指定基板搬送開始判定処理(ステップST205)フローを示す図である。先ずステップST205−1では指定搬送機停止中&搬送開始要求信号がOFFかを判定し、イエス(Y)の場合はステップST205−2に移行し、ステップST205−2では、現在シミュレーション時刻が搬送開始時刻を経過した(現在シミュレーション時刻≧搬送開始時刻)かを判断し、イエス(Y)の場合はステップST205−3に移行し、ノー(N)の場合はステップST205−11に移行する。ここでの搬送開始時刻は、取出の場合は、ユニット情報に対してプロセスレシピ設定時間から搬送機到達の所要時間を差し引いて設定された時刻を指す。また、収納の場合は現在シミュレーション時刻そのものとする。
ステップST205−3では、搬送機非干渉条件を判定し、続くステップST205−4では、搬送機条件判定取出元・収納先ユニット条件判定し、ステップST205−5に移行する。ステップST205−5では、搬送機非干渉条件&搬送機条件&取出元・収納先ユニット条件の全てが成立したかを判断し、イエス(Y)の場合はステップST205−6に移行し、ステップST205−6で新規回収指定基板搬送開始優先判定する。本判定では、その搬送をすぐ開始すると回収SCH済基板搬送の開始時刻遅れ時間が設定許容値を越える場合、新規回収指定基板搬送を回収SCH済基板に対して優先するかを優先順位パラメータで判定する。
続くステップST205−7では新規回収指定基板搬送開始遅延時間が0に等しい(=0)又は正数値 (>0)かを判定し、0の場合ステップST205−8で搬送機に対して搬送開始要求信号をONにする。正数値の場合はステップST205−12に移行し、搬送開始時間に遅延時間を加算して残り時間を設定する。また、前記ステップST205−11では搬送開始時間までの残り時間を設定する。
図34は図28の装置内残留回収SCH済基板搬送開始判定処理(ステップST206)フローを示す図である。先ずステップST206−1で指定搬送機停止中&搬送開始要求信号がOFFかを判断し、イエス(Y)の場合はステップST206−2に移行する。該ステップST206−2では、現在シミュレーション時刻が搬送実行時刻テーブル搬送開始予定時刻を経過した(現在シミュレーション時刻≧搬送実行時刻テーブル搬送開始予定時刻)かを判定し、イエス(Y)の場合はステップST206−3に移行し、ノー(N)の場合はステップST206−11に移行する。ここでの搬送開始予定時刻は、投入済基板スケジュールのポインタが参照する行における時刻を指す。ステップST206−3では、搬送機非干渉条件判定し、続くステップST206−4では、搬送機条件判定取出元・収納先ユニット条件判定をし、ステップST206−5に移行する。本判定では、搬送機条件として取出する場合には搬送機ハンドが基板をもっていないか、収納する場合には基板を持っているかを判定する。また取出元・収納先ユニット条件として、取出元に基板が存在して収納先に別の基板が無いかを判定する。ステップST206−11では、搬送開始予定時刻までの残り時間を設定する。
ステップST206−5では、搬送機非干渉条件&搬送機条件&取出元・収納先ユニット条件の全てが成立したかを判断し、イエス(Y)の場合はステップST206−6に移行し、回収SCH済基板搬送開始優先判定し、ステップST206−7に移行する。本判定では、その搬送をすぐ開始すると搬送予定時刻を過ぎて遅れ時間が設定許容値を越える場合、回収SCH済基板搬送を新規回収指定基板に対して優先するか優先順位パラメータで判定する。該ステップST206−7では、回収SCH済基板搬送開始遅延時間が0に等しい(=0)か又は正数値(>0)を判断し、0の場合ステップST206−8で搬送機に対して搬送開始要求信号をONにする。正数値ではステップST206−12で搬送開始予定時刻に遅延時間を加算して残り時間を設定する。ここで残り時間は、搬送シミュレーション時刻用のインバータ時間計算に用いる。
図35は図28の新規回収指定基板、又は回収SCH済基板搬送機開始判定処理(ステップST207)フローを示す図である。先ず指定搬送機停止中&搬送開始要求信号がONかを判断し、イエス(Y)の場合はステップST207−2で搬送機情報データへ搬送基板データ、搬送動作を設定し、続くステップST207−3で搬送ステータスを「移動中」へ設定する。搬送ステータスは搬送情報データにプロパティとして含まれる。ステップST207−4では、搬送機次ステータス移行までの残り時間に移動時間を設定する。ステップST207−5では、基板搬送スケジュールへ該当搬送データを登録し、ステップST207−6では、新規回収指定基板or回収SCH済基板かを判定し、回収SCH済の場合はステップST207−7に移行し、投入済基板搬送スケジュール参照ポインタを更新する。新規回収指定ではステップST207−8に移行し、搬送機搬送開始要求信号をOFFとする。
図36は図28の残留基板回収シミュレーション搬送エラー処理フロー(ステップST208)を示す図である。先ず、ステップST208−1では、新規回収指定基板回収開始遅延時間が正数値(新規回収指定基板回収開始遅延時間>0)かを判断し、イエス(Y)の場合はステップST208−2に移行し、ノー(N)のステップST208−4に移行する。ステップST208−2では、搬送シミュレーション状態を新規回収指定基板回収前の初期状態へ復元し、ステップST208−3に移行する。該ステップST208−3では、投入済基板搬送スケジュールの参照ポインタを新規回収指定基板回収開始前の状態へ復元し、ステップST208−4に移行し、新規回収指定基板の回収開始時刻を遅延時間だけ延期させる。
図37は図28のステップST210の搬送シミュレーション終了処理フローを示す図である。ステップST210−1で作成された基板搬送スケジュールを投入済基板搬送スケジュール領域へ上書きコピーする。
以上、本発明の実施形態例を説明したが、本発明は上記実施形態例に限定されるものではなく、特許請求の範囲、及び明細書と図面に記載された技術的思想の範囲内において種々の変形が可能である。上記実施例ではめっき槽22で半導体基板にバンプ電極等の金属膜を形成するめっき処理装置を例に説明したが、本発明はこれに限定されるものではなく、より厳格な基板搬送スケジュールの管理が必要な装置に好適である。例えば、電解めっきでは電解電流を供給する電源を遮断することにより、めっきの進行を止めることができるから、無電解めっき装置ほど厳しい制約条件での基板搬送スケジューリングを必要としないが、無電解めっき装置では、必然的にめっき処理が進行するため、より厳格な基板搬送スケジュールの管理が必要となるから、本願発明が好適である。