(57)【特許請求の範囲】
【請求項１】
基板の処理を行う複数の基板処理部と、前記基板を搬送する搬送部と、前記搬送部での前記基板の搬送と前記基板処理部での基板処理を制御する制御部を備えた基板処理装置の基板搬送方法であって、
前記基板搬送のスケジューリングを、線形計画法とシミュレーション法と切り替えて行うようにし、
前記線形計画法により新規基板投入のための基板搬送スケジュールを作成して前記基板の搬送を行い、
装置停止状態からの生産再開、ユニット使用・不使用動的切り替え、プロセスＮＧが発生の装置の異常を検知したら、シミュレーション法による基板搬送スケジューリングに切り替えて、対象基板の回収又はプロセス継続のための搬送、及び投入済基板の搬送を含めた基板搬送スケジュールを作成して基板搬送を行うことを特徴とする基板処理装置の基板搬送方法。
【請求項２】
請求項１に記載の基板処理装置の基板搬送方法において、
前記装置の異常検知後において前記シミュレーション法による前記基板搬送のスケジューリングでの基板搬送処理後、前記装置が異常状態から通常状態に戻ったことを検知したら、前記線形計画法による基板搬送スケジューリングによる基板搬送処理に戻すことを特徴とする基板処理装置の基板搬送方法。
【請求項３】
請求項２に記載の基板処理装置の基板搬送方法において、
前記装置が通常状態に戻った状態とは、前記装置内の回収対象基板の処理が終了し、基板収納容器に戻って、前記装置内に基板が存在しない状況になるか、或いは処理中の新規投入基板のみ存在する状況になることであることを特徴とする基板処理装置の基板搬送方法。
【請求項４】
請求項１又は２に記載の基板処理装置の基板搬送方法において、
前記線形計画法から前記シミュレーション法、又は前記シミュレーション法から前記線形計画法に切り替える時は、切り替え時点の、スケジューリング済みの基板搬送スケジュール、基板プロセス条件データを、切り替え先のスケジューラに引き渡すことを特徴とする基板処理装置の基板搬送方法。
【請求項５】
請求項４に記載の基板処理装置の基板搬送方法において、
前記基板プロセス条件データには、スケジューリング済基板の基板番号データ、前記基板処理部でのプロセス時間設定、前記搬送部での搬送順序設定情報を含むことを特徴とする基板処理装置の基板搬送方法。
【請求項６】
基板の処理を行う複数の基板処理部と、前記基板を搬送する搬送部と、前記搬送部での前記基板の搬送と前記基板処理部での基板処理を制御する制御部を備えた基板処理装置の前記制御部に内蔵され、基板搬送スケジュールを計算するスケジューラであって、
前記基板搬送のスケジューリングを、線形計画法とシミュレーション法と切り替えて行い、
前記線形計画法により新規基板投入のための基板搬送スケジュールを作成し、シミュレーション法により装置の停止状態からの生産再開、ユニット使用・不使用動的切り替え、プロセスＮＧが発生の装置の異常時における対象基板の回収又はプロセス継続のための基板搬送スケジュールを作成することを特徴とするスケジューラ。
【請求項７】
請求項６に記載のスケジューラにおいて、
前記装置の異常後において前記シミュレーション法による前記基板搬送のスケジューリング後、前記装置が異常状態から通常状態に戻ったら、前記線形計画法による基板搬送スケジューリングに戻すことを特徴とするスケジューラ。
【請求項８】
請求項７に記載のスケジューラにおいて、
前記装置が通常状態に戻った状態とは、前記装置内の回収対象基板の処理が終了し、基板収納容器に戻って、前記装置内に基板が存在しない状況になるか、或いは処理中の新規投入基板のみ存在する状況になることであることを特徴とするスケジューラ。
【請求項９】
請求項６又は７に記載のスケジューラおいて、
前記線形計画法から前記シミュレーション法、又は前記シミュレーション法から前記線形計画法に切り替える時は、切り替え時点の、スケジューリング済みの基板搬送スケジュール、基板プロセス条件データを、切り替え先のスケジューラに引き渡すことを特徴とするスケジューラ。
【請求項１０】
請求項９に記載のスケジューラにおいて、
前記基板プロセス条件データには、スケジューリング済基板の基板番号データ、前記基板処理部でのプロセス時間設定、前記搬送部での搬送順序設定情報を含むことを特徴とするスケジューラ。
【請求項１１】
基板の処理を行う複数の基板処理部と、前記基板を搬送する搬送部と、前記搬送部での前記基板の搬送と前記基板処理部での基板処理を制御する制御部を備えた基板処理装置の運転制御装置であって、
前記制御部は基板搬送のスケジューリングを、線形計画法とシミュレーション法と切り替えて行うスケジューリング切替手段を備え、
前記線形計画法により新規基板投入のための基板搬送スケジュールを作成して前記基板の搬送を行い、
装置の停止状態からの生産再開、ユニット使用・不使用動的切り替え、プロセスＮＧが発生の装置の異常を検知したら、シミュレーション法による基板搬送スケジューリングに切り替えて、対象基板の回収又はプロセス継続のための搬送、及び投入済基板の搬送を含めた基板搬送スケジュールを作成して基板搬送を行うことを特徴とする基板処理装置の運転制御装置。
【請求項１２】
請求項１１に記載の基板処理装置の運転制御装置において、
前記装置の異常検知後において前記シミュレーション法による前記基板搬送のスケジューリングでの基板搬送処理後、前記装置が異常状態から通常状態に戻ったことを検知したら、前記線形計画法による基板搬送スケジューリングによる基板搬送処理に戻すことを特徴とする基板処理装置の運転制御装置。
【請求項１３】
請求項１２に記載の基板処理装置の運転制御装置において、
前記装置が通常状態に戻った状態とは、前記装置内の回収対象基板の処理が終了し、基板収納容器に戻って、装置内に基板が存在しない状況になるか、或いは処理中の新規投入基板のみ存在する状況になることであることを特徴とする基板処理装置の運転制御装置。
【請求項１４】
請求項１１又は１２に記載の基板処理装置の運転制御装置において、
前記線形計画法から前記シミュレーション法、又は前記シミュレーション法から前記線形計画法に切り替える時は、切り替え時点の、スケジューリング済の基板搬送スケジュール、基板プロセス条件データを、切り替え先のスケジューラに引き渡すことを特徴とする基板処理装置の運転制御装置。
【請求項１５】
請求項１４に記載の基板処理装置の運転制御装置において、
前記基板プロセス条件データには、スケジューリング済基板の基板番号データ、前記基板処理部でのプロセス時間設定、前記搬送部での搬送順序設定情報を含むことを特徴とする基板処理装置の運転制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の処理部と複数の基板搬送機を備え、基板搬送機により投入される基板を複数の処理部に順次搬送して処理を行う基板処理装置の基板搬送方法、制御部に内蔵されるスケジューラ、及びスケジューラを使用する基板処理装置の運転制御装置に関するものである。
【背景技術】
【０００２】
上記基板処理装置には種々の構成のものがあるが、一般に、複数枚の基板が、基板収納容器から装置内に順次投入され、複数の搬送機により複数の処理機器（処理部）間を搬送されて並列的に処理され、全処理を終えた基板を基板収納容器に回収するように構成したものが多く使用されている。更に、基板収納容器を複数個装着可能・交換可能としたものもあり、このような基板処理装置では、適宜未処理の基板が装填された基板収納容器を交換することによって、連続的に基板処理装置の運転を行うことができるようになっている。
【０００３】
上記基板処理装置、例えば、バンプ形成、ＴＳＶ形成、再配線めっきを行う基板めっき処理装置等では、厳しいプロセス制約条件（プロセスが終了してから次のプロセスを開始するまでの所定のプロセス時間間隔）を満たしながら、高い生産量（故障から復旧時間を含めた単位時間当たりの基板処理量）を実現することが求められる事がある。この厳しい要求を満たすため、基板めっき処理装置の基板搬送制御には最適な基板の搬送計画を立てる様々なスケジューリング手法、例えば線形計画法スケジューラ、シミュレーション法スケジューラがある。
【０００４】
線形計画法を利用した線形計画法スケジューラは、通常の装置運転制御において常に最大スループットを発揮することを主眼として開発された技術であるので、その利点を活かして定常的な装置運転の制御手段として用いる。
【０００５】
シミュレーション法を利用したシミュレーション法スケジューラは、上記線形計画法スケジューラのように最大スループットの発揮を保証できる技術ではない。しかし生産再開、ユニット使用・不使用動的切替、プロセスＮＧ発生時等のイベントに対して、プロセス制約条件を満たしながら基板回収などの基板搬送スケジュールを柔軟に作成できるという利点を持つ。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００１−３１９８４２号公報
【特許文献２】特許第３９９５４７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記線形計画法スケジューラは、故障の発生時等の非定常的なイベントが発生した場合には、線形計画法での定式化が複雑になり困難であるため、一旦装置の基板を全て基板収納容器内に回収し、基板の搬送処理を開始する必要がある。当然、この基板回収中には、新規の基板を投入することができないため生産量が大きく低下する。例えば、バンプ形成めっき処理装置等、装置内に多くの基板が同時に存在するめっき処理装置では、基板回収に長時間（例えば、２時間）を要する。
【０００８】
また、上記めっき処理装置において、基板プロセス中にめっき処理部内で整流器異常等が発生したとき、当該基板を救済するためにはそのプロセスを中断して直ちに他の同種別めっき処理部に移してプロセスを継続するか、或いは基板回収容器へ回収する必要がある。しかしながら、現状のスケジューラではそのためのスケジューリング手段を備えていないため、不良基板を発生させないためには、一旦継続の新規基板の処理開始を停止して不良基板及び処理中の基板を装置制御コントローラの制御によって基板回収容器へ回収し、装置内に基板が無くなった状態から後続の新規基板を投入する必要がある。従って生産量が大きく低下する。
【０００９】
また、基板のプロセス中にめっき処理部に故障が発生して、当該めっき処理部がそれ以降使用できなくなったとき、現状のスケジューラではめっき処理部の使用・不使用設定を動的に変更して後続基板を継続して処理することができない。その結果、当該めっき処理部の設定を変更するために、装置への新規基板の投入を一旦止めて装置を停止する必要があり、生産量（基板のめっき処理量）が大きく低下する。
【００１０】
本発明は上述の点に鑑みてなされたもので、装置運転を始動してから通常の運転が継続する限りは、最大スループットでの運転制御を行うため、線形計画法スケジューラにより新規基板投入スケジュール制御を行い、処理槽で故障が発生し装置が停止した後の生産再開時、ユニット使用・不使用動的切替、プロセスＮＧ発生時等のイベントに対して、プロセス制約条件を満たしながら基板回収等の基板搬送スケジュールを柔軟に作成できるシミュレーション法スケジューラに切り替えて制御を行うことができる基板搬送方法、スケジューラを提供することを目的とする。
【００１１】
また、装置内の回収対象基板が基板収納容器へ戻るまでの非定常状態では、後続の新規基板投入を含めシミュレーション法スケジューラにより運転制御を行い、装置運転が新規基板投入のみによって定常状態に戻った時点で、制御を線形計画法スケジュールへ戻す基板処理装置の運転制御装置を提供を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記の課題を解決するために、本発明は基板の処理を行う複数の基板処理部と、基板を搬送する搬送部と、搬送部での基板の搬送と基板処理部での基板処理を制御する制御部を備えた基板処理装置の基板搬送方法であって、基板搬送のスケジューリングを、線形計画法とシミュレーション法と切り替えて行うようにし、線形計画法により新規基板投入のための基板搬送スケジュールを作成して基板の搬送を行い、装置停止状態からの生産再開、ユニット使用・不使用動的切り替え、プロセスＮＧが発生の装置の異常を検知したら、シミュレーション法による基板搬送スケジューリングに切り替えて、対象基板の回収又はプロセス継続のための搬送、及び投入済基板の搬送を含めた基板搬送スケジュールを作成して基板搬送を行うことを特徴とする。
【００１４】
また、本発明は、上記基板処理装置の基板搬送方法において、装置の異常検知後においてシミュレーション法による基板搬送のスケジューリングでの基板搬送処理後、装置が異常状態から通常状態に戻ったことを検知したら、線形計画法による基板搬送スケジューリングによる基板搬送処理に戻すことを特徴とする。
【００１６】
また、本発明は、上記基板処理装置の基板搬送方法において、装置が通常状態に戻った状態とは、装置内の回収対象基板の処理が終了し、基板収納容器に戻って、装置内に基板が存在しない状況になるか、或いは処理中の新規投入基板のみ存在する状況になることであることを特徴とする。
【００１７】
また、本発明は、上記基板処理装置の基板搬送方法において、線形計画法からシミュレーション法、又はシミュレーション法から線形計画法に切り替える時は、切り替え時点の、スケジューリング済みの基板搬送スケジュール、基板プロセス条件データを、切り替え先のスケジューラに引き渡すことを特徴とする。
【００１８】
また、本発明は、上記基板処理装置の基板搬送方法において、基板プロセス条件データには、スケジューリング済基板の基板番号データ、基板処理部でのプロセス時間設定、搬送部での搬送順序設定情報を含むことを特徴とする。
【００１９】
また、本発明は、基板の処理を行う複数の基板処理部と、基板を搬送する搬送部と、搬送部での基板の搬送と基板処理部での基板処理を制御する制御部を備えた基板処理装置の制御部に内蔵され、基板搬送スケジュールを計算するスケジューラであって、基板搬送のスケジューリングを、線形計画法とシミュレーション法と切り替えて行い、線形計画法により新規基板投入のための基板搬送スケジュールを作成し、シミュレーション法により装置の停止状態からの生産再開、ユニット使用・不使用動的切り替え、プロセスＮＧが発生の装置の異常時における対象基板の回収又はプロセス継続のための基板搬送スケジュールを作成することを特徴とする。
【００２１】
また、本発明は、上記スケジューラにおいて、装置の異常後においてシミュレーション法による基板搬送のスケジューリング後、装置が異常状態から通常状態に戻ったら、線形計画法による基板搬送スケジューリングに戻すことを特徴とする。
【００２３】
また、本発明は、上記スケジューラにおいて、装置が通常状態に戻った状態とは、装置内の回収対象基板の処理が終了し、基板収納容器に戻って、装置内に基板が存在しない状況になるか、或いは処理中の新規投入基板のみ存在する状況になることであることを特徴とする。
【００２４】
また、本発明は、上記スケジューラにおいて、線形計画法からシミュレーション法、又はシミュレーション法から線形計画法に切り替える時は、切り替え時点の、スケジューリング済みの基板搬送スケジュール、基板プロセス条件データを、切り替え先のスケジューラに引き渡すことを特徴とする。
【００２５】
また、本発明は、上記スケジューラにおいて、基板プロセス条件データには、スケジューリング済基板の基板番号データ、基板処理部でのプロセス時間設定、搬送部での搬送順序設定情報を含むことを特徴とする。
【００２６】
また、本発明は、基板の処理を行う複数の基板処理部と、基板を搬送する搬送部と、搬送部での基板の搬送と基板処理部での基板処理を制御する制御部を備えた基板処理装置の運転制御装置であって、制御部は基板搬送のスケジューリングを、線形計画法とシミュレーション法と切り替えて行うスケジューリング切替手段を備え、線形計画法により新規基板投入のための基板搬送スケジュールを作成して基板の搬送を行い、装置の停止状態からの生産再開、ユニット使用・不使用動的切り替え、プロセスＮＧが発生の装置の異常を検知したら、シミュレーション法による基板搬送スケジューリングに切り替えて、対象基板の回収又はプロセス継続のための搬送、及び投入済基板の搬送を含めた基板搬送スケジュールを作成して基板搬送を行うことを特徴とする。
【００２８】
また、本発明は、上記基板処理装置の運転制御装置において、装置の異常検知後においてシミュレーション法による基板搬送のスケジューリングでの基板搬送処理後、装置が異常状態から通常状態に戻ったことを検知したら、線形計画法による基板搬送スケジューリングによる基板搬送処理に戻すことを特徴とする。
【００３０】
また、本発明は、上記基板処理装置の運転制御装置において、装置が通常状態に戻った状態とは、装置内の回収対象基板の処理が終了し、基板収納容器に戻って、装置内に基板が存在しない状況になるか、或いは処理中の新規投入基板のみ存在する状況になることであることを特徴とする。
【００３１】
また、本発明は、上記基板処理装置の運転制御装置において、線形計画法からシミュレーション法、又はシミュレーション法から線形計画法に切り替える時は、切り替え時点の、スケジューリング済の基板搬送スケジュール、基板プロセス条件データを、切り替え先のスケジューラに引き渡すことを特徴とする。
【００３２】
また、本発明は、上記基板処理装置の運転制御装置において、基板プロセス条件データには、スケジューリング済基板の基板番号データ、基板処理部でのプロセス時間設定、搬送部での搬送順序設定情報を含むことを特徴とする。
【発明の効果】
【００３３】
本発明は、基板搬送のスケジューリングを、線形計画法とシミュレーション法と切り替え、線形計画法により新規基板投入のための基板搬送スケジュールを作成して基板の搬送を行い、装置の異常を検知したら、シミュレーション法による基板搬送スケジューリングに切り替えて、対象基板の回収又はプロセス継続のための搬送、及び投入済基板の搬送を含めた基板搬送スケジュールを作成して基板搬送ができるから、装置運転始動してから通常の運転が継続する限りは、最大スループットでの運転制御が可能で、基板処理中の基板処理部で機器の故障等の処理プロセス不良が発生した場合、装置内にある他の基板の処理プロセス制約条件（処理プロセスが終了してから次の処理プロセスを開始するまでのプロセス時間間隔の許容値等）を満たしながら、当該基板を優先的に処理プロセスの継続が可能な他の同種別基板処理部へ移動させるか、或いは基板収納容器へ回収するためのスケジューリングを行うことにより、当該基板の処理プロセスのダメージを可能な限り少なくして不良発生基板の発生を抑制することができると共に、生産量（基板の処理量）の低下を極力抑えることができる。
【図面の簡単な説明】
【００３４】
【図１】本発明の実施例１に係るめっき装置の構成例を示す模式図である。
【図２】めっき装置の制御部のハードウエア構成の一例を示す図である。
【図３】プロセス制約条件の定義を説明するための図である。
【図４】生産量の定義を説明するための図である。
【図５】スケジューラのアーキテクチャを示す図である。
【図６】基板搬送スケジューラのモジュール構成を示す図である。
【図７】線形計画法スケジューラの構成例を示すブロック図である。
【図８】線形計画法スケジューラの他の構成例を示すブロック図である。
【図９】本発明に係るスケジューラのスケジューリングプロセスのメイン処理のフローを示す図である。
【図１０】新規基板投入処理線形計画法（図９のステップＳＴ２１）のフローを示す図である。
【図１１】新規基板投入処理シミュレーション法（図９のステップＳＴ２２）のフローを示す図である。
【図１２】装置停止からの生産再開処理（図９のステップＳＴ２３）のフローを示す図である。
【図１３】ユニット使用不可設定変更処理（図９のステップＳＴ２４）のフローを示す図である。
【図１４】プロセスＮＧ基板回収処理（図９のステップＳＴ２５）のフローを示す図である。
【図１５】新規基板投入搬送シミュレーション処理（図１１のステップＳＴ２２−３、ＳＴ２２−６）のフローを示す図である。
【図１６】図１５のステップＳＴ１０１の基板収納容器新規投入基板又は投入済基板投入開始処理のフローを示す図である。
【図１７】図１５のステップＳＴ１０２の搬送シミュレーション時刻計時処理フローを示す図である。
【図１８】図１５のステップＳＴ１０３の基板収納容器新規投入基板又は投入済基板投入開始処理のフローを示す図である。
【図１９】図１５のステップＳＴ１０４のユニットステータス更新処理のフローを示す図である。
【図２０】図１５のステップＳＴ１０５の搬送機ステータス更新処理フローを示す図である。
【図２１】図１５のステップＳＴ１０６の新規投入基板搬送開始判定処理フローを示す図である。
【図２２】図１５のステップＳＴ１０７の投入済基板の搬送開始判定処理のフローを示す図である。
【図２３】図１５のステップＳＴ１０８の新規投入基板又は投入済基板、搬送機開始処理のフローを示す図である。
【図２４】図１５のステップＳＴ１０９の搬送シミュレーション搬送エラー処理フローを示す図である。
【図２５】図１５のステップＳＴ１１０の搬送シミュレーション情報指定状態を記憶領域へコピーする処理フローを示す図である。
【図２６】図１５のステップＳＴ１１２の搬送シミュレーション終了処理フローを示す図である。
【図２７】装置停止状態からの生産再開を説明するための概念図である。
【図２８】回収指定残留基板回収搬送シミュレーション（図１２のステップＳＴ２３−６のフローを示す図である。
【図２９】図２８のステップＳＴ２０１の搬送シミュレーション初期化処理フローを示す図である。
【図３０】図２８のステップＳＴ２０２の搬送シミュレーション時刻計時フローを示す図である。
【図３１】図２８のステップＳＴ２０３のプロセスユニットステータス更新処理フローを示す図である。
【図３２】図２８のステップＳＴ２０４の搬送機ステータス更新処理フローを示す図である。
【図３３】図２８のステップＳＴ２０５の装置内残留新規回収指定基板搬送開始判定処理フローを示す図である。
【図３４】図２８のステップＳＴ２０６の装置内残留回収スケジューリング済基板搬送開始判定処理フローを示す図である。
【図３５】図２８のステップＳＴ２０７の新規回収指定基板、又は回収スケジューリング済基板搬送開始処理フローを示す図である。
【図３６】図２８のステップＳＴ２０８の残留基板回収シミュレーション搬送エラー処理フローを示す図である。
【図３７】図２８のステップＳＴ２１０の搬送シミュレーション終了処理フローを示す図である。
【発明を実施するための形態】
【００３５】
本発明の要点は下記（１）乃至（３）にある。
（１）基板処理装置の運転を開始してから通常の運転が継続する限りは、最大スループットでの運転制御を行うため、線形計画法スケジューラにより新規基板投入スケジューリングを行う。
【００３６】
（２）処理槽で故障が発生して装置停止した後の生産再開時、プロセスＮＧ発生時、ユニットＮＧ発生時、ユニット使用・不使用設定変更時には、線形計画法スケジューラからシミュレーション法スケジューラへ制御を切り替える。
【００３７】
（３）基板処理装置内の回収対象基板が基板収納容器へ戻るまでの非定常状態では、後続の新規基板投入を含めシミュレーション法スケジューラにより運転制御を行う。基板処理装置運転が新規基板投入のみによる定常状態に戻った時点で制御を線形計画法スケジューラへ戻す。  
【００３８】
以下、本発明の実施の形態について、詳細に説明する。本実施の形態では、基板処理装置として半導体基板にめっき処理を行うめっき装置を例に説明するが、本発明に係る基板処理装置はこれに限らず、例えば、ガラス基板に対してＬＣＤ製造用の処理を行う基板処理装置等各種の基板処理装置に適用できる。
【実施例】
【００３９】
図１は本発明の実施例に係るめっき装置の構成例を示す模式図である。本めっき処理装置１０はロードポート１１を備え、内部にロードロボット１２、基板位置決め台１３、洗浄乾燥機１４、締付ステージ１５ａ、１５ｂ、複数のストッカ１６を備えた基板ホルダー貯留領域２５、前水洗槽１７、前処理槽１８、水洗槽１９、粗乾燥槽（ブロー槽）２０、水洗槽２１、複数のめっき槽２２を備えためっき領域２６、２台の搬送機２３、２４が配置された構成である。図１において、矢印Ａは基板のロード移送行程を、矢印Ｂは基板のアンロードの移送行程を示す。ロードポート１１には複数枚の未処理基板を収納した基板収納容器、複数枚の処理済基板を収納する基板収納容器が載置されるようになっている。
【００４０】
上記構成のめっき処理装置１０において、ロードロボット１２はロードポート１１に載置された基板収納容器から未処理の基板を取り出し、基板位置決め台１３に載置し、ノッチ、オリフラ等を基準に基板の位置決めを行う。次にロードロボット１２は基板を締付ステージ１５ａ、１５ｂに移送し、該締付ステージ１５ａ、１５ｂで基板ホルダー貯留領域２５のストッカ１６から取り出した基板ホルダーに基板を装着する。ここでは２台の締付ステージ１５ａ、１５ｂでそれぞれの基板ホルダーに基板を装着し、２つの基板ホルダーを１組として搬送するようになっている。基板ホルダーに装着された基板は搬送機２３により、前水洗槽１７に移送され該前水洗槽１７で前水洗処理された後、前処理槽１８に移送され、該前処理槽１８で前処理された後、更に水洗槽１９に移送され、該水洗槽１９で水洗処理される。
【００４１】
水洗槽１９で水洗処理された基板は搬送機２４でめっき領域２６のいずれかのめっき槽２２に移送され、めっき液に浸漬される。ここでめっき処理が施され基板に金属膜が形成される。該金属膜が形成された基板は搬送機２４により水洗槽２１に移送され、該水洗槽２１で水洗処理された基板は粗乾燥槽（ブロー槽）２０に移送され、該粗乾燥槽２０で粗乾燥処理を施された後、搬送機２３により締付ステージ１５ａ、１５ｂに移送され、ここで基板は基板ホルダーから外される。基板ホルダーから外された基板は、ロードロボット１２で洗浄乾燥機１４に移送され、洗浄・乾燥処理を施された後、ロードポート１１に載置されている所定基板収納容器の所定位置（基板収納容器の上記未処理基板を取り出した位置又は別途載置された処理終了後の基板（処理済基板）を収納する基板収納容器の所定位置）に収納される。
【００４２】
上記ロードロボット１２、搬送機２３、及び搬送機２４による矢印Ａに示す基板のロード移送行程の搬送制御、及び矢印Ｂに示す基板のアンロードの移送行程の搬送制御は、後述する制御部の制御により行う。図２は制御部のハードウエア構成の一例を示す図である。図示するように、制御部３０は、中央処理装置（ＣＰＵ）３１、キーボード、マウス等のポインティングデバイスや他のコンピュータ内に格納されたデータを読み込むための通信装置等の入力装置３２、及び共有記憶装置３３を備えている。共有記憶装置３３はＲＯＭ３３−１、メモリ３３−２、ハードディスク３３−３を備えている。また、制御部３０は入出力インターフェース３４を介してめっき処理装置１０のロードロボット１２、搬送機２３、及び搬送機２４及び装置制御用コントローラ３５に接続されており、ＣＰＵ３１からの信号は入出力インターフェース３４を介して装置制御用コントローラ３５に送られることにより、ロードロボット１２、搬送機２３、及び搬送機２４が制御される。
【００４３】
本実施例では、線形計画法とシミュレーション法を切り替え、厳しいプロセス制約条件を満たしながら、高い生産量を実現するため、以下（１）乃至（３）に示す解決策を実行した。ここで、厳しいプロセス制約条件とは、プロセスが終了してから次のプロセスを開始するまでのプロセス時間間隔のことであり、図３に示すように、Ｌユニットレシピ処理からＭユニットレシピ処理に移るプロセス時間間隔ＴＰは、
ＴＰ＝後処理時間Ｔ１＋取出待ち時間Ｔ２＋搬送時間Ｔ３＋前処理時間Ｔ４
である。通常、めっき処理では、後処理時間Ｔ１及び前処理時間Ｔ４は０（Ｔ４＝０，Ｔ１＝０）、搬送時間Ｔ３はめっき槽２２のどの列から取り出すかにより異なる。そこで、プロセス時間間隔ＴＰを超えないように取出待ち時間Ｔ２を調整してスケジューリングする。
【００４４】
また、生産量とは、狭義的には、通常搬送時に単位時間当たりに処理できる基板の枚数のことであり、スループットと呼ぶが、ここでは、図４に示すように、故障発生から復旧時間（故障原因究明時間＋故障修理時間＋基板回収時間）を含めた広義の単位時間当たりの基板処理量である。
【００４５】
（１）故障の復旧後に、めっき処理装置内に残留した基板を回収しながら、新規の基板を投入できるような搬送スケジュールを行うことで、基板回収に要する時間を削減して基板の生産量を向上させる。
【００４６】
（２）基板のめっき処理中に故障が発生して、当該基板のめっき処理中の処理ユニット（めっき槽２２）がそれ以降使用できなくなった場合に、当該処理ユニットを動的に使用不可に設定し、後続基板を継続してめっき処理することを可能にする搬送スケジューリングを行う。これにより、めっき処理装置を停止させて基板を回収する時間を削減して基板の生産量を向上させる。
【００４７】
（３）めっき処理プロセス不良が発生した場合、めっき処理装置内にある他の基板のめっき処理プロセス制約条件を満たしながら、該当基板を優先的にプロセスの継続が可能な他の同種別処理ユニットへ移動させるか、或いは基板収納容器へ回収するための搬送スケジュールを行うことにより、該当基板のプロセス的なダメージを可能な限り少なくして不良の発生を抑制する。
【００４８】
制御部３０は、後に詳述するように、「新規基板投入処理」、「装置停止からの生産再開処理」、「ユニット（基板処理部）使用不可設定変更処理（ユニット不使用動的切り替え処理）」、「プロセスＮＧ基板回収処理」を行う機能を有し、線形計画法及びシミュレーションを切り替えて基板搬送スケジュールを作成する。
【００４９】
図５は上記基板の搬送スケジュールを作成するスケジューラのアーキテクチャを示す図である。図示するように、本スケジューラ４０はスケジューラ切替プロセス４１、線形計画法スケジューラ４５、シミュレーション法スケジューラ４６、入出力インターフェース４４を備える。スケジューラ切替プロセス４１は線形計画法スケジューラ４５とシミュレーション法スケジューラ４６に対する制御指定の切替を行う。指定されたスケジューラのみが搬送制御スケジューリングを行い、装置制御用コントローラ５１とデータ送受信をする。線形計画法スケジューラ４５はめっき処理装置の定常運転状態における新規基板の投入制御に用いる。また、シミュレーション法スケジューラ４６は非定常イベントを受信したときの基板回収等、及びシミュレーション法スケジューラ４６に制御が戻されるか又はめっき処理装置が停止するまでの間における後続の新規基板投入スケジューリングに用いる。
【００５０】
線形計画法スケジューラ４５とシミュレーション法スケジューラ４６間の共有記憶装置３３を介して受け渡すデータの中身は、主にスケジューリング済の基板搬送スケジュール、基板プロセス条件データとする。装置制御部システム５０の装置制御用コントローラ５１と線形計画法スケジューラ４５及びシミュレーション法スケジューラ４６間のデータ送受信を行うための入出力インターフェース４４は、両スケジューラに対して共通であり、装置制御用コントローラ５１を備えた装置制御部システム５０との通信、及びスケジューラ切替プロセス４１へのイベント通知、基板の搬送スケジュールの送受信を行う。共有記憶装置３３は入出力インターフェース４４、及びスケジューラ切替プロセス４１で、パラメータ設定やレシピ設定、基板の搬送スケジュール等の各種データを受け渡す。
【００５１】
図６は基板搬送スケジューラのモジュール構成を示す図である。基板搬送スケジューラは、装置内のイベントに応じて基板搬送シミュレーションを行い、下記ａ）〜ｄ）の機能を実現する。
ａ）新規基板投入スケジューリング機能（新規基板のプロセスレシピ条件に対応した基板搬送スケジュールを作成する機能）
ｂ）生産再開スケジューリング機能（装置が故障停止した後、装置内に残留した全ての基板を回収するための基板搬送スケジュールを作成する機能）
ｃ）ユニット使用・不使用動的切替機能（ユニット（基板処理部）設定切替と同時に、設定変更されたユニットを使用予定していた投入済基板、及び未処理基板の使用ユニットを変更する基板搬送スケジュールを作成する機能）
ｄ）プロセスＮＧ基板の回収スケジューリング機能（（めっき）プロセス不良と判定された基板に関して、他の正常な基板のプロセスを継続しながら、迅速に他のプロセス継続が可能な同種別ユニットへ移動させるか、或いは水洗乾燥後基板を基板収納容器へ回収する基板搬送スケジュール作成機能））
ここで、ユニット使用不可設定処理とユニット不使用動的切り替え処理は同義で、ユニット使用不可設定処理は、ユニット使用・不使用動的切り替え処理に含まれる。
【００５２】
以下、上記めっき処理装置１０における基板搬送制御の手順について説明する。図７は、線形計画法スケジューラ４５の構成例を示すブロック図である。線形計画法スケジューラ４５はスケジュール演算部４５−１、解判断部４５−２、基板搬送スケジュール作成部４５−３、動作司令部４５−６、及び再試行部４５−５を備えている。
【００５３】
先ず、めっき処理装置１０の運転開始に先立って、めっき処理装置１０のロードロボット１２、搬送機２３、搬送機２４（本明細書ではこれらを「搬送機器」と呼ぶことがある。）の各動作に必要とされる時間（以下、「動作予定時間」という）、例えば、ロードロボット１２、搬送機２３、２４が処理機器から基板を受け取るために必要とされる予定時間やロードロボット１２、搬送機２３、２４がある処理機器位置から他の処理機器位置に移動するために必要とさせる予定時間などの入力を入力装置３２を操作して行う。
【００５４】
また、基板位置決め台１３、洗浄乾燥機１４、締付ステージ１５、ストッカ１６、前水洗槽１７、前処理槽１８、水洗槽１９、粗乾燥槽２０、水洗槽２１、めっき槽２２（本明細書ではこれらを「処理機器」と呼ぶことがある。）の各処理機器において基板を処理するために予定される時間（以下、「処理予定時間」という）などを入力する。この処理予定時間の入力も入力装置３２を操作して行う。
【００５５】
なお、これらの動作予定時間及び処理予定時間を入力するための入力装置は、キーボードやポインティングデバイス等に限られるものではなく、例えば、上記動作予定時時間や処理予定時間を予めメモリ３３−２やハードディスク３３−３にファイルとして格納しておき、このファイルを読み込むことにより動作予定時間及び処理予定時間を入力することとしてもよいし、また、このようなファイルを他のコンピュータに保存しておき、これを通信装置を介して読み込むことにより動作予定時間及び処理予定時間を入力することとしてもよい。動作予定時間をファイルに格納する場合には、例えば、ロードロボット１２、搬送機２３、２４等の各搬送機器に接続されたコンピュータによって実際に搬送機器の各動作に必要とされる時間を計測し、この計測された時間を動作予定時間としてファイルに格納することとしてもよい。また、この場合には、めっき処理装置１０の運転中に搬送機器の各動作に必要とされる時間を計測し、平均化にどの処理を行って上記ファイルに格納された動作予定時間を更新すれば、動作予定時間の精度を向上させたり、経時変化に対処させたりすることが可能となる。
【００５６】
次に、線形計画法スケジューラ４５のスケジュール演算部４５−１によって、対象とする基板の最終枚（最終基板）が全処理を終えてめっき処理装置１０から回収される時刻を最も早くするようにロードロボット１２、搬送機２３、２４の搬送機器の各動作の動作時刻（以下、「実行時間」という）が導出される。この実行時刻の導出は所定条件を満たす解を算出することによって行うが、この詳細については後述する。
【００５７】
ここで、上記条件式を満たす解は必ず存在するとは限らず、上記線形計画法スケジューラ４５のスケジュール演算部４５−１での演算の後、上記条件を満たす解が得られたか否かが解判断部４５−２で判断される。解が得られたと判断した場合には、実行時刻に基づいて基板搬送スケジュール作成部４５−３で基板搬送スケジュール、即ち、上記得られた実行時刻と該実行時刻になったときに行うロードロボット１２、搬送機２３、２４の動作とを対応づけたテーブルを作成（更新）し、該基板搬送スケジュールを共有記憶装置３３のハードディスク３３−３に格納する。
【００５８】
そして、めっき処理装置１０の運転時には、ハードディスク３３−３に格納された基板搬送スケジュールを参照してロードロボット１２、搬送機２３、２４の搬送機器の制御を行う。即ち、ハードディスク３３−３の基板搬送スケジュールに記憶されていた実行時刻になったときに、対応する搬送機器の動作を入出力インターフェース４４を介して装置制御部システム５０の装置制御用コントローラ５１に指令する。これにより、対象とする基板の最終枚が全処理を終えためっき処理装置１０から回収される時刻が最も早くなる。なお、装置制御用コントローラ５１がロードロボット１２、搬送機２３、２４の搬送機器に動作を指令する際には、その搬送機器が非動中であること、搬送元の処理機器における基板の処理が完了していること、及び搬送先の処理機器に先行する基板が存在せずリセットも完了していることを確認した上で、指令を送信する。これらの条件が満足されない場合には、動作司令部４５−６は上記条件が満足されるまで待ってから指令を送信する。
【００５９】
一方、解判断部４５−２が上記条件式を満たす解が得られないと判断した場合には、めっき処理装置１０内の搬送機器及び処理機器上に同時に存在する基板の平均枚数を減じるように、即ち、基板の投入間隔を調整して、上記条件式を修正し、上記所定の条件に基づき実行時刻を導出する処理を行い、実行時刻の解を得る。この条件の修正は、搬送機器の動作予定時間と処理機器における処理予定時間を０とした仮想的な基板（以下、「空基板」という）を適当な間隔で基板間に挿入することにより行われる。このとき、装置内に同時に存在する基板の枚数が減れば、搬送機器の動作の頻度が小さくなって搬送機器に余裕が生じるため、解が得られる確率が増す。再試行後も解が得られない場合には、更に上述のめっき処理装置１０内に同時に存在する基板の平均枚数を減じるように上記条件式を修正することとし、極端な場合には、先行する基板の全処理が終了して基板収納容器に回収されてから、次の基板がめっき処理装置１０内投入されることになる。
【００６０】
次に、線形計画法スケジューラ４５のスケジュール演算部４５−１における条件式の設定及び実行時刻の導出を具体例と共に説明する。なお、以下に説明する条件式の設定及び実行時刻の算出は一例であり、他のあらゆる手法を用いて行うこともできる。
【００６１】
まず、ロードロボット１２、搬送機２３、２４の搬送機器の動作の番号（動作番号）ｋを基板がめっき処理装置１０に投入されてから回収されるまでの経路に沿って順に１，２．３．・・・，Ｋと定義する。まためっき処理装置１０の運転開始から十分に時間が経過しためっき処理装置１０内に基板が十分にあって定常的に運転されている状態を想定して、動作ｋに関し、対応する搬送機器の次に実行される動作の番号をｋｐ（ｋ）と表す。更に、めっき処理装置１０の運転開始時には１枚目の基板の前に、また、運転終了時には最終基板の後に、上述した空基板が適当枚数存在すると仮定することにし、これら空基板を含めて、基板収納容器からめっき処理装置１０への投入順に基板番号ｎを定めることとし、動作ｋから次の動作ｋｐ（ｋ）に移るときに動作の対象とする基板の基板番号の増分をｎｐ（ｋ）と表す。例えば、図１に示すめっき処理装置１０については以下のように定義する。
【００６２】
ロードロボット１２がロードポート１１に載置された基板収納容器から未処理の基板を取り出し、基板位置決め台１３に搬送する動作をｋ＝１、基板位置決め台１３から位置決めされた基板を締付ステージ１５ａ、１５ｂに搬送する動作をｋ＝２、基板ホルダー貯留領域２５のストッカ１６を取り出し締付ステージ１５ａ、１５ｂに搬送する動作をｋ＝３、搬送機２３が基板ホルダーに装着された基板を前水洗槽１７に搬送する動作をｋ＝４、前水洗槽１７から前処理槽１８に搬送する動作をｋ−５、前処理槽１８から水洗槽１９に搬送する動作をｋ＝５、搬送機２４で水洗槽１９で水洗処理された基板をめっき領域２６のいずれかのめっき槽２２に搬送する動作をｋ＝６、めっき槽２２から水洗槽２１に搬送する動作をｋ＝７、水洗槽２１から水洗処理された基板は粗乾燥槽（ブロー槽）２０に搬送する動作をｋ＝８、粗乾燥槽２０で粗乾燥処理された基板を締付ステージ１５ａ、１５ｂに搬送する動作をｋ＝９等と定義する。
【００６３】
更に、めっき処理装置１０の運転開始から十分に時間が経過して、めっき処理装置１０内に基板が十分にあって定常的に運転されている状態を想定して、ロードロボット１２、搬送機２３、２４の搬送機器の動作順序を定めておく。例えば、搬送機２４の動作順序を動作番号が３→５→４→６→７→３→・・・となるように周期的を定義する。この場合には、
ｋｐ（３）＝５
ｋｐ（４）＝６
ｋｐ（５）＝４
ｋｐ（６）＝７
ｋｐ（７）＝３
と表すことができる。更に、動作ｋから次の動作ｋｐ（ｋ）に移るときの基板番号の増分ｎｐも以下のように定めておく。なお、このｎｐは基板位置決め台１３、洗浄乾燥機１４、締付ステージ１５、ストッカ１６、前水洗槽１７、前処理槽１８、水洗槽１９、粗乾燥槽２０、水洗槽２１、めっき槽２２の各処理機器の各種別ごとに処理機器の数を考慮して定められる。
ｎｐ＝（３）＝−２
ｎｐ＝（４）＝−２
ｎｐ＝（５）＝＋２
ｎｐ＝（６）＝−３
ｎｐ＝（７）＝＋６
【００６４】
このとき、各基板が同一種別内の各処理機器（例えばめっき領域の各めっき槽２２）に投入順・周期的に割り当てられるものとすれば、以下に示す動作予定時間が一義的に定められる。これらの動作予定時間は、上述の入力装置３２により入力されたもの、或いは入力された値を基に搬送機の位置や経路を考慮して計算により求められるものである。
Ｍ１（ｋ，ｎ）：搬送機器が動作ｋの直前位置から基板ｎを受け取る前に移動する時間
Ｇ１（ｋ，ｎ）：搬送機器が動作ｋで処理機器から基板ｎを受け取る時間
Ｍ（ｋ，ｎ）：搬送機器が動作ｋで基板ｎを保持して移動する時間
Ｇ２（ｋ，ｎ）：搬送機器が動作ｋで処理機器に基板ｎを引き渡す時間
Ｍ２（ｋ，ｎ）：搬送機器が動作ｋで基板ｎを引き渡してから移動する時間
なお、これらの動作予定時間０となる場合がある。
また、これらの合計をＴｇ（ｋ，ｎ）と定義しておく。即ち、
Ｔｇ（ｋ，ｎ）＝Ｍ１（ｋ，ｎ）＋Ｇ１（ｋ，ｎ）＋Ｍ（ｋ，ｎ）＋  Ｇ２（ｋ，ｎ）＋Ｍ２（ｋ，ｎ）
と定義する。
【００６５】
また、以下の非負の変数を定義する。
ｘｒ（ｋ，ｎ）：基板ｎに対する動作ｋの直前の搬送機器の休止時間
ｘｗ（ｋ，ｎ）：基板ｎに対する動作ｋの直前の処理機器上での待ち時間
ｘｆ（ｋ，ｎ）：基板ｎに対する動作ｋにより基板を処理機器に引き渡す直前の該処理機器の空き時間
【００６６】
なお、ｘｗ（ｋ，ｎ）は処理機器からの基板受け取りを含む動作についてのみ定義される。また、ｘｆ（ｋ，ｎ）は処理機器への基板の引き渡しを含む動作についてのみ定義されるが、実用的には、搬送機器間の基板の受け渡しに用いられる中継器に基板を引き渡す動作に限定してもよい。
【００６７】
ここで、基板ｎに対する動作ｋの開始時刻をｔ（ｋ，ｎ）で表すと、以下の３式が成立する。
ｔ（ｋｐ（ｋ），ｎ＋ｎｐ（ｋ））
＝ｔ（ｋ，ｎ）＋Ｔｇ（ｋ．ｎ）
＋ｘｒ（ｋｐ（ｋ），ｎ＋ｎｐ（ｋ））                        ・・・（式１）
ｔ（ｋ＋１，ｎ）
＝ｔ（ｋ，ｎ）＋Ｔｇ（ｋ．ｎ）−Ｍ２（ｋ，ｎ）＋Ｐ（ｋ，ｎ）
−Ｍ１（ｋ＋１，ｎ）＋ｘｗ（ｋ＋１，ｎ）＋ｘｗ（ｋ＋１，ｎ）・・・（式２）
ｔ（ｋ，ｎ）
＝ｔ（ｋ＋１，ｎ−Ｕ（ｋ））
＋Ｍ１（ｋ＋１，ｎ−Ｕ（ｋ）＋Ｇ１（ｋ＋１，ｎ−Ｕ（ｋ））
−Ｍ１（ｋ，ｎ）−Ｇ１（ｋ，ｎ）−Ｍ（ｋ，ｎ）＋ｘｆ（ｋ，ｎ）
・・・（式３）
【００６８】
ここで、（式２）中のＰ（ｋ，ｎ）は動作番号ｋで表される動作後の基板番号ｎの処理予定時間であって、上記入力装置３２により入力されたもの、或いは入力された値を基に計算されたものであり、通常基板ごとに指定されるめっき、洗浄等の処理予定時間に加えて、処理機器上で処理を行うに先立って実行されるシャッタ閉や液張り等の前動作や、処理を終えてから実行される液抜きやシャッタ開等の後動作に要する時間を含むものである。また、（式３）中のＵ（ｋ）は動作ｋで基板を引き渡す処理機器に対する種別内の機器数を表す。
【００６９】
上記（式１）は基板ｎに対する動作ｋの次に同一の搬送機が行う動作の開始時刻、（式２）は基板ｎに対して処理機器での処理終了後次に行われる動作ｋ＋１の開始時刻、（式３）は搬送機器が処理機器からの処理後の基板を受け取った後次の基板ｎを引き渡す動作の開始時刻をそれぞれ表している。
【００７０】
上記（式１）〜（式３）の式は、Ｔ，Ｘｒ，Ｘｗ，Ｘｆをそれぞれｔ（ｋ，ｎ），ｘｒ（ｋ，ｎ），ｘｗ（ｋ，ｎ），ｘｆ（ｋ，ｎ）を要求する列ベクトル、Ｒｍ，Ｗｍ，Ｆｍを適当な行列、Ｒｖ，Ｗｖ，Ｆｖを適当な列ベクトルとして、以下のように変形することができる。
Ｔ  ＝ＲｍＸｒ＋Ｒｖ                                    ・・・（式１ａ）
Ｘｗ＝ＷｍＸｒ＋Ｗｖ                                    ・・・（式２ａ）
Ｘｆ＝ＦｍＸｒ＋Ｆｖ                                    ・・・（式３ａ）
【００７１】
ここで、上記（式１ａ）において、左辺のベクトルＴには最終基板Ｎ（空基板を除く）に対する回収動作の開始時刻を表すｔ（Ｋ，Ｎ）に相当する要素があり、右辺のベクトルＲｍＸｒにおいてこれに対応する要素が最小となれば、対象とする基板の最終枚が全処理を終えてめっき処理装置１０から回収される時刻を最も早くすることができる。この回収時刻を早くする条件は、ｃを適当なベクトルとして以下のように表すことができる。
ｃＸｒ→最小                                              ・・・（式４）
【００７２】
ところで、上記（式１ａ）〜式（３ａ）で表される搬送動作が物理的に成立するための条件は、通常、Ｘｒ≧０，Ｘｗ≧０，Ｘｆ≧０であり、この不等式と上記（式１ａ）〜（式３ａ）とから、以下の不等式を導くことができる。
Ｘｒ≧０                                                  ・・・（式１ｂ）
ＷｍＸｒ≧−Ｗｖ                                          ・・・（式２ｂ）
ＦｍＸｒ≧−Ｆｖ                                          ・・・（式３ｂ）
【００７３】
ここで、ある処理機器において、搬送機器が先行する基板を受取ってから次の基板を引き渡し始めるまでに一定の時間を要する場合には、（式３ｂ）の右辺の対応する要素に、この時間を加える。例えば、上述の締付ステージ１５ａ、１５ｂにおいては、ロードロボット１２がホルダーから外された基板を受取った後、ホルダーが基板ホルダー貯留領域に返還された後、搬送機２３が次の基板を引き渡すことができる。この場合には、右辺の対応する要素にホルダー返還所要時間を加えることとする。
【００７４】
また、（式１ａ）に表されるように、すべての動作開始時刻はＸｒの一次式で表されるから、任意の動作時刻に関する一次の制約条件はＸｒに関する一次不等式で表すことができる。例えば、制約条件として、動作ｋ０において、直前の処理終了後の任意の基板を直ちに受け取ること、即ちｘｗ（ｋ０，ｎ）＝０であることを条件とするならば、上記（式２ａ）おいてｋ０に該当する行を取り出して、以下の一次不等式で表すことができる。
−Ｗｍ０Ｘｒ０≧Ｗｖ０                                      ・・・（式５）
【００７５】
なお、基板ｎ０に対して、動作ｋ０で直前の処理機器から基板を受け取ってから、動作ｋ０＋１で次の処理機器に引き渡すまでの時間に上限の制約条件を設ける場合にも、同様の形式の不等式を導くことができる。また、同様に、任意の２つの動作の開始時刻間に下限の制約条件を設けることができ、これにより、搬送機器にある程度余裕を持ったスケジュールを行うことが可能である。更に、動作ｋにより処理機器へ基板ｎを引き渡してから実際に処理を開始するまでの処理前の待ち時間ｘｗｗ（ｋ，ｎ）と定義し、上述の変数ベクトルＸｒに含めるように定式化することも可能である。この場合には、ｘｗ（ｋ＋１，ｎ）に関する上限の制約条件を満たす確率を上げることができる。
【００７６】
以上により、（式１ｂ）〜（式３ｂ）、及び（式５）は、Ａを適当な行列、ｂを適当な列ベクトルとすれば、以下の式で表すことができる。
ＡＸｒ≧ｂ                                                    ・・・（式６）
従って、最終基板の回収時刻を最も早くするためには、（式６）の下で（式４）の最小値を求めることが必要となるが、このようなＸｒの解は線形計画法の問題として解くことができる。この解Ｘｒが得られれば、最終基板の回収時刻を最も早くする各動作の実行時刻（式１ａ）から得ることができ、これに基づいて上述した基板搬送スケジュール作成（更新）することができる。
【００７７】
図８は線形計画法スケジューラ４５の他の構成例を示すブロック図である。めっき処理装置１０を長時間連続して運転する場合には、各基板に対する処理予定時間が事前に与えられた場合だけであるとは限らず、運転中に、例えば、新しい基板収納容器をロードポートに載置（セット）する度に、基板収納容器内の未処理の基板に対する処理予定時間を与えて制御を行うことが考えられる。本実施形態のめっき処理装置１０はこのような場合にも対応することができる。
【００７８】
即ち、本実施形態におけるめっき処理装置１０は、スケジューリング対象時間領域をめっき処理装置１０の運転中に後方に移動させながら、遂次スケジューリングを繰り返し、各スケジュールの結果を矛盾なく継ぎ足して制御を行うものである。本実施形態におけるめっき処理装置１０は、図８に示すように共有記憶装置３３のハードディスク３３−３に格納されたコンピュータプログラムとＣＰＵ３１（図２参照）との協動によって、スケジュール判断部４５−１１、演算条件決定部４５−１２、スケジュール演算部４５−１３、解判断部４５−１４、基板搬送スケジュール作成部４５−１５、動作指令部４５−１６、再試行部４５−１７が構成されている。
【００７９】
先ず、図７の場合と同様に、入力装置３２により動作予定時間が入力される。更に入力装置３２により処理予定時間が入力される。これら動作予定時間及び処理時間が入力されると、スケジュール判断部４５−１１が新たなスケジューリングが必要か否かを判断する。即ち、処理予定時間が入力されているのにスケジューリングがまだされていない基板がないかを検査する。このスケジュール判断部４５−１１により、スケジューリングがなされていない基板がない、即ち新たなスケジュールが必要ないと判断された場合には、演算条件決定部４５−１２により、現時点以降の一の想定時刻と、スケジューリング演算の対象とする最終基板（空基板を除く）とを決定する。最終基板は、既にスケジューリング済みの基板に加えて新たなスケジューリング演算の対象として追加される基板の最終枚であり、空基板ではないものとする。
【００８０】
この想定時刻と最終基板は、過去に導出されたスケジューリング結果において、最終非空基板（空基板でないものをいう）がめっき処理装置１０に投入されてから最初に空基板を含む基板が基板収納容器に回収される時刻を想定時刻として、現時点から想定時刻までの間に余裕を持ってスケジューリング演算を完了できる範囲の追加基板の枚数を推定し、最終基板を決定する。追加基板の枚数の推定は、スケジューリングはまだされていないが処理予定時間が入力されている基板の枚数の範囲内に行われる。また、正の追加基板枚数が得られない場合には、想定時刻を次のスケジューリング済みの基板の回収時刻にずらして求められる。このようにすると想定時刻から最終基板が回収される時刻までの間が、概略のスケジューリング対象時間領域となる。
【００８１】
ここで、追加した基板の枚数に対してスケジューリング演算に要した時間の平均値が演算時間テーブルとして共有記憶装置３３のハードディスク３３−３内に保存されており、演算条件決定部４５−１２は、この演算時間テーブルに保存された演算の所要時間を考慮して適切基板枚数の推定を行う。この新たなスケジューリングによる最終基板の回収時刻は、全基板の処理予定時刻が事前に与えられている場合に実現される真の最早値（最も早い時刻）に比べて通常遅くなるが、各回のスケジューリングにおいて追加する基板の枚数をある程度大きくとれば、近似的に真の最早値に近くすることができる。
【００８２】
演算条件決定部４５−１２により想定時刻とスケジューリング演算の対象となる最終基板とが決定されると、次にスケジュール演算部４５−１３は、上述の追加基板を追加した後の条件式に基づいて上記スケジューリング対象時間領域内における搬送機器の各動作の実行時刻を導出する。
【００８３】
この場合において、過去に導出されたスケジューリング結果のうち、実行時刻が想定時刻より後の動作番号と基板番号の組を参照することにより、各動作ｋに対して着目する基板番号の下限を求める。或いは、搬送機器の動作順次から処理予定時間や動作予定時間によって想定時刻より後に起こり得る動作を求めて基板番号の下限を求めても良い。このようにすれば、過去のスケジューリング結果において、想定時刻が保持されてない動作が生じる場合もある。また、上述のスケジューリング演算の対象となる最終基板の基板収納容器への回収動作の開始時刻よりも前に起りえる動作を求めて、基板番号の上限を定める。ここで、最終基板以降の基板に関しては、動作時間と処理時間が０の空基板が存在すると仮定する。
【００８４】
このようにして定められた基板番号の下限と上限とに基づいて、上述した未知の列ベクトルＴ，Ｘｒ等が構成され、スケジューリング演算が行われる。そして、各回のスケジューリング演算において、演算に実際に要した時間に基づいて上記演算時間テーブルに保存された演算の所要時間の平均値が更新される。
【００８５】
なお、連続運転開始時にはスケジューリングの即応性を特に重視するため、先頭の１枚目の基板に対し、（式１）〜（式３）が成立する最小値としてｋ＝１，２，・・・Ｋの順に動作時刻を求める。めっき処理装置１０内で処理される基板が１枚の場合、このようにすれば該基板の回収時刻は最も早くなる。また、処理予定時間や動作予定時間が極端な値をとらない限り、基板は、各処理機器で処理された後すぐにロードロボット１２、搬送機２３、２４の搬送機器によって次の処理機器に搬送される。よって、与えられた制約条件を満たす最適解が求められることとなる。
【００８６】
スケジュール演算部４５−１３による処理の後、図７の実施形態と同様に、解判断部４５−１４により実行時刻の解が得られるか否かが判断され、実行時刻の解が得られた場合は基板搬送スケジュール作成部４５−１５により基板搬送スケジュールが作成（更新）される。基板搬送スケジュールが作成（更新）された後は、上記処理を繰り返す。動作指令部４５−１６は、図７の場合と同様に、ハードディスク３３−３に格納された基板搬送スケジュールを参照することにより、ロードロボット１２、搬送機２３、２４の搬送機器の制御を行う。
【００８７】
一方、解判断部４５−１４で実行時刻の解が得られないと判断された場合には、図７の場合と同様、再試行部４５−１７により空基板が各基板間に挿入されるが、かかる場合には、演算条件決定部４５−１２は、この挿入される空基板をも考慮して、非空の追加基板が存在するように、想定時刻とスケジュール演算の対象となる最終基板とを決定する。
【００８８】
なお、本実施形態においては、新たにスケジューリングで求められるロードロボット１２、搬送機２３、２４の搬送機器の動作の実行時刻が想定時刻よりも前になることがあるので、上述した追加基板枚数の推定において安全率を大きめに設定し、想定時刻より早くスケジューリング運算を終えて動作指令部４５−１６によるロードロボット１２、搬送機２３、２４の搬送機器への動作指令を行えるようにする必要がある。
【００８９】
図９はスケジュールリングプロセスのメイン処理のフローを示す図である。ステップＳＴ１で装置制御部システム５０の装置制御用コントローラ５１（図５参照）からスケジューラコマンドを受信し、ステップＳＴ２に移行する。該ステップＳＴ２では、装置始動要求有りかを判断し、有り（Ｙ）の場合はステップＳＴ３に移行し、無し（Ｎ）の場合は上記ステップＳＴ１に戻る。ステップＳＴ３では装置始動処理（動作予定時間、ユニット使用・不使用設定、プロセス制約時間を入力）し、続くステップＳＴ４では、スケジューラ選択初期設定を線形計画法としてステップＳＴ５に移行する。
【００９０】
ステップＳＴ５では、装置制御用コントローラ５１からスケジューラコマンドを受信し（ここではスケジューラコマンド受信と同時に、各々のプロセスにおける処理予定時間を入力する）、ステップＳＴ６に移行する。ステップＳＴ６では、装置コマンドの種類を判断し、装置コマンドが「新規基板投入」、「装置生産再開」、「ユニット使用・不使用動的切替」、「プロセスＮＧ発生」かにより、それぞれステップＳＴ１１、ステップＳＴ１２、ステップＳＴ１３、ステップＳＴ１４に移行する。ステップＳＴ１１ではスケジューラ選択が線形計画法かシミュレーション法かを判断し、線形計画法である場合はステップＳＴ２１の新規基板投入処理線形計画法に、シミュレーション法である場合はステップＳＴ２２の新規基板投入処理シミュレーション法に移行する。ステップＳＴ１２ではスケジューラ制御切替を線形計画法からシミュレーション法とし、ステップＳＴ２３に移行し、ステップＳＴ２３では装置停止からの生産再開処理を行い、ステップＳＴ３０に移行する。ステップＳＴ１３ではスケジューラ制御切替を線形計画法からシミュレーション法とし、ステップＳＴ２４に移行し、ステップＳＴ２４ではユニット使用不可設定変更処理（ユニット不使用動的切り替え処理）を行い、ステップＳＴ３０に移行する。ステップＳＴ１４ではスケジューラ制御切替を線形計画法からシミュレーション法とし、ステップ２５に移行し、ステップ２５では、プロセスＮＧ基板回収処理を行い、ステップＳＴ３０に移行する。
【００９１】
ステップＳＴ３０では、装置内に処理中基板が有るか又は処理予定基板が有るかを判断し、イエス（Ｙ）の場合はステップＳＴ３１に移行し、装置制御用コントローラ５１の基板搬送スケジュールを更新し（これは段落００５７の「ハードディスク３３−３の基板搬送スケジュールに記憶されていた実行時刻になったとき、対応する搬送機器の動作を入出力インターフェース４４を介して装置制御部システム５０の装置制御用コントローラ５１に指令する。」と同義である。なお、本発明の実施形態において「基板搬送スケジュールを更新」とは同義である。）、ステップＳＴ３２に移行する。ステッでＳＴ３２では装置停止要求が有るかを判断し、イエス（Ｙ）の場合はステップＳＴ３３でスケジュール演算部停止処理を行い、ノー（Ｎ）の場合はステップＳＴ４０に移行する。ステップＳＴ４０では、スケジューラ制御をシミュレーション法から線形計画法切替判定し装置運転状態が定常的切替可か非定常的切替不可を判断し、定常的切替可の場合はステップＳＴ４１に移行し、スケジューラ制御切替をシミュレーション法から線形計画法とし、ステップＳＴ５に戻る。非定常的切替不可の場合はステップＳＴ５に戻る。
【００９２】
・線形計画法スケジューラは、通常の装置運転制御において常に最大のスループットを発揮することを主眼として開発された技術であるので、その利点を活かして定常的に装置運転の制御手段として用いる。
【００９３】
・シミュレーション法スケジューラは、最大スループットの発揮を保証できる技術ではない。しかし、生産再開、ユニット使用・不使用動的切替、プロセスＮＧ発生時等のイベントに対して、プロセス制約条件を満たしながら基板回収などの基板搬送スケジュールを柔軟に作成できるという利点を持つ。従って、本技術はそのような非定常的な装置運転の制御手段として用いる。
【００９４】
シミュレーション法により搬送スケジュール作成後、基板回収などの非定常的な基板搬送スケジュールが含まれた状態で運転制御手段を線形計画法スケジューラへ戻すとスケジューリングにおいて非常に複雑困難な演算を要求される。従って、本実施形態では、装置運転が新規投入基板のみの定常状態に戻ってから運転制御手段をシミュレーション法から線形計画法に戻している。
【００９５】
図１０は新規基板投入処理線形計画法（図９のステップＳＴ２１）のフローを示す図である。先ずステップＳＴ２１−１ではスケジューリングが必要な基板が有るかを調べ、有り（Ｙ）の場合はステップＳＴ２１−２に移行する。ステップＳＴ２１−２では想定時刻及び最終基板決定を行い、ステップＳＴ２１−３に移行する。該ステップＳＴ２１−３では搬送条件及びプロセス制約条件各条件式を設定し、ステップＳＴ２１−４に移行する。ステップＳＴ２１−４では所定の条件式に基づき線形計画法演算により基板搬送スケジュール計算を行い、ステップＳＴ２１−５に移行する。
【００９６】
ステップＳＴ２１−５では、条件を満たす基板搬送スケジュールが存在するかを調べ、無し（Ｎ）の場合は、ステップＳＴ２１−６に移行し、基板投入間隔再調整を行い、前記ステップＳＴ２１−２に戻る。有り（Ｙ）の場合は基板搬送スケジュール更新を行い、ステップＳＴ２１−８に移行する。ステップＳＴ２１−８では、全ての新規投入基板のスケジューリングが終了したかを調べ、終了していない場合（Ｎ）の場合はステップＳＴ２１−１に戻り、上記処理を繰り返す。
【００９７】
図１１は新規基板投入処理シミュレーション法（図９のステップＳＴ２２）のフローを示す図である。先ずステップＳＴ２２−１では、装置内に先行処理中基板が有るかを調べ、無い（Ｎ）場合はステップＳＴ２２−２に移行し、有り（Ｙ）の場合はステップＳＴ２２−４に移行する。ステップＳＴ２２−２で搬送シミュレーションデータ初期化を行い、ステップＳＴ２２−３に移行する。該ステップＳＴ２２−３では先頭新規基板投入搬送シミュレーションを行い、ステップＳＴ２２−４に移行する。
【００９８】
ステップＳＴ２２−４では、後続基板同一レシピ投入かを判断し、イエス（Ｙ）の場合はステップＳＴ２２−５に移行し、ノー（Ｎ）の場合はステップＳＴ２２−６に移行する。ステップＳＴ２２−５では、スループット検証を行い、最大スループットパラメータを選択し、ステップＳＴ２２−６に移行する。該ステップＳＴ２２−６では後続新規基板投入搬送シミュレーションを行い、ステップＳＴ２２−７に移行する。該ステップＳＴ２２−７では基板搬送スケジュール更新を行う。
【００９９】
図１２は装置停止からの生産再開処理（図９のステップＳＴ２３）のフローを示す図である。装置停止からの生産再開処理では、先ずステップＳＴ２３−１で装置制御用コントローラの装置内残留基板位置データを読み込み、ステップＳＴ２３−２に移行する。該ステップＳＴ２３−２では搬送シミュレーションデータ初期化を行いステップＳＴ２３−３に移行する。該ステップＳＴ２３−３では装置最下流側未回収残留基板の検索を行いステップＳＴ２３−４に移行する。該ステップＳＴ２３−４では未回収残留基板が有るかを判断し有り（Ｙ）の場合はステップＳＴ２３−５に移行し、無し（Ｎ）の場合はステップＳＴ２３−７に移行する。ステップＳＴ２３−５では新規回収対象基板を指定し、ステップＳＴ２３−６に移行する。該ステップＳＴ２３−６では回収指定残留基板回収搬送シミュレーションを行い、ステップＳＴ２３−３に戻る。ステップＳＴ２３−７では、基板搬送スケジュール更新を行う。
【０１００】
図１３はユニット使用不可設定変更処理（ユニット使用不可設定動的切替処理）（図９のステップＳＴ２４）のフローを示す図である。ユニット使用不可設定変更処理では、先ずステップＳＴ２４−１で対象ユニットの使用・不使用設定切替を行い、ステップＳＴ２４−２に移行する。該ステップＳＴ２４−２では、当該ユニット変更後設定が使用か不使用かを判断し、不使用の場合はステップＳＴ２４−３に移行する。該ステップＳＴ２４−３では当該ユニット使用予定基板上流側検索を行い、使用予定基板有りの場合はステップＳＴ２４−４に移行し、使用予定基板無しの場合はステップＳＴ２４−７に移行する。ステップＳＴ２４−４では同種別使用可能代替ユニットの有無を検索し、「無」の場合はステップＳＴ２４−５に移行し、「有」の場合はステップＳＴ２４−６に移行する。
【０１０１】
ステップＳＴ２４−５では、当該ユニット使用予定基板の回収搬送シミュレーションを行いステップＳＴ２４−７に移行する。また、ステップＳＴ２４−６では、当該ユニット使用予定上流基板の搬送スケジュールを代替ユニット使用へ変更し、ステップＳＴ２４−７に移行する。ステップＳＴ２４−７では、当該ユニット使用予定基板処理開始前の基板検索を行い、処理開始前基板有りの場合はステップＳＴ２４−８に移行し、処理開始前基板無しの場合はステップＳＴ２４−１０に移行する。ステップＳＴ２４−８では処理開始前基板の基板搬送スケジュールを削除し、ステップＳＴ２４−９に移行する。該ステップＳＴ２４−９では処理開始前基板再投入シミュレーションを行いステップＳＴ２４−１０に移行する。該ステップＳＴ２４−１０では、基板搬送スケジュールの更新を行う。
【０１０２】
図１４はプロセスＮＧ基板回収処理（図９のステップＳＴ２５）のフローを示す図である。プロセスＮＧ基板回収処理では、先ずステップＳＴ２５−１でＮＧ対象基板の基板搬送スケジュールを削除し、ステップＳＴ２５−２に移行する。該ステップＳＴ２５−２では、同種別の使用可能代替ユニットを検索し、同種別の使用可能代替ユニットが有ったらステップＳＴ２５−３に移行し、無かったらステップＳＴ２５−５に移行する。このプロセス異常発生ユニットと同種別で代替ユニットが存在するかどうかの判定は、上流側又は基板収納容器に代替ユニットを使用する予定の正常基板が存在しないこと、或いは存在した場合には代替ユニットを使用予定の基板がそこへ到着する前にプロセスＮＧ基板の代替ユニットでのプロセスが終了するタイミングであれば「有」と看做す。
【０１０３】
ステップＳＴ２５−３では、プロセスＮＧ基板の代替ユニットプロセス継続搬送シミュレーションを行い、ステップＳＴ２５−４に移行する。プロセスＮＧ基板をプロセス制約時間内に異常ユニットから代替ユニットへ搬送してプロセス継続を行い、他の正常基板のプロセス制約条件を守りながら、プロセスＮＧ基板を含め全ての基板を正常に基板収納容器へ戻すための搬送シミュレーション行う。ここで搬送シミュレーションの方法の詳細は生産再開における「回収指定残留基板回収搬送シミュレーション」と（ステップＳＴ２３−６）同様である。
【０１０４】
ステップＳＴ２５−４では、プロセス継続搬送シミュレーションが成功したか否かを判定し、イエス（Ｙ）の場合はステップＳＴ２５−６に移行し、ノー（Ｎ）の場合はステップＳＴ２５−５に移行する。本判定では、上記搬送シミュレーションでプロセスＮＧ基板を含め全ての基板がプロセス制約条件を守って正常に基板収納容器へ戻ったかどうかを判定する。
【０１０５】
ステップＳＴ２５−５ではプロセスＮＧ基板回収搬送シミュレーションを行い、ステップＳＴ２５−６に移行する。プロセスＮＧ基板を異常発生ユニットから取り出して水洗、乾燥処理を経由して基板収納容器へ戻すための搬送シミュレーションを行う。他の正常基板はプロセス継続を行う。ここで搬送シミュレーションの方法の詳細は生産再開における「残留基板回収搬送シミュレーション」と同様である。ステップＳＴ２５−６では、基板搬送スケジュール更新を行う。
【０１０６】
以下、上記各処理について説明する。図１５は新規基板投入搬送シミュレーション処理（図１１のＳＴ２２−３、ＳＴ２２−６）のフローを示す図である。図１５において、Ｎは基板収納容器（ロードポート１１）数、ＵＮＩＴ_ＮＵＭはユニット（めっき槽２２）総数、ＴＲＦ_ＮＵＭは搬送機台数を示す。先ずステップＳＴ１０１では、搬送シミュレーションの始めに、ユニット（めっき槽２２）情報や搬送機（ロードロボット１２、搬送機２３、２４）情報、投入済基板搬送スケジュールを参照するポインタを初期化し、搬送シミュレーション初期化を行い、ステップＳＴ１０２の搬送シミュレーション時刻計時処理に移行する。ステップＳＴ１０２の搬送シミュレーション時刻計時処理では、搬送機やユニット処理の次のステータス移行イベントまでの最小残り時間を検索し計時処理を行い、ステップＳＴ１０３、１０４に移行する。
【０１０７】
ステップＳＴ１０３では、基板収納容器での新規投入基板又は投入済基板の投入開始処理を行い、ステップＳＴ１０４では、全プロセスユニットにおいてステータスの更新処理を行い、ステップＳＴ１０５に移行する。該ステップＳＴ１０５では、全ての搬送機において、搬送機ステータスの更新処理を行いステップＳＴ１０６に移行する。該ステップＳＴ１０６では、プロセスユニット又は搬送機に存在する新規投入基板に関して、搬送開始のための判定処理を行い、ステップＳＴ１０７に移行する。該ステップＳＴ１０７では、基板搬送スケジュールの参照ポインタが参照する投入済基板に関して、次の搬送開始のための判定処理を行い、ステップＳＴ１０８に移行する。
【０１０８】
ステップＳＴ１０８では、新規投入基板又は投入済基板に関して搬送機開始判定処理により搬送開始を要求された基板の搬送機開始処理を行い、ステップＳ１０９に移行する。ステップＳＴ１０９では、上記ステップＳＴ１０４のステータス更新処理又はステップＳＴ１０５の搬送機ステータス更新処理においてプロセス制約条件を逸脱したエラーが発生した場合には、搬送シミュレーションデータを初期状態に復元してロード開始時刻を遅延する搬送エラー処理を行い、ステップＳＴ１１０に移行する。該ステップＳＴ１１０では、ロードポート１１において処理開始要求信号をＯＮにした後に搬送シミュレーションのロード前状態記憶要求が発生したときには、現在の搬送シミュレーションデータをロード前状態の記憶領域へコピーする処理を行い、ステップＳＴ１１１に移行する。
【０１０９】
ステップＳＴ１１１では、搬送シミュレーション装置内にプロセス中の新規投入又は投入済の基板が存在するかを検索し、有り（Ｙ）の場合はステップＳＴ１０２に戻り、無し（Ｎ）の場合、即ち新規基板及び投入済基板の搬送が全てプロセス制約を満たして正常に処理終了して指定基板収納容器へ戻ったことを確認したら、ステップＳＴ１１２に移行し、搬送シミュレーション終了処理を行う。この搬送シミュレーション終了処理では、新規に作成された基板搬送スケジュールを投入済基板搬送スケジュール変数領域に上書きコピーする。
【０１１０】
図１６は図１５のステップＳＴ１０１の搬送シミュレーション初期化処理のフローを示す図である。先ずステップＳＴ１０１−１では、搬送シミュレーション状態を前回投入済基板のロード前状態へ初期化し、ステップＳＴ１０１−２に移行する。この搬送シミュレーション状態には、全てのユニット情報データ、搬送機情報データ、その他搬送シミュレーションに必要なデータを含む。初期化は、前回投入基板の搬送シミュレーション開始時に記憶領域にコピー（ステップＳＴ１０１−７）しておいたデータセットを搬送シミュレーション変数領域へ上書きコピーする。
【０１１１】
前記ステップＳＴ１０１−２では、投入済基板搬送スケジュールの参照ポインタを新規投入基板ロード前状態へ初期化し、ステップＳＴ１０１−３に移行する。参照ポインタは、投入済基板の搬送開始の既存基板搬送スケジュールを順次参照するのに用いる。ステップＳＴ１０１−３は新規投入基板の前回投入済基板に対するロード待機時間を計算し、ステップＳＴ１０１−４に移行する。ロード待機時間下限をデフォルト値又はスループット検証結果値とする。ある複数のユニットから成る種別において全てのユニットが使用中の場合、最早に空になるユニットを検索して、そのユニットにスムーズに該当新規投入基板が収納されるようなロード待機時間を算出する。その計算された時間は上記下限値以上とする。
【０１１２】
前記ステップＳＴ１０１−４では、新規投入基板のロード開始時刻を前回投入済基板の開始時刻にロード待機時間を加算して設定し、ステップＳＴ１０１−５に移行する。ステップＳＴ１０１−５では、装置現在時刻＞新規投入基板ロード開始時刻かを判断し、イエス（Ｙ）の場合はステップＳＴ１０１−６に移行し、ノー（Ｎ）の場合ステップＳＴ１０１−７に移行する。ステップＳＴ１０１−６では新規投入基板ロード開始時刻を装置現在時刻にマージン時間を加算して再設定し、ステップＳＴ１０１−７に移行する。ここでのマージン時間は、装置現在時刻にスケジューリングを開始して終了するまでの余裕をみた所要時間として予め定数設定しておいたものを用いる。なお装置現在時刻は装置制御用コントローラ５１より読み込むものとする。前記ステップＳＴ１０１−７では、搬送シミュレーション状態変数データを全てロード前の記憶領域へコピーする。
【０１１３】
図１７は図１５のステップＳＴ１０２の搬送シミュレーション時刻計時処理フローを示す図である。ステップＳＴ１０２−１では、ユニット次ステータス移行までの残り時間最小値を検索し、インターバル時間に設定し、ステップＳＴ１０２−２に移行する。ステップＳＴ１０２−２では、新規投入基板搬送開始時刻までの残り時間がインターバル時間より小さい（残り時間＜インターバル時間）かを判断し、イエス（Ｙ）の場合はステップＳＴ１０２−３に移行し、ノー（Ｎ）の場合はステップＳＴ１０２−４に移行する。ステップＳＴ１０２−３では新規投入基板搬送開始時刻までの残り時間をインターバル時間に設定し、ステップＳＴ１０２−４に移行する。
【０１１４】
前記ステップＳＴ１０２−４では、搬送機の次ステータス移行までの残り時間最小値を検索し、ステップＳＴ１０２−５に移行する。ステップＳＴ１０２−５では搬送機の次ステータスまでの残り時間最小値がインターバル時間より小さい（残り時間最小値＜インターバル時間）かを判断し、イエス（Ｙ）の場合ステップＳＴ１０２−６に移行し、ノー（Ｎ）の場合はステップＳＴ１０２−７に移行する。ステップＳＴ１０２−６では搬送機の次ステータスまでの残り時間最小値をインターバル時間に設定し、ステップＳＴ１０２−７に移行する。ステップＳＴ１０２−７では、投入済基板搬送開始時刻までの残り時間最小値を検索し、ステップＳＴ１０２−８に移行する。
【０１１５】
ステップＳＴ１０２−８では、投入済基板搬送開始時刻までの残り時間最小値がインターバル時間より小さい（残り時間最小値＜インターバル時間）かを判断し、イエス（Ｙ）の場合はステップＳＴ１０２−９に移行し、ノー（Ｎ）の場合はステップＳＴ１０２−１０に移行する。ステップＳＴ１０２−９では投入済基板搬送開始時刻までの残り時間最小値をインターバル時刻に設定する。ステップＳＴ１０２−１０では搬送詰まりエラーを監視し、ステップＳＴ１０２−１１に移行する。ここで搬送詰まりエラー監視は、インターバル時間が一定回数以上にわたりゼロとなる状況を監視する。もしこのような状況が発生した場合には搬送エラーとして、新規基板投入時間を定数値に設定する。ステップＳＴ１０２−１１では搬送シミュレーション時刻にインターバル時間を加算する。
【０１１６】
図１８は図１５のステップＳＴ１０３の基板収納容器新規投入基板又は投入済基板投入開始処理のフローを示す図である。先ずステップＳＴ１０３−１では、次ロード指定投入基板を検索し、ステップＳＴ１０３−２に移行する。この次ロード指定投入基板検索は、スケジュール投入済の処理基板の順に次ロード基板を検索指定していき、最後尾で新規投入基板を次ロード指定する。ステップＳＴ１０３−２では次ロード指定投入基板ロード開始時刻経過かを判断し、イエス（Ｙ）場合はステップＳＴ１０３−３に移行し、ノー（Ｎ）の場合はステップＳＴ１０３−１１に移行する。ステップＳＴ１０３−３で基板収納容器ユニット情報指定投入基板データを登録し、ステップＳＴ１０３−４に移行する。ステップＳＴ１０３−４では、新規投入基板ｏｒ投入済基板かを判断し、新規投入である場合はステップＳＴ１０３−５に移行し、投入済である場合はステップＳＴ１０３−１２に移行する。
【０１１７】
ステップＳＴ１０３−５では、新規投入基板の全プロセス使用ユニット検索し、ステップＳＴ１０３−６に移行する。新規投入基の投入開始から基板収納容器に戻るまでの全てのプロセスに対して、予め使用する予定のユニットを検索しておく。もしプロセス対象種別のユニットが複数あり全て使用中の場合には、最早で終るユニットに合わせてロード開始時刻を調整する。前記ステップＳＴ１０３−６では、新規投入基板に対して全てのプロセスで使用可能な空きユニットの検索が成功したかを判断し、検索成功（Ｙ）の場合はステップＳＴ１０３−７に移行し、検索不成功（Ｎ）の場合はステップＳＴ１０３−１３に移行する。ステップＳＴ１０３−７では、基板収納容器ユニットの搬送開始要求信号をＯＮにして、ステップＳＴ１０３−８に移行する。該ステップＳＴ１０３−８では、搬送シミュレーション情報ロード前状態記憶要求信号をＯＮにする。ここでロード前状態記憶要求信号をＯＮにすると、搬送シミュレーションループ後方で搬送シミュレーション情報の指定記憶領域へのコピーが行われる。
【０１１８】
また、ステップＳＴ１０３−１１では、ロード開始時刻までの残り時間を設定する。また、ステップＳＴ１０３−１２では、基板収納容器ユニット搬送開始要求信号をＯＮにする。また、ステップＳＴ１０３−１３では、ロード開始時刻を開始可能時刻まで遅延し、ステップＳＴ１０３−１４に移行し、該ステップＳＴ１０３−１４でロード開始時刻までの残り時間を設定する。
【０１１９】
図１９は図１５のステップＳＴ１０４のユニットステータス更新処理フローを示す図である。先ステップＳＴ１０４−１でユニット処理経過時間に搬送シミュレーションインターバル時間を加算し、ステップＳＴ１０４−２に移行する。ステップＳＴ１０４−２では、ユニット処理経過時間が次ステータス移行時間を経過したか（ユニット処理経過時間≧次ステータス移行時間）かを判断し、イエス（Ｙ）の場合はステップＳＴ１０４−３に移行し、ノー（Ｎ）の場合はステップＳＴ１０４−４０に移行する。ステップＳＴ１０４−３では、ユニット処理ステータスを判断し、「処理中」であればステップＳＴ１０４−１１へ、「処理終了」であればステップＳＴ１０４−２１へ、「リセット」であればステップＳＴ１０４−３１へそれぞれ移行する。
【０１２０】
前記ステップＳＴ１０４−１１では、ユニット処理ステータスを「処理終了」へ変更し、続くステップＳＴ１０４−１２で基板搬送要求信号をＯＮにする。ステップＳＴ１０４−２１では、ユニット処理ステータス「リセット」移行要求信号がＯＮかを判断し、イエス（Ｙ）の場合は、ステップＳＴ１０４−２２に移行し、該ステップＳＴ１０４−２２でユニット情報基板データを削除し、ステップＳＴ１０４−２３に移行する。該ステップＳＴ１０４−２３ではユニット処理ステータスを「リセット」へ変更し、ステップＳＴ１０４−２４に移行し、ステップＳＴ１０４−２４で次ステータス移行時間にリセット時間を加算し、ステップＳＴ１０４−２５に移行し、ステップＳＴ１０４−２５では次ステータス移行時間までの残り時間を設定する。前記ステップＳＴ１０４−３１では、ユニット処理ステータスを「処理停止」へ変更し、続くステップＳＴ１０４−３２ではユニット情報データを全て消去する。
【０１２１】
図２０は図１５のステップＳＴ１０５の搬送機ステータス更新処理フローを示す図である。先ステップＳＴ１０５−１で搬送機搬送処理経過時間に搬送シミレーションインターバル時間を加算し、ステップＳＴ１０５−２に移行する。ステップＳＴ１０５−２では搬送処理経過時間が次ステータス移行時間を経過した（搬送処理経過時間≧次ステータス移行時間）かを判断し、イエス（Ｙ）の場合はステップＳＴ１０５−３に移行し、ノー（Ｎ）の場合はステップＳＴ１０５−５０に移行する。ステップＳＴ１０５−３では搬送ステータスを判断し、「移動中」ではステップＳＴ１０５−１１、「取出中」ではステップＳＴ１０５−２１、「収納中」ではステップＳＴ１０５−３１、「退避中」ではステップＳＴ１０５−４１にそれぞれ移行する。
【０１２２】
ステップＳＴ１０５−１１では搬送機非干渉条件成立かを判断しイエス（Ｙ）の場合はステップＳＴ１０５−１２に、ノーの場合はステップＳＴ１０５−１６に移行する。ステップＳＴ１０５−１２では搬送機搬送種別を判断し、「取出」の場合はステップＳＴ１０５−１３に移行し、搬送ステータスを「取出中」へ変更し、「収納」の場合はステップＳＴ１０５−１４に移行し、搬送ステータスを「収納中」へ変更する。また、ステップＳＴ１０５−１６では次ステータス移行時間を遅延更新する。
【０１２３】
ステップＳＴ１０５−２１では、ユニット内基板搬送要求信号がＯＮかを判断し、イエス（Ｙ）の場合はステップＳＴ１０５−２２に移行し、ノー（Ｎ）の場合はステップＳＴ１０５−２５に移行する。ステップＳＴ１０５−２２ではユニット処理ステータスを「リセット」移行要求し、続くステップＳＴ１０５−２３で搬送ステータスを「停止中」へ変更（搬送終了）し、続くステップＳＴ１０５−２４でプロセス後放置時間上下限搬送エラーを監視する。また、ステップＳＴ１０５−２５では次ステータス移行時間にユニット処理残り時間分を遅延加算する。
【０１２４】
ステップＳＴ１０５−３１では搬送基板データをユニット情報へコピーし、続くステップＳＴ１０５−３２では収納先ユニットステータス「処理中」へ移行プロセス起動し、ステップＳＴ１０５−３３に移行する。該ステップＳＴ１０５−３３では搬送機位置干渉領域外かを判断し、イエス（Ｙ）の場合はステップＳＴ１０５−３４に移行し、ノー（Ｎ）の場合はステップＳＴ１０５−３６に移行する。ステップＳＴ１０５−３４では搬送ステータスを「停止中」へ変更（搬送終了）し、続くステップＳＴ１０５−３５で搬送機情報データを全て消去し、ステップＳＴ１０５−３７に移行する。また、ステップＳＴ１０５−３６では搬送ステータスを「退避中」へ変更し、ステップＳＴ１０５−３７に移行する。ステップＳＴ１０５−３７では、プロセス時間間隔上下限搬送エラーを監視し、続くステップＳＴ１０５−３８で搬送機保持時間上限搬送エラーを監視する。
【０１２５】
ステップＳＴ１０５−４１では、搬送機現在位置データを待機位置へ変更し、続くステップＳＴ１０５−４２に移行し、ステップＳＴ１０５−４２では搬送ステータスを「停止中」へ変更（搬送終了）し、ステップＳＴ１０５−４３に移行し、ステップＳＴ１０５−４３では搬送機情報データを全て消去する。また、前記ステップＳＴ１０５−５０では次のステータス移行時間までの残り時間を設定する。
【０１２６】
図２１は図１５のステップＳＴ１０６の新規投入基板搬送開始判定処理フローを示す図である。先ずステップＳＴ１０６−１では、指定搬送機停止中＆搬送開始要求信号がＯＦＦであるかを確認し、イエス（Ｙ）であったらステップＳＴ１０６−２に移行する。ステップＳＴ１０６−２では、現在シミュレーション時刻が搬送開始時刻を経過した（現在シミュレーション時刻≧搬送開始時刻）かを判断し、イエス（Ｙ）であればステップＳＴ１０６−３に移行し、ノー（Ｎ）であればステップＳＴ１０６−１１に移行する。ここで搬送開始時刻は、取出の場合はユニット情報に対してプロセスレシピ設定時間から搬送機到達の所定時間を差し引いて設定された時刻を指す。また、収納の場合は現在シミュレーション時刻そのものとする。
【０１２７】
ステップＳＴ１０６−３では搬送機非干渉条件判定処理を行い、続くステップＳＴ１０６−４では、搬送機条件判定、取出元・収納先ユニット条件判定を行い、ステップＳＴ１０６−５に移行する。本判定では、搬送機条件として取出しする場合には搬送機ハンドが基板をもっていないか、収納する場合には基板をもっているかを判定する。また、取出元・収納先ユニット条件として、取出元に基板が存在して収納先に別の基板が無いかを判定する。
【０１２８】
ステップＳＴ１０６−５では、上記搬送機非干渉条件＆搬送機条件＆取出元・収納先ユニット条件の全てが成立しているかを判断し、イエス（Ｙ）の場合はステップＳＴ１０６−６に移行する。ステップＳＴ１０６−６では、新規投入基板搬送開始優先判定し、ステップＳＴ１０６−７に移行する。本判定では、その搬送をすぐ開始すると投入済基板搬送の開始時刻遅れ時間が設定許容値を越える場合、新規基板搬送を投入済基板に対して優先するかを優先順位パラメータで判定する。
【０１２９】
ステップＳＴ１０６−７では、新規投入基板の搬送遅延時間が０に等しい（＝０）か又は正数値（＞０）かを判断し、０の場合はステップＳＴ１０６−８に移行し、搬送機に対して搬送開始要求信号をＯＮにする。また、正数の場合はステップＳＴ１０６−１２に移行し、搬送開始時間に遅延時間を加算して残り時間を設定する。この残り時間は、搬送シミュレーション時刻計時用のインターバル時間計算に用いる。
【０１３０】
図２２は図１５のステップＳＴ１０７の投入済基板の搬送開始判定処理のフローを示す図である。先ずステップＳＴ１０７−１では、指定搬送機停止中＆で搬送開始要求信号がＯＦＦであるかを判断し、イエス（Ｙ）であればステップＳＴ１０７−２に移行する。該ステップＳＴ１０７−２では、現在シミュレーション時刻が搬送実行時刻テーブル搬送開始予定時刻を経過した（現在シミュレーション時刻≧搬送実行時刻テーブル搬送開始予定時刻）かを判断し、イエス（Ｙ）の場合はステップＳＴ１０７−３に移行し、ノー（Ｎ）の場合はステップＳＴ１０７−１１に移行する。ここで、搬送開始予定時刻は、基板搬送スケジュールのポインタが参照する行における時刻を指す。
【０１３１】
ステップＳＴ１０７−３では、搬送機非干渉条件判定を行いステップＳＴ１０７−４に移行する。本判定は指定搬送機が隣接搬送機との干渉領域に入る場合、隣接搬送機が干渉領域内へアクセスしていないか、又はアクセスする予定の場合には指定搬送機が干渉領域を予約しているかを判定する。ステップＳＴ１０７−４では、搬送機条件判定、取出元・収納先ユニット条件判定を行い、ステップＳＴ１０７−５に移行する。この搬送機条件判定、取出元・収納先ユニット条件判定では、搬送機条件として取出する場合には搬送機ハンドが基板を持っていないか、収納する場合には、基板を持っているかを判定する。また、取出元・収納先ユニット条件として、取出元に別の基板が無いかを判定する。ステップＳＴ１０７−５では、上記搬送機非干渉条件＆搬送機条件＆取出元・収納先ユニット条件の全てが成立するかを判断し、イエス（Ｙ）の場合はステップＳＴ１０７−６に移行する。
【０１３２】
ステップＳＴ１０７−６では、投入済基板の搬送開始優先判定をし、ステップＳＴ１０７−７に移行する。ステップＳＴ１０７−７では、投入済基板搬送開始遅延時間が０に等しいか（＝０）か又は正数値（＞０）かを判断し、０の場合はステップＳＴ１０７−８で搬送機に対して搬送開始要求信号をＯＮにし、正数値の場合はステップＳＴ１０７−１２で搬送開始予定時刻に遅延時間を加算して残り時間を設定する。ここで残り時間は、搬送シミュレーション時刻計時用のインターバル時間計算に用いる。
【０１３３】
図２３は図１５のステップＳＴ１０８の新規投入基板又は投入済基板、搬送機開始処理のフローを示す図である。先ずステップＳＴ１０８−１で指定搬送機停止中＆搬送開始要求信号がＯＮかを判断しイエス（Ｙ）であったらステップＳＴ１０８−２に移行し、該ステップＳＴ１０８−２で搬送機情報データへ搬送基板データ、搬送動作を設定し、ステップＳＴ１０８−３に移行する。該テップＳＴ１０８−３では搬送ステータスを「移動中」へ設定し、続くステップＳＴ１０８−４では、搬送機次ステータス移行までの残り時間に移動時間を設定し、ステップＳＴ１０８−５に移行し、該ステップＳＴ１０８−５では、基板搬送スケジュールへ当該搬送データを登録し、ステップＳＴ１０８−６に移行する。ステップＳＴ１０８−６では新規投入基板ｏｒ投入済基板かを判断し、「投入済」の場合はステップＳＴ１０８−７に移行し、投入済基板搬送スケジュール参照ポイントを更新し、「新規投入」の場合はステップＳＴ１０８−８に移行し搬送機搬送開始要求信号をＯＦＦとする。
【０１３４】
図２４は図１５のステップＳＴ１０９の搬送エラー処理フローを示す図である。先ず、ステップＳＴ１０９−１では、新規基板投入遅延時間が正数値（新規基板投入遅延時間＞０）かを判断し、イエス（Ｙ）の場合はステップＳＴ１０９−２に移行し、搬送シミュレーション状態を新規投入基板ロード前の初期状態へ復元し、ステップＳＴ１０９−３に移行する。ここで搬送シミュレーション状態の復元は、前回投入基板の搬送シミュレーション開始時に記憶領域にコピーしておいたデータセットを搬送シミュレーション変数領域へ上書きコピーする。ステップＳＴ１０９−３では、投入済基板搬送スケジュールの参照ポインタを新規投入基板ロード前の初期状態へ復元し、続くステップＳＴ１０９−４で新規投入基板のロード開始時刻を遅延時間だけ延期させる。
【０１３５】
図２５は図１５のステップＳＴ１１０の搬送シミュレーション情報指定状態を記憶領域へコピーする処理フローを示す図である。先ずステップＳＴ１１０−１では、搬送シミュレーション情報記憶要求信号がＯＮかを判断し、イエス（Ｙ）の場合はステップＳＴ１１０−２に移行し、搬送シミュレーション情報指定状態を記憶領域へコピーし、続くステップＳＴ１１０−３に移行し搬送シミュレーション情報記憶要求信号をＯＦＦとする。
【０１３６】
図２６は図１５のステップＳＴ１１２の搬送シミュレーション終了処理フローを示す図である。ステップＳＴ１１２−１において、作成された基板搬送スケジュールを投入済基搬送スケジュール変換領域へ上書きコピーする。
【０１３７】
〔スループット検証〕
図１１のステップＳＴ２２−５のスループット検証処理は下記のように行う。
１）同一プロセスレシピ条件の新規基板を複数枚同時に投入する場合、装置内に基板が存在しない状態からの先頭新規基板投入の搬送シミュレーション（図１１のステップＳＴ２２−３）後、及び後続新規基板投入の搬送シミュレーション（図１１のステップＳＴ２２−６）の前に最大スループットになる搬送制御パラメータ設定を選択する検証（図１１のステップＳＴ２２−５）を行う。ここで先頭新規基板投入の搬送シミュレーション（図１１のステップＳＴ２２−３）は、スループット検証最大スループットパラメータ選択処理（図１１のステップＳＴ２２−５）に時間を要する場合に先頭基板を先にプロセス投入するための処置である。
【０１３８】
２）前記１）のスループット検証機能（図１１のステップＳＴ２２−５）では、最適と想定される複数のパラメータ設定を用意して、それらの各々に対してスループット評価対象枚数分の新規基板投入搬送シミュレーションを行い、スループットの評価値を計測する。その中から最大スループット値となるパラメータを選択して、それを残り複数枚の新規基板等投入搬送シミュレーションに使用する。
【０１３９】
３）前記２）のパラメータ設定には新規投入基板、及び投入済基板の搬送開始遅れ許容時間、優先順位パラメータ、及び基板投入時間下限間隔を含む。
【０１４０】
４）前記２）の最適と想定される複数のパラメータ設定は、予め設計時点において考えられるプロセスレシピ条件に対してスループット値が最大となるようなパラメータ設定を検索することにより準備しておく。
【０１４１】
５）前記２）で計測するスループット評価値は、先頭新規基板が基板収納容器から投入されてから最後尾基板が基板収納容器に戻るまでの下記するロットインデックス値、或いは先頭新規基板が基板収納容器に戻ってから最後尾基板が基板収納容器に戻るまでのタクトベース値の何れかを選択使用する。何れを使用するかは装置毎に異なる。
ロットインデックス値ＷＰＨｌｏｔ  ｉｎｄｅｘ
＝基板処理枚数Ｎ／基板総処理所要時間ＴＮ
タクトベース値ＷＰＨｔａｋｔ  ｂａｓｅ
＝（基板処理枚数Ｎ−１）／（総処理所要時間ＴＮ−先頭基板処理所要時間Ｔ１）
【０１４２】
〔生産再開機能〕
装置の故障停止後において、人手によるメンテナンス後に装置制御部から生産再開の要求を受けたとき、装置内に残留する基板を指定された基板収納容器に回収しながら、同時に新規基板を装置内に投入するスケジューリングを、下記１）〜３）のように行う。
１）生産再開スケジューリングには搬送シミュレーション方式を用いる。
２）装置内に残留した基板は、プロセス制約条件を満たしながら指定された基板収納容器へ回収する。
３）装置内に残留した基板を回収するスケジューリングを行い、続いて後続の新規の基板を投入するためのスケジューリングを行う。
【０１４３】
図２７は装置停止状態からの生産再開を説明するための概念図であり、図２７（ａ）は従来例を、図２７（ｂ）は本実施形態例を示す。図示するように、従来例では図２７（ａ）に示すように、装置内に残留している基板１〜４を回収し、その後に生産再開準備を行い、該生産再開準備の終了後に新規基板５〜８の投入を行っていた。これに対して本実施例では、図２７（ｂ）に示すように、装置内に残留している基板１〜４の回収と並行して、新規基板５〜８の投入を行っている。これにより生産量が向上する。
【０１４４】
〔装置内に残留している基板の回収スケジューリング〕
装置内に残留している基板の回収スケジューリングの概要は、下記１）〜４）となる。
１）装置内に残留した基板を１枚又は複数枚１組ずつ指定（本実施例では２枚１組指定）して基板収納容器への回収をするための搬送シミュレーションを行う。
【０１４５】
２）搬送シミュレーションは、仮想的な装置モデルを制御部内に生成し（図５参照）、回収スケジューリング済基板は前回の残留基板回収シミュレーションで作成済の基板搬送スケジュールに従って搬送を行い、また新規回収指定基板はユニット処理終了条件及び搬送条件を満たした搬送シミュレーションを行って、新たな基板搬送スケジュールを作成する。
【０１４６】
３）搬送シミュレーションでは、新規回収指定基板がプロセス終了後に指定された基板収納容器へ戻ることを前提とする。
【０１４７】
４）搬送シミュレーションでは、各々の回収基板に対して予め装置制御部側で設定されたプロセスレシピ条件に従って搬送処理を行う。また、レシピ時間設定が０のユニットを飛び越す処理を含む。
【０１４８】
〔生産再開基板回収搬送シミュレーション〕
図２８は回収指定残留基板回収搬送シミュレーション（図１２のステップＳＴ２３−６）のフローを示す図である。図２８において、Ｎは基板収納容器（ロードポート）の数を、ＵＮＴ_ＮＵＭはユニット総数を、ＴＲＦ_ＮＵＭは搬送機台数をそれぞれ示す。先ずステップＳＴ２０１では搬送シミュレーション初期化を行い、ステップＳＴ２０２に移行する。該ステップＳＴ２０２では、搬送機やユニット処理の次のステータス移行イベントまでの最小残り時間を検索して搬送シミュレーション時刻の計時処理を行い、ステップＳＴ２０３に移行する。該ステップＳＴ２０３では、全てのプロセスユニットにおいて、ステータスの更新処理を行い、ステップＳＴ２０４に移行する。該ステップＳＴ２０４では、全ての搬送機において、ステータスの更新処理を行い、ステップＳＴ２０５に移行する。
【０１４９】
ステップＳＴ２０５では、装置内残留新規回収指定基板の搬送開始判定処理を行い、ステップＳＴ２０６に移行する。該ステップＳＴ２０６では、装置内残留回収スケジューリング（以下「ＳＣＨ」と記す）済基板搬送開始判定処理を行い、ステップＳＴ２０７に移行する。該ステップＳＴ２０７では、新規回収指定基板、又は回収ＳＣＨ済基板に関して、搬送機開始判定処理を行い、ステップＳＴ２０８に移行する。
【０１５０】
ステップＳＴ２０８では、残留基板回収シミュレーション搬送エラー処理を行い、ステップＳＴ２０９に移行する。該ステップＳＴ２０９では、搬送シミュレーション装置内に回収基板が有るか否かを判断し、イエス（Ｙ）の場合はステップＳＴ２０２に移行し、ノー（Ｎ）の場合はステップＳＴ２１０に移行し、搬送シミュレーション終了処理を行う。
【０１５１】
図２９は図２８のステップＳＴ２０１の搬送シミュレーション初期化処理フローを示す図である。先ずステップＳＴ２０１−１では、搬送シミュレーション状態を前回回収ＳＣＨ（スケジューリング）済基板の回収開始前状態へ初期化し、ステップＳＴ２０１−２又はステップＳＴ２０１−３に移行する。搬送シミュレーション状態には、全てのユニット情報データ、搬送情報データ、その他搬送シミュレーションに必要なデータを含む。初期化には、前回回収ＳＣＨ済基板の搬送シミュレーション開始時に記憶領域にコピーしておいたデータセットを搬送シミュレーション変数領域へ上書きコピーする。ステップＳＴ２０１−２では投入済基板搬送スケジュールの参照ポインタを新規回収指定基板の回収開始前状態へ初期化し、ステップＳＴ２０１−３では新規回収指定基板の回収開始時刻を現在シミュレーション時刻に設定する。参照ポインタは、投入済基板の搬送開始を既存基板搬送スケジュールの順序に従って行うために、既存基板搬送スケジュールを順次参照するのに用いる。
【０１５２】
図３０は図２８の搬送シミュレーション時刻経時（ステップＳＴ２０２）フローを示す図である。先ずステップＳＴ２０２−１では、ユニット次ステータス移行までの残り時間最小値を検索し、インターバル時間に設定し、ステップＳＴ２０２−２に移行する。ステップＳＴ２０２−２では新規回収指定基板搬送開始時刻までの残り時間がインターバル時間より小さい（残り時間＜インターバル時間）かを判断し、イエス（Ｙ）の場合はステップＳＴ２０２−３に移行し、ノー（Ｎ）の場合はステップＳＴ２０２−４に移行する。ステップＳＴ２０２−３では、新規回収指定基板搬送開始時刻までの残り時間をインターバル時間に設定し、ステップＳＴ２０２−４では搬送機の次ステータス移行までの残り時間最小値を検索し、ステップＳＴ２０２−５に移行する。
【０１５３】
ステップＳＴ２０２−５では、搬送機の次ステータスまでの残り時間最小値がインターバル時間より小さい（残り時間最小値＜インターバル時間）かを判断し、イエス（Ｙ）であった場合はステップＳＴ２０２−６に移行し、ノー（Ｎ）であった場合はステップＳＴ２０２−７に移行する。ステップＳＴ２０２−６では搬送機の次ステータスまでの残り時間最小値をインターバル時間に設定し、ステップＳＴ２０２−７では回収ＳＣＨ済基板搬送開始時刻までの残り時間最小値を検索する。続くステップＳＴ２０２−８では回収ＳＣＨ済基板搬送開始時刻までの残り時間最小値がインターバル時間より小さい（残り時間最小値＜インターバル時間）かを判定し、イエス（Ｙ）の場合ステップＳＴ２０２−９に移行し、ノー（Ｎ）の場合はステップＳＴ２０２−１０に移行する。
【０１５４】
ステップＳＴ２０２−９では、回収ＳＣＨ済基板搬送開始時刻までの残り時間を最小値をインバータ時間に設定し、ステップＳＴ２０２−１０では搬送詰まりエラー監視を行い、続くステップＳＴ２０２−１１では搬送シミュレーション時刻にインターバル時間を加算する。ここで搬送詰まりエラー監視は、インターバル時間が一定回数以上にわたりゼロとなる状況を監視する。もしこのような状況が発生した場合には搬送エラーとして、新規回収指定基板の回収遅延時間を定数値に設定する。
【０１５５】
図３１は図２８のプロセスユニットステータス更新処理（ステップＳＴ２０３）フローを示す図である。先ずステップＳＴ２０３−１でユニット処理経過時間に搬送シミュレーションインターバル時間を加算し、ステップＳＴ２０３−２に移行する。ステップＳＴ２０３−２では、ユニット処理経過時間が次ステータス移行時間を経過した（ユニット処理経過時間≧次ステータス移行時間）かを判断し、イエス（Ｙ）の場合はステップＳＴ２０３−３に移行し、ノー（Ｎ）の場合はステップＳＴ２０３−４０に移行する。ステップＳＴ２０３−３ではユニット処理ステータスを判断し、「処理中」の場合はステップＳＴ２０３−１1に、「処理終了」の場合はステップＳＴ２０３−２１に、「リセット」の場合はステップＳＴ２０３−３１にそれぞれ移行する。
【０１５６】
ステップＳＴ２０３−１１では、ユニット処理ステータスを「処理終了」へ変更し、続くステップＳＴ２０３−１２では、基板搬送要求信号をＯＮにする。ステップＳＴ２０３−２１ではユニット処理ステータス「リセット」移行要求信号がＯＮかを判断し、イエス（Ｙ）の場合はステップＳＴ２０３−２２に移行し、該ステップＳＴ２０３−２２ではユニット情報基板データを削除してステップＳＴ２０３−２３に移行する。該ステップＳＴ２０３−２３ではユニット処理ステータスを「リセット」へ変更し、ステップＳＴ２０３−２４に移行する。該ステップＳＴ２０３−２４では次ステータス移行時間にリセット時間を加算し、続くステップＳＴ２０３−２５では次ステータス移行時間までの残り時間を設定する。ステップＳＴ２０３−３１ではユニット処理ステータスを「処理停止」へ変更し、続くステップＳＴ２０３−３２ではユニット情報データを全て消去する。また、ステップＳＴ２０３−４０では、次ステータス移行時間までの残り時間を設定する。
【０１５７】
図３２は図２８の搬送機ステータス更新処理（ステップＳＴ２０４）フローを示す図である。先ず、ステップＳＴ２０４−１では、搬送機搬送処理経過時間に搬送シミュレーションインターバル時間を加算し、ステップＳＴ２０４−２では、搬送処理経過時間が次ステータス移行時間を経過した（搬送処理経過時間≧次ステータス移行時間）かを判断し、イエス（Ｙ）の場合はテップＳＴ２０４−３に移行し、ノー（Ｎ）の場合はステップＳＴ２０４−５０に移行する。テップＳＴ２０４−３では搬送ステータスが「移動中」か、「取出中」か、「収納中」か、「退避中」かを判断し、「移動中」、「取出中」、「収納中」、「退避中」であったら、それぞれステップＳＴ２０４−１１、ステップＳＴ２０４−２１、ステップＳＴ２０４−３１、ステップＳＴ２０４−４１に移行する。また、ステップＳＴ２０４−５０では、次ステータス移行時間までの残り時間を設定する。
【０１５８】
ステップＳＴ２０４−１１では、搬送機非干渉条件が成立したかを判断し、イエス（Ｙ）の場合はステップＳＴ２０４−１２、ノー（Ｎ）の場合はステップＳＴ２０４−１５に移行する。ステップＳＴ２０４−１２では、搬送機搬送種別を判断し、「取出」の場合ステップＳＴ２０４−１３に移行し、搬送ステータスを「取出中」へ変更する。「収納」の場合はステップＳＴ２０４−１４で搬送ステータスを「収納中」へ変更する。ステップＳＴ２０４−１５では、次ステータス移行時間を遅延更新する。ステップＳＴ２０４−２１はユニット内基板搬送要求信号がＯＮかを判断し、イエス（Ｙ）の場合はステップＳＴ２０４−２２に移行し、ノー（Ｎ）の場合はステップ２０４−２５に移行する。ステップＳＴ２０４−２２ではユニット処理ステータスを「リセット」移行要求し、ステップＳＴ２０４−２３に移行する。該ステップＳＴ２０４−２３では搬送ステータを「停止中」へ変更（搬送終了）し、続くステップＳＴ２０４−２４でプロセス後放置時間上下限搬送エラーを監視する。また、ステップＳＴ２０４−２５では次ステータス移行時間にユニット処理残り時間分を加算する。
【０１５９】
ステップＳＴ２０４−３１では、搬送基板データをユニット情報へコピーし、続くステップＳＴ２０４−３２で収納先ユニットステータス「処理中」へ移行し、プロセス起動し、ステップＳＴ２０４−３３に移行する。該ステップＳＴ２０４−３３では搬送機位置が干渉領域外かを判断し、イエス（Ｙ）の場合はステップＳＴ２０４−３４に移行し、ノー（Ｎ）の場合はステップＳＴ２０４−３６へ移行する。ステップＳＴ２０４−３４では搬送ステータスを「停止中」へ変更（搬送終了）し、続くステップＳＴ２０４−３５で搬送機情報データを全て消去し、ステップＳＴ２０４−３７に移行する。ステップＳＴ２０４−３６では搬送ステータスを「退避中」へ変更し、ステップＳＴ２０４−３７に移行する。ステップＳＴ２０４−３７では、プロセス時間間隔上下限搬送エラーを監視し、続くステップＳＴ２０４−３８では、搬送機保持時間上限搬送エラーを監視する。ステップＳＴ２０４−４１では搬送機現在位置データを待機位置へ変更し、続くステップＳＴ２０４−４２に移行する。該ステップＳＴ２０４−４２では搬送ステータスを「停止中」へ変更（搬送終了）し、続くステップＳＴ２０４−４３で搬送機情報データを全て消去する。
【０１６０】
図３３は図２８の装置内残留新規回収指定基板搬送開始判定処理（ステップＳＴ２０５）フローを示す図である。先ずステップＳＴ２０５−１では指定搬送機停止中＆搬送開始要求信号がＯＦＦかを判定し、イエス（Ｙ）の場合はステップＳＴ２０５−２に移行し、ステップＳＴ２０５−２では、現在シミュレーション時刻が搬送開始時刻を経過した（現在シミュレーション時刻≧搬送開始時刻）かを判断し、イエス（Ｙ）の場合はステップＳＴ２０５−３に移行し、ノー（Ｎ）の場合はステップＳＴ２０５−１１に移行する。ここでの搬送開始時刻は、取出の場合は、ユニット情報に対してプロセスレシピ設定時間から搬送機到達の所要時間を差し引いて設定された時刻を指す。また、収納の場合は現在シミュレーション時刻そのものとする。
【０１６１】
ステップＳＴ２０５−３では、搬送機非干渉条件を判定し、続くステップＳＴ２０５−４では、搬送機条件判定取出元・収納先ユニット条件判定し、ステップＳＴ２０５−５に移行する。ステップＳＴ２０５−５では、搬送機非干渉条件＆搬送機条件＆取出元・収納先ユニット条件の全てが成立したかを判断し、イエス（Ｙ）の場合はステップＳＴ２０５−６に移行し、ステップＳＴ２０５−６で新規回収指定基板搬送開始優先判定する。本判定では、その搬送をすぐ開始すると回収ＳＣＨ済基板搬送の開始時刻遅れ時間が設定許容値を越える場合、新規回収指定基板搬送を回収ＳＣＨ済基板に対して優先するかを優先順位パラメータで判定する。
【０１６２】
続くステップＳＴ２０５−７では新規回収指定基板搬送開始遅延時間が０に等しい（＝０）又は正数値    （＞０）かを判定し、０の場合ステップＳＴ２０５−８で搬送機に対して搬送開始要求信号をＯＮにする。正数値の場合はステップＳＴ２０５−１２に移行し、搬送開始時間に遅延時間を加算して残り時間を設定する。また、前記ステップＳＴ２０５−１１では搬送開始時間までの残り時間を設定する。
【０１６３】
図３４は図２８の装置内残留回収ＳＣＨ済基板搬送開始判定処理（ステップＳＴ２０６）フローを示す図である。先ずステップＳＴ２０６−１で指定搬送機停止中＆搬送開始要求信号がＯＦＦかを判断し、イエス（Ｙ）の場合はステップＳＴ２０６−２に移行する。該ステップＳＴ２０６−２では、現在シミュレーション時刻が搬送実行時刻テーブル搬送開始予定時刻を経過した（現在シミュレーション時刻≧搬送実行時刻テーブル搬送開始予定時刻）かを判定し、イエス（Ｙ）の場合はステップＳＴ２０６−３に移行し、ノー（Ｎ）の場合はステップＳＴ２０６−１１に移行する。ここでの搬送開始予定時刻は、投入済基板スケジュールのポインタが参照する行における時刻を指す。ステップＳＴ２０６−３では、搬送機非干渉条件判定し、続くステップＳＴ２０６−４では、搬送機条件判定取出元・収納先ユニット条件判定をし、ステップＳＴ２０６−５に移行する。本判定では、搬送機条件として取出する場合には搬送機ハンドが基板をもっていないか、収納する場合には基板を持っているかを判定する。また取出元・収納先ユニット条件として、取出元に基板が存在して収納先に別の基板が無いかを判定する。ステップＳＴ２０６−１１では、搬送開始予定時刻までの残り時間を設定する。
【０１６４】
ステップＳＴ２０６−５では、搬送機非干渉条件＆搬送機条件＆取出元・収納先ユニット条件の全てが成立したかを判断し、イエス（Ｙ）の場合はステップＳＴ２０６−６に移行し、回収ＳＣＨ済基板搬送開始優先判定し、ステップＳＴ２０６−７に移行する。本判定では、その搬送をすぐ開始すると搬送予定時刻を過ぎて遅れ時間が設定許容値を越える場合、回収ＳＣＨ済基板搬送を新規回収指定基板に対して優先するか優先順位パラメータで判定する。該ステップＳＴ２０６−７では、回収ＳＣＨ済基板搬送開始遅延時間が０に等しい（＝０）か又は正数値（＞０）を判断し、０の場合ステップＳＴ２０６−８で搬送機に対して搬送開始要求信号をＯＮにする。正数値ではステップＳＴ２０６−１２で搬送開始予定時刻に遅延時間を加算して残り時間を設定する。ここで残り時間は、搬送シミュレーション時刻用のインバータ時間計算に用いる。
【０１６５】
図３５は図２８の新規回収指定基板、又は回収ＳＣＨ済基板搬送機開始判定処理（ステップＳＴ２０７）フローを示す図である。先ず指定搬送機停止中＆搬送開始要求信号がＯＮかを判断し、イエス（Ｙ）の場合はステップＳＴ２０７−２で搬送機情報データへ搬送基板データ、搬送動作を設定し、続くステップＳＴ２０７−３で搬送ステータスを「移動中」へ設定する。搬送ステータスは搬送情報データにプロパティとして含まれる。ステップＳＴ２０７−４では、搬送機次ステータス移行までの残り時間に移動時間を設定する。ステップＳＴ２０７−５では、基板搬送スケジュールへ該当搬送データを登録し、ステップＳＴ２０７−６では、新規回収指定基板ｏｒ回収ＳＣＨ済基板かを判定し、回収ＳＣＨ済の場合はステップＳＴ２０７−７に移行し、投入済基板搬送スケジュール参照ポインタを更新する。新規回収指定ではステップＳＴ２０７−８に移行し、搬送機搬送開始要求信号をＯＦＦとする。
【０１６６】
図３６は図２８の残留基板回収シミュレーション搬送エラー処理フロー（ステップＳＴ２０８）を示す図である。先ず、ステップＳＴ２０８−１では、新規回収指定基板回収開始遅延時間が正数値（新規回収指定基板回収開始遅延時間＞０）かを判断し、イエス（Ｙ）の場合はステップＳＴ２０８−２に移行し、ノー（Ｎ）のステップＳＴ２０８−４に移行する。ステップＳＴ２０８−２では、搬送シミュレーション状態を新規回収指定基板回収前の初期状態へ復元し、ステップＳＴ２０８−３に移行する。該ステップＳＴ２０８−３では、投入済基板搬送スケジュールの参照ポインタを新規回収指定基板回収開始前の状態へ復元し、ステップＳＴ２０８−４に移行し、新規回収指定基板の回収開始時刻を遅延時間だけ延期させる。
【０１６７】
図３７は図２８のステップＳＴ２１０の搬送シミュレーション終了処理フローを示す図である。ステップＳＴ２１０−１で作成された基板搬送スケジュールを投入済基板搬送スケジュール領域へ上書きコピーする。  
【０１６８】
以上、本発明の実施形態例を説明したが、本発明は上記実施形態例に限定されるものではなく、特許請求の範囲、及び明細書と図面に記載された技術的思想の範囲内において種々の変形が可能である。上記実施例ではめっき槽２２で半導体基板にバンプ電極等の金属膜を形成するめっき処理装置を例に説明したが、本発明はこれに限定されるものではなく、より厳格な基板搬送スケジュールの管理が必要な装置に好適である。例えば、電解めっきでは電解電流を供給する電源を遮断することにより、めっきの進行を止めることができるから、無電解めっき装置ほど厳しい制約条件での基板搬送スケジューリングを必要としないが、無電解めっき装置では、必然的にめっき処理が進行するため、より厳格な基板搬送スケジュールの管理が必要となるから、本願発明が好適である。
【産業上の利用可能性】
【０１６９】
本発明は、基板搬送のスケジューリングを、線形計画法とシミュレーション法とを切り替えて行うので、新たに投入する基板に対する通常の装置運転制御において常に最大スループットを発揮する基板搬送スケジュールを作成するだけでなく、故障が発生し、故障の復旧後に、装置内に残留した基板を回収しながら、新規の基板を投入できるような基板の搬送スケジューリングを行うことにより、基板回収に要する時間を削減して生産量を向上させることができるスケジューラ、該スケジューラを用いた基板処理装置の基板搬送方法、及び基板処理装置の運転制御装置として利用できる。
【符号の説明】
【０１７０】
１０  めっき処理装置
１１  ロードポート
１２  ロードロボット
１３  基板位置決め台
１４  洗浄乾燥機
１５  締付ステージ
１６  ストッカ
１７  前水洗槽
１８  前処理槽
１９  水洗槽
２０  粗乾燥槽（ブロー槽）
２１  水洗槽
２２  めっき槽
２３  搬送機
２４  搬送機
２５  基板ホルダー貯留領域
２６  めっき領域
３０  制御部
３１  中央処理装置（ＣＰＵ）
３２  入力装置
３３  共有記憶装置
３４  入出力インターフェース
４０  スケジューラ
４１  スケジューラ切替プロセス
４２  初期化プロセス
４３  スケジューリングプロセス
４４  入出力インターフェース
５０  装置制御部システム
５１  装置制御用コントローラ
【図１】
0005415356.tif 000002
【図２】
0005415356.tif 000003
【図３】
0005415356.tif 000004
【図４】
0005415356.tif 000005
【図５】
0005415356.tif 000006
【図６】
0005415356.tif 000007
【図７】
0005415356.tif 000008
【図８】
0005415356.tif 000009
【図９】
0005415356.tif 000010
【図１０】
0005415356.tif 000011
【図１１】
0005415356.tif 000012
【図１２】
0005415356.tif 000013
【図１３】
0005415356.tif 000014
【図１４】
0005415356.tif 000015
【図１５】
0005415356.tif 000016
【図１６】
0005415356.tif 000017
【図１７】
0005415356.tif 000018
【図１８】
0005415356.tif 000019
【図１９】
0005415356.tif 000020
【図２０】
0005415356.tif 000021
【図２１】
0005415356.tif 000022
【図２２】
0005415356.tif 000023
【図２３】
0005415356.tif 000024
【図２４】
0005415356.tif 000025
【図２５】
0005415356.tif 000026
【図２６】
0005415356.tif 000027
【図２７】
0005415356.tif 000028
【図２８】
0005415356.tif 000029
【図２９】
0005415356.tif 000030
【図３０】
0005415356.tif 000031
【図３１】
0005415356.tif 000032
【図３２】
0005415356.tif 000033
【図３３】
0005415356.tif 000034
【図３４】
0005415356.tif 000035
【図３５】
0005415356.tif 000036
【図３６】
0005415356.tif 000037
【図３７】
0005415356.tif 000038