(57)【特許請求の範囲】
【請求項１】
基板処理を実行するための処理ユニットを備えた基板処理装置における基板処理方法であって、
外部コンピュータから、１枚または複数枚の第１基板に対する処理である第１プロセスジョブを規定する第１プロセスジョブ情報を受信する第１受信工程と、
外部コンピュータから、１枚または複数枚の第２基板に対する処理である第２プロセスジョブを規定する第２プロセスジョブ情報を、前記第１受信工程よりも後に受信する第２受信工程と、
前記第１プロセスジョブを前記処理ユニットで実行するための第１処理スケジュールを作成する第１処理スケジューリング工程と、
前記第１プロセスジョブのカテゴリに基づいて属性情報を生成する属性情報生成工程と、
前記第２プロセスジョブ情報および前記属性情報に基づいて、前記第２プロセスジョブを前記処理ユニットで実行するための第２処理スケジュールを作成する第２処理スケジューリング工程と、
を含み、
前記属性情報生成工程が、前記第１プロセスジョブのカテゴリとは異なるカテゴリのプロセスジョブの前記処理ユニットにおける実行を禁止する禁止属性情報を生成する工程を含む、基板処理方法。
【請求項２】
前記第２処理スケジューリング工程が、
前記禁止属性情報が生成されている場合に、前記第１プロセスジョブのカテゴリと前記第２プロセスジョブのカテゴリとの異同を判断する工程と、
前記第１および第２プロセスジョブのカテゴリが同じであれば、前記処理ユニットにおいて前記第２プロセスジョブを実行する第２処理スケジュールの作成を許容し、前記第１および第２プロセスジョブのカテゴリが異なれば、前記処理ユニットにおいて前記第２プロセスジョブを実行する第２処理スケジュールの作成を禁止する工程とを含む、請求項１に記載の基板処理方法。
【請求項３】
前記第１プロセスジョブ情報が前記第１基板の種類を表す第１基板種情報を含み、
前記第２プロセスジョブ情報が前記第２基板の種類を表す第２基板種情報を含み、
前記カテゴリの異同を判断する工程は、前記第１基板種情報および前記第２基板種情報に基づいて前記第１および第２基板の種類の異同を判断する工程を含む、請求項２に記載の基板処理方法。
【請求項４】
前記第１プロセスジョブ情報が前記第１基板に対する処理条件を表す第１処理条件情報を含み、
前記第２プロセスジョブ情報が前記第２基板に対する処理条件を表す第２処理条件情報を含み、
前記カテゴリの異同を判断する工程は、前記第１処理条件情報および前記第２処理条件情報に基づいて前記第１および第２基板に対する処理条件の異同を判断する工程を含む、請求項２または３に記載の基板処理方法。
【請求項５】
基板処理を実行するための処理ユニットを備えた基板処理装置における基板処理方法であって、
外部コンピュータから、１枚または複数枚の第１基板に対する処理である第１プロセスジョブを規定する第１プロセスジョブ情報を受信する第１受信工程と、
外部コンピュータから、１枚または複数枚の第２基板に対する処理である第２プロセスジョブを規定する第２プロセスジョブ情報を、前記第１受信工程よりも後に受信する第２受信工程と、
前記第１プロセスジョブを前記処理ユニットで実行するための第１処理スケジュールを作成する第１処理スケジューリング工程と、
前記第１プロセスジョブのカテゴリに基づいて属性情報を生成する属性情報生成工程と、
前記第２プロセスジョブ情報および前記属性情報に基づいて、前記第２プロセスジョブを前記処理ユニットで実行するための第２処理スケジュールを作成する第２処理スケジューリング工程と、
を含み、
前記第１処理スケジューリング工程が、前記第１基板に対する処理を実行する第１処理ユニットを特定する第１処理ユニット特定工程を含み、
前記属性情報生成工程が、前記第１プロセスジョブのカテゴリとは異なるカテゴリのプロセスジョブの前記第１処理ユニットにおける実行を禁止する禁止属性情報を生成する工程であり、
前記第２処理スケジューリング工程が、前記禁止属性情報が生成されている場合に、前記第１プロセスジョブのカテゴリと前記第２プロセスジョブのカテゴリとの異同を判断するカテゴリ判断工程と、前記カテゴリ判断工程の判断結果に基づいて前記第２基板に対する処理を実行する第２処理ユニットを特定する第２処理ユニット特定工程とを含み、
前記第２処理ユニット特定工程が、前記第１および第２プロセスジョブのカテゴリが同じであれば、前記第１処理ユニットを前記第２処理ユニットとして特定し、前記第１および第２プロセスジョブのカテゴリが異なれば、前記第１処理ユニットとは異なる処理ユニットを前記第２処理ユニットとして特定する、基板処理方法。
【請求項６】
基板処理を実行するための処理ユニットを備えた基板処理装置における基板処理方法であって、
外部コンピュータから、１枚または複数枚の第１基板に対する処理である第１プロセスジョブを規定する第１プロセスジョブ情報を受信する第１受信工程と、
外部コンピュータから、１枚または複数枚の第２基板に対する処理である第２プロセスジョブを規定する第２プロセスジョブ情報を、前記第１受信工程よりも後に受信する第２受信工程と、
前記第１プロセスジョブを前記処理ユニットで実行するための第１処理スケジュールを作成する第１処理スケジューリング工程と、
前記第１プロセスジョブのカテゴリに基づいて属性情報を生成する属性情報生成工程と、
前記第２プロセスジョブ情報および前記属性情報に基づいて、前記第２プロセスジョブを前記処理ユニットで実行するための第２処理スケジュールを作成する第２処理スケジューリング工程と、
を含み、
前記属性情報生成工程が、前記第１プロセスジョブの実行のために無効となる処理条件を表す無効条件情報を生成する工程であり、
前記第２処理スケジューリング工程が、前記無効条件情報が生成されている場合に、前記第１プロセスジョブの処理条件と前記第２プロセスジョブの処理条件との異同を判断する処理条件判断工程と、前記処理条件判断工程において、前記第１および第２プロセスジョブの処理条件が異なると判断された場合には、前記無効条件情報が解除されるまで、前記第２処理スケジュールの作成を留保する工程とを含む、基板処理方法。
【請求項７】
前記第１プロセスジョブ情報が、前記第１基板に対する処理の内容を規定した第１レシピを含み、
前記第１処理スケジューリング工程が、前記第１レシピに基づいて、前記第１基板に対する処理を実行する第１処理ユニットを特定する工程を含む、請求項１〜６のいずれか一項に記載の基板処理方法。
【請求項８】
前記第１プロセスジョブ情報が、前記第１基板に対する処理を実行すべき処理ユニットを指定する処理ユニット指定情報を含み、
前記第１処理スケジューリング工程が、前記処理ユニット指定情報に基づいて、前記第１基板に対する処理を実行する第１処理ユニットを特定する工程を含む、請求項１〜６のいずれか一項に記載の基板処理方法。
【請求項９】
基板処理を実行するための処理ユニットを備えた基板処理装置における基板処理方法であって、
外部コンピュータから、１枚または複数枚の第１基板に対する処理である第１プロセスジョブを規定する第１プロセスジョブ情報を受信する第１受信工程と、
外部コンピュータから、１枚または複数枚の第２基板に対する処理である第２プロセスジョブを規定する第２プロセスジョブ情報を、前記第１受信工程よりも後に受信する第２受信工程と、
前記第１プロセスジョブを前記処理ユニットで実行するための第１処理スケジュールを作成する第１処理スケジューリング工程と、
前記第１プロセスジョブのカテゴリである基板の種類、レシピで指定された処理液の種類、およびレシピで指定された処理液の温度のうちの少なくとも一つに基づいて属性情報を生成する属性情報生成工程と、
前記第２プロセスジョブ情報および前記属性情報に基づいて、前記第２プロセスジョブを前記処理ユニットで実行するための第２処理スケジュールを作成する第２処理スケジューリング工程と、
を含む、基板処理方法。
【請求項１０】
前記属性情報生成工程が、前記第２処理スケジューリング工程の前に実行される、請求項１〜９のいずれか一項に記載の基板処理方法。
【請求項１１】
基板処理を実行するための処理ユニットと、
前記処理ユニットを制御する制御ユニットとを含み、
前記制御ユニットが、
外部コンピュータから、１枚または複数枚の第１基板に対する処理である第１プロセスジョブを規定する第１プロセスジョブ情報を受信する第１受信手段と、
外部コンピュータから、１枚または複数枚の第２基板に対する処理である第２プロセスジョブを規定する第２プロセスジョブ情報を、前記第１プロセスジョブ情報の受信よりも後に受信する第２受信手段と、
前記第１プロセスジョブを前記処理ユニットで実行するための第１処理スケジュールを作成する第１処理スケジューリング手段と、
前記第１プロセスジョブのカテゴリに基づいて属性情報を生成する属性情報生成手段と、
前記第２プロセスジョブ情報および前記属性情報に基づいて、前記第２プロセスジョブを前記処理ユニットで実行するための第２処理スケジュールを作成する第２処理スケジューリング手段と、
を含み、
前記属性情報生成手段が、前記第１プロセスジョブのカテゴリとは異なるカテゴリのプロセスジョブの前記処理ユニットにおける実行を禁止する禁止属性情報を生成する、基板処理装置。
【請求項１２】
前記第２処理スケジューリング手段が、
前記禁止属性情報が生成されている場合に、前記第１プロセスジョブのカテゴリと前記第２プロセスジョブのカテゴリとの異同を判断する手段と、
前記第１および第２プロセスジョブのカテゴリが同じであれば、前記処理ユニットにおいて前記第２プロセスジョブを実行する第２処理スケジュールの作成を許容し、前記第１および第２プロセスジョブのカテゴリが異なれば、前記処理ユニットにおいて前記第２プロセスジョブを実行する第２処理スケジュールの作成を禁止する手段とを含む、請求項１１に記載の基板処理装置。
【請求項１３】
前記第１プロセスジョブ情報が前記第１基板の種類を表す第１基板種情報を含み、
前記第２プロセスジョブ情報が前記第２基板の種類を表す第２基板種情報を含み、
前記カテゴリの異同を判断する手段は、前記第１基板種情報および前記第２基板種情報に基づいて前記第１および第２基板の種類の異同を判断する、請求項１２に記載の基板処理装置。
【請求項１４】
前記第１プロセスジョブ情報が前記第１基板に対する処理条件を表す第１処理条件情報を含み、
前記第２プロセスジョブ情報が前記第２基板に対する処理条件を表す第２処理条件情報を含み、
前記カテゴリの異同を判断する手段は、前記第１処理条件情報および前記第２処理条件情報に基づいて前記第１および第２基板に対する処理条件の異同を判断する、請求項１２または１３に記載の基板処理装置。
【請求項１５】
基板処理を実行するための処理ユニットと、
前記処理ユニットを制御する制御ユニットとを含み、
前記制御ユニットが、
外部コンピュータから、１枚または複数枚の第１基板に対する処理である第１プロセスジョブを規定する第１プロセスジョブ情報を受信する第１受信手段と、
外部コンピュータから、１枚または複数枚の第２基板に対する処理である第２プロセスジョブを規定する第２プロセスジョブ情報を、前記第１プロセスジョブ情報の受信よりも後に受信する第２受信手段と、
前記第１プロセスジョブを前記処理ユニットで実行するための第１処理スケジュールを作成する第１処理スケジューリング手段と、
前記第１プロセスジョブのカテゴリに基づいて属性情報を生成する属性情報生成手段と、
前記第２プロセスジョブ情報および前記属性情報に基づいて、前記第２プロセスジョブを前記処理ユニットで実行するための第２処理スケジュールを作成する第２処理スケジューリング手段と、
を含み、
前記第１処理スケジューリング手段が、前記第１基板に対する処理を実行する第１処理ユニットを特定する第１処理ユニット特定手段を含み、
前記属性情報生成手段が、前記第１プロセスジョブのカテゴリとは異なるカテゴリのプロセスジョブの前記第１処理ユニットにおける実行を禁止する禁止属性情報を生成し、
前記第２処理スケジューリング手段が、前記禁止属性情報が生成されている場合に、前記第１プロセスジョブのカテゴリと前記第２プロセスジョブのカテゴリとの異同を判断するカテゴリ判断手段と、前記カテゴリ判断手段の判断結果に基づいて前記第２基板に対する処理を実行する第２処理ユニットを特定する第２処理ユニット特定手段とを含み、
前記第２処理ユニット特定手段が、前記第１および第２プロセスジョブのカテゴリが同じであれば、前記第１処理ユニットを前記第２処理ユニットとして特定し、前記第１および第２プロセスジョブのカテゴリが異なれば、前記第１処理ユニットとは異なる処理ユニットを前記第２処理ユニットとして特定する、基板処理装置。
【請求項１６】
基板処理を実行するための処理ユニットと、
前記処理ユニットを制御する制御ユニットとを含み、
前記制御ユニットが、
外部コンピュータから、１枚または複数枚の第１基板に対する処理である第１プロセスジョブを規定する第１プロセスジョブ情報を受信する第１受信手段と、
外部コンピュータから、１枚または複数枚の第２基板に対する処理である第２プロセスジョブを規定する第２プロセスジョブ情報を、前記第１プロセスジョブ情報の受信よりも後に受信する第２受信手段と、
前記第１プロセスジョブを前記処理ユニットで実行するための第１処理スケジュールを作成する第１処理スケジューリング手段と、
前記第１プロセスジョブのカテゴリに基づいて属性情報を生成する属性情報生成手段と、
前記第２プロセスジョブ情報および前記属性情報に基づいて、前記第２プロセスジョブを前記処理ユニットで実行するための第２処理スケジュールを作成する第２処理スケジューリング手段と、
を含み、
前記属性情報生成手段が、前記第１プロセスジョブの実行のために無効となる処理条件を表す無効条件情報を生成し、
前記第２処理スケジューリング手段が、前記無効条件情報が生成されている場合に、前記第１プロセスジョブの処理条件と前記第２プロセスジョブの処理条件との異同を判断する処理条件判断手段と、前記処理条件判断手段において、前記第１および第２プロセスジョブの処理条件が異なると判断された場合には、前記無効条件情報が解除されるまで、前記第２処理スケジュールの作成を留保する手段とを含む、基板処理装置。
【請求項１７】
前記第１プロセスジョブ情報が、前記第１基板に対する処理の内容を規定した第１レシピを含み、
前記第１処理スケジューリング手段が、前記第１レシピに基づいて、前記第１基板に対する処理を実行する第１処理ユニットを特定する、請求項１１〜１６のいずれか一項に記載の基板処理装置。
【請求項１８】
前記第１プロセスジョブ情報が、前記第１基板に対する処理を実行すべき処理ユニットを指定する処理ユニット指定情報を含み、
前記第１処理スケジューリング手段が、前記処理ユニット指定情報に基づいて、前記第１基板に対する処理を実行する第１処理ユニットを特定する、請求項１１〜１６のいずれか一項に記載の基板処理装置。
【請求項１９】
基板処理を実行するための処理ユニットと、
前記処理ユニットを制御する制御ユニットとを含み、
前記制御ユニットが、
外部コンピュータから、１枚または複数枚の第１基板に対する処理である第１プロセスジョブを規定する第１プロセスジョブ情報を受信する第１受信手段と、
外部コンピュータから、１枚または複数枚の第２基板に対する処理である第２プロセスジョブを規定する第２プロセスジョブ情報を、前記第１プロセスジョブ情報の受信よりも後に受信する第２受信手段と、
前記第１プロセスジョブを前記処理ユニットで実行するための第１処理スケジュールを作成する第１処理スケジューリング手段と、
前記第１プロセスジョブのカテゴリである基板の種類、レシピで指定された処理液の種類、およびレシピで指定された処理液の温度のうちの少なくとも一つに基づいて属性情報を生成する属性情報生成手段と、
前記第２プロセスジョブ情報および前記属性情報に基づいて、前記第２プロセスジョブを前記処理ユニットで実行するための第２処理スケジュールを作成する第２処理スケジューリング手段と、
を含む、基板処理装置。
【請求項２０】
前記属性情報生成手段が、前記第２処理スケジューリング手段が前記第２処理スケジュールを作成する前に前記属性情報を生成する、請求項１１〜１９のいずれか一項に記載の基板処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、基板を処理するための基板処理装置および基板処理方法に関する。
【背景技術】
【０００２】
特許文献１は、基板を一枚ずつ処理する枚葉型の処理ユニットを有する基板処理装置の動作を規定するスケジュールを作成する方法を開示している。基板の処理を規定するプロセスジョブ情報がホストコンピュータから入力され、入力された順序でプロセスジョブ情報に対応するスケジュールが作成される。その作成されたスケジュールに従って、基板が処理ユニットに搬送され、処理ユニットにおいて基板に対する処理が実行され、処理後の基板が処理ユニットから搬出される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−７７７９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ホストコンピュータからのプロセスジョブ情報の入力順序は、必ずしも、使用者が意図する処理順序に整合しているわけではない。たとえば、トランジスタ等のデバイスを作り込むべき製品基板を処理ユニットに搬入する前に、デバイスの作り込みを予定していない非製品基板が処理ユニットに搬入される場合がある。非製品基板の一つの例は、処理ユニットの内部の洗浄の都合で搬入されるユニット洗浄用基板であり、他の例は、処理条件の適否や処理ユニットの内部の環境等をモニタするためのモニタ用基板である。その他、様々な理由で、非製品基板が処理ユニットに搬入される場合がある。
【０００５】
複数枚の非製品基板に対して処理ユニットで所定の処理（たとえば処理ユニット内部の洗浄）を行った後に、製品基板を当該処理ユニットで処理することが望まれる場合もある。必要枚数の非製品基板を準備できない場合には、使用された非製品基板が再度処理ユニットに搬入されて、必要枚数分の処理が繰り返される。このようなときには、必要枚数の非製品基板を一度に基板処理装置にセットすることができないため、非製品基板に対するプロセスジョブ情報が２つ以上に分かれる。一方、必要枚数の非製品基板の処理が終わる前であっても製品基板を基板処理装置にセットすることは可能であるので、２つ以上に分割された非製品基板用のプロセスジョブの間に製品基板用のプロセスジョブが割り込むこともあり得る。
【０００６】
このような場合に、プロセスジョブ情報の入力順にスケジュールを作成すると、必要枚数の非製品基板の処理が実行される前に、製品基板が処理ユニットに搬入されるおそれがあり、必ずしも、使用者の意図する動作を行わせることができない。
また、ホストコンピュータからのプロセスジョブ情報の入力順は、必ずしも、処理効率を考慮された順序であるとは限らない。たとえば、６０℃の薬液温度を指定した第１プロセスジョブ情報、８０℃の薬液温度を指定した第２プロセスジョブ情報、６０℃の薬液温度を指定した第３プロセスジョブ情報が、この順序で入力される場合があり得る。このような場合に、プロセスジョブ情報の入力順にスケジュールを作成すると、第１プロセスジョブと第２プロセスジョブとの間、および第２プロセスジョブと第３プロセスジョブとの間に、それぞれ、基板処理装置の動作を一旦停止させて、薬液温度を変更しなければならない。つまり、薬液温度を６０℃から８０℃に変更し、その後に８０℃から６０℃に戻すことになる。薬液温度の変更には、数時間を要する場合もあるから、前述のようなプロセスジョブ情報の入力順で実際の基板処理を実行すると、生産効率が悪い。
【０００７】
そこで、この発明の一つの目的は、プロセスジョブ情報の入力順だけでなくプロセスジョブのカテゴリをも考慮してプロセスジョブをスケジューリングして実行できる基板処理方法および基板処理装置を提供することである。
【課題を解決するための手段】
【０００８】
この発明の一実施形態は、基板処理を実行するための処理ユニット（ＳＰＩＮ１〜ＳＰＩＮ１２）を備えた基板処理装置における基板処理方法であって、外部コンピュータ（２４）から、１枚または複数枚の第１基板に対する処理である第１プロセスジョブを規定する第１プロセスジョブ情報を受信する第１受信工程（Ｓ１０１；Ｓ１２１）と、外部コンピュータ（２４）から、１枚または複数枚の第２基板に対する処理である第２プロセスジョブを規定する第２プロセスジョブ情報を、前記第１受信工程よりも後に受信する第２受信工程（Ｓ１０２，Ｓ１０３；Ｓ１２２，Ｓ１２３）と、前記第１プロセスジョブを前記処理ユニットで実行するための第１処理スケジュールを作成する第１処理スケジューリング工程（Ｓ１０９；Ｓ１２９，Ｓ１３７）と、前記第１プロセスジョブのカテゴリに基づいて属性情報を生成する属性情報生成工程（Ｓ１１１；Ｓ１３１，Ｓ１３９）と、前記第２プロセスジョブ情報および前記属性情報に基づいて、前記第２プロセスジョブを前記処理ユニットで実行するための第２処理スケジュールを作成する第２処理スケジューリング工程（Ｓ１１２，Ｓ１１３；Ｓ１３２，Ｓ１３３，Ｓ１３４，Ｓ１４０）と、を含む基板処理方法を提供する。なお、括弧内の英数字は、後述の実施形態における対応構成要素等を表す。以下、この項において同じ。
【０００９】
この方法によれば、外部コンピュータから第１プロセスジョブ情報および第２プロセスジョブ情報を順に受信して、それらによってそれぞれ規定される第１プロセスジョブおよび第２プロセスジョブを実行するための第１処理スケジュールおよび第２処理スケジュールが作成される。基板処理装置がそれらの第１処理スケジュールおよび第２処理スケジュールに従って動作することによって、第１プロセスジョブおよび第２プロセスジョブが実行される。
【００１０】
第２処理スケジュールの作成は、第２プロセスジョブ情報に基づくだけでなく、第１プロセスジョブのカテゴリに基づいて生成される属性情報にも基づいて作成される。そのため、第１プロセスジョブのカテゴリを考慮して、第２プロセスジョブが計画される。つまり、先に情報を受信したプロセスジョブのカテゴリに応じて適切に第２プロセスジョブを計画することができる。
【００１１】
たとえば、第１プロセスジョブのカテゴリに応じて、第２プロセスジョブおよびその後に受信される他のプロセスジョブの順序を適切に定めることにより、受信順序とは異なる順序でプロセスジョブを実行する計画を策定することができる。たとえば、処理ユニットのメンテナンスのためのプロセスジョブを第２プロセスジョブに先行して実行させたり、生産性が高まるようにプロセスジョブの順序を最適化したりすることができる。また、第１プロセスジョブのカテゴリに応じて、第２プロセスジョブの実行を留保することにより、第１プロセスジョブが実行された処理ユニットが第２プロセスジョブの実行のために適切な状態になるまで待機することができる。これにより、適切な状態の処理ユニットで第２プロセスジョブを実行でき、それにより、品質の高い基板処理を実現できる。
【００１２】
この発明の一実施形態では、前記属性情報生成工程（Ｓ１１１；Ｓ１３１，Ｓ１３９）が、前記第２処理スケジューリング工程の前に実行される。
第２処理スケジューリング工程よりも前に属性情報生成工程が完了していれば、第２プロセスジョブ情報および属性情報の両方に基づいて第２処理スケジュールを作成できる。それにより、無駄なスケジューリング処理が行われたり、基板処理装置の無駄な動作が生じたりすることを回避できる。
【００１３】
たとえば、第２処理スケジューリング工程の後に属性情報が生成されると、第２処理スケジューリングを事後的に無効化する必要が生じるので、無駄なスケジューリング処理が行われることになる。また、第２処理スケジュールに基づいて、基板処理装置の動作が開始した後に属性情報が生成されると、第２プロセスジョブが無駄に途中まで実行されてしまう。たとえば、第２プロセスジョブが、処理ユニットへの基板搬送、処理ユニットでの基板処理、および処理ユニットからの基板搬出を含むとする。この場合、処理ユニットの前まで基板が搬送された時点で第２処理スケジュールが無効とされると、その基板をたとえば基板待機位置まで戻す必要が生じ、無駄な基板搬送動作が生じる。これらの無駄な処理または動作は、第２処理スケジューリング工程よりも前に属性情報を生成することによって回避できる。
【００１４】
前記属性情報生成工程は、第２受信工程よりも前に実行されてもよい。この場合、属性情報に基づかない第２処理スケジューリング工程をより確実に回避できる。
この発明の一実施形態では、前記第１プロセスジョブのカテゴリである基板の種類、レシピで指定された処理液の種類、およびレシピで指定された処理液の温度のうちの少なくとも一つに基づいて属性情報が生成される。
この発明の一実施形態では、前記属性情報生成工程が、前記第１プロセスジョブのカテゴリとは異なるカテゴリのプロセスジョブの前記処理ユニットにおける実行を禁止する禁止属性情報を生成する工程（Ｓ１１１；Ｓ１３１，Ｓ１３９）を含む。
【００１５】
この方法により、第１プロセスジョブが計画された処理ユニットにおいて、第１プロセスジョブのカテゴリとは異なるカテゴリのプロセスジョブが計画されることを回避できる。換言すれば、第１プロセスジョブが計画された処理ユニットにおいて、少なくとも２回にわたって同一カテゴリのプロセスジョブが実行されることを保証できる。
とくに、次のプロセスジョブのスケジューリングよりも前に禁止属性情報を予め生成しておけば、第１プロセスジョブとは異なるカテゴリの処理が同じ処理ユニットに対して計画されることを確実に回避できる。また、第１プロセスジョブが計画された処理ユニットにおいて、別のカテゴリの処理を実行するための無駄な準備動作が計画されることを回避することもできる。
【００１６】
この発明の一実施形態では、前記第２処理スケジューリング工程が、前記禁止属性情報が生成されている場合に、前記第１プロセスジョブのカテゴリと前記第２プロセスジョブのカテゴリとの異同を判断する工程（Ｓ１１２ａ，Ｓ１１３ａ；Ｓ１３２ａ，Ｓ１３４ａ，１４０ａ）と、前記第１および第２プロセスジョブのカテゴリが同じであれば、前記処理ユニットにおいて前記第２プロセスジョブを実行する第２処理スケジュールの作成を許容し、前記第１および第２プロセスジョブのカテゴリが異なれば、前記処理ユニットにおいて前記第２プロセスジョブを実行する第２処理スケジュールの作成を禁止する工程（Ｓ１１２ａ，Ｓ１１３ａ；Ｓ１３２ａ，Ｓ１３４ａ，１４０ａ）とを含む。
【００１７】
この方法により、禁止属性情報が生成されている場合には、第１および第２プロセスジョブのカテゴリが同じであれば、第１および第２プロセスジョブの同一処理ユニットでの処理が許容される一方で、それらのカテゴリが異なれば、第１および第２プロセスジョブの同一処理ユニットでの処理が禁止される。
たとえば、或るプロセスジョブ１（第１プロセスジョブ）の情報の次に情報が受信されたプロセスジョブ２（第２プロセスジョブ）のカテゴリがプロセスジョブ１のカテゴリとは異なり、プロセスジョブ２の情報の次に情報が受信されたプロセスジョブ３（別の第２プロセスジョブ）のカテゴリがプロセスジョブ１のカテゴリと同じである場合を考える。この場合、プロセスジョブ１が計画された処理ユニットにおけるプロセスジョブ２の計画は禁止され、当該処理ユニットにおけるプロセスジョブ３の計画が許容される。したがって、当該処理ユニットにおいて、プロセスジョブ１に続いてプロセスジョブ３が実行されるように、プロセスジョブ３の処理スケジュールが作成される。プロセスジョブ２については、たとえば、別の処理ユニットにおいて実行するように処理スケジュールが作成されてもよい。禁止属性情報が取り消されれば、プロセスジョブ１が計画された処理ユニットにおけるプロセスジョブ２の計画が許容される。このようにして、禁止属性情報を利用することによって、カテゴリに応じて、プロセスジョブの順序を適切に定めることができる。
【００１８】
この発明の一実施形態では、前記第１プロセスジョブ情報が前記第１基板の種類を表す第１基板種情報を含み、前記第２プロセスジョブ情報が前記第２基板の種類を表す第２基板種情報を含み、前記カテゴリの異同を判断する工程は、前記第１基板種情報および前記第２基板種情報に基づいて前記第１および第２基板の種類の異同を判断する工程（Ｓ１１２ａ，Ｓ１１３ａ）を含む。
【００１９】
この方法では、禁止属性情報が生成されている場合に、第１および第２プロセスジョブの基板の種類が同じであれば、第１プロセスジョブが計画された処理ユニットにおける第２プロセスジョブの計画が許容される。その一方で、第１および第２プロセスジョブの基板の種類が異なる場合には、第１プロセスジョブが計画された処理ユニットにおける第２プロセスジョブの計画が禁止される。
【００２０】
たとえば、或るプロセスジョブ１（第１プロセスジョブ）の情報およびその次に受信されたプロセスジョブ２（第２プロセスジョブ）の情報が異なる基板の種類を指定しており、プロセスジョブ２の情報の次に受信されたプロセスジョブ３（別の第２プロセスジョブ）の情報がプロセスジョブ１と同じ基板の種類を指定している場合を考える。この場合、プロセスジョブ１が計画された処理ユニットにおけるプロセスジョブ２の計画は禁止される。その一方で、当該処理ユニットにおけるプロセスジョブ３の計画が許容される。したがって、当該処理ユニットにおいて、プロセスジョブ１に続いてプロセスジョブ３が実行されるように、プロセスジョブ３の処理スケジュールが作成される。プロセスジョブ２については、たとえば、禁止属性情報が取り消されるまで処理スケジュールの作成が保留されるか、または別の処理ユニットにおいて実行するように処理スケジュールが作成されてもよい。禁止属性情報が取り消されれば、プロセスジョブ１が計画された処理ユニットにおけるプロセスジョブ２の計画が許容される。
【００２１】
基板の種類の一つの例は、製品の製造のために用いられる製品基板である。基板の種類の他の例は、製品の製造以外の目的、たとえば処理ユニットのメンテナンス（洗浄等）または処理品質モニタのために用いられる非製品基板である。製品基板の処理に先立って、非製品基板を用いた複数のプロセスジョブの連続実行が必要とされる場合がある。
たとえば、非製品基板の処理（プロセスジョブ１）を指定するプロセスジョブ情報、製品基板の処理（プロセスジョブ２）を指定するプロセスジョブ情報、非製品基板の処理（プロセスジョブ３）を指定するプロセスジョブ情報が順に受信された場合を想定する。この場合に、プロセスジョブ１に対応するプロセスジョブ情報に基づいて禁止属性情報が生成されることにより、プロセスジョブ１が計画された処理ユニットにおける製品基板の処理計画が禁止される。したがって、プロセスジョブ１が計画された処理ユニットで、プロセスジョブ１の次にプロセスジョブ２を実行するような計画は禁止される。一方、プロセスジョブ３を当該処理ユニットでプロセスジョブ１の次に実行する計画は許容される。その結果、当該処理ユニットにおいて、プロセスジョブ１およびプロセスジョブ３を連続して実行させることができる。このように、プロセスジョブ情報の受信順序によらずに、製品基板の処理に相当する複数のプロセスジョブを連続実行させる処理スケジューリングが可能になる。
【００２２】
プロセスジョブ３の計画の後に禁止属性情報が取り消されれば、その後は、当該処理ユニットにおけるプロセスジョブ２の計画が許容される。したがって、非製品基板の処理である複数のプロセスジョブを連続実行した後に、製品基板の処理を計画できる。
この発明の一実施形態では、前記第１プロセスジョブ情報が前記第１基板に対する処理条件を表す第１処理条件情報を含み、前記第２プロセスジョブ情報が前記第２基板に対する処理条件を表す第２処理条件情報を含み、前記カテゴリの異同を判断する工程は、前記第１処理条件情報および前記第２処理条件情報に基づいて前記第１および第２基板に対する処理条件の異同を判断する工程（Ｓ１３２ａ，Ｓ１３４ａ，１４０ａ）を含む。
【００２３】
この方法では、禁止属性情報が生成されている場合に、第１および第２プロセスジョブの処理条件が同じであれば、第１プロセスジョブが計画された処理ユニットにおける第２プロセスジョブの計画が許容される。その一方で、第１および第２プロセスジョブの処理条件が異なる場合には、第１プロセスジョブが計画された処理ユニットにおける第２プロセスジョブの計画が禁止される。
【００２４】
たとえば、或るプロセスジョブ１の情報（第１プロセスジョブ情報）、プロセスジョブ２の情報（第２プロセスジョブ情報）、およびプロセスジョブ３の情報（別の第２プロセスジョブ情報）が、この順序で受信された場合を考える。そして、プロセスジョブ１およびプロセスジョブ２の情報が異なる処理条件を指定しており、プロセスジョブ１およびプロセスジョブ３の情報が同じ処理条件を指定していると仮定する。この場合、プロセスジョブ１が計画された処理ユニットにおいて、プロセスジョブ１の次にプロセスジョブ２を実行するような計画は禁止される。その一方で、当該処理ユニットにおいてプロセスジョブ１の次にプロセスジョブ３を実行する計画は許容される。したがって、当該処理ユニットにおいて、プロセスジョブ１に続いてプロセスジョブ３が実行されるように、プロセスジョブ３の処理スケジュールが作成される。プロセスジョブ２については、たとえば、禁止属性情報が取り消されるまで処理スケジュールの作成が保留されるか、または別の処理ユニットにおいて実行するように処理スケジュールが作成されてもよい。禁止属性情報が取り消されれば、プロセスジョブ１が計画された処理ユニットにおけるプロセスジョブ２の計画が許容される。
【００２５】
処理条件の一例は、基板処理のために用いられる処理流体の種類である。処理流体は、気体または液体である。たとえば、処理液の種類の例は、処理液の化学組成、処理液の構成液の混合比、処理液の濃度、処理液の温度などである。
たとえば、基板処理装置が複数の温度に切り換えて処理液を供給可能な処理液供給ユニット（ＣＣ１）を備えている場合を考える。ただし、処理液の温度の変更は瞬時に行うことはできず、処理液の温度の変更には、温度調整のための一定以上の時間が必要である。このような場合には、等しい処理液温度での基板処理を規定する複数のプロセスジョブを連続して処理することができれば、生産性を向上できる可能性が高い。
【００２６】
たとえば、第１処理液温度（たとえば６０℃）を指定するプロセスジョブ１の情報、第２処理液温度（たとえば８０℃）を指定するプロセスジョブ２の情報、第１処理液温度を指定するプロセスジョブ３の情報が順に受信された場合を想定する。この場合に、プロセスジョブ１の情報に基づいて禁止属性情報が生成されることにより、プロセスジョブ１が計画された処理ユニットにおける、第１処理液温度以外の処理液温度を指定した基板処理の計画が禁止される。したがって、プロセスジョブ１が計画された処理ユニットで、プロセスジョブ１の次にプロセスジョブ２を実行するような計画は禁止される。一方、プロセスジョブ３を当該処理ユニットでプロセスジョブ１の次に実行する計画は許容される。その結果、当該処理ユニットにおいて、プロセスジョブ１およびプロセスジョブ３を連続して実行させることができる。このように、プロセスジョブ情報の受信順序によらずに、処理液温度の等しい複数のプロセスジョブを連続実行させる処理スケジューリングが可能になる。
【００２７】
プロセスジョブ３の計画の後に禁止属性情報が取り消されれば、その後は、当該処理ユニットにおけるプロセスジョブ２の計画が許容される。したがって、第１処理液温度での複数のプロセスジョブを連続実行した後に、第２処理液温度での基板処理を計画できる。
基板処理装置が複数の処理ユニットを備えている場合に、処理条件の変更が複数の処理ユニットにおいて共通に生じる場合がある。具体的には、処理液供給ユニットが複数の処理ユニットに対して共通に処理液を供給するように構成されている場合が一つの例である。この場合、プロセスジョブ１を或る処理ユニットで計画すると、当該処理ユニットに処理液を供給する処理液供給ユニットが処理液を供給する他の処理ユニットにおいても処理条件が切り換わる。このように、第１プロセスジョブを或る処理ユニットに対して計画することによって他の処理ユニットの処理条件が変化する場合には、処理条件が変化する複数の処理ユニットについて他の処理条件のプロセスジョブの計画を禁止するように禁止属性情報が生成されることが好ましい。
【００２８】
たとえば、第１プロセスジョブを計画した場合に、処理液供給ユニットに関連して、当該第１プロセスジョブで使用する処理液種以外の処理液種を使用する計画を禁止する禁止属性情報を生成してもよい。これにより、その処理液供給ユニットからの処理液の供給を受ける全ての処理ユニットにおいて、第１プロセスジョブで使用する処理液種以外の種類の処理液種を指定するプロセスジョブの計画が禁止される。
【００２９】
この発明の一実施形態では、前記第１処理スケジューリング工程が、前記第１基板に対する処理を実行する第１処理ユニットを特定する第１処理ユニット特定工程（１０９ａ）を含み、前記属性情報生成工程が、前記第１プロセスジョブのカテゴリとは異なるカテゴリのプロセスジョブの前記第１処理ユニットにおける実行を禁止する禁止属性情報を生成する工程（Ｓ１１１）であり、前記第２処理スケジューリング工程が、前記禁止属性情報が生成されている場合に、前記第１プロセスジョブのカテゴリと前記第２プロセスジョブのカテゴリとの異同を判断するカテゴリ判断工程（Ｓ１１２ａ，Ｓ１１３ａ）と、前記カテゴリ判断工程の判断結果に基づいて前記第２基板に対する処理を実行する第２処理ユニットを特定する第２処理ユニット特定工程（Ｓ１１２ｂ，Ｓ１１３ｂ）とを含み、前記第２処理ユニット特定工程が、前記第１および第２プロセスジョブのカテゴリが同じであれば、前記第１処理ユニットを前記第２処理ユニットとして特定し、前記第１および第２プロセスジョブのカテゴリが異なれば、前記第１処理ユニットとは異なる処理ユニットを前記第２処理ユニットとして特定する。
【００３０】
この方法により、第１プロセスジョブを実行する第１処理ユニットが特定され、その第１処理ユニットにおいて第１プロセスジョブとは異なるカテゴリの他のプロセスジョブを実行するような計画が禁止される。それに応じて、第２プロセスジョブのカテゴリが第１プロセスジョブと同じであれば、第１処理ユニットに第２プロセスジョブが計画される。第２プロセスジョブのカテゴリが第１プロセスジョブとは異なれば、第１処理ユニットにおける第２プロセスジョブの計画は禁止され、別の処理ユニットにおいて第２プロセスジョブが計画される。これにより、第１処理ユニットでは、カテゴリが同じ複数のプロセスジョブの連続実行が保証される。
【００３１】
たとえば、或るプロセスジョブ１（第１プロセスジョブ）の情報の次に情報受信されたプロセスジョブ２（第２プロセスジョブ）のカテゴリがプロセスジョブ１のカテゴリとは異なり、プロセスジョブ２の情報の次に情報受信されたプロセスジョブ３（別の第２プロセスジョブ）のカテゴリがプロセスジョブ１のカテゴリと同じである場合を考える。この場合、プロセスジョブ１が計画された処理ユニット１において、プロセスジョブ１の次にプロセスジョブ２を実行する計画は禁止され、当該処理ユニット１においてプロセスジョブ１の次にプロセスジョブ３を実行する計画は許容される。したがって、当該処理ユニット１において、プロセスジョブ１に続いてプロセスジョブ３が実行されるように、プロセスジョブ３の処理スケジュールが作成される。プロセスジョブ２については、たとえば、別の処理ユニット２において実行するように処理スケジュールが作成される。このようにして、処理ユニット１において、プロセスジョブ１，３の間にプロセスジョブ２が割り込むことを回避できる。
【００３２】
前記属性情報生成工程は、前記第１処理ユニットに関連付けた禁止属性情報を生成する工程（Ｓ１１１）であってもよい。この場合、個々の処理ユニットに関連付けて禁止属性情報が生成される。それにより、各処理ユニットについて個別に異カテゴリのプロセスジョブの計画を禁止できる。
この発明の一実施形態では、前記属性情報生成工程が、前記第１プロセスジョブの実行のために無効となる処理条件を表す無効条件情報を生成する工程（Ｓ１３１）であり、前記第２処理スケジューリング工程が、前記無効条件情報が生成されている場合に、前記第１プロセスジョブの処理条件と前記第２プロセスジョブの処理条件との異同を判断する処理条件判断工程（Ｓ１３２ａ，Ｓ１３４ａ，１４０ａ）と、前記処理条件判断工程において、前記第１および第２プロセスジョブの処理条件が異なると判断された場合には、前記無効条件情報が解除されるまで、前記第２処理スケジュールの作成を留保する工程（Ｓ１３３）とを含む。
【００３３】
この方法により、無効条件情報によって処理条件が無効とされることによって、第１プロセスジョブと処理条件の異なるプロセスジョブが相次いで実行されることを回避できる。無効条件情報が解除されれば、処理条件の異なるプロセスジョブの計画が許容される。こうして、プロセスジョブ情報の受信順序によらずに、処理条件が同じプロセスジョブを連続させることができる。それにより、処理条件の変更回数を少なくして、生産性を向上することができる。
【００３４】
この発明の一実施形態では、前記第１プロセスジョブ情報が、前記第１基板に対する処理の内容を規定した第１レシピを含み、前記第１処理スケジューリング工程が、前記第１レシピに基づいて、前記第１基板に対する処理を実行する第１処理ユニットを特定する工程（Ｓ１０９ａ，Ｓ１２９ａ，１３７ｂ）を含む。
【００３５】
この方法によれば、プロセスジョブ情報は基板処理の内容を規定したレシピを含むので、それに基づいて、プロセスジョブを実行すべき処理ユニットを特定できる。レシピが、第１基板に対する処理を実行すべき処理ユニットを指定する処理ユニット指定情報を含んでいてもよい。この場合、処理ユニット指定情報に基づいて処理ユニットが特定される。また、レシピが、処理ユニット指定情報を含んでいなくてもよい。この場合、処理条件その他の処理内容に基づいて、処理ユニットが特定されればよい。
【００３６】
この発明の一実施形態では、前記第１プロセスジョブ情報が、前記第１基板に対する処理を実行すべき処理ユニットを指定する処理ユニット指定情報を含み、前記第１処理スケジューリング工程が、前記処理ユニット指定情報に基づいて、前記第１基板に対する処理を実行する第１処理ユニットを特定する工程（Ｓ１０９ａ，Ｓ１２９ａ，１３７ｂ）を含む。
【００３７】
この方法では、プロセスジョブ情報が、処理ユニット指定情報を含むので、その処理ユニット指定情報に基づいてプロセスジョブを実行すべき処理ユニットを特定できる。処理ユニット指定情報は、１つの処理ユニットを指定する情報であってもよいし、複数の処理ユニットを指定する情報であってもよい。複数の処理ユニットが指定されている場合には、その複数の処理ユニットのうちのいずれかを選択して、当該プロセスジョブを構成する基板のための処理を計画すればよい。
【００３８】
この発明の一実施形態は、基板処理を実行するための処理ユニット（ＳＰＩＮ１〜ＳＰＩＮ１２）と、前記処理ユニットを制御する制御ユニット（２０）とを含む、基板処理装置を提供する。前記制御ユニットは、外部コンピュータ（２４）から、１枚または複数枚の第１基板に対する処理である第１プロセスジョブを規定する第１プロセスジョブ情報を受信する第１受信手段（２２，Ｓ１０１；Ｓ１２１）と、外部コンピュータ（２４）から、１枚または複数枚の第２基板に対する処理である第２プロセスジョブを規定する第２プロセスジョブ情報を、前記第１プロセスジョブ情報の受信よりも後に受信する第２受信手段（２２，Ｓ１０２，Ｓ１０３；Ｓ１２２，Ｓ１２３）と、前記第１プロセスジョブを前記処理ユニットで実行するための第１処理スケジュールを作成する第１処理スケジューリング手段（２５，Ｓ１０９；Ｓ１２９，Ｓ１３７）と、前記第１プロセスジョブのカテゴリに基づいて属性情報を生成する属性情報生成手段（２５，Ｓ１１１；Ｓ１３１，Ｓ１３９）と、前記第２プロセスジョブ情報および前記属性情報に基づいて、前記第２プロセスジョブを前記処理ユニットで実行するための第２処理スケジュールを作成する第２処理スケジューリング手段（２５，Ｓ１１２，Ｓ１１３；Ｓ１３２，Ｓ１３３，Ｓ１３４，Ｓ１４０）と、を含む。
【００３９】
この発明の一実施形態では、前記属性情報生成手段が、前記第２処理スケジューリング手段が前記第２処理スケジュールを作成する前に前記属性情報を生成する。
この発明の一実施形態では、前記属性情報生成手段は、前記第１プロセスジョブのカテゴリである基板の種類、レシピで指定された処理液の種類、およびレシピで指定された処理液の温度のうちの少なくとも一つに基づいて属性情報を生成する。
この発明の一実施形態では、前記属性情報生成手段が、前記第１プロセスジョブのカテゴリとは異なるカテゴリのプロセスジョブの前記処理ユニットにおける実行を禁止する禁止属性情報を生成する。
【００４０】
この発明の一実施形態では、前記第２処理スケジューリング手段が、前記禁止属性情報が生成されている場合に、前記第１プロセスジョブのカテゴリと前記第２プロセスジョブのカテゴリとの異同を判断する手段（２５，Ｓ１１２ａ，Ｓ１１３ａ；Ｓ１３２ａ，Ｓ１３４ａ，１４０ａ）と、前記第１および第２プロセスジョブのカテゴリが同じであれば、前記処理ユニットにおいて前記第２プロセスジョブを実行する第２処理スケジュールの作成を許容し、前記第１および第２プロセスジョブのカテゴリが異なれば、前記処理ユニットにおいて前記第２プロセスジョブを実行する第２処理スケジュールの作成を禁止する手段（２５，Ｓ１１２ａ，Ｓ１１３ａ；Ｓ１３２ａ，Ｓ１３４ａ，１４０ａ）とを含む。
【００４１】
この発明の一実施形態では、前記第１プロセスジョブ情報が前記第１基板の種類を表す第１基板種情報を含み、前記第２プロセスジョブ情報が前記第２基板の種類を表す第２基板種情報を含み、前記カテゴリの異同を判断する手段（２５，Ｓ１１２ａ，Ｓ１１３ａ）は、前記第１基板種情報および前記第２基板種情報に基づいて前記第１および第２基板の種類の異同を判断する。
【００４２】
この発明の一実施形態では、前記第１プロセスジョブ情報が前記第１基板に対する処理条件を表す第１処理条件情報を含み、前記第２プロセスジョブ情報が前記第２基板に対する処理条件を表す第２処理条件情報を含み、前記カテゴリの異同を判断する手段（２５，Ｓ１３２ａ，Ｓ１３４ａ，１４０ａ）は、前記第１処理条件情報および前記第２処理条件情報に基づいて前記第１および第２基板に対する処理条件の異同を判断する。
【００４３】
この発明の一実施形態では、前記第１処理スケジューリング手段が、前記第１基板に対する処理を実行する第１処理ユニットを特定する第１処理ユニット特定手段（２５，１０９ａ）を含み、前記属性情報生成手段（２５，Ｓ１１１）が、前記第１プロセスジョブのカテゴリとは異なるカテゴリのプロセスジョブの前記第１処理ユニットにおける実行を禁止する禁止属性情報を生成し、前記第２処理スケジューリング手段が、前記禁止属性情報が生成されている場合に、前記第１プロセスジョブのカテゴリと前記第２プロセスジョブのカテゴリとの異同を判断するカテゴリ判断手段（２５，Ｓ１１２ａ，Ｓ１１３ａ）と、前記カテゴリ判断手段の判断結果に基づいて前記第２基板に対する処理を実行する第２処理ユニットを特定する第２処理ユニット特定手段（２５，Ｓ１１２ｂ，Ｓ１１３ｂ）とを含み、前記第２処理ユニット特定手段が、前記第１および第２プロセスジョブのカテゴリが同じであれば、前記第１処理ユニットを前記第２処理ユニットとして特定し、前記第１および第２プロセスジョブのカテゴリが異なれば、前記第１処理ユニットとは異なる処理ユニットを前記第２処理ユニットとして特定する。
【００４４】
この発明の一実施形態では、前記属性情報生成手段（２５，Ｓ１３１）が、前記第１プロセスジョブの実行のために無効となる処理条件を表す無効条件情報を生成し、前記第２処理スケジューリング手段が、前記無効条件情報が生成されている場合に、前記第１プロセスジョブの処理条件と前記第２プロセスジョブの処理条件との異同を判断する処理条件判断手段（２５，Ｓ１３２ａ，Ｓ１３４ａ，１４０ａ）と、前記処理条件判断手段において、前記第１および第２プロセスジョブの処理条件が異なると判断された場合には、前記無効条件情報が解除されるまで、前記第２処理スケジュールの作成を留保する手段（２５，Ｓ１３３）とを含む。
【００４５】
この発明の一実施形態では、前記第１プロセスジョブ情報が、前記第１基板に対する処理の内容を規定した第１レシピを含み、前記第１処理スケジューリング手段（２５，Ｓ１０９ａ，Ｓ１２９ａ，１３７ｂ）が、前記第１レシピに基づいて、前記第１基板に対する処理を実行する第１処理ユニットを特定する。
【００４６】
この発明の一実施形態では、前記第１プロセスジョブ情報が、前記第１基板に対する処理を実行すべき処理ユニットを指定する処理ユニット指定情報を含み、前記第１処理スケジューリング手段が（２５，Ｓ１０９ａ，Ｓ１２９ａ，１３７ｂ）、前記処理ユニット指定情報に基づいて、前記第１基板に対する処理を実行する第１処理ユニットを特定する。
【図面の簡単な説明】
【００４７】
【図１】図１は、この発明の一実施形態に係る基板処理装置のレイアウトを示す図解的な平面図である。
【図２】図２は、前記基板処理装置の図解的な側面図である。
【図３】図３は、前記基板処理装置の電気的構成を説明するためのブロック図である。
【図４】図４は、前記基板処理装置に備えられたスケジューリング機能部による処理例を説明するためのフローチャートである。
【図５】図５は、全体スケジューリング（図４のステップＳ１０）の詳細を説明するためのフローチャートである。
【図６】図６は、製品リソース占有状態設定（図５のステップＳ２４）に関連する処理を説明するためのフローチャートである。
【図７】図７は、薬液温度リソース占有状態設定（図５のステップＳ２５）に関連する処理を説明するためのフローチャートである。
【図８】図８は、処理ユニットＳＰＩＮ１を通る経路に対応した仮タイムテーブルの一例を示す。
【図９Ａ】図９Ａは、プロセスジョブＰＪ１〜ＰＪ４の情報を順に受信してスケジューリングする第１の具体例を説明するためのフローチャートである。
【図９Ｂ】図９Ｂは、プロセスジョブＰＪ１〜ＰＪ４の情報を順に受信してスケジューリングする第１の具体例を説明するためのフローチャートである。
【図１０Ａ】図１０Ａは、前記第１の具体例において、プロセスジョブＰＪ１，ＰＪ３の各基板に対して作成される仮タイムテーブルを示す。
【図１０Ｂ】図１０Ｂは、プロセスジョブＰＪ２，ＰＪ４の各基板に対して作成される仮タイムテーブルを示す。
【図１１Ａ】図１１Ａは、最初に受信したプロセスジョブＰＪ１の最初の基板に対応する仮タイムテーブルを構成する全てのブロックを配置した例を示す。
【図１１Ｂ】図１１Ｂは、「ＳＰＩＮ１製品」リソースを占有状態として無効化した状態を示す。
【図１２】図１２は、プロセスジョブＰＪ２のスケジューリング例を示す。
【図１３Ａ】図１３Ａは、プロセスジョブＰＪ３の仮タイムテーブルを構成するブロックを全て配置した例を示す。
【図１３Ｂ】図１３Ｂは、「ＳＰＩＮ１製品」リソースの占有状態を解除した状態を示す。
【図１４】図１４は、プロセスジョブＰＪ４のスケジューリング例を示す。
【図１５Ａ】図１５Ａは、プロセスジョブＰＪ１〜ＰＪ４の情報を順に受信してスケジューリングする第２の具体例を説明するためのフローチャートである。
【図１５Ｂ】図１５Ｂは、プロセスジョブＰＪ１〜ＰＪ４の情報を順に受信してスケジューリングする第２の具体例を説明するためのフローチャートである。
【図１５Ｃ】図１５Ｃは、プロセスジョブＰＪ１〜ＰＪ４の情報を順に受信してスケジューリングする第２の具体例を説明するためのフローチャートである。
【図１６Ａ】図１６Ａは、前記第２の具体例において、プロセスジョブＰＪ１，ＰＪ３の各基板に対して作成される仮タイムテーブルを示す。
【図１６Ｂ】図１６Ｂは、プロセスジョブＰＪ２，ＰＪ４の各基板に対して作成される仮タイムテーブルを示す。
【図１７】図１７は、最初に受信したプロセスジョブＰＪ１の最初の基板に対応する仮タイムテーブルを構成する全てのブロックを配置した例を示す。
【図１８】図１８は、「ＣＣ１薬液８０℃」リソースを占有状態として無効化した状態を示す。
【図１９】図１９は、プロセスジョブＰＪ２のスケジューリングを留保した状態で、プロセスジョブＰＪ３に対するスケジューリングを行った状態を示す。
【図２０】図２０は、「ＣＣ１薬液８０℃」リソースの占有状態を解除した状態を示す。
【図２１】図２１は、プロセスジョブＰＪ３の次に液交換（温度調節）ブロックを配置し、さらにプロセスジョブＰＪ２をスケジューリングした状態を示す。
【図２２】図２２は、プロセスジョブＰＪ２で使用されない「ＣＣ１薬液６０℃」リソースを占有状態として無効化した状態を示す。
【図２３】図２３は、プロセスジョブＰＪ４のスケジューリング例を示す。
【図２４】図２４は、「ＣＣ１薬液６０℃」リソースの占有状態を解除した状態を示す。
【図２５】図２５は、前記第２の具体例の効果を説明するための図である。
【発明を実施するための形態】
【００４８】
以下では、この発明の実施の形態を、添付図面を参照して詳細に説明する。
図１は、この発明の一実施形態に係る基板処理装置のレイアウトを示す図解的な平面図であり、図２はその図解的な側面図である。この基板処理装置は、インデクサセクション１と、処理セクション２と、薬液キャビネットＣＣ１とを含む。処理セクション２は、インデクサセクション１との間で基板Ｗを受け渡しするための受け渡しユニットＰＡＳＳを備えている。インデクサセクション１は、未処理の基板Ｗを受け渡しユニットＰＡＳＳに渡し、受け渡しユニットＰＡＳＳから処理済みの基板Ｗを受け取る。処理セクション２は、受け渡しユニットＰＡＳＳから未処理の基板Ｗを受け取って、その基板Ｗに対して、処理剤（処理液または処理ガス）を用いた処理、紫外線等の電磁波を用いた処理、物理洗浄処理（ブラシ洗浄、スプレーノズル洗浄等）などの各種の処理を施す。そして、処理セクション２は、処理後の基板Ｗを受け渡しユニットＰＡＳＳに渡す。
【００４９】
インデクサセクション１は、複数のステージＳＴ１〜ＳＴ４と、インデクサロボットＩＲとを含む。
ステージＳＴ１〜ＳＴ４は、複数枚の基板Ｗ（たとえば半導体ウエハ）を積層状態で収容した基板収容器Ｃをそれぞれ保持することができる基板収容器保持部である。基板収容器Ｃは、基板Ｗを密閉した状態で収納するＦＯＵＰ（Front Opening Unified Pod）であってもよいし、ＳＭＩＦ（Standard Mechanical Inter Face）ポッド、ＯＣ（Open Cassette）等であってもよい。たとえば、基板収容器ＣをステージＳＴ１〜ＳＴ４に載置したとき、基板収容器Ｃでは、水平姿勢の複数枚の基板Ｗが互いに間隔を開けて鉛直方向に積層された状態となる。
【００５０】
インデクサロボットＩＲは、たとえば、基台部６と、多関節アーム７と、一対のハンド８Ａ，８Ｂとを含む。基台部６は、たとえば、当該基板処理装置のフレームに固定されている。多関節アーム７は、水平面に沿って回動可能な複数本のアーム部を互いに回動可能に結合して構成されており、アーム部の結合箇所である関節部でアーム部間の角度を変更することによって、屈伸するように構成されている。多関節アーム７の基端部は、基台部６に対して、鉛直軸線回りの回動が可能であるように結合されている。さらに、多関節アーム７は、基台部６に対して昇降可能に結合されている。換言すれば、基台部６には、多関節アーム７を昇降させるための昇降駆動機構、多関節アーム７を鉛直軸線回りに回動させるための回動駆動機構が内蔵されている。また、多関節アーム７には、各アーム部を独立して回動させるための個別回動駆動機構が備えられている。多関節アーム７の先端部に、鉛直軸線回りの個別回動および水平方向への個別進退が可能であるように、ハンド８Ａ，８Ｂが結合されている。多関節アーム７には、ハンド８Ａ，８Ｂを鉛直軸線回りに個別に回動させるためのハンド回動駆動機構と、ハンド８Ａ，８Ｂを水平方向に個別に進退させるためのハンド進退機構とが備えられている。ハンド８Ａ，８Ｂは、たとえば、１枚の基板Ｗをそれぞれ保持できるように構成されている。なお、ハンド８Ａ，８Ｂは上下に重なった状態で配置されていてもよいが、図１では、明瞭化のために、ハンド８Ａ，８Ｂを紙面に平行な方向（水平方向）にずらして描いてある。
【００５１】
この構成により、インデクサロボットＩＲは、いずれかのステージＳＴ１〜ＳＴ４に保持された基板収容器Ｃから一枚の未処理基板Ｗをハンド８Ａで搬出して受け渡しユニットＰＡＳＳに渡すように動作する。さらに、インデクサロボットＩＲは、受け渡しユニットＰＡＳＳから一枚の処理済み基板Ｗをハンド８Ｂで受け取って、いずれかのステージＳＴ１〜ＳＴ４に保持された基板収容器Ｃに収容するように動作する。
【００５２】
処理セクション２は、複数（この実施形態では１２個）の処理ユニットＳＰＩＮ１〜ＳＰＩＮ１２と、主搬送ロボットＣＲと、前述の受け渡しユニットＰＡＳＳとを含む。
処理ユニットＳＰＩＮ１〜ＳＰＩＮ１２は、この実施形態では、立体的に配置されている。より具体的には、三層構造をなすように複数の処理ユニットＳＰＩＮ１〜ＳＰＩＮ１２が配置されており、各層部分に４つの処理ユニットが配置されている。すなわち、第１層部分に４つの処理ユニットＳＰＩＮ１，ＳＰＩＮ４，ＳＰＩＮ７，ＳＰＩＮ１０が配置され、第２層部分に別の４つの処理ユニットＳＰＩＮ２，ＳＰＩＮ５，ＳＰＩＮ８，ＳＰＩＮ１１が配置され、第３層部分にさらに別の処理ユニットＳＰＩＮ３，ＳＰＩＮ６，ＳＰＩＮ９，ＳＰＩＮ１２が配置されている。
【００５３】
さらに具体的には、平面視において処理セクション２の中央に主搬送ロボットＣＲが配置されており、この主搬送ロボットＣＲとインデクサロボットＩＲとの間に受け渡しユニットＰＡＳＳが配置されている。受け渡しユニットＰＡＳＳを挟んで対向するように、３つの処理ユニットＳＰＩＮ１〜ＳＰＩＮ３を積層した第１処理ユニット群Ｇ１と、別の３つの処理ユニットＳＰＩＮ４〜ＳＰＩＮ６を積層した第２処理ユニット群Ｇ２とが配置されている。そして、第１処理ユニット群Ｇ１に対してインデクサロボットＩＲから遠い側に隣接するように、３つの処理ユニットＳＰＩＮ７〜ＳＰＩＮ９を積層した第３処理ユニット群Ｇ３が配置されている。同様に、第２処理ユニット群Ｇ２に対してインデクサロボットＩＲから遠い側に隣接するように、３つの処理ユニットＳＰＩＮ１０〜ＳＰＩＮ１２を積層した第４処理ユニット群Ｇ４が配置されている。第１〜第４処理ユニット群Ｇ１〜Ｇ４によって、主搬送ロボットＣＲが取り囲まれている。
【００５４】
主搬送ロボットＣＲは、たとえば、基台部１１と、多関節アーム１２と、一対のハンド１３Ａ，１３Ｂとを含む。基台部１１は、たとえば、当該基板処理装置のフレームに固定されている。多関節アーム１２は、水平面に沿って延びた複数本のアーム部を互いに回動可能に結合して構成されており、アーム部の結合箇所である関節部でアーム部間の角度を変更することによって、屈伸するように構成されている。多関節アーム１２の基端部は基台部１１に対して、鉛直軸線回りの回動が可能であるように結合されている。さらに、多関節アーム１２は、基台部１１に対して昇降可能に結合されている。換言すれば、基台部１１には、多関節アーム１２を昇降させるための昇降駆動機構、多関節アーム１２を鉛直軸線回りに回動させるための回動駆動機構が内蔵されている。また、多関節アーム１２には、各アーム部を独立して回動させるための個別回動駆動機構が備えられている。多関節アーム１２の先端部に、鉛直軸線回りの個別回動および水平方向への個別進退が可能であるように、ハンド１３Ａ，１３Ｂが結合されている。多関節アーム１２には、ハンド１３Ａ，１３Ｂを鉛直軸線回りに個別に回動させるためのハンド回動駆動機構と、ハンド１３Ａ，１３Ｂを水平方向に個別に進退させるためのハンド進退機構とが備えられている。ハンド１３Ａ，１３Ｂは、たとえば、１枚の基板Ｗをそれぞれ保持できるように構成されている。なお、ハンド１３Ａ，１３Ｂは上下に重なった状態で配置されていてもよいが、図１では、明瞭化のために、ハンド１３Ａ，１３Ｂを紙面に平行な方向（水平方向）にずらして描いてある。
【００５５】
この構成により、主搬送ロボットＣＲは、受け渡しユニットＰＡＳＳから未処理の一枚の基板Ｗをハンド１３Ａで受け取り、その未処理の基板Ｗをいずれかの処理ユニットＳＰＩＮ１〜ＳＰＩＮ１２に搬入する。また、主搬送ロボットＣＲは、処理ユニットＳＰＩＮ１〜ＳＰＩＮ１２で処理された処理済みの基板Ｗをハンド１３Ｂで受け取り、その基板Ｗを受け渡しユニットＰＡＳＳに渡す。
【００５６】
処理ユニットＳＰＩＮ１〜ＳＰＩＮ１２は、基板Ｗを１枚ずつ処理する枚葉型の処理ユニットである。処理ユニットＳＰＩＮ１〜ＳＰＩＮ１２は、たとえば、１枚の基板Ｗを水平姿勢で保持して回転させるスピンチャック１５と、スピンチャック１５に対して処理液（薬液またはリンス液）を供給する処理液ノズル１６とを処理室１７（チャンバ）内に備えた、回転液処理ユニットであってもよい。図２では、処理ユニットＳＰＩＮ３についてのみ、その内部構成を示し、他の処理ユニットの内部構成の図示を省いてある。
【００５７】
薬液キャビネットＣＣ１は、処理ユニットＳＰＩＮ１〜ＳＰＩＮ１２に処理液としての薬液を供給する処理液供給ユニットの一例である。この実施形態では、薬液キャビネットＣＣ１は、全ての処理ユニットＳＰＩＮ１〜ＳＰＩＮ１２に共通に薬液を供給するように構成されている。ただし、複数の薬液キャビネットを設けて、各薬液キャビネットが別の一つまたは複数の処理ユニットに対して薬液をそれぞれ供給する構成としてもよい。薬液キャビネットＣＣ１は、薬液を貯留するタンク３と、タンク３内の薬液の温度を調節する温度調節ユニット４と、タンク３内の薬液を処理ユニットＳＰＩＮ１〜ＳＰＩＮ１２に送り出すポンプ５とを備えている。
【００５８】
図３は、前記基板処理装置の電気的構成を説明するためのブロック図である。基板処理装置は、制御ユニットとしてのコンピュータ２０を備えている。コンピュータ２０は、処理ユニットＳＰＩＮ１〜ＳＰＩＮ１２、薬液キャビネットＣＣ１、主搬送ロボットＣＲおよびインデクサロボットを制御する。コンピュータ２０は、パーソナルコンピュータ（ＦＡパソコン）の形態を有していてもよい。コンピュータ２０は、制御部２１と、出入力部２２と、記憶部２３とを備えている。制御部２１は、ＣＰＵ等の演算ユニットを含む。出入力部２２は、表示ユニット等の出力機器と、キーボード、ポインティングデバイス、タッチパネル等の入力機器とを含む。さらに、出入力部２２は、外部コンピュータであるホストコンピュータ２４との通信のための通信モジュールを含む。記憶部２３は、固体メモリデバイス、ハードディスクドライブ等の記憶装置を含む。
【００５９】
制御部２１は、スケジューリング機能部２５と、処理実行指示部２６とを含む。スケジューリング機能部２５は、基板Ｗを基板収容器Ｃから搬出し、処理ユニットＳＰＩＮ１〜ＳＰＩＮ１２のうちの一つ以上で処理した後、基板収容器Ｃに収容するために、基板処理装置のリソースを時系列に従って作動させるための計画（スケジュール）を作成する。処理実行指示部２６は、スケジューリング機能部２５によって作成されたスケジュールに従って、基板処理装置のリソースを作動させる。リソースとは、基板処理装置に備えられ、基板の処理のために用いられる各種のユニットであり、具体的には、処理ユニットＳＰＩＮ１〜ＳＰＩＮ１２、インデクサロボットＩＲ、主搬送ロボットＣＲ、薬液キャビネットＣＣ１およびそれらの構成要素を含む。
【００６０】
記憶部２３は、制御部２１が実行するプログラム３０と、ホストコンピュータ２４から受信したプロセスジョブデータ（プロセスジョブ情報）４０と、スケジューリング機能部２５によって作成されたスケジュールデータ５０とを含む各種データ等を記憶するように構成されている。
記憶部２３に記憶されたプログラム３０は、制御部２１をスケジューリング機能部２５として作動させるためのスケジュール作成プログラム３１と、制御部２１を処理実行指示部２６として作動させるための処理実行プログラム３２とを含む。
【００６１】
プロセスジョブデータ４０は、各基板Ｗに付与されたプロセスジョブ（ＰＪ）符号と、プロセスジョブ符号に対応付けられたレシピとを含む。
レシピは、基板処理内容を定義したデータであり、基板処理条件および基板処理手順を含む。より具体的には、基板種情報、並行処理ユニット情報、使用処理液情報、処理時間情報等を含む。基板種情報は、処理対象の基板の種類を表す情報である。基板の種類の具体例は、製品を作り込むために使用される製品基板、処理ユニットのメンテナンス等のために使用され、製品の製造には使用されない非製品基板などである。並行処理ユニット情報とは、使用可能な処理ユニットを指定する処理ユニット指定情報であり、指定された処理ユニットによる並行処理が可能であることを表す。換言すれば、指定処理ユニットのうちの一つが使用できないときには、それ以外の指定処理ユニットによる代替が可能であることを表す。「使用できないとき」とは、当該処理ユニットが別の基板Ｗの処理のために使用中であるとき、当該処理ユニットが故障中であるとき、オペレータが当該処理ユニットで基板Ｗの処理をさせたくないと考えているとき、などである。使用処理液情報とは、基板処理のために用いる処理液の種類を指定する情報である。具体例は、薬液の種類および薬液の温度を指定する情報である。処理時間情報とは、処理液を供給する継続時間などである。使用処理液情報および処理時間情報は、処理条件情報の例である。
【００６２】
プロセスジョブとは、共通の処理が施されるべき１枚または複数枚の基板Ｗに対して行われる当該処理をいう。プロセスジョブ符号とは、プロセスジョブを識別するための識別情報（基板群識別情報）である。すなわち、共通のプロセスジョブ符号が付与された複数枚の基板Ｗには、当該プロセスジョブ符号に対応付けられたレシピによる共通の処理が施される。ただし、異なるプロセスジョブ符号に対応する基板処理内容（レシピ）が同じである場合もあり得る。たとえば、処理順序（基板収容器Ｃからの払い出し順序）が連続している複数枚の基板Ｗに対して共通の処理が施されるとき、それらの複数枚の基板Ｗに対して共通のプロセスジョブ符号が付与される。
【００６３】
制御部２１は、各基板Ｗに対するプロセスジョブデータを、ホストコンピュータ２４から出入力部２２を介して取得し、記憶部２３に記憶させる。プロセスジョブデータの取得および記憶は、各基板Ｗに対するスケジューリングが実行されるよりも前に行われればよい。たとえば、基板収容器ＣがステージＳＴ１〜ＳＴ４に保持された直後に、ホストコンピュータ２４から制御部２１に当該基板収容器Ｃに収容された基板Ｗに対応するプロセスジョブデータが与えられてもよい。スケジューリング機能部２５は、記憶部２３に格納されたプロセスジョブデータ４０に基づいて各プロセスジョブを計画し、その計画を表すスケジュールデータ５０を記憶部２３に格納する。処理実行指示部２６は、記憶部２３に格納されたスケジュールデータ５０に基づいて、インデクサロボットＩＲ、主搬送ロボットＣＲ、処理ユニットＳＰＩＮ１〜ＳＰＩＮ１２、および薬液キャビネットＣＣ１を制御することにより、基板処理装置にプロセスジョブを実行させる。
【００６４】
図４〜図７は、スケジューリング機能部２５による処理例を説明するためのフローチャートである。より具体的には、制御部２１（コンピュータ２０）がスケジュール作成プログラム３１を実行することによって、所定の制御周期で繰り返し行われる処理が表されている。換言すれば、スケジュール作成プログラム３１には、図４〜図７に示す処理をコンピュータに実行させるようにステップ群が組み込まれている。
【００６５】
ホストコンピュータ２４は、プロセスジョブデータを制御部２１に与えて、そのプロセスジョブデータによって定義されるプロセスジョブの開始を指示する。制御部２１は、そのプロセスジョブデータを受信して記憶部２３に格納する（ステップＳ１，Ｓ２）。そのプロセスジョブデータを用いて、スケジューリング機能部２５は、プロセスジョブを実行するためのスケジューリングを行う。
【００６６】
スケジューリング機能部２５は、まず、各基板を処理するための仮タイムテーブルを作成する（ステップＳ３）。たとえば、プロセスジョブデータにおいて或るプロセスジョブ符号に対応付けられたレシピが、処理ユニットＳＰＩＮ１〜ＳＰＩＮ１２の並行処理を指定しているとする。すなわち、当該レシピに従う基板処理が、１２個の処理ユニットＳＰＩＮ１〜ＳＰＩＮ１２のいずれにおいても実行可能である場合を考える。この場合、当該プロセスジョブ符号が付与された基板Ｗが処理を受けるときに通る経路は、１２通りである。すなわち、その基板Ｗの処理のために選択し得る経路は、処理ユニットＳＰＩＮ１〜ＳＰＩＮ１２のいずれかを通る１２個の経路である。そこで、スケジューリング機能部２５は、その１２個の経路に対応した仮タイムテーブルを各基板に対して作成する。
【００６７】
処理ユニットＳＰＩＮ１を通る経路に対応した仮タイムテーブルを図８に示す。この仮タイムテーブルは、インデクサロボットＩＲによる基板収容器Ｃからの基板Ｗの搬出（Ｇｅｔ）を表すブロックと、インデクサロボットＩＲによる当該基板Ｗの受け渡しユニットＰＡＳＳへの搬入（Ｐｕｔ）を表すブロックと、主搬送ロボットＣＲによる受け渡しユニットＰＡＳＳからの当該基板Ｗの搬出（Ｇｅｔ）を表すブロックと、主搬送ロボットＣＲによる当該基板Ｗの処理ユニットＳＰＩＮ１への搬入（Ｐｕｔ）を表すブロックと、処理ユニットＳＰＩＮ１による当該基板Ｗに対する処理を表す処理ブロックと、主搬送ロボットＣＲによる処理ユニットＳＰＩＮ１からの処理済みの基板Ｗの搬出（Ｇｅｔ）を表すブロックと、主搬送ロボットＣＲによる当該基板Ｗの受け渡しユニットＰＡＳＳへの搬入（Ｐｕｔ）を表すブロックと、インデクサロボットＩＲによる当該基板Ｗの受け渡しユニットＰＡＳＳからの搬出（Ｇｅｔ）を表すブロックと、インデクサロボットＩＲによる当該基板Ｗの基板収容器Ｃへの搬入（Ｐｕｔ）を表すブロックとを含む。スケジューリング機能部２５は、これらのブロックを時間軸上で重なり合いのないように順番に配置することによって、仮タイムテーブルを作成する。さらに、図８の仮タイムテーブルは、処理ブロックが配置された期間中において、薬液キャビネットＣＣ１からの薬液の供給を表す薬液供給ブロックを含む。
【００６８】
スケジューリング機能部２５は、同じ基板Ｗに対して、処理ユニットＳＰＩＮ２〜ＳＰＩＮ１２をそれぞれ通る経路に対応した同様の仮タイムテーブル（処理ブロックを処理ユニットＳＰＩＮ２〜ＳＰＩＮ１２にそれぞれ配置した仮タイムテーブル）を作成する。こうして、一枚の基板Ｗに対して合計１２経路分の仮タイムテーブルが作成される。
一方、図４に示すように、スケジューリング機能部２５は、プロセスジョブデータに基づいて、プロセスジョブのカテゴリを判別する（ステップＳ４）。カテゴリとは、処理の種別である。より具体的には、処理対象の基板の種類は、カテゴリの一つの例である。カテゴリの他の例は、基板の処理条件である。より具体的には、プロセスジョブデータ中のレシピで指定された処理液（とくに薬液）の種類、処理液の温度などが基板の処理条件の例である。
【００６９】
スケジューリング機能部２５は、プロセスジョブのカテゴリを判別して、必要に応じて、仮想リソースの計画を追加する（ステップＳ５，Ｓ６）。仮想リソースとは、基板処理装置に実際に備えられたユニットに対応する実リソースではなく、制御の都合上、仮想的に設けられるリソースである。スケジューリング機能部２５は、必要に応じて仮想リソースを追加して（ステップＳ５，Ｓ６）、実リソースおよび仮想リソースを利用したスケジュールを作成する。
【００７０】
仮想リソースの一例は、製品リソースである。図８には、処理ユニットＳＰＩＮ１〜ＳＰＩＮ１２に対応した製品リソースとして、「ＳＰＩＮ１製品」リソース、「ＳＰＩＮ２製品」リソース、…、「ＳＰＩＮ１２製品」リソースを示す。製品リソースとは、処理ユニットでの処理対象が製品基板であるときに用いられる仮想的なユニットを表す仮想リソースである。具体的には、製品基板を処理するための処理ブロックと同じ期間に、当該処理ブロックが計画される処理ユニットに対して、製品リソースを占有する製品処理ブロックが配置される（図８参照）。非製品基板に対しては、製品リソースを利用するためのブロックは配置されない。したがって、或る処理ユニットの製品リソースが占有されている期間であっても、当該処理ユニットの同期間に対して製品処理ブロックが配置されていなければ、非製品基板の処理を計画することができる。
【００７１】
仮想リソースの他の例は、処理条件リソースである。処理条件リソースとは、処理ユニットでの使用可能な処理条件に対応する仮想的なユニットを表す仮想リソースである。処理条件リソースの一つの例は、使用薬液の温度を表す薬液温度リソースである。図８には、薬液キャビネットＣＣ１からの６０℃の薬液供給を表す薬液温度リソースとしての「ＣＣ１薬液６０℃」リソースと、薬液キャビネットＣＣ１からの８０℃の薬液供給を表す薬液温度リソースとしての「ＣＣ１薬液８０℃」リソースとを示す。たとえば、プロセスジョブのレシピが、薬液キャビネットＣＣ１からの６０℃の薬液供給を指定しているとき、薬液キャビネットＣＣ１のリソース（実リソース）の使用とともに、６０℃の薬液の使用を表す薬液温度リソースを使う計画が行われる。すなわち、処理ブロックが配置される期間の一部に薬液キャビネットＣＣ１の使用を表す薬液供給ブロックが配置され、その薬液供給ブロックと同じ期間に、「ＣＣ１薬液６０℃」リソースに対して６０℃の薬液の使用を表す「６０℃薬液」ブロックが配置される。
【００７２】
図８には仮想リソースとして、「ＳＰＩＮ１製品」リソース〜「ＳＰＩＮ１２製品」リソース、「ＣＣ１薬液６０℃」リソース、「ＣＣ１薬液８０℃」リソースを示してあるが、これらは必要時に追加されれば良い。すなわち、仮タイムテーブルは、不要な仮想リソースの記述を含む必要はない。
薬液キャビネットＣＣ１が同時に異なる２つ以上の温度の薬液供給が不可能な構成の場合には、同時には１種類の温度の薬液供給のみが計画可能である。異なる温度の薬液を供給するためには、タンク３（図２参照）内の薬液の温度を変更するための調節が必要である。したがって、異なる温度の薬液供給は、異なる時間に計画される必要がある。より具体的には、薬液温度の変更に要する充分な時間を空けた異なる期間に計画される必要がある。したがって、或る温度の薬液の使用が計画されている期間には、他の温度の薬液を使うプロセスジョブの計画は禁止される。この実施形態では、全ての処理ユニットＳＰＩＮ１〜ＳＰＩＮ１２に対して、一つの薬液キャビネットＣＣ１からの薬液が供給されるように構成されており、かつ薬液キャビネットＣＣ１は同時には一種類のみの温度の薬液供給が可能である。そこで、或る温度の薬液の使用がいずれかの処理ユニットに対して計画されると、いずれの処理ユニットにおいても、他の温度の薬液使用の計画は禁止される。
【００７３】
薬液キャビネットＣＣ１は、所定の複数個の処理ユニットへと同時に薬液を供給できるように構成されていてもよい。この場合には、重複した期間に異なる処理ユニットで同じ温度の同種薬液を使用する計画を立てることが許容される。
作成された仮タイムテーブルは、スケジュールデータ５０の一部として記憶部２３に格納される（図４のステップＳ７）。同様の仮タイムテーブルが同じプロセスジョブ符号が付与された基板Ｗの全てに対応して作成される（ステップＳ８）。仮タイムテーブルの作成段階では、別の基板Ｗに関するブロックとの干渉（時間軸上での重なり合い）は考慮されない。
【００７４】
受信済みの全てのプロセスジョブに対して仮タイムテーブルの作成を終えると（ステップＳ９：ＹＥＳ）、スケジューリング機能部２５は、全体スケジューリングを実行する（ステップＳ１０）。全体スケジューリングとは、作成された仮タイムテーブルのブロックを、各リソースの他のブロックと重複しないように、時間軸上に配置することである。全体スケジューリングによって作成されたスケジュールデータは記憶部２３に格納される（ステップＳ１１）
図５は、全体スケジューリング（図４のステップＳ１０）の詳細を説明するためのフローチャートである。スケジューリング機能部２５は、基板Ｗの仮タイムテーブルを記憶部２３から読み出して、その仮タイムテーブルを構成しているブロックを時間軸上に配置していく。
【００７５】
さらに具体的には、スケジューリング機能部２５は、受信時間が最も早い未計画のプロセスジョブの１枚の基板Ｗに対応する仮タイムテーブルを読み出す（ステップＳ２１）。スケジューリング機能部２５は、その読み出した仮タイムテーブルを構成する全てのブロックを配置するのに必要なリソースが全て使用可能かどうかを判断する（ステップＳ２２）。全ての必要なリソースが使用可能であれば（ステップＳ２２：ＹＥＳ）、当該仮タイムテーブルを構成する各ブロックを対応するリソースに時間軸上で前詰めに配置する（ステップＳ２３）。すなわち、各ブロックは、同一リソースが同じ時間に重複して使用されないようにしながら、時間軸上で最も早い位置に配置される。仮タイムテーブルを構成する全てのブロックを配置し終えると、スケジューリング機能部２５は、その仮タイムテーブルの処理ブロックを配置した処理ユニットに関連する製品リソースの占有状態を設定する（ステップＳ２４。図６参照）。また、スケジューリング機能部２５は、その仮タイムテーブルが薬液供給ブロックを含む場合に、薬液温度リソースの占有状態を設定する（ステップＳ２５。図７参照）。
【００７６】
同様の処理が同じプロセスジョブの最後の基板の仮タイムテーブルまで順に実行される（ステップＳ２６）。さらに、同様の処理が、記憶部２３に格納された未計画のプロセスジョブデータに対して、繰り返される（ステップＳ２７）。
仮タイムテーブルを構成するブロックを配置すべき少なくとも一つのリソースが使用不可能であるときは（ステップＳ２２：ＮＯ）、スケジューリング機能部２５は、計画中の基板に係るプロセスジョブの計画全体を留保する（ステップＳ２８）。そして、次のプロセスジョブデータがある場合には（ステップＳ２９：ＹＥＳ）、スケジューリング機能部２５は、次のプロセスジョブデータの仮タイムテーブルを記憶部２３から読み出して（ステップＳ３０）、ステップＳ２２からの処理を繰り返す。次のプロセスジョブデータとは、受信時間が次のプロセスジョブデータである。次のプロセスジョブデータがなければ（ステップＳ２９：ＮＯ）、スケジューリング機能部２５の処理は、ステップＳ２７に移る。
【００７７】
ステップＳ２８において計画が留保されたプロセスジョブの計画は、必要なリソースが使用可能になるまで後回しにされる。より具体的には、占有状態に設定された製品リソースまたは薬液温度リソース（ステップＳ２４，Ｓ２５参照）を使うプロセスジョブは、後回しになる。
図６は、製品リソース占有状態設定（図５のステップＳ２４）に関連する処理を説明するためのフローチャートである。スケジューリング機能部２５は、処理を計画している基板が非製品基板かどうかを判断する（ステップＳ４１）。非製品基板の場合には（ステップＳ４１：ＹＥＳ）、スケジューリング機能部２５は、さらに、最初の非製品基板かどうかを判断する（ステップＳ４２）。具体的には、スケジューリング機能部２５は、同じ処理ユニットに対して直前に処理が計画された基板が製品基板であれば、最初の非製品基板であると判断する。さもなければ（同じ処理ユニットに対して直前に処理が計画された基板がない場合を含む）、スケジューリング機能部２５は、最初の非製品基板ではないと判断する。最初の非製品基板の場合には（ステップＳ４２：ＹＥＳ）、スケジューリング機能部２５は、当該非製品基板の処理を計画した処理ユニットに対応する製品リソースの以後の全期間を占有状態に設定する（ステップＳ４３）。したがって、その占有状態の製品リソースを使う仮タイムテーブルの計画はできなくなる（図５のステップＳ２２参照）。すなわち、最初の非製品基板の処理を計画した処理ユニットに対して、製品基板の処理の計画が禁止される。このように、製品リソースを占有状態に設定すること（ステップＳ４３）は、対応する処理ユニットに対して製品基板の処理の計画を禁止する禁止属性情報を生成することに相当する。
【００７８】
最初の非製品基板でない場合には（ステップＳ４２：ＮＯ）、スケジューリング機能部２５は、当該非製品基板が最後の非製品基板かどうかを判断する（ステップＳ４４）。たとえば、未スケジューリングの基板のなかに非製品基板がない場合に、スケジューリング機能部２５は、最後の非製品基板であると判断してもよい。また、プロセスジョブデータが、最後の非製品基板であることを表す情報を有している場合には、当該プロセスジョブの最後の基板を最後の非製品基板であると判断してもよい。
【００７９】
最後の非製品基板である場合には（ステップＳ４４：ＹＥＳ）、製品リソースの全期間占有状態が解除される（ステップＳ４５）。それにより、当該製品リソースに対応する処理ユニットにおいて、製品基板の処理を計画できる状態に復帰する。一方、最後の非製品基板でなければ（ステップＳ４４：ＮＯ）、製品リソースの全期間占有状態が保持される。
【００８０】
仮タイムテーブルのブロックを配置した基板が製品基板の場合には（ステップＳ４１：ＮＯ）、ステップＳ４２〜Ｓ４５の処理が省かれる。
最初の非製品基板の処理を含むプロセスジョブのスケジューリングを終えた後に、次の非製品基板のプロセスジョブデータの受信までに長い待機時間が生じるときには、ステップＳ４１，Ｓ４２の判断に依らずに、製品リソースの占有状態を解除してもよい。たとえば、最初の非製品基板の処理を含むプロセスジョブのスケジューリング終了後、一定の待機時間内に次の非製品基板のプロセスジョブデータが受信されないときに、非製品リソースの占有状態を解除してもよい。また、最初の非製品基板の処理を含むプロセスジョブのスケジューリング終了後、製品基板の処理を指定する一定数以上のプロセスジョブデータの受信が連続した場合に、非製品リソースの占有状態を解除してもよい。また、最初の非製品基板の処理を含むプロセスジョブのスケジューリング終了後、一定枚数以上の製品基板のスケジューリングを完了するまで次の非製品基板のプロセスジョブデータが受信されないときに、非製品リソースの占有状態を解除してもよい。
【００８１】
図７は、薬液温度リソース占有状態設定（図５のステップＳ２５）に関連する処理を説明するためのフローチャートである。スケジューリング機能部２５は、計画対象の基板処理が薬液温度リソースを使用するかどうか、すなわち、仮タイムテーブルが薬液温度リソースを使用するブロックを含むかどうかを判断する（ステップＳ５１）。薬液温度リソースを使用する場合には（ステップＳ５１：ＹＥＳ）、スケジューリング機能部２５は、さらに、当該薬液温度リソースを使う最初の基板かどうかを判断する（ステップＳ５２）。具体的には、スケジューリング機能部２５は、いずれかの薬液温度リソースを使用する直前の基板処理において、異なる温度の薬液温度リソースが使用されているか、または薬液温度リソースを使用する処理が未計画の場合には、その薬液温度リソースを使う最初の基板であると判断する。さもなければ、スケジューリング機能部２５は、その薬液温度リソースを使う最初の基板ではないと判断する。その薬液温度リソースを使う最初の基板の場合には（ステップＳ５２：ＹＥＳ）、スケジューリング機能部２５は、他の薬液温度リソースに関して、以後の全期間を占有状態に設定する（ステップＳ５３）。したがって、その占有状態の薬液温度リソースを使う仮タイムテーブルの計画はできなくなる（図５のステップＳ２２参照）。すなわち、別の薬液温度での基板処理の計画が禁止される。このように、薬液温度リソースを占有状態に設定すること（ステップＳ５３）は、異なる薬液温度（処理条件の一例）での基板処理の計画を禁止する禁止属性情報を生成することに相当する。
【００８２】
その薬液温度リソースを使う最初の基板でない場合には（ステップＳ５２：ＮＯ）、スケジューリング機能部２５は、その薬液温度リソースを使う最後の基板かどうかを判断する（ステップＳ５４）。たとえば、未スケジューリングの基板の仮タイムテーブルのなかに、同じ薬液温度リソースを使うものがない場合に、スケジューリング機能部２５は、その薬液温度リソースを使う最後の基板であると判断してもよい。また、プロセスジョブデータが、その薬液温度リソースを使う最後の基板であることを表す情報を有している場合には、当該プロセスジョブの最後の基板を、その薬液温度リソースを使う最後の基板であると判断してもよい。
【００８３】
その薬液温度リソースを使う最後の基板である場合には（ステップＳ５４：ＹＥＳ）、当該薬液温度リソースの全期間占有状態が解除される（ステップＳ５５）。それにより、当該薬液温度以外の薬液温度条件での基板処理を計画できる状態に復帰する。一方、その薬液温度リソースを使用する最後の基板でなければ（ステップＳ５４：ＮＯ）、その薬液温度リソースの全期間占有状態が保持される。
【００８４】
当該基板の仮タイムテーブルが薬液温度リソースを使用するブロックを有しない場合には、（ステップＳ５１：ＮＯ）、ステップＳ５２〜Ｓ５５の処理が省かれる。
或る薬液温度リソースを使う最初の基板の処理を含むプロセスジョブのスケジューリングを終えた後に、次の同じ薬液温度リソースを使う次の基板のプロセスジョブデータの受信までに長い待機時間が生じるときには、ステップＳ５１，Ｓ５２の判断に依らずに、他の薬液温度リソースの占有状態を解除してもよい。たとえば、或る薬液温度リソースを使う最初の基板の処理を含むプロセスジョブのスケジューリング終了後、一定の待機時間内に同じ薬液温度リソースを使う次の基板のプロセスジョブデータが受信されないときに、他の薬液温度リソースの占有状態を解除してもよい。また、或る薬液温度リソースを使う最初の基板の処理を含むプロセスジョブのスケジューリング終了後、他の薬液温度リソースを使う一定数以上のプロセスジョブデータの受信が連続した場合に、他の薬液温度リソースの占有状態を解除してもよい。また、或る薬液温度リソースを使う最初の基板の処理を含むプロセスジョブのスケジューリング終了後、他の薬液温度リソースを使う一定枚数以上の基板処理を指定する一つ以上のプロセスジョブデータが受信されたときに、他の薬液温度リソースの占有状態を解除してもよい。
【００８５】
次に、スケジューリングの第１の具体例について、図９Ａおよび図９Ｂ等を参照して説明する。
以下のような内容のレシピを有するプロセスジョブＰＪ１，ＰＪ２，ＰＪ３，ＰＪ４の情報（プロセスジョブデータ）をこの順序でホストコンピュータ２４から受信し、処理のスタートを指示された場合について説明する（ステップＳ１０１，Ｓ１０２，Ｓ１０３，Ｓ１０４）。
【００８６】
ＰＪ１：ＳＰＩＮ１で１枚の非製品基板を処理
ＰＪ２：ＳＰＩＮ１〜ＳＰＩＮ２で２枚の製品基板を並行処理
ＰＪ３：ＳＰＩＮ１で１枚の非製品基板を処理
ＰＪ４：ＳＰＩＮ１〜ＳＰＩＮ２で２枚の製品基板を並行処理
使用者の意図は、処理ユニットＳＰＩＮ１に関しては、製品基板を用いた処理を間に挟むことなく非製品基板を用いた内部洗浄処理等を２回連続して行うことである。たとえば、非製品基板をスピンチャック１５に保持させた状態で処理液ノズル１６から純水を吐出することで、処理ユニットＳＰＩＮ１の内部を洗浄することができる。非製品基板を用いた内部洗浄処理の回数は、たとえば、製品基板に対して処理を行うときに要求される処理ユニット内部の清浄度に依存する。すなわち、その回数は、使用者が必要に応じて設定する。たとえば、準備できる非製品基板の枚数の制限などのために、２枚の非製品基板に対する処理を一つのプロセスジョブにまとめることができなかったり、連続する２つのプロセスジョブで非製品基板の使用を指定できなかったりすることがある。このような場合でも、この基板処理装置は、２枚以上の非製品基板による連続処理を実現する。
【００８７】
図１０Ａは、プロセスジョブＰＪ１，ＰＪ３の各基板に対して作成される仮タイムテーブルを示し、図１０ＢはプロセスジョブＰＪ２，ＰＪ４の各基板に対して作成される仮タイムテーブルを示す。スケジューリング機能部２５は、プロセスジョブＰＪ１〜ＰＪ４に対応するプロセスジョブデータを受信すると（ステップＳ１０１〜Ｓ１０４。受信工程）、各プロセスジョブＰＪ１〜ＰＪ４を受信する度にそれらに対応する仮タイムテーブルをそれぞれ作成する（ステップＳ１０５〜Ｓ１０８）。
【００８８】
プロセスジョブＰＪ２，ＰＪ４については、図１０Ｂに示すように、２つの処理ユニットＳＰＩＮ１〜ＳＰＩＮ２での並行処理を指定して製品基板に対する処理を行うための仮タイムテーブルが作成される。すなわち、処理ユニットＳＰＩＮ１，ＳＰＩＮ２に処理ブロックをそれぞれ配置した仮タイムテーブルが作成される。処理ブロックは、基板処理のために当該処理ユニットが占有されることを表す。また、処理ユニットＳＰＩＮ１に配置された処理ブロックと重複する期間には、処理ユニットＳＰＩＮ１に対応する製品リソース「ＳＰＩＮ１製品」に対して、製品処理ブロックが配置されている。この製品処理ブロックは、処理ユニットＳＰＩＮ１において製品基板が処理されること、すなわち、製品基板の処理のために処理ユニットＳＰＩＮ１が占有されることを表す。同様に、処理ユニットＳＰＩＮ２に配置された処理ブロックと重複する期間には、処理ユニットＳＰＩＮ２に対応する製品リソース「ＳＰＩＮ２製品」に対して、製品処理ブロックが配置されている。この製品処理ブロックは、処理ユニットＳＰＩＮ２において製品基板が処理されること、すなわち、製品基板の処理のために処理ユニットＳＰＩＮ２が占有されることを表す。
【００８９】
プロセスジョブＰＪ１，ＰＪ３については、図１０Ａに示すように、一つの処理ユニットＳＰＩＮ１を指定して非製品基板に対する処理を行うための仮タイムテーブルが作成される。すなわち、処理ユニットＳＰＩＮ１に処理ブロックが配置されている。非製品基板に対する処理であるので、製品リソース「ＳＰＩＮ１製品」は使用されない。
図１１Ａ〜図１４は、全体スケジューリングの例を示す。
【００９０】
図１１Ａは、最初に受信したプロセスジョブＰＪ１の最初の基板に対応する仮タイムテーブルを構成する全てのブロックを配置した例を示す。スケジューリング機能部２５は、プロセスジョブデータを受信した順序に、各プロセスジョブの仮タイムテーブルを用いてスケジューリングを実行する（処理スケジューリング工程）。すなわち、スケジューリング機能部２５は、まず、プロセスジョブＰＪ１の仮タイムテーブルから取得されたブロックを対応するリソースのスペースに時間軸上において最も早い位置に（すなわち前詰めで）順に配置していく（ステップＳ１０９。第１処理スケジューリング工程）。このとき、スケジューリング機能部２５は、同一リソースのスペースでブロックが重なり合わないように各ブロックを配置する。プロセスジョブＰＪ１は１枚の非製品基板に対する処理を処理ユニットＳＰＩＮ１で行うべきことを指定する処理であるので、処理ブロックは処理ユニットＳＰＩＮ１に対応するように配置される（ステップＳ１０９ａ）。こうして、プロセスジョブＰＪ１に対するスケジューリングを終える。
【００９１】
プロセスジョブＰＪ１に対するスケジューリング（ステップＳ１０９）の後、スケジューリング機能部２５は、それが１枚目の非製品基板に対する処理スケジューリングであると判断する（ステップＳ１１０）。そこで、スケジューリング機能部２５は、図１１Ｂに示すように、次の基板の処理を計画する前に、「ＳＰＩＮ１製品」リソースを、プロセスジョブＰＪ１の開始時以後の全期間について占有状態とし、それによって、「ＳＰＩＮ１製品」リソースを無効化する（ステップＳ１１１。禁止属性情報の生成）。これは、処理ユニットＳＰＩＮ１が製品基板の処理のために全期間において占有されていることを表す。これにより、「ＳＰＩＮ１製品」リソースへの製品処理ブロックの配置が禁止される。それによって、処理ユニットＳＰＩＮ１を用いた製品基板の処理の計画が禁止される。「ＳＰＩＮ２製品」リソースは占有されていないので、処理ユニットＳＰＩＮ２については、製品基板の処理を計画できる。
【００９２】
このようにして、次のプロセスジョブＰＪ２の処理スケジューリングよりも前に、「ＳＰＩＮ１製品」リソースの使用を禁止する禁止属性情報が生成され、それによって、処理ユニットＳＰＩＮ１を製品基板の処理のために使用することが禁止される。処理実行指示部２６は、プロセスジョブＰＪ１のスケジューリング完了後、プロセスジョブＰＪ１に対して作成されたスケジュールに従って基板処理装置のリソースを作動させる。処理実行指示部２６は、任意のタイミングでプロセスジョブＰＪ１の実行を開始することができるが、プロセスジョブＰＪ１の次のプロセスジョブＰＪ２の受信（ステップＳ１０２）よりも前にプロセスジョブＰＪ１の実行を開始してもよい。
【００９３】
次に、スケジューリング機能部２５は、プロセスジョブＰＪ１の次に情報（プロセスジョブデータ）が受信されたプロセスジョブＰＪ２に対するスケジューリングを行う（ステップＳ１１２。第２処理スケジューリング工程）。プロセスジョブＰＪ２のレシピは、２つの処理ユニットＳＰＩＮ１，ＳＰＩＮ２での２枚の製品基板の並行処理を指定しているので、仮タイムテーブルは「ＳＰＩＮ１製品」リソースまたは「ＳＰＩＮ２製品」リソースに配置すべき製品処理ブロックを含む。プロセスジョブＰＪ２の仮タイムテーブルのうち処理ユニットＳＰＩＮ１を使う仮タイムテーブル（図１０Ｂの上段）は、占有状態となっている「ＳＰＩＮ１製品」リソースを用いるので、適用できない。すなわち、スケジューリング機能部２５は、プロセスジョブＰＪ２について作成された、処理ユニットＳＰＩＮ１を通る仮タイムテーブルの製品処理ブロックを「ＳＰＩＮ１製品」リソースに配置できるか否かを判断する（ステップＳ１１２ａ）。この判断は、プロセスジョブＰＪ１の基板種（非製品基板）とプロセスジョブＰＪ２の基板種（製品基板）との異同の判断にほかならない（カテゴリ（基板種）の異同を判断する工程）。「ＳＰＩＮ１製品」リソースが占有されているため、製品処理ブロックを「ＳＰＩＮ１製品」リソースに配置できない。これは、プロセスジョブＰＪ１とプロセスジョブＰＪ２とで基板の種類が異なるため、プロセスジョブＰＪ２を処理ユニットＳＰＩＮ１に対して計画することが禁止されることを意味する。
【００９４】
そこで、スケジューリング機能部２５は、図１２に示すように、処理ユニットＳＰＩＮ２を使う仮タイムテーブル（図１０Ｂの下段）を選択し、その仮タイムテーブルを構成するブロックを、同一リソースの他のブロックと重複しないように時間軸上で前詰めに配置していく（ステップＳ１１２ｂ）。これにより、処理ブロックが処理ユニットＳＰＩＮ２に配置され、その処理ブロックと同じ期間において、「ＳＰＩＮ２製品」リソースに製品処理ブロックが配置される。「ＳＰＩＮ１製品」リソースが占有状態のままであるので、プロセスジョブＰＪ２の２枚の基板の処理は、いずれも処理ユニットＳＰＩＮ２に計画される。
【００９５】
処理実行指示部２６は、プロセスジョブＰＪ２のスケジューリング完了後、プロセスジョブＰＪ２に対して作成されたスケジュールに従って基板処理装置のリソースを作動させる。処理実行指示部２６は任意のタイミングでプロセスジョブＰＪ２の実行を開始することができるが、プロセスジョブＰＪ２の次のプロセスジョブＰＪ３の受信（ステップＳ１０３）よりも前にプロセスジョブＰＪ２の実行を開始してもよい。
【００９６】
スケジューリング機能部２５は、プロセスジョブＰＪ２の処理スケジューリングを終えた後、プロセスジョブＰＪ２の次に情報（プロセスジョブデータ）が受信されたプロセスジョブＰＪ３に対するスケジューリングを行う（ステップＳ１１３。第２処理スケジューリング工程）。プロセスジョブＰＪ３のレシピは、処理ユニットＳＰＩＮ１での１枚の非製品基板の処理を指定している。プロセスジョブＰＪ３の仮タイムテーブル（図１０Ａ）は、占有状態となっている「ＳＰＩＮ１製品」リソースを用いないので、スケジューリング機能部２５は、この仮タイムテーブルを適用可能であると判断する（ステップＳ１１３ａ）。占有状態となっている「ＳＰＩＮ１製品」リソースを用いるか否かの判断は、プロセスジョブＰＪ１，ＰＪ３の基板種の異同の判断に相当する（カテゴリ（基板種）の異同を判断する工程）。そして、プロセスジョブＰＪ３が占有状態である「ＳＰＩＮ１製品」リソースを用いないことは、プロセスジョブＰＪ３がプロセスジョブＰＪ１と同種の基板種に対する処理であることを意味する。
【００９７】
そこで、スケジューリング機能部２５は、図１３Ａに示すように、プロセスジョブＰＪ３の仮タイムテーブルを構成するブロックを、同一リソースの他のブロックと重複しないように時間軸上で前詰めに配置していく。これにより、処理ブロックが処理ユニットＳＰＩＮ１に配置される（ステップＳ１１３ｂ）。プロセスジョブＰＪ３は製品リソースを使用する製品処理ブロックを有していないので、「ＳＰＩＮ１製品」リソースが占有状態であっても、プロセスジョブＰＪ３の仮タイムテーブルを構成する全てのブロックを配置することができる。
【００９８】
もしも、プロセスジョブＰＪ３が２枚以上の非製品基板に対する処理である場合には、２枚目以降の非製品基板に対しても同様にして処理ユニットＳＰＩＮ１での処理が繰り返し計画される。
プロセスジョブＰＪ３の最後の基板の仮タイムテーブルを構成する全てのブロックの配置を終えると、スケジューリング機能部２５は、プロセスジョブＰＪ３が非製品基板を基板種として指定する最後のプロセスジョブかどうかを判断する（ステップＳ１１４）。たとえば、スケジューリング機能部２５は、受信済みのプロセスジョブデータを参照して、スケジューリングが未了のプロセスジョブのなかに非製品基板を基板種として指定しているものがあるかどうかを判断してもよい。また、プロセスジョブＰＪ３のためのプロセスジョブデータが、非製品基板を指定する最後のプロセスジョブであることを表す情報を有していてもよい。この場合、スケジューリング機能部２５は、その情報に基づいて、プロセスジョブＰＪ３が非製品基板の最後のプロセスジョブかどうかを判断できる。
【００９９】
プロセスジョブＰＪ３が非製品基板の処理のための最後のプロセスジョブである場合には、スケジューリング機能部２５は、「ＳＰＩＮ１製品」リソースの全期間占有状態を解除する（ステップＳ１１５）。すなわち、処理ユニットＳＰＩＮ１での製品基板の処理を禁止する禁止属性情報が取り消される。それによって、「ＳＰＩＮ１製品」リソースが有効になる。たとえば、図１３Ｂに示すように、スケジューリング機能部２５は、プロセスジョブＰＪ３の最後の基板（非製品基板）に対する最初のブロック開始時以降の期間における「ＳＰＩＮ１製品」リソースの占有状態を解除してもよい。これにより、プロセスジョブＰＪ３の最後の基板の最初のブロック開始時以降の期間には、「ＳＰＩＮ１製品」リソースへの製品処理ブロックの配置が可能になる。
【０１００】
ただし、図１３Ｂの例では、プロセスジョブＰＪ３の最後の基板の処理ブロックが処理ユニットＳＰＩＮ１に配置されていて、プロセスジョブＰＪ３の最後の基板の最初のブロック開始と当該基板に対する処理ブロックとの間には、別の基板の処理のための処理ブロックが配置可能な充分な期間が存在しない。したがって、実質的には、処理ブロックの配置は、プロセスジョブＰＪ３の最後の基板の処理ブロックの後の期間に制限され、それに応じて、製品処理ブロックの配置もプロセスジョブＰＪ３の最後の基板の処理ブロックの後の期間に制限される。
【０１０１】
したがって、「ＳＰＩＮ１製品」リソースの開放は、最後の非製品基板の処理ブロックの前に同じ処理ユニットでの基板処理を指定する別の処理ブロックの配置を禁止できるタイミングに設定すればよい。たとえば、プロセスジョブＰＪ３の最後の非製品基板に対応する処理ブロックの終了時以降の期間において「ＳＰＩＮ１製品」リソースを開放してもよい。
【０１０２】
処理実行指示部２６は、プロセスジョブＰＪ３のスケジューリング完了後、プロセスジョブＰＪ３に対して作成されたスケジュールに従って基板処理装置のリソースを作動させる。処理実行指示部２６は任意のタイミングでプロセスジョブＰＪ３の実行を開始することができるが、プロセスジョブＰＪ３の次のプロセスジョブＰＪ４の受信（ステップＳ１０４）よりも前にプロセスジョブＰＪ３の実行を開始してもよい。
【０１０３】
スケジューリング機能部２５は、プロセスジョブＰＪ３の処理スケジューリングを終えた後、図１４に示すように、プロセスジョブＰＪ３の次に情報（プロセスジョブデータ）が受信されたプロセスジョブＰＪ４に対するスケジューリングを行う（ステップＳ１１６。処理スケジューリング工程）。プロセスジョブＰＪ４のレシピは、２つの処理ユニットＳＰＩＮ１，ＳＰＩＮ２での２枚の製品基板の並行処理を指定しているので、仮タイムテーブルは「ＳＰＩＮ１製品」リソースまたは「ＳＰＩＮ２製品」リソースに配置すべき製品処理ブロックを含む。
【０１０４】
「ＳＰＩＮ１製品」リソースの占有状態が開放されており、かつ「ＳＰＩＮ２製品」リソースは利用可能であるので、スケジューリング機能部２５は、プロセスジョブＰＪ４の仮タイムテーブルのうち処理ユニットＳＰＩＮ１およびＳＰＩＮ２をそれぞれ使う仮タイムテーブルがいずれも使用可能であると判断する（ステップＳ１１６ａ）。したがって、スケジューリング機能部２５は、処理ユニットＳＰＩＮ１またはＳＰＩＮ２を使う仮タイムテーブルのいずれかを選択して処理を計画する（ステップＳ１１６ｂ）。
【０１０５】
図１４の例では、処理ユニットＳＰＩＮ２に配置済みの処理ブロックの終了時刻が、処理ユニットＳＰＩＮ１に配置済みの処理ブロックの終了時刻よりも早い。そこで、スケジューリング機能部２５は、処理ユニットＳＰＩＮ２を使う仮タイムテーブル（図１０Ｂ下段）を選択し、その仮タイムテーブルを構成するブロックを、同一リソースの他のブロックと重複しないように時間軸上で前詰めに配置していく。これにより、１枚目の製品基板の処理ブロックが処理ユニットＳＰＩＮ２に配置され、その処理ブロックと同じ期間において「ＳＰＩＮ２製品」リソースに製品処理ブロックが配置される。
【０１０６】
次いで、スケジューリング機能部２５は、プロセスジョブＰＪ４の２枚目の製品基板の処理を計画する。「ＳＰＩＮ１製品」リソースの占有状態が開放されているので、「ＳＰＩＮ１製品」リソースおよび「ＳＰＩＮ２製品」リソースはいずれも利用可能である。したがって、スケジューリング機能部２５は、プロセスジョブＰＪ４の仮タイムテーブルのうち処理ユニットＳＰＩＮ１およびＳＰＩＮ２を使う仮タイムテーブルがいずれも使用可能であると判断する（ステップＳ１１６ａ）。
【０１０７】
図１４の例では、処理ユニットＳＰＩＮ１に配置済みの処理ブロックの終了時刻が、処理ユニットＳＰＩＮ２に配置済みの処理ブロック（プロセスジョブＰＪ２の１枚目の製品基板）の終了時刻よりも早い。そこで、スケジューリング機能部２５は、処理ユニットＳＰＩＮ１を使う仮タイムテーブル（図１０Ｂの上段）を選択し、その仮タイムテーブルを構成するブロックを、同一リソースの他のブロックと重複しないように時間軸上で前詰めに配置していく（ステップＳ１１６ｂ）。これにより、２枚目の製品基板の処理ブロックが処理ユニットＳＰＩＮ１に配置され、その処理ブロックと同じ期間において「ＳＰＩＮ１製品」リソースに製品処理ブロックが配置される。
【０１０８】
こうして、プロセスジョブＰＪ４のスケジューリングが終了する。
処理実行指示部２６は、プロセスジョブＰＪ４のスケジューリング完了後、プロセスジョブＰＪ４に対して作成されたスケジュールに従って任意のタイミングで基板処理装置のリソースを作動させる。
次に、スケジューリングの第２の具体例について、図１５Ａ、図１５Ｂおよび図１５Ｃ等を参照して説明する。
【０１０９】
以下のような内容のレシピを有するプロセスジョブＰＪ１，ＰＪ２，ＰＪ３，ＰＪ４のプロセスジョブデータをこの順序でホストコンピュータ２４から受信し、スタート指示された場合について説明する（ステップＳ１２１，Ｓ１２２，Ｓ１２３，Ｓ１２４）。
ＰＪ１：ＳＰＩＮ１〜ＳＰＩＮ２で、ＣＣ１の薬液を６０℃で使用して１枚の基板を処理
ＰＪ２：ＳＰＩＮ１〜ＳＰＩＮ２で、ＣＣ１の薬液を８０℃で使用して１枚の基板を処理
ＰＪ３：ＳＰＩＮ１〜ＳＰＩＮ２で、ＣＣ１の薬液を６０℃で使用して１枚の基板を処理
ＰＪ４：ＳＰＩＮ１〜ＳＰＩＮ２で、ＣＣ１の薬液を８０℃で使用して１枚の基板を処理
前述のとおり、薬液キャビネットＣＣ１は、タンク３に貯留された薬液の温度を調節する温度調節ユニット４を備えている。しかし、温度調節ユニット４はタンク３内の薬液の温度を瞬時に変更できるわけではなく、たとえば、薬液の温度を６０℃と８０℃との間で変更するには、相応の時間（たとえば数時間）が必要である。したがって、薬液温度を変更し、変更後の薬液温度で安定した薬液供給を行える状態になるまでの待機時間には、基板を処理することができない。したがって、基板処理装置のダウンタイムが長くなり、生産性が悪くなる。
【０１１０】
そこで、この実施形態では、プロセスジョブデータの受信順によらずに、処理条件（具体的には薬液温度）が等しいプロセスジョブを連続して実行するための仕組みが備えられている。
薬液キャビネットＣＣ１は、同時に一つの処理ユニットのみに対して薬液が供給可能に構成されていてもよいし、複数の処理ユニットに対して薬液を供給できる能力を備えていてもよい。以下では、薬液キャビネットＣＣ１は、少なくとも２つ（たとえば１２個全部）の処理ユニットに対して同時に薬液を供給できる能力を備えている場合を想定する。
【０１１１】
図１６ＡはプロセスジョブＰＪ１，ＰＪ３の各基板に対して作成される仮タイムテーブルを示し、図１６ＢはプロセスジョブＰＪ２，ＰＪ４の各基板に対して作成される仮タイムテーブルを示す。スケジューリング機能部２５は、プロセスジョブＰＪ１〜ＰＪ４に対応するプロセスジョブデータを受信すると（ステップＳ１２１〜Ｓ１２４。受信工程）、それらに対応する仮タイムテーブルをそれぞれ作成する（ステップＳ１２５〜Ｓ１２８）。
【０１１２】
プロセスジョブＰＪ１〜ＰＪ４のそれぞれについて、２つの処理ユニットＳＰＩＮ１〜ＳＰＩＮ２での並行処理を指定して製品基板に対する処理を行うための仮タイムテーブルが作成される。すなわち、処理ユニットＳＰＩＮ１，ＳＰＩＮ２に処理ブロックをそれぞれ配置した２つの仮タイムテーブルが各基板に対して作成される。また、処理ブロックが配置された期間内において、薬液キャビネットＣＣ１からの薬液が供給される期間には、薬液キャビネットＣＣ１に対して、薬液供給ブロックが配置される。薬液供給ブロックは、薬液キャビネットＣＣ１が薬液供給のために使用されることを表す。
【０１１３】
仮タイムテーブルには、さらに、薬液温度リソース（仮想リソース）として、薬液キャビネットＣＣ１から６０℃の薬液を供給することを表す「ＣＣ１薬液６０℃」リソースと、薬液キャビネットＣＣ１から８０℃の薬液を供給することを表す「ＣＣ１薬液８０℃」リソースとが設けられている。そして、プロセスジョブＰＪ１，ＰＪ３に対応する仮タイムテーブルでは、薬液供給ブロックと同じ期間に、「ＣＣ１薬液６０℃」リソースを占有する「６０℃薬液」ブロックが配置されている。同様に、プロセスジョブＰＪ２，ＰＪ４に対応する仮タイムテーブルでは、薬液供給ブロックと同じ期間に、「ＣＣ１薬液８０℃」リソースを占有する「８０℃薬液」ブロックが配置されている。「６０℃薬液」ブロックは、薬液キャビネットＣＣ１が６０℃の薬液を供給する状態であることを表す。同様に、「８０℃薬液」ブロックは、薬液キャビネットＣＣ１が８０℃の薬液を供給する状態であることを表す。
【０１１４】
図１７は、最初に受信したプロセスジョブＰＪ１の最初の基板に対応する仮タイムテーブルを構成する全てのブロックを配置した例を示す。
スケジューリング機能部２５は、プロセスジョブデータを受信した順序に、各プロセスジョブの仮タイムテーブルを用いてスケジューリングを実行する（処理スケジューリング工程）。すなわち、スケジューリング機能部２５は、まず、プロセスジョブＰＪ１の仮タイムテーブルから取得されたブロックを対応するリソースのスペースに時間軸上において最も早い位置に（すなわち前詰めで）順に配置していく（ステップＳ１２９。第１処理スケジューリング工程）。このとき、スケジューリング機能部２５は、同一のリソースのスペースでブロックが重なり合わないように各ブロックを配置する。プロセスジョブＰＪ１は１枚の基板に対する処理を処理ユニットＳＰＩＮ１またはＳＰＩＮ２で行うべきことを指定する処理である。処理ユニットＳＰＩＮ１，ＳＰＩＮ２のいずれにおいても処理が計画されていないときには、処理ブロックはいずれの処理ユニットに対応させてもよい。図１７には、処理ブロックを処理ユニットＳＰＩＮ１に対応するように配置した例を示す（ステップＳ１２９ａ）。
【０１１５】
また、プロセスジョブＰＪ１は、６０℃の薬液の使用を指定しているので、処理ブロックを配置した期間内において薬液を使用する期間には、薬液キャビネットＣＣ１に対応付けて薬液供給ブロックが配置される。さらに、同じ期間において、「ＣＣ１薬液６０℃」リソースに対して、「６０℃薬液」ブロックが配置される（ステップＳ１２９ａ）。こうして、プロセスジョブＰＪ１に対するスケジューリングを終える。
【０１１６】
もしも、プロセスジョブＰＪ１が２枚以上の基板に対する処理である場合には、２枚目以降の基板に対しても同様にして処理ユニットＳＰＩＮ１またはＳＰＩＮ２での処理が繰り返し計画される。この場合、処理ブロックがより早い時刻に配置できるように、処理ユニットＳＰＩＮ１またはＳＰＩＮ２のいずれかを用いる仮タイムテーブルが選択される。
プロセスジョブＰＪ１に対するスケジューリング（ステップＳ１２９）の後、スケジューリング機能部２５は、それが６０℃の薬液温度での１枚目の基板を含むプロセスジョブの処理スケジューリングであると判断する（ステップＳ１３０）。そこで、スケジューリング機能部２５は、次の基板の処理を計画する前に、図１８に示すように、プロセスジョブＰＪ１で使用されない「ＣＣ１薬液８０℃」リソースを占有状態とし、それによって、「ＣＣ１薬液８０℃」リソースを無効化する（ステップＳ１３１。禁止属性情報の生成）。これは、薬液キャビネットＣＣ１が、プロセスジョブＰＪ１の開始以降の全ての期間において、８０℃の薬液供給のための使用が不可能な状態であることを表す。これにより、「ＣＣ１薬液８０℃」リソースへの薬液温度ブロックの配置が禁止される。それによって、８０℃の薬液を用いたプロセスジョブの計画が禁止される。「ＣＣ１薬液６０℃」リソースは未占有の期間があるので、６０℃の薬液を用いる別の基板処理の計画は許容される。
【０１１７】
このようにして、次のプロセスジョブＰＪ２の処理スケジューリングよりも前に、「ＣＣ１薬液８０℃」リソースの使用を禁止する禁止属性情報が生成され、それによって、８０℃の薬液を用いる処理が禁止される。
次に、スケジューリング機能部２５は、プロセスジョブＰＪ１の次に情報（プロセスジョブデータ）が受信されたプロセスジョブＰＪ２に対するスケジューリングを開始する（ステップＳ１３２。第２処理スケジューリング工程）。プロセスジョブＰＪ２のレシピは、２つの処理ユニットＳＰＩＮ１〜ＳＰＩＮ２のいずれかでの１枚の基板の処理を指定している。プロセスジョブＰＪ２について作成された仮タイムテーブルは、処理ユニットＳＰＩＮ１およびＳＰＩＮ２のいずれを使う仮タイムテーブルにおいても、「ＣＣ１薬液８０℃」リソースに配置すべき「８０℃薬液」ブロックを含む。ところが、「ＣＣ１薬液８０℃」リソースは全期間において占有状態となっているため、「８０℃薬液」ブロックを配置することができない（ステップＳ１３２ａ）。よって、スケジューリング機能部２５は、プロセスジョブＰＪ２の計画を留保する（ステップＳ１３３）。
【０１１８】
スケジューリング機能部２５は、「８０℃薬液」ブロックが「ＣＣ１薬液８０℃」リソースに配置可能か否かを判断し、それによって、先行するプロセスジョブＰＪ１で使用される薬液温度と等しいかどうかを判断する。この判断工程は、プロセスジョブＰＪ２の処理条件とプロセスジョブＰＪ１の処理条件との異同を判断する工程（カテゴリの異同を判断する工程）である。この具体例では、プロセスジョブＰＪ２の処理条件がプロセスジョブＰＪ１の処理条件と異なるので、プロセスジョブＰＪ２の計画が留保される（ステップＳ１３３）。
【０１１９】
次に、図１９に示すように、スケジューリング機能部２５は、プロセスジョブＰＪ２の処理スケジューリングを留保した状態で、プロセスジョブＰＪ２の次に情報（プロセスジョブデータ）が受信されたプロセスジョブＰＪ３に対するスケジューリングを行う（ステップＳ１３４。第２処理スケジューリング工程）。プロセスジョブＰＪ３のレシピは、処理ユニットＳＰＩＮ１またはＳＰＩＮ２での１枚の基板の処理を指定し、かつ６０℃の薬液の使用を指定している。プロセスジョブＰＪ３の仮タイムテーブルは、処理ユニットＳＰＩＮ１，ＳＰＩＮ２のいずれを用いる場合であっても、「ＣＣ１薬液８０℃」リソースを使用しないので、適用可能である。すなわち、スケジューリング機能部２５は、仮タイムテーブルに含まれる「６０℃薬液」ブロックを「ＣＣ１薬液６０℃」リソースに配置できるかどうかを判断することにより、直前に計画済みのプロセスジョブＰＪ１の処理条件（薬液温度）と計画中のプロセスジョブＰＪ３の処理条件（薬液温度）との異同を判断する（ステップＳ１３４ａ。カテゴリの異同を判断する工程）。
【０１２０】
図１９の例では、プロセスジョブＰＪ１のために処理ユニットＳＰＩＮ１が用いられているので、処理ユニットＳＰＩＮ２を用いるよりも処理ユニットＳＰＩＮ２を用いる方が処理ブロックを早い時刻に配置できる。そこで、スケジューリング機能部２５は、処理ユニットＳＰＩＮ２を用いる仮タイムテーブルを採用し、その仮タイムテーブルを構成するブロックを、同一リソースの他のブロックと重複しないように時間軸上で前詰めに配置していく。これにより、処理ブロックが処理ユニットＳＰＩＮ２に配置される（ステップＳ１３４ｂ）。また、プロセスジョブＰＪ３は、６０℃の薬液の使用を指定しているので、処理ブロックを配置した期間内において薬液を使用する期間には、薬液キャビネットＣＣ１に対応付けて薬液供給ブロックが配置される。さらに、同じ期間において、「ＣＣ１薬液６０℃」リソースに対して、「６０℃薬液」ブロックが配置される（ステップＳ１３４ｂ）。こうして、プロセスジョブＰＪ３に対するスケジューリングを終える。
【０１２１】
プロセスジョブＰＪ３は、占有状態の「ＣＣ１薬液８０℃」リソースを使用するブロックを有していないので、「ＣＣ１薬液８０℃」リソースが占有状態であっても、プロセスジョブＰＪ３の仮タイムテーブルを構成する全てのブロックを配置することができる。
もしも、プロセスジョブＰＪ３が２枚以上の基板に対する処理である場合には、２枚目以降の基板に対しても同様にして処理ユニットＳＰＩＮ１またはＳＰＩＮ２での処理が繰り返し計画される。
【０１２２】
プロセスジョブＰＪ３の最後の基板の仮タイムテーブルを構成する全てのブロックの配置を終えると、スケジューリング機能部２５は、プロセスジョブＰＪ３が６０℃の薬液使用を指定する最後のプロセスジョブかどうかを判断する（ステップＳ１３５）。たとえば、スケジューリング機能部２５は、受信済みのプロセスジョブデータを参照して、スケジューリングが未了のプロセスジョブのなかに６０℃の薬液使用を指定しているものがあるかどうかを判断してもよい。また、プロセスジョブＰＪ３のためのプロセスジョブデータが、６０℃の薬液使用を指定する最後のプロセスジョブであることを表す情報を有していてもよい。この場合、スケジューリング機能部２５は、その情報に基づいて、プロセスジョブＰＪ３が６０℃の薬液を用いる最後のプロセスジョブかどうかを判断できる。
【０１２３】
プロセスジョブＰＪ３が６０℃の薬液使用を指定する最後のプロセスジョブである場合には、スケジューリング機能部２５は、「ＣＣ１薬液８０℃」リソースの全期間占有状態を解除する（ステップＳ１３６）。すなわち、８０℃の薬液を用いる基板処理の計画を禁止する禁止属性情報が取り消される。それによって、「ＣＣ１薬液８０℃」リソースが有効になる。
【０１２４】
たとえば、図２０に示すように、スケジューリング機能部２５は、プロセスジョブＰＪ３の最後の基板に対する薬液供給ブロックの終了時刻以降の期間における「ＣＣ１薬液８０℃」リソースの占有状態を解除してもよい。これにより、プロセスジョブＰＪ３の最後の基板に対する薬液供給ブロック終了時以降の期間には、「ＣＣ１薬液８０℃」リソースへの「８０℃薬液」ブロックの配置が可能になる。
【０１２５】
ただし、薬液キャビネットＣＣ１において薬液の温度を６０℃から８０℃に変更するために温度調節のための時間が必要であるので、プロセスジョブＰＪ３の最後の基板に対する薬液供給ブロックから一定時間以上を開けて８０℃の薬液を用いる処理を計画する必要がある。
次に、スケジューリング機能部２５は、未計画のプロセスジョブＰＪ２，ＰＪ４のうち、最先に受信したプロセスジョブＰＪ２に対するスケジューリングを開始する（ステップＳ１３７。第１処理スケジューリング工程）。プロセスジョブＰＪ２のレシピは、２つの処理ユニットＳＰＩＮ１またはＳＰＩＮ２での１枚の基板の処理を指定し、８０℃の薬液の使用を指定しているので、仮タイムテーブルは「８０℃薬液」ブロックを含む。「ＣＣ１薬液８０℃」リソースの占有状態が開放されているので、プロセスジョブＰＪ２の仮タイムテーブルの全てのブロックが配置可能である。しかし、前述のとおり、薬液温度の変更には時間を要するので、スケジューリング機能部２５は、図２１に示すように、プロセスジョブＰＪ３の最後の薬液供給ブロックの後に、薬液キャビネットＣＣ１に対応して、液交換（温度調節）ブロックを配置する（ステップＳ１３７ａ）。これにより、薬液キャビネットＣＣ１における薬液温度の変更が計画される。
【０１２６】
次いで、スケジューリング機能部２５は、図２１に示すように、プロセスジョブＰＪ２の最初の基板の仮タイムテーブルを構成するブロックを配置する。このとき、液交換（温度調節）ブロックの直後に薬液供給ブロックが配置されるように、仮タイムテーブルを構成する各ブロックが対応するリソースに対して時間軸上で前詰めに配置される。図２１の例では、薬液供給ブロックの配置から逆算される処理ブロックの開始時刻において、処理ユニットＳＰＩＮ１およびＳＰＩＮ２のいずれもが使用可能である。したがって、いずれの処理ユニットＳＰＩＮ１，ＳＰＩＮ２を通る仮タイムテーブルが採用されてもよい。図２１には、処理ユニットＳＰＩＮ１を通る仮タイムテーブルが適用された例を示す（ステップＳ１３７ｂ）。
【０１２７】
また、プロセスジョブＰＪ２は、８０℃の薬液の使用を指定しているので、薬液供給ブロックと同じ期間において、「ＣＣ１薬液８０℃」リソースに対して、「８０℃薬液」ブロックが配置される（ステップＳ１３７ｂ）。こうして、プロセスジョブＰＪ２に対するスケジューリングを終える。
もしも、プロセスジョブＰＪ２が２枚以上の基板に対する処理である場合には、２枚目以降の基板に対しても同様にして処理ユニットＳＰＩＮ１またはＳＰＩＮ２での処理が繰り返し計画される。この場合、処理ブロックがより早い時刻に配置できるように、処理ユニットＳＰＩＮ１またはＳＰＩＮ２のいずれかを用いる仮タイムテーブルが選択される。
【０１２８】
プロセスジョブＰＪ２のスケジューリングの後、スケジューリング機能部２５は、プロセスジョブＰＪ２が８０℃の薬液で処理すべき最初の基板を含むプロセスジョブかどうかを判断する。プロセスジョブＰＪ２の前の薬液処理は６０℃の薬液を用いているので、この判断が肯定される（ステップＳ１３８）。そこで、スケジューリング機能部２５は、プロセスジョブＰＪ２のスケジューリングの後、次のプロセスジョブの処理を計画する前に、プロセスジョブＰＪ２で使用されない「ＣＣ１薬液６０℃」リソースを占有状態とする禁止属性情報を生成し、それによって、「ＣＣ１薬液６０℃」リソースを無効化する（ステップＳ１３９。図２２を併せて参照）。これは、薬液キャビネットＣＣ１が、プロセスジョブＰＪ２の開始以降の全ての期間において、６０℃の薬液供給のための使用が不可能な状態であることを表す。これにより、プロセスジョブＰＪ２以降、「ＣＣ１薬液６０℃」リソースへのブロックの配置が禁止される。それによって、６０℃の薬液を用いたプロセスジョブの計画が禁止される。「ＣＣ１薬液８０℃」リソースは、プロセスジョブＰＪ２以降に未占有の期間があるので、８０℃の薬液を用いる別のプロセスジョブの計画は許容される。
【０１２９】
次に、スケジューリング機能部２５は、図２３に示すように、未計画のプロセスジョブＰＪ４に対するスケジューリングを開始する（ステップＳ１４０。第２処理スケジューリング工程）。プロセスジョブＰＪ４のレシピは、処理ユニットＳＰＩＮ１またはＳＰＩＮ２での１枚の基板の処理を指定し、かつ８０℃の薬液の使用を指定している。スケジューリング機能部２５は、プロセスジョブＰＪ４の仮タイムテーブルを構成する全てのブロックが対応するリソースに対して配置可能かどうかを判断する。
【０１３０】
この判断は、プロセスジョブＰＪ４の仮タイムテーブルが有する「８０℃薬液」ブロックを、それに対応する「ＣＣ１薬液８０℃」リソースに配置可能であるかどうかの判断を含む。プロセスジョブＰＪ４の仮タイムテーブルは、処理ユニットＳＰＩＮ１，ＳＰＩＮ２のいずれを用いる場合であっても、「ＣＣ１薬液６０℃」リソースを使用しない。すなわち、プロセスジョブＰＪ４の仮タイムテーブルは、「８０℃薬液」ブロックを含み、「６０℃薬液」ブロックを含まない。そのため、スケジューリング機能部２５は、「８０℃薬液」ブロックが配置可能であると判断する（ステップＳ１４０ａ）。この判断は、プロセスジョブＰＪ４の処理条件がプロセスジョブＰＪ３の処理条件と同じであるとの判断（カテゴリが同じであるとの判断）にほかならない。
【０１３１】
そこで、スケジューリング機能部２５は、「８０℃薬液」ブロックを「ＣＣ１薬液８０℃」リソースに配置するとともに、処理ユニットＳＰＩＮ１またはＳＰＩＮ２で処理を実行するようにプロセスジョブＰＪ４の基板処理を計画する（ステップＳ１４０ｂ）。
図２３の例では、プロセスジョブＰＪ２のために処理ユニットＳＰＩＮ１が用いられているので、処理ユニットＳＰＩＮ２を用いるよりも処理ユニットＳＰＩＮ２を用いる方が処理ブロックを早い時刻に配置できる。そこで、スケジューリング機能部２５は、処理ユニットＳＰＩＮ２を用いる仮タイムテーブルを採用し、その仮タイムテーブルを構成するブロックを、同一リソースの他のブロックと重複しないように時間軸上で前詰めに配置していく。これにより、処理ブロックが処理ユニットＳＰＩＮ２に配置される。
【０１３２】
また、プロセスジョブＰＪ４は、８０℃の薬液の使用を指定しているので、処理ブロックを配置した期間内において薬液を使用する期間には、薬液キャビネットＣＣ１に対応付けて薬液供給ブロックが配置される。さらに、同じ期間において、「ＣＣ１薬液８０℃」リソースに対して、「８０℃薬液」ブロックが配置される。こうして、プロセスジョブＰＪ４に対するスケジューリングを終える。
【０１３３】
プロセスジョブＰＪ４は、占有状態の「ＣＣ１薬液６０℃」リソースを使用するブロックを有していないので、「ＣＣ１薬液６０℃」リソースが占有状態であっても、プロセスジョブＰＪ４の仮タイムテーブルを構成する全てのブロックを配置することができる。
もしも、プロセスジョブＰＪ４が２枚以上の基板に対する処理である場合には、２枚目以降の基板に対しても同様にして処理ユニットＳＰＩＮ１またはＳＰＩＮ２での処理が繰り返し計画される。
【０１３４】
プロセスジョブＰＪ４の最後の基板の仮タイムテーブルを構成する全てのブロックの配置を終えると、スケジューリング機能部２５は、プロセスジョブＰＪ４が８０℃の薬液使用を指定する最後のプロセスジョブかどうかを判断する（ステップＳ１４１）。たとえば、スケジューリング機能部２５は、受信済みのプロセスジョブデータを参照して、スケジューリングが未了のプロセスジョブのなかに８０℃の薬液使用を指定しているものがあるかどうかを判断してもよい。また、プロセスジョブＰＪ４のためのプロセスジョブデータが、８０℃の薬液使用を指定する最後のプロセスジョブであることを表す情報を有していてもよい。この場合、スケジューリング機能部２５は、その情報に基づいて、プロセスジョブＰＪ４が８０℃の薬液を用いる最後のプロセスジョブかどうかを判断できる。
【０１３５】
プロセスジョブＰＪ４が８０℃の薬液使用を指定する最後のプロセスジョブである場合には、プロセスジョブＰＪ４の最後の基板の処理を計画した後、スケジューリング機能部２５は、「ＣＣ１薬液６０℃」リソースの全期間占有状態を解除する（ステップＳ１４２）。たとえば、図２４に示すように、スケジューリング機能部２５は、プロセスジョブＰＪ４の最後の基板に対する薬液供給ブロックの終了時刻以降の期間における「ＣＣ１薬液６０℃」リソースの占有状態を解除してもよい。これにより、プロセスジョブＰＪ４の最後の基板に対する薬液供給ブロック終了時以降の期間には、「ＣＣ１薬液６０℃」リソースへの「６０℃薬液」ブロックの配置が可能になる。ただし、実際には、「６０℃薬液」ブロックを配置する前に、液交換（温度調節）ブロックの配置が必要である。
【０１３６】
図２５は、以下のようなプロセスジョブＰＪ１，ＰＪ２，ＰＪ３，ＰＪ４を指定するプロセスジョブデータをこの順序でホストコンピュータ２４から受信し、スタート指示された場合のプロセスジョブ実行順序を説明するための図である。
ＰＪ１：薬液を６０℃で使用して基板を処理
ＰＪ２：薬液を６０℃で使用して基板を処理
ＰＪ３：薬液を８０℃で使用して基板を処理
ＰＪ４：薬液を６０℃で使用して基板を処理
プロセスジョブＰＪ１，ＰＪ２はいずれも６０℃の薬液を使用するので、その順序で計画される。プロセスジョブＰＪ３は８０℃の薬液を使用するので、プロセスジョブＰＪ１，ＰＪ２の実行後に液交換（温度調節）が必要になる。そこで、図２５(b)（実施例）に示すように、６０℃の薬液を使用するプロセスジョブＰＪ４を先行して実行することにより、液交換（温度調節）が一回だけとなり、プロセスジョブＰＪ１〜ＰＪ４の全体の処理時間を短縮できる。
【０１３７】
プロセスジョブＰＪ１，プロセスジョブＰＪ２の計画を終えた時点でプロセスジョブＰＪ４に対応するプロセスジョブデータが未受信の場合、スケジューリング機能部２５は、プロセスジョブＰＪ３の計画、より具体的には、液交換（温度調節）ブロックの配置を、所定の待機時間だけ待機する。この待機時間は、液交換（温度調節）ブロックの時間を限度に定めてもよい。
【０１３８】
プロセスジョブＰＪ２の計画後、液交換（温度調節）ブロックの時間に等しく定めた待機時間以内にプロセスジョブＰＪ４のプロセスジョブデータを受信した場合には、図２５(b)に示すように、プロセスジョブＰＪ１〜ＰＪ４を受信順に計画して最短で処理を終える図２５(a)の比較例の場合よりも早くプロセスジョブＰＪ１〜ＰＪ４の処理が終わる。
液交換（温度調節）ブロックの時間だけ待機してプロセスジョブＰＪ４のプロセスジョブデータを受信し、プロセスジョブＰＪ４をプロセスジョブＰＪ３に先行して計画した例を図２５(c)（実施例）に示す。この場合、プロセスジョブＰＪ１〜ＰＪ４を受信順に計画して最短で処理を終える図２５(a)の比較例の場合とほぼ同時刻にプロセスジョブＰＪ１〜ＰＪ４の処理が終わる。
【０１３９】
液交換（温度調節）ブロックの時間を超える待機時間を設定すると、液交換所要時間を超えて待機してプロセスジョブＰＪ４のプロセスジョブデータを受信した場合には、図２５(d)（実施例）に示すように、全体の処理時間が図２５(a)の比較例よりも長くなる。
また、液交換ブロックに等しい待機時間を設定した場合に、その待機時間後にプロセスジョブＰＪ４のプロセスジョブデータを受信したときには、図２５(e)（実施例）に示すように、プロセスジョブＰＪ３がプロセスジョブＰＪ４よりも前に計画されることになる。その結果、２回の液交換ブロックの配置が必要になり、全体の処理時間は、図２５(a)の比較例よりも長くなる。
【０１４０】
したがって、或るプロセスジョブの計画終了から次のプロセスジョブデータの受信までの待機時間の期待値が液交換ブロックの時間以下であれば、この実施形態に従ってプロセスジョブを計画することによって、全体の処理時間を短縮して基板処理装置の生産性を向上できる。たとえ、その待機時間の期待値が液交換ブロックの時間を超える場合であっても、液交換回数を少なくできる利益がある。液交換回数を少なくすることにより、たとえば、液交換（温度調節）に要するエネルギーを削減できる。
【０１４１】
また、ホストコンピュータからプロセスジョブＰＪ４の受信時刻に関する情報が与えられれば、スケジューリング機能部２５は、プロセスジョブＰＪ４のデータ受信を待機すべきか否かを判断できる。すなわち、プロセスジョブＰＪ２の終了から液交換所要時間以内にプロセスジョブＰＪ４のデータが受信できるならば、スケジューリング機能部２５は、プロセスジョブＰＪ３の計画を保留して、プロセスジョブＰＪ４の受信を待機し、プロセスジョブＰＪ３に先行してプロセスジョブＰＪ４を計画すればよい。一方、プロセスジョブＰＪ２の終了から液交換所要時間以内にプロセスジョブＰＪ４のデータが受信できないのであれば、スケジューリング機能部２５は、プロセスジョブＰＪ４の受信を待つことなく、プロセスジョブＰＪ３の計画を開始すればよい。
【０１４２】
以上のように、この実施形態によれば、基板処理装置のコンピュータ２０は、ホストコンピュータ２４からプロセスジョブデータを受信し、受信したプロセスジョブデータによって規定されるプロセスジョブの処理スケジュールを作成する。処理スケジュールを作成するスケジューリング機能部２５は、基板処理装置に備えられているユニットに対応する実リソースのほかに、基板処理装置に備えられているユニットとは別の仮想リソースを設けて、それらの実リソースおよび仮想リソースに対するスケジューリングを行う。具体的には、仮想リソースとして、処理ユニットＳＰＩＮ１〜ＳＰＩＮ２で処理される基板種を表す製品リソースが設けられる。具体的には、製品リソースとして、「ＳＰＩＮ１製品」リソースおよび「ＳＰＩＮ２製品」リソースが設けられる。また、別の仮想リソースとして、薬液キャビネットＣＣ１が供給する薬液の温度を表す薬液温度リソースが設けられる。具体的には、薬液温度リソースとして、「６０℃薬液」リソースと、「８０℃薬液」リソースとが設けられる。
【０１４３】
スケジューリング機能部２５は、プロセスジョブデータ中のレシピに含まれる基板種情報に基づいて、処理ユニットで製品基板を処理する期間に、当該処理ユニット関連付けて、対応する製品リソースを使用する処理スケジュールを作成する。具体的には、処理ユニットに対して処理ブロックを配置する期間と同じ期間に、当該製品リソースに対して製品処理ブロックを配置する。
【０１４４】
また、スケジューリング機能部２５は、プロセスジョブデータに含まれるレシピによって指定される薬液温度に基づいて、薬液キャビネットＣＣ１から薬液を供給する期間に、当該薬液キャビネットＣＣ１に関連付けて、対応する薬液温度リソースを使用する処理スケジュールを作成する。具体的には、薬液キャビネットＣＣ１に対して薬液供給ブロックを配置する期間と同じ期間に、当該薬液温度リソースに対して、薬液温度ブロックを配置する。
【０１４５】
一方、スケジューリング機能部２５は、非製品基板の処理を計画すると、その非製品基板を処理する処理ユニットの製品リソースを無効化する。具体的には、製品リソースの全期間を占有状態として、製品リソースへの製品処理ブロックの配置を禁止する。これにより、製品リソースを使用するプロセスジョブ、すなわち、製品基板を処理するためのプロセスジョブは、当該処理ユニットには計画できなくなる。その一方で、製品リソースを使用しないプロセスジョブ、すなわち、非製品基板を処理するためのプロセスジョブは、当該処理ユニットに計画できる。これにより、非製品基板を処理する複数のプロセスジョブが連続するようにスケジューリングできる。つまり、たとえ、非製品基板の処理を規定する２つのプロセスジョブデータの受信の間に、製品基板の処理を規定する別のプロセスジョブデータの受信が割り込んだとしても、それらの２つの非製品基板処理のためのプロセスジョブを連続させることができる。
【０１４６】
また、スケジューリング機能部２５は、レシピで指定された薬液温度に対応する薬液温度ブロックを、それに対応する温度の薬液温度リソースに配置すると、他の薬液温度リソースを無効化する。具体的には、当該他の薬液温度リソースの全期間を占有状態として、当該他の薬液温度リソースへの薬液温度ブロックの配置を禁止する。これにより、当該他の薬液温度リソースを使用するプロセスジョブ、すなわち、当該他の温度の薬液での基板処理を指定するプロセスジョブは計画できなくなる。その一方で、当該レシピ指定薬液温度と同じ温度の薬液で基板を処理するプロセスジョブは、引き続き計画することができる。これにより、同じ温度の薬液を用いる複数のプロセスジョブが連続するようにスケジューリングできる。つまり、たとえ、同じ温度の薬液での基板処理を規定するレシピを有する２つのプロセスジョブデータの受信の間に、他の温度の薬液での基板処理を規定するレシピを有する別のプロセスジョブデータの受信が割り込んだとしても、それらの２つの同じ温度の薬液処理のためのプロセスジョブを連続させることができる。
【０１４７】
このように、プロセスジョブのカテゴリ（基板種、薬液温度）に対応した属性情報として、異なるカテゴリ（基板種、薬液温度）の仮想リソースを無効化する禁止属性情報が生成される。そして、その禁止属性情報に基づいて、その後のプロセスジョブのスケジューリングが行われる。これにより、先に情報を受信したプロセスジョブのカテゴリに応じて、その後に情報を受信したプロセスジョブを適切に計画することができる。薬液温度の仮想リソースを無効化する禁止属性情報は、計画済みのプロセスジョブの実行のために無効となる処理条件（上記の場合には薬液温度）を表す無効条件情報の一例である。禁止属性情報が解除されれば、制限がなくなり、異なるカテゴリのプロセスジョブのスケジューリングが可能になる。
【０１４８】
より具体的には、先に情報が受信されて計画されたプロセスジョブのカテゴリに応じて、カテゴリの異なるプロセスジョブの実行を留保できる。たとえば、非製品基板を用いた処理ユニットのメンテナンス処理が所要回数だけ連続するのを待って、製品基板の処理を当該処理ユニットにおいて計画できる。それにより、適切にメンテナンスされた状態の処理ユニットで製品基板を処理することができ、それにより、品質の高い基板処理を実現できる。また、第１温度の薬液での処理を規定する複数のプロセスジョブを連続して処理した後に、第２温度の薬液での処理を規定するプロセスジョブを計画できる。それにより、薬液温度の変更回数を少なくできるので、基板処理装置の生産性を向上できる。
【０１４９】
また、この実施形態では、一つのプロセスジョブの処理スケジュールが作成されると、次のプロセスジョブの処理スケジュールを作成する前に、必要に応じて、すなわち、プロセスジョブのカテゴリに応じて、仮想リソースの無効化（禁止属性情報の生成）が行われる。これにより、無駄なスケジューリング処理や、基板処理装置の無駄な動作を回避できる。
【０１５０】
仮想リソースを無効化するタイミングが遅い場合、無効化されることになる仮想リソースを使う別のプロセスジョブのスケジューリング処理が当該仮想リソースの無効化よりも先行するおそれがある。この場合には、当該別のプロセスジョブのスケジューリングを事後的に取り消すことになるから、無駄なスケジューリング処理が生じる。また、無効化されることになる仮想リソースを使う別のプロセスジョブが計画され、さらに実行開始されてから、その仮想リソースを無効化すると、基板処理装置の無駄な動作が生じる。具体的には、非製品基板を処理ユニットＳＰＩＮ１で処理した後に、製品基板を処理ユニットＳＰＩＮ１の前まで搬送した後に製品リソースが無効化されると、その製品基板の搬送動作が無駄になる。そればかりでなく、その製品基板をたとえば基板収容器まで一旦戻す基板搬送動作が生じるから、処理効率の悪化を招く。しかも、余分な搬送動作によって、基板が不必要な汚染を受けるリスクもある。そこで、仮想リソースの無効化は、次のプロセスジョブのスケジューリングを開始するよりも前に行うことで、前述のような無駄な処理および動作を回避できる。また、或るプロセスジョブが計画された処理ユニットにおいて、別のカテゴリのプロセスジョブを実行するための無駄な準備動作が計画されることを回避することもできる。
【０１５１】
仮想リソースの無効化（禁止属性情報の生成）は、次のプロセスジョブデータを受信するよりも前に実行されてもよい。この場合、前述のような無駄な処理および動作をより確実に回避できる。
以上、この発明の一実施形態について説明してきたが、この発明はさらに他の形態で実施することもできる。たとえば、前述の実施形態で示した基板処理装置の構成や基板処理内容は一例に過ぎず、基板処理装置は他の構成を採ることができ、かつ別の基板処理内容に対してもこの発明を適用できる。
【０１５２】
また、前述の実施形態では、仮想リソースおよびその仮想リソースに配置すべき仮想ブロック（製品処理ブロック、薬液温度ブロック）を用い、さらに仮想リソースを必要に応じて占有状態として無効化することによって、複数のプロセスジョブ間のカテゴリの異同が判断されている。しかし、このような構成は、一例であり、例えば、スケジューリング機能部２５が、複数のプロセスジョブのレシピの内容を比較して、カテゴリの異同を判断してもよい。ただし、仮想リソース等を用いる構成は、実リソースに対する処理スケジューリングと同様の処理でカテゴリの異同判別を併せて行えるので、処理の実行のためのプログラミングが容易であるという利点がある。たとえば、仮想リソースを占有状態とする処理は、処理ユニット等の実リソースを異常発生状態として無効化する処理と同様の処理で実現できる。
【０１５３】
また、前述の実施形態では、薬液キャビネットが一つだけ設けられた構成について説明したが、複数の薬液キャビネットが備えられてもよい。この場合には、薬液キャビネットごとに、薬液温度リソースを設け、使用する薬液キャビネットおよび使用する薬液温度を指定した処理スケジューリングを作成すればよい。
また、前述の実施形態では、レシピにおいて処理ユニットが指定されている例について説明したが、プロセスジョブデータは、処理ユニット指定情報を含んでいなくてもよい。この場合、スケジューリング機能部２５は、レシピに基づいて、基板処理に使用すべき処理ユニットを特定すればよい。
【０１５４】
また、プログラム３０は、コンピュータ２０に組み込まれた状態で提供されてもよいし、コンピュータ２０とは別の記憶媒体（ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等のコンピュータ読取可能な記憶媒体）に記録された状態で提供されてもよい。
処理対象の基板の種類はとくに限定されるものではなく、半導体基板、ガラス基板等に代表される基板一般に対して、この発明の適用が可能である。
【０１５５】
その他、特許請求の範囲に記載された事項の範囲で種々の設計変更を施すことが可能である。
【符号の説明】
【０１５６】
Ｗ  基板
ＰＡＳＳ  受け渡しユニット
ＳＴ１〜ＳＴ４  ステージ
ＩＲ  インデクサロボット
ＳＰＩＮ１〜ＳＰＩＮ１２  処理ユニット
ＣＣ１  薬液キャビネット
ＣＲ  主搬送ロボット
Ｃ  基板収容器
Ｇ１〜Ｇ４  第１〜第４処理ユニット群
１  インデクサセクション
２  処理セクション
３  タンク
４  温度調節ユニット
５  ポンプ
６  基台部
７  多関節アーム
８Ａ，８Ｂ  ハンド
１１  基台部
１２  多関節アーム
１３Ａ，１３Ｂ  ハンド
１５  スピンチャック
１６  処理液ノズル
１７  処理室
２０  コンピュータ
２１  制御部
２２  出入力部
２３  記憶部
２４  ホストコンピュータ
２５  スケジューリング機能部
２６  処理実行指示部
３０  プログラム
３１  スケジュール作成プログラム
３２  処理実行プログラム
４０  プロセスジョブデータ
５０  スケジュールデータ
【図１】
0006481977.tif 000002
【図２】
0006481977.tif 000003
【図３】
0006481977.tif 000004
【図４】
0006481977.tif 000005
【図５】
0006481977.tif 000006
【図６】
0006481977.tif 000007
【図７】
0006481977.tif 000008
【図８】
0006481977.tif 000009
【図９Ａ】
0006481977.tif 000010
【図９Ｂ】
0006481977.tif 000011
【図１０Ａ】
0006481977.tif 000012
【図１０Ｂ】
0006481977.tif 000013
【図１１Ａ】
0006481977.tif 000014
【図１１Ｂ】
0006481977.tif 000015
【図１２】
0006481977.tif 000016
【図１３Ａ】
0006481977.tif 000017
【図１３Ｂ】
0006481977.tif 000018
【図１４】
0006481977.tif 000019
【図１５Ａ】
0006481977.tif 000020
【図１５Ｂ】
0006481977.tif 000021
【図１５Ｃ】
0006481977.tif 000022
【図１６Ａ】
0006481977.tif 000023
【図１６Ｂ】
0006481977.tif 000024
【図１７】
0006481977.tif 000025
【図１８】
0006481977.tif 000026
【図１９】
0006481977.tif 000027
【図２０】
0006481977.tif 000028
【図２１】
0006481977.tif 000029
【図２２】
0006481977.tif 000030
【図２３】
0006481977.tif 000031
【図２４】
0006481977.tif 000032
【図２５】
0006481977.tif 000033