"基板を一枚ずつ処理する枚葉型の処理ユニットを有する基板処理装置の動作を時系列に従って規定するスケジュールを前記基板処理装置に備えられた制御部が作成するための方法であって、前記制御部が、共通の処理を施すべき第1の基板群に対して前記処理ユニットの使用権を設定する第1使用権設定ステップと、前記制御部が、前記処理ユニットの使用権が前記第1の基板群に対して設定されているときに、当該第1の基板群の基板の前記処理ユニットによる処理を表す第1処理ブロックの配置を許容する一方で、他の基板群の基板の前記処理ユニットによる処理を表す処理ブロックの配置を禁止する第1処理ブロック配置ステップと、前記制御部が、前記第1の基板群に対する前記処理ユニットの使用権を削除するステップと、前記制御部が、前記第1の基板群に対して設定された前記処理ユニットの使用権が削除された後に、共通の処理を施すべき第2の基板群に対して前記処理ユニットの使用権を設定する第2使用権設定ステップと、前記制御部が、前記処理ユニットの使用権が前記第2の基板群に対して設定されているときに、当該第2の基板群の基板の前記処理ユニットによる処理を表す第2処理ブロックの配置を許容する一方で、他の基板群の基板の前記処理ユニットによる処理を表す処理ブロックの配置を禁止する第2処理ブロック配置ステップとを含む、スケジュール作成方法。前記第1の基板群に対する前記処理ユニットの使用権を削除するステップが、前記第1の基板群に属する全ての基板に対するスケジューリングの完了直後に実行される、請求項1に記載のスケジュール作成方法。前記基板処理装置が複数の処理ユニットを含み、前記第1の基板群を構成する基板が前記複数の処理ユニットのうちの第1の処理ユニット群において処理可能であり、前記第2の基板群を構成する基板が前記複数の処理ユニットのうち、前記第1の処理ユニット群に属する少なくとも一つの処理ユニットを含む第2の処理ユニット群において処理可能であり、前記第2処理ブロック配置ステップが、前記第1処理ブロックと干渉しないように前記第2処理ブロックを配置するステップを含む、請求項2に記載のスケジューリング方法。前記基板処理装置が複数の処理ユニットを含み、前記第1の基板群を構成する基板が前記複数の処理ユニットのうちの第1の処理ユニット群において処理可能であり、前記第2の基板群を構成する基板が前記複数の処理ユニットのうち前記第1の処理ユニット群に属する処理ユニットと前記第1の処理ユニット群に属さない処理ユニットとを含む第2の処理ユニット群において処理可能であり、前記制御部が、前記第1の基板群に対して前記第1の処理ユニット群の使用権が設定されているときに、前記第2の基板群に対して前記第2の処理ユニット群のうち前記第1処理ユニット群に属さない処理ユニットの使用権を設定する第3使用権設定ステップをさらに含む、請求項1~3のいずれか一項に記載のスケジュール作成方法。前記第2の処理ユニット群のうち前記第1処理ユニット群に属さない処理ユニットの最終使用時刻が他の処理ユニットの最終使用時刻よりも早いときに、前記制御部が、前記第3使用権設定ステップを実行する、請求項4に記載のスケジュール作成方法。前記基板処理装置が、複数枚の基板をそれぞれ保持して同時に搬送できる複数の基板保持ハンドを有する基板搬送ユニットを含み、前記制御部が、前記基板搬送ユニットによって同時に搬送される複数枚の基板の搬送をそれぞれ表す複数の搬送ブロックを時間軸上で重なり合うように配置するステップをさらに含む、請求項1~5のいずれか一項に記載のスケジュール作成方法。基板を一枚ずつ処理する枚葉型の処理ユニットを有する基板処理装置の動作を時系列に従って規定するスケジュールを作成するためのコンピュータプログラムであって、請求項1~6のいずれか一項に記載の方法を前記制御部としてのコンピュータに実行させるようにステップ群が組み込まれたコンピュータプログラム。基板に対する処理たとえば洗浄処理をより精密に行うために、基板を一枚ずつ処理する枚葉型の基板処理装置が用いられるようになってきている。しかし、特許文献1,2に係る先行技術は、いずれもバッチ式の基板処理装置に適したものであり、枚葉型の基板処理装置にそのまま適用しても、必ずしも効率的な基板処理を実現できるとは限らない。そこで、この発明の目的は、枚葉型の基板処理装置に適したスケジュール作成方法およびスケジュール作成プログラムを提供することである。上記の目的を達成するための請求項1記載の発明は、基板を一枚ずつ処理する枚葉型の処理ユニットを有する基板処理装置の動作を時系列に従って規定するスケジュールを前記基板処理装置に備えられた制御部が作成するための方法であって、前記制御部が、共通の処理を施すべき第1の基板群に対して前記処理ユニットの使用権を設定する第1使用権設定ステップと、前記制御部が、前記処理ユニットの使用権が前記第1の基板群に対して設定されているときに、当該第1の基板群の基板の前記処理ユニットによる処理を表す第1処理ブロックの配置を許容する一方で、他の基板群の基板の前記処理ユニットによる処理を表す処理ブロックの配置を禁止する第1処理ブロック配置ステップと、前記制御部が、前記第1の基板群に対する前記処理ユニットの使用権を削除するステップと、前記制御部が、前記第1の基板群に対して設定された前記処理ユニットの使用権が削除された後に、共通の処理を施すべき第2の基板群に対して前記処理ユニットの使用権を設定する第2使用権設定ステップと、前記制御部が、前記処理ユニットの使用権が前記第2の基板群に対して設定されているときに、当該第2の基板群の基板の前記処理ユニットによる処理を表す第2処理ブロックの配置を許容する一方で、他の基板群の基板の前記処理ユニットによる処理を表す処理ブロックの配置を禁止する第2処理ブロック配置ステップとを含む、スケジュール作成方法である。この方法によれば、共通の処理を施すべき第1の基板群に対して枚葉型処理ユニットの使用権が設定される。この使用権が設定されているときには、その処理ユニットによる処理を表す処理ブロックとしては、第1の基板群に属する基板に対する処理を表す第1処理ブロックのみが配置可能となり、他の基板群に属する基板に対する処理を表す処理ブロックの配置は禁止される。したがって、当該処理ユニットにおいては、第1の基板群の処理の間に、他の基板群の処理が割り込まないことを保証できる。また、第1の基板群に対する当該処理ユニットの使用権が削除されると、別の基板群である第2の基板群に対して当該処理ユニットの使用権が設定される。よって、その処理ユニットによる処理を表す処理ブロックとしては、第2の基板群に属する基板に対する処理を表す第2処理ブロックのみが配置可能となり、他の基板群に属する基板に対する処理を表す処理ブロックの配置は禁止される。したがって、当該処理ユニットにおいて、第2の基板群の処理の間に、他の基板群の処理が割り込まないことを保証できる。こうして、使用権の設定および削除を行うことで、処理が共通する基板群の間に別の処理を行うべき基板が割り込むことを回避できるので、基板処理装置のリソースとしての処理ユニットを効率的に稼働させることができる。これにより、個々の基板に対する処理ブロックを時間軸上に効率的に配置して枚葉型処理ユニット等のリソースの稼働率を高めることができるので、枚葉型基板処理装置の生産性を向上できる。請求項2記載の発明は、前記第1の基板群に対する前記処理ユニットの使用権を削除するステップが、前記第1の基板群に属する全ての基板に対するスケジューリングの完了直後に実行される、請求項1に記載のスケジュール作成方法である。この方法では、第1の基板群に対する処理ユニットの使用権の削除が、当該第1の基板群に属する全ての基板に対するスケジューリングの完了直後に実行されるから、第1の基板群に属する基板に関する処理開始を待つことなく、第2の基板群に対して処理ユニットの使用権を設定できる。これにより、第2の基板群に属する基板に対する処理ブロックを速やかに配置できるので、効率的な処理ブロック配置が可能となるので、枚葉型処理ユニットの稼働率を一層高めることができる。スケジューリングの完了直後とは、具体的には、第1の基板群の最後の基板が処理のために搬送開始たとえば基板収容器から搬出されるよりも前であってもよい。請求項3記載の発明は、前記基板処理装置が複数の処理ユニットを含み、前記第1の基板群を構成する基板が前記複数の処理ユニットのうちの第1の処理ユニット群において処理可能であり、前記第2の基板群を構成する基板が前記複数の処理ユニットのうち、前記第1の処理ユニット群に属する少なくとも一つの処理ユニットを含む第2の処理ユニット群において処理可能であり、前記第2処理ブロック配置ステップが、前記第1処理ブロックと干渉時間軸上で重複しないように前記第2処理ブロックを配置するステップを含む、請求項2に記載のスケジューリング方法である。この方法では、第1の基板群を処理可能な第1処理ユニット群と第2の基板群を処理可能な第2処理ユニット群とは、少なくとも一つの重複する処理ユニットを有している。この場合に、第1の基板群に対して第1処理ユニット群の使用権が設定されているときは、当該重複する処理ユニットに対する第2処理ブロックの配置は許されない。第1の基板群に対する第1処理ユニット群の使用権が削除されると、当該重複する処理ユニットに対する第2処理ブロックの配置が可能となる。この場合、第2処理ブロックは、第1処理ブロックと干渉時間軸上で重複しないように配置される。具体的には、第2処理ユニット群のうち前記重複する処理ユニット以外の処理ユニットに対して第2処理ブロックを配置したり、前記重複する処理ユニットに対して第1処理ブロックと干渉しないように第2処理ブロックを配置したりすることができる。こうして、第1処理ブロックおよび第2処理ブロックの干渉を回避しつつ、枚葉型処理ユニットを効率的に稼働させることができる。請求項4記載の発明は、前記基板処理装置が複数の処理ユニットを含み、前記第1の基板群を構成する基板が前記複数の処理ユニットのうちの第1の処理ユニット群において処理可能であり、前記第2の基板群を構成する基板が前記複数の処理ユニットのうち前記第1の処理ユニット群に属する処理ユニットと前記第1の処理ユニット群に属さない処理ユニットとを含む第2の処理ユニット群において処理可能であり、前記制御部が、前記第1の基板群に対して前記第1の処理ユニット群の使用権が設定されているときに、前記第2の基板群に対して前記第2の処理ユニット群のうち前記第1処理ユニット群に属さない処理ユニットの使用権を設定する第3使用権設定ステップをさらに含む、請求項1~3のいずれか一項に記載のスケジュール作成方法である。この方法によれば、第1の基板群に対して第1処理ユニット群の使用権が設定されているときであっても、第2の基板群に対して、第2処理ユニット群のうち第1処理ユニット群と重複しない処理ユニットの使用権が設定される。これにより、第1処理ユニット群の使用権の削除を待つことなく、かつ第1処理ブロックと干渉することもなく、第2処理ブロックを配置できる。したがって、枚葉型処理ユニットを一層効率的に稼働させることが可能となる。請求項5記載の発明は、前記第2の処理ユニット群のうち前記第1処理ユニット群に属さない処理ユニットの最終使用時刻が他の処理ユニット前記第2の処理ユニット群のうち前記第1の処理ユニット群に属する処理ユニットの最終使用時刻よりも早いときに、前記制御部が、前記第3使用権設定ステップを実行する、請求項4に記載のスケジュール作成方法である。この方法では、第2処理ユニット群のうち第1処理ユニット群と重複しない処理ユニットの最終使用時刻が、第1処理ユニット群と重複する処理ユニットの最終使用時刻よりも早いときに、第2の基板群に対して当該重複しない処理ユニットの使用権が設定される。したがって、第2の基板群に属する基板のための第2処理ブロックを、当該重複する処理ユニットの最終使用時刻よりも前に配置できる。これにより、枚葉型処理ユニットの稼働率を高めることができる。請求項6記載の発明は、前記基板処理装置が、複数枚の基板をそれぞれ保持して同時に搬送できる複数の基板保持ハンドを有する基板搬送ユニットを含み、前記制御部が、前記基板搬送ユニットによって同時に搬送される複数枚の基板の搬送をそれぞれ表す複数の搬送ブロックを時間軸上で重なり合うように配置するステップをさらに含む、請求項1~5のいずれか一項に記載のスケジュール作成方法である。この方法では、基板搬送ユニットは、同時に複数枚の基板を搬送できる。そこで、複数枚の基板の搬送を表す複数の搬送ブロックを時間軸上で重なり合うように配置することで、複数枚の基板の同時搬送を計画することができる。こうして、枚葉型基板処理装置における基板搬送効率を高めることができるので、基板処理装置の生産性を高めることができる。請求項7記載の発明は、基板を一枚ずつ処理する枚葉型の処理ユニットを有する基板処理装置の動作を時系列に従って規定するスケジュールを作成するためのコンピュータプログラムであって、請求項1~6のいずれか一項に記載の方法を前記制御部としてのコンピュータに実行させるようにステップ群が組み込まれたコンピュータプログラムである。この発明により、スケジュール作成方法に関して説明した前述の効果を得ることができる。以下では、この発明の実施の形態を、添付図面を参照して詳細に説明する。図1は、この発明の一実施形態に係る基板処理装置のレイアウトを示す図解的な平面図であり、図2はその図解的な側面図である。この基板処理装置は、インデクサセクション1と、処理セクション2とを含む。処理セクション2は、インデクサセクション1との間で基板Wを受け渡しするための受け渡しユニットPASSを備えている。インデクサセクション1は、未処理の基板Wを受け渡しユニットPASSに渡し、受け渡しユニットPASSから処理済みの基板Wを受け取る。処理セクション2は、受け渡しユニットPASSから未処理の基板Wを受け取って、その基板Wに対して、処理剤処理液または処理ガスを用いた処理、紫外線等の電磁波を用いた処理、物理洗浄処理ブラシ洗浄、スプレーノズル洗浄等などの各種の処理を施す。そして、処理セクション2は、処理後の基板Wを受け渡しユニットPASSに渡す。インデクサセクション1は、複数のステージST1~ST4と、インデクサロボットIRとを含む。ステージST1~ST4は、複数枚の基板Wたとえば半導体ウエハを積層状態で収容した基板収容器Cをそれぞれ保持することができる基板収容器保持部である。基板収容器Cは、基板Wを密閉した状態で収納するFOUPFrontOpeningUnifiedPodであってもよいし、SMIFStandardMechanicalInterFaceポッド、OCOpenCassette等であってもよい。たとえば、基板収容器CをステージST1~ST4に載置したとき、基板収容器Cでは、水平姿勢の複数枚の基板Wが互いに間隔を開けて鉛直方向に積層された状態となる。インデクサロボットIRは、たとえば、基台部6と、多関節アーム7と、一対のハンド8A,8Bとを含む。基台部6は、たとえば、当該基板処理装置のフレームに固定されている。多関節アーム7は、水平面に沿って回動可能な複数本のアーム部を互いに回動可能に結合して構成されており、アーム部の結合箇所である関節部でアーム部間の角度を変更することによって、屈伸するように構成されている。多関節アーム7の基端部は、基台部6に対して、鉛直軸線回りの回動が可能であるように結合されている。さらに、多関節アーム7は、基台部6に対して昇降可能に結合されている。換言すれば、基台部6には、多関節アーム7を昇降させるための昇降駆動機構、多関節アーム7を鉛直軸線回りに回動させるための回動駆動機構が内蔵されている。また、多関節アーム7には、各アーム部を独立して回動させるための個別回動駆動機構が備えられている。多関節アーム7の先端部に、鉛直軸線回りの個別回動および水平方向への個別進退が可能であるように、ハンド8A,8Bが結合されている。多関節アーム7には、ハンド8A,8Bを鉛直軸線回りに個別に回動させるためのハンド回動駆動機構と、ハンド8A,8Bを水平方向に個別に進退させるためのハンド進退機構とが備えられている。ハンド8A,8Bは、たとえば、1枚の基板Wをそれぞれ保持できるように構成されている。なお、ハンド8A,8Bは上下に重なった状態で配置されていてもよいが、図1では、明瞭化のために、ハンド8A,8Bを紙面に平行な方向水平方向にずらして描いてある。この構成により、インデクサロボットIRは、いずれかのステージST1~ST4に保持された基板収容器Cから一枚の未処理基板Wをハンド8Aで搬出して受け渡しユニットPASSに渡すように動作する。さらに、インデクサロボットIRは、受け渡しユニットPASSから一枚の処理済み基板Wをハンド8Bで受け取って、いずれかのステージST1~ST4に保持された基板収容器Cに収容するように動作する。処理セクション2は、複数この実施形態では12個の処理ユニットSPIN1~SPIN12と、主搬送ロボットCRと、前述の受け渡しユニットPASSとを含む。処理ユニットSPIN1~SPIN12は、この実施形態では、立体的に配置されている。より具体的には、三階建て構造をなすように複数の処理ユニットSPIN1~SPIN12が配置されており、各階部分に4つの処理ユニットが配置されている。すなわち、一階部分に4つの処理ユニットSPIN1,SPIN4,SPIN7,SPIN10が配置され、二階部分に別の4つの処理ユニットSPIN2,SPIN5,SPIN8,SPIN11が配置され、三階部分にさらに別の処理ユニットSPIN3,SPIN6,SPIN9,SPIN12が配置されている。さらに具体的には、平面視において処理セクション2の中央に主搬送ロボットCRが配置されており、この主搬送ロボットCRとインデクサロボットIRとの間に受け渡しユニットPASSが配置されている。受け渡しユニットPASSを挟んで対向するように、3つの処理ユニットSPIN1~SPIN3を積層した第1処理ユニット群G1と、別の3つの処理ユニットSPIN4~SPIN6を積層した第2処理ユニット群G2とが配置されている。そして、第1処理ユニット群G1に対してインデクサロボットIRから遠い側に隣接するように、3つの処理ユニットSPIN7~SPIN9を積層した第3処理ユニット群G3が配置されている。同様に、第2処理ユニット群G2に対してインデクサロボットIRから遠い側に隣接するように、3つの処理ユニットSPIN10~SPIN12を積層した第4処理ユニット群G4が配置されている。第1~第4処理ユニット群G1~G4によって、主搬送ロボットCRが取り囲まれている。主搬送ロボットCRは、たとえば、基台部11と、多関節アーム12と、一対のハンド13A,13Bとを含む。基台部11は、たとえば、当該基板処理装置のフレームに固定されている。多関節アーム12は、水平面に沿って延びた複数本のアーム部を互いに回動可能に結合して構成されており、アーム部の結合箇所である関節部でアーム部間の角度を変更することによって、屈伸するように構成されている。多関節アーム12の基端部は基台部11に対して、鉛直軸線回りの回動が可能であるように結合されている。さらに、多関節アーム12は、基台部11に対して昇降可能に結合されている。換言すれば、基台部11には、多関節アーム12を昇降させるための昇降駆動機構、多関節アーム12を鉛直軸線回りに回動させるための回動駆動機構が内蔵されている。また、多関節アーム12には、各アーム部を独立して回動させるための個別回動駆動機構が備えられている。多関節アーム12の先端部に、鉛直軸線回りの個別回動および水平方向への個別進退が可能であるように、ハンド13A,13Bが結合されている。多関節アーム12には、ハンド13A,13Bを鉛直軸線回りに個別に回動させるためのハンド回動駆動機構と、ハンド13A,13Bを水平方向に個別に進退させるためのハンド進退機構とが備えられている。ハンド13A,13Bは、たとえば、1枚の基板Wをそれぞれ保持できるように構成されている。なお、ハンド13A,13Bは上下に重なった状態で配置されていてもよいが、図1では、明瞭化のために、ハンド13A,13Bを紙面に平行な方向水平方向にずらして描いてある。この構成により、主搬送ロボットCRは、受け渡しユニットPASSから未処理の一枚の基板Wをハンド13Aで受け取り、その未処理の基板Wをいずれかの処理ユニットSPIN1~SPIN12に搬入する。また、主搬送ロボットCRは、処理ユニットSPIN1~SPIN12で処理された処理済みの基板Wをハンド13Bで受け取り、その基板Wを受け渡しユニットPASSに渡す。処理ユニットSPIN1~SPIN12は、基板Wを1枚ずつ処理する枚葉型の処理ユニットである。処理ユニットSPIN1~SPIN12は、たとえば、1枚の基板Wを水平姿勢で保持して回転させるスピンチャック15と、スピンチャック15に対して処理液薬液またはリンス液を供給する処理液ノズル16とを処理室17チャンバ内に備えた、回転液処理ユニットであってもよい。図2では、処理ユニットSPIN3についてのみ、その内部構成を示し、他の処理ユニットの内部構成の図示を省いてある。図3は、前記基板処理装置の電気的構成を説明するためのブロック図である。基板処理装置は、処理ユニットSPIN1~SPIN12、主搬送ロボットCRおよびインデクサロボットを制御するコンピュータ20を備えている。コンピュータ20は、パーソナルコンピュータFAパソコンの形態を有していてもよく、制御部21と、出入力部22と、記憶部23とを備えている。制御部21は、CPU等の演算ユニットを含む。出入力部22は、表示ユニット等の出力機器と、キーボード、ポインティングデバイス、タッチパネル等の入力機器とを含む。さらに、出入力部22は、ホストコンピュータ24との通信のための通信モジュールを含む。記憶部23は、固体メモリデバイス、ハードディスクドライブ等の記憶装置を含む。制御部21は、スケジューリング機能部25と、処理実行指示部26とを含む。スケジューリング機能部25は、基板Wを基板収容器Cから搬出し、処理ユニットSPIN1~SPIN12で処理した後、基板収容器Cに収容するために、基板処理装置のリソースを時系列に従って作動させるための計画スケジュールを作成する。処理実行指示部26は、スケジューリング機能部25によって作成されたスケジュールに従って、基板処理装置のリソースを作動させる。記憶部23は、制御部21が実行するプログラム30と、ホストコンピュータ24から受信した処理内容データ40と、スケジューリング機能部25によって作成されたスケジュールデータ50とを含む各種データ等を記憶するように構成されている。記憶部23に記憶されたプログラム30は、制御部21をスケジューリング機能部25として作動させるためのスケジュール作成プログラム31と、制御部21を処理実行指示部26として作動させるための処理実行プログラム32とを含む。処理内容データ40は、各基板Wに付与されたプロセスジョブ番号と、プロセスジョブ番号に対応付けられたレシピとを含む。レシピは、基板処理内容を定義したデータであり、基板処理条件および基板処理手順を含む。より具体的には、並行処理ユニット情報、使用処理液情報、処理時間情報等を含む。並行処理ユニット情報とは、使用可能な処理ユニットを指定する情報であり、指定された処理ユニットによる並行処理が可能であることを表す。換言すれば、指定処理ユニットのうちの一つが使用できないときには、それ以外の指定処理ユニットによる代替が可能であることを表す。使用できないときとは、当該処理ユニットが別の基板Wの処理のために使用中であるとき、当該処理ユニットが故障中であるとき、オペレータが当該処理ユニットで基板Wの処理をさせたくないと考えているとき、などである。プロセスジョブ番号は、共通の処理が行われる1枚または複数枚の基板Wを識別するための識別情報基板群識別情報である。すなわち、共通のプロセスジョブ番号が付与された複数枚の基板Wは、当該プロセスジョブ番号に対応付けられたレシピによる共通の処理が施される。ただし、異なるプロセスジョブ番号に対応する基板処理内容レシピが同じである場合もあり得る。たとえば、処理順序基板収容器Cからの払い出し順序が連続している複数枚の基板Wに対して共通の処理が施されるとき、それらの複数枚の基板Wに対して共通のプロセスジョブ番号が付与される。制御部21は、各基板Wに対する処理内容データを取得して、記憶部23に記憶させる。処理内容データの取得および記憶は、各基板Wに対するスケジューリングが実行されるよりも前に行われればよい。たとえば、基板収容器CがステージST1~ST4に保持された直後に、ホストコンピュータ24から制御部21に当該基板収容器Cに収容された基板Wに対応する処理内容データが与えられてもよい。図4および図5は、スケジューリング機能部25による処理例第1の実施形態を説明するためのフローチャートである。より具体的には、制御部21コンピュータ20がスケジュール作成プログラム31を実行することによって行われる処理が表されている。換言すれば、スケジュール作成プログラム31には、図4および図5に示す処理をコンピュータに実行させるようにステップ群が組み込まれている。ホストコンピュータ24からもしくは出入力部22からオペレータによって基板処理開始の指示が与えられるとステップS1、スケジューリング機能部25は、基板処理開始指示が与えられた全ての基板Wに関して、仮タイムテーブルを作成するステップS2。基板処理開始指示は、基板収容器Cに収容された全ての基板Wを一単位として発行されてもよい。基板処理開始指示は、一つまたは複数のプロセスジョブ番号が付与された基板Wの処理開始を指示するものであってもよい。たとえば、処理内容データにおいて或るプロセスジョブ番号に対応付けられたレシピが、処理ユニットSPIN1~SPIN4の並行処理を指定しているとする。すなわち、当該レシピに従う基板処理が、4個の処理ユニットSPIN1~SPIN4のいずれにおいても実行可能である場合を考える。この場合、当該プロセスジョブ番号が付与された基板Wが処理を受けるときに通る経路は、4通りである。すなわち、その基板Wの処理のために選択し得る経路は、処理ユニットSPIN1~SPIN4のいずれかを通る4個の経路である。そこで、スケジューリング機能部25は、その4個の経路に対応した仮タイムテーブルを作成する。処理ユニットSPIN1を通る経路に対応した仮タイムテーブルを図6に示す。この仮タイムテーブルは、インデクサロボットIRによる基板収容器Cからの基板Wの搬出Getを表すブロック搬送ブロックの一例と、インデクサロボットIRによる当該基板Wの受け渡しユニットPASSへの搬入Putを表すブロック搬送ブロックの一例と、主搬送ロボットCRによる受け渡しユニットPASSからの当該基板Wの搬出Getを表すブロック搬送ブロックの一例と、主搬送ロボットCRによる当該基板Wの処理ユニットSPIN1への搬入Putを表すブロック搬送ブロックの一例と、処理ユニットSPIN1による当該基板Wに対する処理を表す処理ブロックと、主搬送ロボットCRによる処理ユニットSPIN1からの処理済みの基板Wの搬出Getを表すブロック搬送ブロックの一例と、主搬送ロボットCRによる当該基板Wの受け渡しユニットPASSへの搬入Putを表すブロック搬送ブロックの一例と、インデクサロボットIRによる当該基板Wの受け渡しユニットPASSからの搬出Getを表すブロック搬送ブロックの一例と、インデクサロボットIRによる当該基板Wの基板収容器Cへの搬入Putを表すブロック搬送ブロックの一例とを含む。スケジューリング機能部25は、これらのブロックを時間軸上で重なり合いのないように順番に配置することによって、仮タイムテーブルを作成する。スケジューリング機能部25は、同じ基板Wに対して、処理ユニットSPIN2~SPIN4をそれぞれ通る経路に対応した同様の仮タイムテーブル処理ブロックを処理ユニットSPIN2~SPIN4にそれぞれ配置した仮タイムテーブルを作成する。こうして、一枚の基板Wに対して合計4経路分の仮タイムテーブルが作成される。同様の仮タイムテーブルが同じプロセスジョブ番号が付与された基板Wの全てに対応して作成される。たとえば、同じプロセスジョブ番号が付与された基板Wが4枚あれば、合計で16経路4経路×4枚分の仮タイムテーブルが作成される。さらに、同時に開始指示されたプロセスジョブが複数個ある場合には、全てのプロセスジョブ番号に関して、同様の処理が行われて仮タイムテーブルが作成される。こうして作成された仮タイムテーブルは、スケジュールデータ50の一部として記憶部23に格納される。仮タイムテーブルの作成段階では、別の基板Wに関するブロックとの干渉時間軸上での重なり合いは考慮されない。スケジューリング指示が発生するとステップS3、当該プロセスジョブ番号の基板Wに関するブロックの配置が行われる全体スケジューリング。ステップS4~S16。具体的には、スケジューリング機能部25は、当該基板Wの仮タイムテーブルを記憶部23から読み出して、その仮タイムテーブルを構成しているブロックを時間軸上に配置していく。さらに具体的に説明すると、スケジューリング機能部25は、基板処理開始の指示が与えられると、当該スケジューリング機能部25において基板処理手順を管理している全ての基板Wに関して、処理内容データプロセスジョブ番号およびレシピを記憶部23から取得するステップS4。さらに、スケジューリング機能部25は、基板収容器Cから搬出されて処理開始されている基板Wがあるかどうかを判断するステップS5。いずれの基板Wの処理も開始されていなければステップS5:NO、スケジューリング機能部25は、記憶部23から取得した処理内容データに対応する基板Wのうち、ステージSTで待機中であり、かつスケジューリングが行われていない基板Wがあるかどうかを判断するステップS7。この判断が肯定されると、スケジューリング機能部25は、スケジューリングを行っていない基板Wのうち、処理順序が最も若い基板Wをスケジューリング対象基板Wとし、そのスケジューリング対象基板Wに関するデータ処理内容データおよびスケジュールデータを記憶部23から取得するステップS8。通常は、基板収容器Cにおいて上に位置している基板Wほど処理順序が若い。次に、スケジューリング機能部25は、データを取得した当該スケジューリング対象基板Wと共通のプロセスジョブ番号が付与された別の基板Wに対するスケジューリングを既に行ったかどうかを判断するステップS9。或るプロセスジョブ番号の最初の基板がスケジューリング対象基板Wであるときには、この判断が否定される。すると、スケジューリング機能部25は、スケジューリング対象基板Wに対応するレシピを参照し、そのレシピにおいて指定された並行処理ユニットが全て使用可能である、すなわち、並行処理ユニットのいずれにも使用権が設定されていないかどうかを判断するステップS10。スケジューリングを開始した直後には、いずれの使用権も設定されていないので、ステップS10の判断が肯定される。この場合、スケジューリング機能部25は、スケジューリング対象基板Wのプロセスジョブ番号に対応するレシピで指定された並行処理ユニットの全てに対して使用権を設定するステップS11。たとえば、レシピにおいて処理ユニットSPIN1~SPIN4での並行処理が指定されていれば、図7に示すように、スケジューリング対象基板Wに付与されたプロセスジョブ番号PJ1を共有する基板群に対して、処理ユニットSPIN1~SPIN4の使用権が設定される。この使用権が設定されている間は、他のプロセスジョブ番号の基板群の処理ブロックを処理ユニットSPIN1~SPIN4に配置することはできない。なお、図7等のスケジューリング経過または結果を表す図面において、インデクサロボットIRの一方のハンド8AをIR1と表記し、他方のハンド8BをIR2と表記してある。同様に、主搬送ロボットCRの一方のハンド13AをCR1と表記し、他方のハンド13BをCR2と表記してある。また、プロセスジョブ番号PJnnは自然数のm枚目mは自然数の基板Wを、必要に応じて基板PJn-mなどと表記することにする。次いで、スケジューリング機能部25は、スケジューリング対象基板Wに対するスケジューリングを実行する。具体的には、スケジューリング機能部25は、スケジューリング対象基板Wに対応する仮タイムテーブルを参照し、当該仮タイムテーブルを構成するブロックを一つ取得するステップS12。このとき取得されるブロックは、未配置のブロックのうち仮タイムテーブルの時間軸上で最も早い位置に配置されているブロックである。さらに、スケジューリング機能部25は、当該取得したブロックを配置できる位置を検索しステップS13、その検索された位置に当該ブロックを配置するステップS14。各ブロックは、同一リソースが同じ時間に重複して使用されないようにしながら、時間軸上で最も早い位置に配置される。同様の動作が、仮タイムテーブルを構成する全てのブロックに関して繰り返し実行されるステップS15。そして、仮タイムテーブルを構成する全てのブロックを配置し終えるとステップS15:YES、スケジューリング機能部25は、各処理ユニットの最終使用時刻を計算し、その計算結果を記憶部23に格納するステップS16。最終使用時刻の初期値は0である。この後は、ステップS7からの処理が繰り返される。処理開始指示された全てのプロセスジョブ番号の全基板Wに関するスケジューリングを終えるとステップS7:NO、全体スケジューリングが完了するステップS17。スケジューリング対象基板Wに対応するレシピは、4つの処理ユニットSPIN1~SPIN4の並行処理を指定しているので、スケジューリング対象基板Wに対して、4つの処理ユニットSPIN1~SPIN4をそれぞれ通る4つの経路を表す4つの仮タイムテーブルが作成されているステップS2。最初の基板Wに対する処理を計画するとき、スケジューリング機能部25は、それらの4つの仮タイムテーブルのなかから、最終使用時刻が最も早い仮タイムテーブルを選択し、その選択された仮タイムテーブルからブロックを取得する。複数の仮タイムテーブルにおいて最終使用時刻が等しい場合には、たとえば、処理ユニットの番号の若い経路を選択すればよい。複数の処理ユニットSPIN1~SPIN4は基板処理装置内の異なる位置に配置されているので、それに応じて、基板Wの搬送に要する時間には相違があり、したがって、仮タイムテーブルにおける最終使用時刻は一般には等しくならない。図7には、プロセスジョブ番号PJ1の最初の基板PJ1-1に対応する仮タイムテーブルを構成する全てのブロックを配置した例を示す。スケジューリング機能部25は、同一リソースのスペースでブロックが重なり合わないように各ブロックを配置する。プロセスジョブ番号PJ1の1枚目の基板PJ1-1がインデクサロボットIRによって基板収容器Cから払い出されたタイミングで、スケジューリング指示が発生しステップS3:YES、スケジューリング機能部25は、当該プロセスジョブ番号PJ1の2枚目の基板PJ1-2のスケジューリングを開始する。この場合、ステップS5での判断は肯定され、スケジューリング機能部25は、既に処理開始している1枚目の基板Wに対するスケジューリングを実行するステップS6。その結果は、図7と同じである。さらに、当該プロセスジョブ番号PJ1に未スケジューリングの基板Wが存在するので、ステップS7での判断が肯定される。スケジューリング機能部25は、当該プロセスジョブ番号PJ1の2枚目の基板PJ1-2をスケジューリング対象基板とし、そのスケジューリング対象基板に関するデータを記憶部23から取得するステップS8。当該プロセスジョブ番号PJ1の1枚目の基板PJ1-1のスケジューリングが完了しているので、ステップS9の判断が肯定され、ステップS10,S11の処理を経ることなく、当該プロセスジョブ番号PJ1の2枚目の基板PJ1-2に対するスケジューリングが実行されるステップS12~S15。この場合、1枚目の基板Wの処理のために処理ユニットSPIN1は使用中であるので、残りの並行処理ユニットSPIN2~SPIN4をそれぞれ通る3つの経路を表す3つの仮タイムテーブルのなかから最終使用時刻が最も早い仮タイムテーブルが選択される。最終使用時刻が等しい場合には、番号の若い処理ユニットを通る経路に対応した仮タイムテーブルが選択される。このようにして、プロセスジョブ番号PJ1の2枚目の基板PJ1-2に対してスケジューリングを行った例を図8に示す。同様にして、プロセスジョブ番号PJ1の3枚目の基板PJ1-3に対してスケジューリングを行うことにより、図9に示すスケジューリング結果が得られる。さらに同様にして、プロセスジョブ番号PJ1の4枚目の基板PJ1-4に対してスケジューリングを行うことにより、図10に示すスケジューリング結果が得られる。ブロック配置位置を検索するときステップS13、スケジューリング機能部25は、同一リソースに対して時間軸上でブロックが重なり合うことがなく、かつできるだけ時間軸上の早い位置を検索する。図5は、スケジューリング機能部25が図4の処理と並行して行う別の処理を説明するためのフローチャートであり、使用権の削除に関する処理を示す。インデクサロボットIRによって基板Wが基板収容器Cから払い出されるとステップS21、スケジューリング機能部25は、その基板Wが共通のプロセスジョブ番号が与えられた基板群のうちの最後の基板かどうかを判断するステップS22。最後の基板であればステップS22:YES、スケジューリング機能部25は、そのプロセスジョブ番号の基板群に対して設定されている使用権を削除するステップS23。最後の基板でなければステップS22:NO、使用権削除を行わない。したがって、前述の例においては、プロセスジョブ番号PJ1の4枚目の基板PJ1-4が基板収容器Cから払い出されると、当該プロセスジョブ番号PJ1の基板群に対して設定された処理ユニットSPIN1~SPIN4の使用権が削除される。これ以後は、別のプロセスジョブ番号の基板群に対して処理ユニットSPIN1~SPIN4の使用権の設定が許容される。基板WがインデクサロボットIRによって基板収容器Cから払い出されることによって、スケジューリング指示が発生し、図4のステップS3の判断が肯定となる。図11~図16は、プロセスジョブ番号PJ1,PJ2,PJ3が付された3つの基板群プロセスジョブに対するスケジューリングの例を示す。プロセスジョブ番号PJ1の基板群は1枚の基板PJ-1で構成され、処理内容データ中のレシピによって、4つの処理ユニットSPIN1~SPIN4が並行処理ユニットとして指定されているものとする。また、プロセスジョブ番号PJ2の基板群は3枚の基板PJ2-1,PJ2-2,PJ2-3で構成され、処理内容データ中のレシピによって2つの処理ユニットSPIN2~SPIN3が並行処理ユニットとして指定されているものとする。さらに、プロセスジョブ番号PJ3の基板群は1枚の基板PJ3-1で構成され、処理内容データ中のレシピによって、3つの処理ユニットSPIN2~SPIN4が並行処理ユニットとして指定されているものとする。そして、プロセスジョブ番号PJ1,PJ2,PJ3の基板群に対して、この番号順に処理開始されて、スケジューリング指示が発生する場合を想定する。図11は、仮タイムテーブルの例を示す。基板処理開始指示が与えられると図4のステップS1、スケジューリング機能部25は、仮タイムテーブルを作成するステップS2。すなわち、スケジューリング機能部25は、プロセスジョブ番号PJ1の1枚の基板PJ1-1に対して、処理ユニットSPIN1~SPIN4をそれぞれ通る4経路分の仮タイムテーブルを作成する。また、スケジューリング機能部25は、プロセスジョブ番号PJ2の3枚の基板PJ2-1,PJ2-2,PJ2-3に対して、それぞれ、処理ユニットSPIN2~SPIN3をそれぞれ通る2経路分の仮タイムテーブルを作成する。すなわち、プロセスジョブ番号PJ2に対して合計で6経路分の仮タイムテーブルが作成される。さらに、スケジューリング機能部25は、プロセスジョブ番号PJ3の1枚の基板PJ3-1に対して、処理ユニットSPIN2~SPIN4をそれぞれ通る3経路分の仮タイムテーブルを作成する。作成された仮タイムテーブルは、記憶部23に格納される。プロセスジョブ番号PJ1,PJ2,PJ3に対する処理開始が順に指示され、それに応答してスケジューリング指示が発生すると図4のステップS3、スケジューリング機能部25は、記憶部23に格納された全ての仮タイムテーブル、すなわち、プロセスジョブ番号PJ1~PJ3に対応する全ての基板Wの仮タイムテーブルを読み出して、全体スケジューリングを開始する。既に処理開始している他の基板Wは存在しないのでステップS5:NO、スケジューリング機能部25は、最終使用時刻の最も早い処理ユニットを検索する。はじめは、いずれの処理ユニットの最終使用時刻も0であるので、番号の最も若い処理ユニットSPIN1を使うプロセスジョブのうち、最も早く処理開始指示されたプロセスジョブ番号PJ1についての評価が行われる。この場合、プロセスジョブ番号PJ1の基板Wについてのスケジューリングは未了であるのでステップS7:YES、プロセスジョブ番号PJ1の1枚目の基板PJ1-1の仮タイムテーブルが記憶部23から取得されるステップS8。プロセスジョブ番号PJ1の他の基板Wに対するスケジューリングはされておらずステップS9:NO、いずれの処理ユニットに対しても使用権は未設定であるのでステップS10:YES、スケジューリング機能部25は、プロセスジョブ番号PJ1のレシピで指定された並行処理ユニットSPIN1~SPIN4に関する使用権を、プロセスジョブ番号PJ1の基板群に対して設定するステップS11。その後、スケジューリング機能部25は、プロセスジョブ番号PJ1の1枚目の基板PJ1-1の仮タイムテーブルを構成するブロックを配置していくステップS12~S15。図12は、プロセスジョブ番号PJ1の1枚目の基板PJ1-1に関するブロックを配置した例を示す。いずれの処理ユニットも使用されていない状態であるので、たとえば、処理ユニットSPIN1を通る経路を表す仮タイムテーブルが選択され、その仮タイムテーブルを構成するブロックが、時間軸上で前詰めに配置される。こうして、基板PJ1-1のスケジューリングが完成すると、その基板PJ1-1の搬送が開始される。基板PJ1-1が基板収容器Cから払い出されると図5のステップS21、当該基板PJ1-1がプロセスジョブ番号PJ1の最後の基板であるのでステップS22:YES、プロセスジョブ番号PJ1に関する使用権が削除されるステップS23。そして、プロセスジョブ番号PJ2に関するスケジューリング指示が発生するステップS3:YES。スケジューリング指示発生に応答して、スケジューリング機能部25は、記憶部23に格納された全ての仮タイムテーブル、すなわち、プロセスジョブ番号PJ1~PJ3に対応する全ての基板Wの仮タイムテーブルを読み出す。既に処理開始している基板PJ1-1があるのでステップS5:YES、その基板PJ1-1についてのスケジューリングを行うステップS6。その結果は、図12と同じである。プロセスジョブ番号PJ2の基板Wについてのスケジューリングは未了であるのでステップS7:YES、プロセスジョブ番号PJ2の1枚目の基板PJ2-1の仮タイムテーブルが記憶部23から取得されるステップS8。プロセスジョブ番号PJ2の他の基板Wに対するスケジューリングはされておらずステップS9:NO、いずれの処理ユニットに対しても使用権は未設定であるのでステップS10:YES、スケジューリング機能部25は、プロセスジョブ番号PJ2のレシピで指定された並行処理ユニットSPIN2~SPIN3に関する使用権を、プロセスジョブ番号PJ2の基板群に対して設定するステップS11。その後、スケジューリング機能部25は、プロセスジョブ番号PJ2の1枚目の基板PJ2-1の仮タイムテーブルを構成するブロックを配置していくステップS12~S15。図13は、プロセスジョブ番号PJ2の1枚目の基板PJ2-1に関するブロックを配置した例を示す。並行処理ユニットSPIN2~SPIN3のいずれもが使用されていない状態であるので、たとえば、処理ユニットSPIN2を通る経路を表す仮タイムテーブルが選択され、その仮タイムテーブルを構成するブロックが、既に配置されたブロックと干渉しないように、時間軸上で前詰めに配置される。こうして、基板PJ2-1のスケジューリングが完成すると、その基板PJ2-1の搬送が開始される。基板PJ2-1が基板収容器Cから払い出されると図5のステップS21、当該基板PJ2-1はプロセスジョブ番号PJ2の最後の基板ではないのでステップS22:NO、プロセスジョブ番号PJ2に関する使用権はそのまま維持される。そして、プロセスジョブ番号PJ2の2枚目の基板PJ2-2に関するスケジューリング指示が発生するステップS3:YES。このとき、プロセスジョブ番号PJ3の基板に関するスケジューリングも開始されるが、プロセスジョブ番号PJ3の並行処理ユニットのうち処理ユニットSPIN2~SPIN3に対してプロセスジョブ番号PJ2の使用権が設定されているため、図4のステップS10での判断が否定となり、スケジューリング対象外と判定されることになる。スケジューリング指示発生に応答して、スケジューリング機能部25は、記憶部23に格納された全ての仮タイムテーブル、すなわち、プロセスジョブ番号PJ1~PJ3に対応する全ての基板Wの仮タイムテーブルを読み出す。既に処理開始している基板PJ1-1,PJ2-1があるのでステップS5:YES、それらの基板PJ1-1,PJ2-1についてのスケジューリングを行うステップS6。その結果は、図13と同じである。プロセスジョブ番号PJ2の基板Wについてのスケジューリングは未了であるのでステップS7:YES、プロセスジョブ番号PJ2の2枚目の基板PJ2-2の仮タイムテーブルが記憶部23から取得されるステップS8。プロセスジョブ番号PJ2の他の基板PJ2-1に対するスケジューリングがされているのでステップS9:YES、スケジューリング機能部25は、プロセスジョブ番号PJ2の2枚目の基板PJ2-2の仮タイムテーブルを構成するブロックを配置していくステップS12~S15。図14は、プロセスジョブ番号PJ2の2枚目の基板PJ2-2に関するブロックを配置した例を示す。並行処理ユニットSPIN2に対して1枚目の基板PJ2-1のための処理ブロックが配置されているので、処理ユニットSPIN3を通る経路を表す仮タイムテーブルが選択され、その仮タイムテーブルを構成するブロックが、既に配置されたブロックと干渉しないように、時間軸上で前詰めに配置される。こうして、基板PJ2-2のスケジューリングが完成すると、その基板PJ2-2の搬送が開始される。基板PJ2-2が基板収容器Cから払い出されると図5のステップS21、当該基板PJ2-2はプロセスジョブ番号PJ2の最後の基板ではないのでステップS22:NO、プロセスジョブ番号PJ2に関する使用権はそのまま維持される。そして、プロセスジョブ番号PJ2の3枚目の基板PJ2-3に関するスケジューリング指示が発生するステップS3:YES。その後、スケジューリング機能部25は、2枚目の基板PJ2-2の場合と同様にして、3枚目の基板PJ2-3に対するスケジューリングを行う。すなわち、スケジューリング機能部25は、プロセスジョブ番号PJ2の3枚目の基板PJ2-3の仮タイムテーブルを構成するブロックを配置していくステップS12~S15。なお、基板PJ2-2が基板収容器Cから払い出されると、プロセスジョブ番号PJ3の基板に関するスケジューリングも開始されるが、プロセスジョブ番号PJ3の並行処理ユニットのうち処理ユニットSPIN2~SPIN3に対してプロセスジョブ番号PJ2の使用権が設定されているため、図4のステップS10での判断が否定となり、スケジューリング対象外と判定されることになる。図15は、プロセスジョブ番号PJ2の3枚目の基板PJ2-3に関するブロックを配置した例を示す。並行処理ユニットSPIN2,SPIN3に対して1枚目および2枚目の基板PJ2-1,PJ2-2のための処理ブロックがそれぞれ配置されているので、スケジューリング機能部25は、処理ユニットSPIN2,SPIN3の最終使用時刻を比較し、それらのうちの早い方である処理ユニットSPIN2を通る経路を表す仮タイムテーブルを選択する。そして、スケジューリング機能部25は、その仮タイムテーブルを構成するブロックを、既に配置されたブロックと干渉しないように、時間軸上で前詰めに配置する。すなわち、処理ユニットSPIN2に対して、1枚目の基板PJ2-1の処理ブロックの後の最も早い時刻に3枚目の基板PJ2-3の処理ブロックを配置し、それに合わせて、当該3枚目の基板PJ2-3のための他のブロックを配置する。こうして、基板PJ2-3のスケジューリングが完成すると、その基板PJ2-3の搬送が開始される。基板PJ2-3が基板収容器Cから払い出されると図5のステップS21、当該基板PJ2-3がプロセスジョブ番号PJ2の最後の基板であるのでステップS22:YES、プロセスジョブ番号PJ2に関する使用権が削除されるステップS23。そして、プロセスジョブ番号PJ3に関するスケジューリング指示が発生するステップS3:YES。スケジューリング指示発生に応答して、スケジューリング機能部25は、記憶部23に格納された全ての仮タイムテーブル、すなわち、プロセスジョブ番号PJ1~PJ3に対応する全ての基板Wの仮タイムテーブルを読み出す。既に処理開始している基板PJ1-1,PJ2-1,PJ2-2,PJ2-3があるのでステップS5:YES、それらの基板PJ1-1,PJ2-1,PJ2-2,PJ2-3についてのスケジューリングを行うステップS6。その結果は、図15と同じである。プロセスジョブ番号PJ3の基板Wについてのスケジューリングは未了であるのでステップS7:YES、プロセスジョブ番号PJ3の1枚目の基板PJ3-1の仮タイムテーブルが記憶部23から取得されるステップS8。プロセスジョブ番号PJ3の他の基板Wに対するスケジューリングはされておらずステップS9:NO、いずれの処理ユニットに対しても使用権は未設定であるのでステップS10:YES、スケジューリング機能部25は、プロセスジョブ番号PJ3のレシピで指定された並行処理ユニットSPIN2~SPIN4に関する使用権を、プロセスジョブ番号PJ3の基板群に対して設定するステップS11。その後、スケジューリング機能部25は、プロセスジョブ番号PJ3の1枚目の基板PJ3-1の仮タイムテーブルを構成するブロックを配置していくステップS12~S15。図16は、プロセスジョブ番号PJ3の1枚目の基板PJ3-1に関するブロックを配置した例を示す。並行処理ユニットSPIN2,SPIN3に対してすでに処理ブロックが配置されているので、最終使用時刻が最も早い処理ユニットSPIN4を通る経路を表す仮タイムテーブルが選択され、その仮タイムテーブルを構成するブロックが、既に配置されたブロックと干渉しないように、時間軸上で前詰めに配置される。こうして、基板PJ3-1のスケジューリングが完成すると、その基板PJ3-1の搬送が開始される。プロセスジョブ番号PJ2の最後の基板PJ2-3の搬送開始まで、処理ユニットSPIN2~SPIN3に対するプロセスジョブ番号PJ2の使用権が削除されないので、基板PJ3-1に関するブロックは、基板PJ2-3を基板収容器Cから払い出す動作を指定するブロックよりも時間軸上において後に配置することになる。したがって、基板PJ3-1に対する処理が基板PJ2-3に対する処理を追い越すような計画が立てられることはない。このようにして、全てのプロセスジョブ番号PJ1~PJ3の全ての基板Wに関するスケジューリングが完了するステップS7:NO。図17~図28は、プロセスジョブ番号PJ1,PJ2,PJ3が付された3つの基板群プロセスジョブに対するスケジューリングの例を示す。プロセスジョブ番号PJ1の基板群は8枚の基板PJ1-1~8で構成され、処理内容データ中のレシピによって、2つの処理ユニットSPIN1~SPIN2が並行処理ユニットとして指定されているものとする。また、プロセスジョブ番号PJ2の基板群は2枚の基板PJ2-1~2で構成され、処理内容データ中のレシピによって4つの処理ユニットSPIN1~SPIN4が並行処理ユニットとして指定されているものとする。さらに、プロセスジョブ番号PJ3の基板群は2枚の基板PJ3-1~2で構成され、処理内容データ中のレシピによって、2つの処理ユニットSPIN3~SPIN4が並行処理ユニットとして指定されているものとする。そして、プロセスジョブ番号PJ1,PJ2,PJ3の基板群に対して、この番号順に処理開始されて、スケジューリング指示が発生する場合を想定する。基板処理開始指示が与えられると図4のステップS1、スケジューリング機能部25は、仮タイムテーブルを作成するステップS2。すなわち、スケジューリング機能部25は、プロセスジョブ番号PJ1の8枚の基板PJ1-1~8に対して、それぞれ、処理ユニットSPIN1~SPIN2をそれぞれ通る2経路分の仮タイムテーブルを作成する。すなわち、プロセスジョブ番号PJ1に対して合計で16経路分の仮タイムテーブルが作成される。また、スケジューリング機能部25は、プロセスジョブ番号PJ2の2枚の基板PJ2-1~2に対して、それぞれ、処理ユニットSPIN1~SPIN4をそれぞれ通る4経路分の仮タイムテーブルを作成する。すなわち、プロセスジョブ番号PJ2に対して合計で8経路分の仮タイムテーブルが作成される。さらに、スケジューリング機能部25は、プロセスジョブ番号PJ3の2枚の基板PJ3-1~2に対して、それぞれ、処理ユニットSPIN3~SPIN4をそれぞれ通る2経路分の仮タイムテーブルを作成する。すなわち、プロセスジョブ番号PJ3に対して合計で4経路分の仮タイムテーブルが作成される。作成された仮タイムテーブルは、記憶部23に格納される。プロセスジョブ番号PJ1,PJ2,PJ3に対する処理開始が順に指示され、それに応答してスケジューリング指示が発生すると図4のステップS3、スケジューリング機能部25は、記憶部23に格納された全ての仮タイムテーブル、すなわち、プロセスジョブ番号PJ1~PJ3に対応する全ての基板Wの仮タイムテーブルを読み出して、全体スケジューリングを開始する。既に処理開始している他の基板Wは存在しないのでステップS5:NO、スケジューリング機能部25は、最終使用時刻の最も早い処理ユニットを検索する。はじめは、いずれの処理ユニットの最終使用時刻も0であるので、番号の最も若い処理ユニットSPIN1を使うプロセスジョブのうち、最も早く処理開始指示されたプロセスジョブ番号PJ1についての評価が行われる。この場合、プロセスジョブ番号PJ1の基板Wについてのスケジューリングは未了であるのでステップS7:YES、スケジューリング機能部25は、プロセスジョブ番号PJ1の1枚目の基板PJ1-1の仮タイムテーブルを記憶部23から取得するステップS8。プロセスジョブ番号PJ1の他の基板Wに対するスケジューリングはされておらずステップS9:NO、いずれの処理ユニットに対しても使用権は未設定であるのでステップS10:YES、スケジューリング機能部25は、プロセスジョブ番号PJ1のレシピで指定された並行処理ユニットSPIN1~SPIN2に関する使用権を、プロセスジョブ番号PJ1の基板群に対して設定するステップS11。その後、スケジューリング機能部25は、プロセスジョブ番号PJ1の1枚目の基板PJ1-1の仮タイムテーブルを構成するブロックを配置していくステップS12~S15。そして、各処理ユニットの最終使用時刻が計算されて、記憶部23に格納されるステップS16。図17は、プロセスジョブ番号PJ1の1枚目の基板PJ1-1に関するブロックを配置した例を示す。いずれの処理ユニットも使用されていない状態であるので、たとえば、処理ユニットSPIN1を通る経路を表す仮タイムテーブルが選択され、その仮タイムテーブルを構成するブロックが、時間軸上で前詰めに配置される。こうして、基板PJ1-1のスケジューリングが完成すると、その基板PJ1-1の搬送が開始される。基板PJ1-1が基板収容器Cから払い出されると図5のステップS21、当該基板PJ1-1はプロセスジョブ番号PJ1の最後の基板ではないのでステップS22:NO、プロセスジョブ番号PJ1に関する使用権はそのまま維持される。そして、プロセスジョブ番号PJ1の2枚目の基板PJ1-2およびプロセスジョブ番号PJ2,PJ3に関するスケジューリング指示が発生しステップS3、ステップS4からの動作が行われる。すなわち、スケジューリング指示発生に応答して、スケジューリング機能部25は、記憶部23に格納された全ての仮タイムテーブル、すなわち、プロセスジョブ番号PJ1~PJ3に対応する全ての基板Wの仮タイムテーブルを読み出す。既に処理開始している基板PJ1-1があるのでステップS5:YES、その基板PJ1-1についてのスケジューリングを行うステップS6。その結果は、図17と同じである。ステップS7において、スケジューリング機能部25は、最終使用時刻の最も早い処理ユニットを検索する。この場合、処理ユニットSPIN2~4の最終使用時刻が0であるので、番号の最も若い処理ユニットSPIN2を使うプロセスジョブ番号PJ1,PJ2のうち、最も早く処理開始指示されたプロセスジョブ番号PJ1についての評価が行われる。プロセスジョブ番号PJ1の基板Wについてのスケジューリングは未了であるのでステップS7:YES、プロセスジョブ番号PJ1の2枚目の基板PJ1-2の仮タイムテーブルが記憶部23から取得されるステップS8。プロセスジョブ番号PJ1の他の基板PJ1-1に対するスケジューリングがされているのでステップS9:YES、スケジューリング機能部25は、プロセスジョブ番号PJ1の2枚目の基板PJ1-2の仮タイムテーブルを構成するブロックを配置していくステップS12。図18は、プロセスジョブ番号PJ2の2枚目の基板PJ2-2に関するブロックを配置した例を示す。最終使用時刻が最も早い処理ユニットSPIN2を通る経路を表す仮タイムテーブルが選択され、その仮タイムテーブルを構成するブロックが、既に配置されたブロックと干渉しないように、時間軸上で前詰めに配置される。こうして、基板PJ1-2のスケジューリングが完成すると、その基板PJ1-2の搬送が開始される。基板PJ1-2が基板収容器Cから払い出されると図5のステップS21、当該基板PJ1-2はプロセスジョブ番号PJ1の最後の基板ではないのでステップS22:NO、プロセスジョブ番号PJ1に関する使用権はそのまま維持される。そして、プロセスジョブ番号PJ1の3枚目の基板PJ1-3およびプロセスジョブ番号PJ2,PJ3に関するスケジューリング指示が発生しステップS3、ステップS4からの動作が行われる。すなわち、スケジューリング指示発生に応答して、スケジューリング機能部25は、記憶部23に格納された全ての仮タイムテーブル、すなわち、プロセスジョブ番号PJ1~PJ3に対応する全ての基板Wの仮タイムテーブルを読み出す。既に処理開始している基板PJ1-1,PJ1-2があるのでステップS5:YES、それらの基板PJ1-1,PJ1-2についてのスケジューリングを行うステップS6。その結果は、図18と同じである。ステップS7において、スケジューリング機能部25は、最終使用時刻の最も早い処理ユニットを検索する。この場合、処理ユニットSPIN3~4の最終使用時刻が0であるので、番号の最も若い処理ユニットSPIN3を使うプロセスジョブ番号PJ2,PJ3のうち、最も早く処理開始指示されたプロセスジョブ番号PJ2についての評価が行われる。しかし、プロセスジョブ番号PJ2の並行処理ユニットのうち処理ユニットSPIN1,SPIN2に対してプロセスジョブ番号PJ1の使用権が設定されているため、プロセスジョブ番号PJ2に関しては、図4のステップS10での判断が否定となり、スケジューリング対象外と判定されることになる。その結果、プロセスジョブ番号PJ3がスケジューリングの対象となる。プロセスジョブ番号PJ3の基板Wについてのスケジューリングは未了であるのでステップS7:YES、プロセスジョブ番号PJ3の1枚目の基板PJ3-1の仮タイムテーブルが記憶部23から取得されるステップS8。プロセスジョブ番号PJ3の他の基板Wに対するスケジューリングはされておらずステップS9:NO、プロセスジョブ番号PJ3のレシピにおいて指定された並行処理ユニットSPIN3~SPIN4に対する使用権は未設定であるのでステップS10:YES、スケジューリング機能部25は、それらの並行処理ユニットSPIN3~SPIN4に関する使用権を、プロセスジョブ番号PJ3の基板群に対して設定するステップS11。その後、スケジューリング機能部25は、プロセスジョブ番号PJ3の1枚目の基板PJ3-1の仮タイムテーブルを構成するブロックを配置していくステップS12~S15。図19に、プロセスジョブ番号PJ3の1枚目の基板PJ3-1に関するブロックを配置した例を示す。こうして、基板PJ3-1のスケジューリングが完成すると、その基板PJ3-1の搬送が開始される。同様の処理が行われることにより、最終使用時刻が最も早い処理ユニットSPIN4を使用するプロセスジョブ番号PJ3の2枚目の基板PJ3-2に関するスケジューリングが行われることになる。図20に、プロセスジョブ番号PJ3の2枚目の基板PJ3-2に関するブロックを配置した例を示す。基板PJ3-2が基板収容器Cから払い出されると図5のステップS21、当該基板PJ3-2がプロセスジョブ番号PJ3の最後の基板であるのでステップS22:YES、プロセスジョブ番号PJ3に関する使用権が削除されるステップS23。そして、プロセスジョブ番号PJ1~PJ3に関するスケジューリング指示が発生しステップS3、ステップS4からの動作が行われる。すなわち、スケジューリング指示発生に応答して、スケジューリング機能部25は、記憶部23に格納された全ての仮タイムテーブル、すなわち、プロセスジョブ番号PJ1~PJ3に対応する全ての基板Wの仮タイムテーブルを読み出す。既に処理開始している基板PJ1-1,PJ1-2,PJ3-1,PJ3-2があるのでステップS5:YES、それらの基板PJ1-1,PJ1-2,PJ3-1,PJ3-2についてのスケジューリングを行うステップS6。その結果は、図20と同じである。ステップS7において、スケジューリング機能部25は、最終使用時刻の最も早い処理ユニットを検索する。この場合、対象のプロセスジョブ番号PJ1~PJ3のうちのいずれかで使用する処理ユニットSPIN1~SPIN4のうち、処理ユニットSPIN1の最終使用時刻が最も早いので図20参照、処理ユニットSPIN1を使うプロセスジョブ番号PJ1,PJ2のうち、最も早く処理開始指示されたプロセスジョブ番号PJ1についての評価が行われる。プロセスジョブ番号PJ1の3枚目以降の基板についてのスケジューリングは未了であるのでステップS7:YES、プロセスジョブ番号PJ1の3枚目の基板PJ1-3の仮タイムテーブルが記憶部23から取得されるステップS8。プロセスジョブ番号PJ1の他の基板PJ1-1,PJ1-2に対するスケジューリングがされているのでステップS9:YES、スケジューリング機能部25は、プロセスジョブ番号PJ1の3枚目の基板PJ1-3の仮タイムテーブルを構成するブロックを配置していくステップS12~S15。図21に、プロセスジョブ番号PJ1の3枚目の基板PJ1-3に関するブロックを配置した例を示す。処理ユニットSPIN1に対してすでに処理ブロックが配置されているので、処理ユニットSPIN1を通る経路を表す仮タイムテーブルを構成するブロックが、既に配置されたブロックと干渉しないように、時間軸上で前詰めに配置される。こうして、基板PJ1-3のスケジューリングが完成すると、その基板PJ1-3の搬送が開始される。同様の処理が行われることにより、最終使用時刻が最も早い処理ユニットSPIN2を使用するプロセスジョブ番号PJ1の4枚目の基板PJ1-4に関するスケジューリングが行われることになる。図22に、プロセスジョブ番号PJ1の4枚目の基板PJ1-4に関するブロックを配置した例を示す。こうして、基板PJ1-4のスケジューリングが完成すると、その基板PJ1-4の搬送が開始される。基板PJ1-4が基板収容器Cから払い出されると図5のステップS21、当該基板PJ1-4はプロセスジョブ番号PJ1の最後の基板ではないのでステップS22:YES、プロセスジョブ番号PJ1に関する使用権が維持される。そして、プロセスジョブ番号PJ1~PJ3に関するスケジューリング指示が発生しステップS3、ステップS4からの動作が行われる。すなわち、スケジューリング指示発生に応答して、スケジューリング機能部25は、記憶部23に格納された全ての仮タイムテーブル、すなわち、プロセスジョブ番号PJ1~PJ3に対応する全ての基板Wの仮タイムテーブルを読み出す。既に処理開始している基板PJ1-1~4,PJ3-1~2があるのでステップS5:YES、それらの基板PJ1-1~4,PJ3-1~2についてのスケジューリングを行うステップS6。その結果は、図22と同じである。ステップS7において、スケジューリング機能部25は、最終使用時刻の最も早い処理ユニットを検索する。この場合、対象のプロセスジョブ番号PJ1~PJ3のうちのいずれかで使用する処理ユニットSPIN1~SPIN4のうち、処理ユニットSPIN3の最終使用時刻が最も早いので図22参照、処理ユニットSPIN3を使うプロセスジョブ番号PJ2,PJ3のうち、最も早く処理開始指示されたプロセスジョブ番号PJ2についての評価が行われる。しかし、プロセスジョブ番号PJ2の並行処理ユニットのうち処理ユニットSPIN1,SPIN2に対してプロセスジョブ番号PJ1の使用権が設定されているため、プロセスジョブ番号PJ2に関しては、図4のステップS10での判断が否定となり、スケジューリング対象外と判定されることになる。その結果、プロセスジョブ番号PJ1がスケジューリングの対象となる。プロセスジョブ番号PJ1の5枚目以降の基板についてのスケジューリングは未了であるのでステップS7:YES、プロセスジョブ番号PJ1の5枚目の基板PJ1-5の仮タイムテーブルが記憶部23から取得されるステップS8。プロセスジョブ番号PJ1の他の基板に対するスケジューリングがされているのでステップS9:NO、スケジューリング機能部25は、プロセスジョブ番号PJ1の5枚目の基板PJ1-5の仮タイムテーブルを構成するブロックを配置していくステップS12~S15。図23に、プロセスジョブ番号PJ1の5枚目の基板PJ1-5に関するブロックを配置した例を示す。プロセスジョブ番号PJ1の並行処理ユニットSPIN1,SPIN2のうち最終使用時刻が最も早いのは処理ユニットSPIN1である図22参照。そこで、処理ユニットSPIN1を通る経路を表す仮タイムテーブルを構成するブロックが、既に配置されたブロックと干渉しないように、時間軸上で前詰めに配置される。同様の処理が行われることにより、プロセスジョブ番号PJ1の6番目の基板PJ1-6が処理ユニットSPIN2で処理するように計画され図24参照、プロセスジョブ番号PJ1の7番目の基板PJ1-7が処理ユニットSPIN1で処理するように計画され図25参照、プロセスジョブ番号PJ1の8番目の基板PJ1-8が処理ユニットSPIN2で処理するように計画される図26参照。基板PJ1-8が基板収容器Cから払い出されると図5のステップS21:YES、当該基板PJ1-8がプロセスジョブ番号PJ1の最後の基板であるのでステップS22:YES、プロセスジョブ番号PJ1に関する使用権が削除されるステップS23。そして、プロセスジョブ番号PJ1~PJ3に関するスケジューリング指示が発生するステップS3:YES。このとき、スケジューリング機能部25は、最終使用時刻の最も早い処理ユニットを検索する。この場合、対象のプロセスジョブ番号PJ1~PJ3のうちのいずれかで使用する処理ユニットSPIN1~SPIN4のうち、処理ユニットSPIN3の最終使用時刻が最も早いので、処理ユニットSPIN3を使うプロセスジョブ番号PJ2,PJ3のうち、最も早く処理開始指示されたプロセスジョブ番号PJ2についての評価が行われる。スケジューリング指示発生に応答して、スケジューリング機能部25は、記憶部23に格納された全ての仮タイムテーブル、すなわち、プロセスジョブ番号PJ1~PJ3に対応する全ての基板Wの仮タイムテーブルを読み出す。既に処理開始している基板PJ1-1~8,PJ3-1~2があるのでステップS5:YES、それらの基板PJ1-1~8,PJ3-1~2についてのスケジューリングを行うステップS6。その結果は、図26と同じである。プロセスジョブ番号PJ2の基板についてのスケジューリングは未了であるのでステップS7:YES、プロセスジョブ番号PJ2の1枚目の基板PJ2-1の仮タイムテーブル処理ユニットSPIN3を通るものが記憶部23から取得されるステップS8。プロセスジョブ番号PJ2の他の基板に対するスケジューリングは未了でありステップS9:NO、プロセスジョブ番号PJ2のレシピにおいて指定された並行処理ユニットSPIN1~SPIN4に対する使用権は未設定であるのでステップS10:YES、スケジューリング機能部25は、それらの並行処理ユニットSPIN1~SPIN4に関する使用権を、プロセスジョブ番号PJ2の基板群に対して設定するステップS11。その後、スケジューリング機能部25は、プロセスジョブ番号PJ2の1枚目の基板PJ2-1の仮タイムテーブルを構成するブロックを配置していくステップS12~S15。図27に、プロセスジョブ番号PJ2の1枚目の基板PJ2-1に関するブロックを配置した例を示す。プロセスジョブ番号PJ1の最後の基板PJ1-8の搬送開始まで、処理ユニットSPIN1~SPIN2に対するプロセスジョブ番号PJ1の使用権が削除されないので、基板PJ2-1に関するブロックは、基板PJ1-8を基板収容器Cから払い出す動作を指定するブロックよりも時間軸上において後に配置されることになる。したがって、基板PJ2-1に対する処理が基板PJ1-8に対する処理を追い越すような計画が立てられることはない。同様の処理が行われることにより、プロセスジョブ番号PJ2の2番目の基板PJ2-2が処理ユニットSPIN4で処理するように計画される図28参照。基板PJ2-2が基板収容器Cから払い出されると図5のステップS21:YES、当該基板PJ2-2がプロセスジョブ番号PJ2の最後の基板であるのでステップS22:YES、プロセスジョブ番号PJ2に関する使用権が削除されるステップS23。こうして、全ての対象基板に対するスケジューリングが完了するステップS17。以上のように、この実施形態によれば、共通のプロセスジョブ番号が付与された基板群に対して、そのプロセスジョブ番号に対応するレシピで指定された処理ユニット並行処理ユニットの使用権が設定される。この使用権が設定されているときには、その処理ユニットによる処理を表す処理ブロックとしては、当該使用権が設定されたプロセスジョブ番号の基板に対する処理を表す処理ブロックのみが配置可能となり、他のプロセスジョブ番号が付与された基板に対する処理を表す処理ブロックの配置は禁止される。したがって、一つの処理ユニットにおいて、或るプロセスジョブ番号の基板を処理しているときに、他のプロセスジョブ番号の基板に対する処理が割り込まないことを保証できる。また、或るプロセスジョブ番号に対する処理ユニットの使用権が削除されると、別のプロセスジョブ番号に対して当該処理ユニットの使用権設定が許容される。こうして、使用権の設定および削除を行うことで、一つの処理ユニットにおいて、或るプロセスジョブ番号の基板の処理の間に他のプロセスジョブ番号の基板の処理が割り込むことを回避できるので、基板処理装置のリソースとしての処理ユニットを効率的に稼働させることができる。これにより、個々の基板に対する処理ブロックを時間軸上に効率的に配置して枚葉型処理ユニット等のリソースの稼働率を高めることができるので、枚葉型基板処理装置の生産性を向上できる。また、或るプロセスジョブ番号に対して使用権が設定されているときでも、使用権が設定されていない処理ユニットのみを並行処理ユニットとして指定した別のプロセスジョブ番号があれば、当該別のプロセスジョブ番号に対する使用権設定が許容される。これにより、処理ユニット等のリソースの稼働効率を一層向上できる。そして、使用権未設定の処理ユニットの最終使用時刻が、使用権設定済みの処理ユニットの最終使用時刻よりも早ければ、その使用権未設定の処理ユニットを使うプロセスジョブ番号に使用権を設定して、そのプロセスジョブ番号の基板処理を開始することができる。これにより、処理ユニットの稼働率をさらに高めることができる。図29は、この発明の他の実施形態に係る基板処理装置のレイアウトを示す図解的な平面図であり、図30はその図解的な側面図である。図29および図30において、図1および図2に示された各部の対応部分には同一参照符号を付す。この実施形態では、インデクサロボットIRのハンド8A,8Bは、それぞれ2つの基板保持部を有しており、これらの基板保持部を切り換えて用いることができるように構成されている。より具体的には、各ハンド8A,8Bは、第1基板保持部および第2基板保持部を有していて、第1基板保持部で基板Wを保持する第1状態と、第2基板保持部で基板Wを保持する第2状態とで切り換え可能に構成されている。たとえば、未処理基板Wを保持するときは第1状態に制御され、処理済み基板Wを保持するときは第2状態に制御される。この構成によって、インデクサロボットIRは、いずれも第1状態とした2つのハンド8Aおよび8Bで2枚の未処理基板Wを同時に保持して搬送したり、いずれも第2状態とした2つのハンド8Aおよび8Bで2枚の処理済み基板Wを同時に保持して搬送したりすることができる。このような基板搬送ロボットの一例の具体的な構成例は、たとえば、特許文献3に記載されている。さらに、この実施形態では、主搬送ロボットCRは、4本のハンド13A,13B,13C,13Dを有している。これらの4本のハンド13A,13B,13C,13Dは、多関節アーム12に結合されている。多関節アーム12には、4本のハンド13A,13B,13C,13Dを独立して鉛直軸線回りに回動させる回動駆動機構と、4本のハンド13A,13B,13C,13Dを独立して水平方向に進退させる進退駆動機構とが備えられている。たとえば、2本のハンド13Aおよび13Bは未処理基板Wの搬送のために用いられ、2本のハンド13Cおよび13Dは処理済み基板Wの搬送のために用いられるように、主搬送ロボットCRの動作が制御される。この他の構成は、図1および図2等に示した構成と同様であり、基板処理装置の制御のための構成は、図3の構成と同様である。図31および図32は、スケジューリング機能部25による処理例第2の実施形態を説明するためのフローチャートである。より具体的には、制御部21コンピュータ20がスケジュール作成プログラム31を実行することによって行われる処理が表されている。換言すれば、スケジュール作成プログラム31には、図31および図32に示す処理をコンピュータに実行させるようにステップ群が組み込まれている。図31および図32において、図4および図5に示したステップと同様の処理が行われるステップには同一参照符号を付してある。ホストコンピュータ24からもしくは出入力部22からオペレータによって基板処理開始の指示が与えられるとステップS1、スケジューリング機能部25は、基板処理開始指示が与えられた全ての基板Wに関して、仮タイムテーブルを作成するステップS2。基板処理開始指示は、基板収容器Cに収容された全ての基板Wを一単位として発行されてもよい。基板処理開始指示は、一つまたは複数のプロセスジョブ番号が付与された基板Wの処理開始を指示するものであってもよい。たとえば、処理内容データにおいて或るプロセスジョブ番号に対応付けられたレシピが、処理ユニットSPIN1~SPIN4の並行処理を指定しているとする。すなわち、当該レシピに従う基板処理が、4個の処理ユニットSPIN1~SPIN4のいずれにおいても実行可能である場合を考える。この場合、当該プロセスジョブ番号が付与された基板Wが処理を受けるときに通る経路は、4通りである。すなわち、その基板Wの処理のために選択し得る経路は、処理ユニットSPIN1~SPIN4のいずれかを通る4個の経路である。そこで、スケジューリング機能部25は、その4個の経路に対応した仮タイムテーブルを作成する。こうして作成される仮タイムテーブルは、前述の図6の仮タイムテーブルと類似した仮タイムテーブルとなる。同様の仮タイムテーブルが同じプロセスジョブ番号が付与された基板Wの全てに対応して作成される。たとえば、同じプロセスジョブ番号が付与された基板Wが4枚あれば、合計で16経路4経路×4枚分の仮タイムテーブルが作成される。さらに、同時に開始指示されたプロセスジョブ番号が複数個ある場合には、全てのプロセスジョブ番号に関して、同様の処理が行われて仮タイムテーブルが作成される。こうして作成された仮タイムテーブルは、スケジュールデータ50の一部として記憶部23に格納される。仮タイムテーブルの作成段階では、別の基板Wに関するブロックとの干渉時間軸上での重なり合いは考慮されない。スケジューリング指示が発生するとステップS3、当該プロセスジョブ番号の基板Wに関するブロックの配置が行われる全体スケジューリング。ステップS4~S18。具体的には、スケジューリング機能部25は、当該基板Wの仮タイムテーブルを記憶部23から読み出して、その仮タイムテーブルを構成しているブロックを時間軸上に配置していく。さらに具体的に説明すると、スケジューリング機能部25は、基板処理開始の指示が与えられると、当該スケジューリング機能部25において基板処理手順を管理している全ての基板Wに関して、処理内容データプロセスジョブ番号およびレシピを記憶部23から取得するステップS4。さらに、スケジューリング機能部25は、基板収容器Cから搬出されて処理開始されている基板Wがあるかどうかを判断するステップS5。いずれの基板Wの処理も開始されていなければステップS5:NO、スケジューリング機能部25は、記憶部23から取得した処理内容データに対応する基板Wのうち、ステージSTで待機中であり、かつスケジューリングが行われていない基板Wがあるかどうかを判断するステップS7。この判断が肯定されると、さらに、スケジューリング機能部25は、インデクサロボットIRが一度に搬送可能な枚数この実施形態では2枚分の未処理基板Wに関するスケジューリングを行ったかどうかを判断するステップS18。この判断が肯定されれば、スケジューリングを一旦終えるステップS17。一度に搬送可能な枚数分の未処理基板Wのスケジューリングが未了のときはステップS18:NO、スケジューリング機能部25は、スケジューリングを行っていない基板Wのうち、処理順序が最も若い基板Wをスケジューリング対象基板Wとし、そのスケジューリング対象基板Wに関するデータ処理内容データおよびスケジュールデータを記憶部23から取得するステップS8。通常は、基板収容器Cにおいて上に位置している基板Wほど処理順序が若い。次に、スケジューリング機能部25は、データを取得した当該スケジューリング対象基板Wと共通のプロセスジョブ番号が付与された別の基板Wに対するスケジューリングを既に行ったかどうかを判断するステップS9。或るプロセスジョブ番号の最初の基板がスケジューリング対象基板Wであるときには、この判断が否定される。すると、スケジューリング機能部25は、スケジューリング対象基板Wに対応するレシピを参照し、そのレシピにおいて指定された並行処理ユニットが全て使用可能である、すなわち、並行処理ユニットのいずれにも使用権が設定されていないかどうかを判断するステップS10。スケジューリングを開始した直後には、いずれの使用権も設定されていないので、ステップS10の判断が肯定される。この場合、スケジューリング機能部25は、スケジューリング対象基板Wのプロセスジョブ番号に対応するレシピで指定された並行処理ユニットの全てに対して使用権を設定するステップS11。たとえば、レシピにおいて処理ユニットSPIN1~SPIN4での並行処理が指定されていれば、スケジューリング対象基板Wが属するプロセスジョブ番号PJ1の基板群に対して、処理ユニットSPIN1~SPIN4の使用権が設定される。この使用権が設定されている間は、他のプロセスジョブ番号の基板群の処理ブロックを処理ユニットSPIN1~SPIN4に配置することはできない。すなわち、プロセスジョブ番号PJ1の使用権が設定されている処理ユニットを並行処理ユニットとして指定している他のプロセスジョブの基板Wに関しては、ステップS10の判断が否定され、スケジューリング対象外基板とされて、スケジューリングが禁止される。使用権が設定されたプロセスジョブ番号の別の基板Wがスケジューリング対象基板Wとなったときは、ステップS9の判断が肯定され、ステップS10およびS11の処理が省かれる。次いで、スケジューリング機能部25は、スケジューリング対象基板Wに対するスケジューリングを実行する。具体的には、スケジューリング機能部25は、スケジューリング対象基板Wに対応する仮タイムテーブルを参照し、当該仮タイムテーブルを構成するブロックを一つ取得するステップS12。このとき取得されるブロックは、未配置のブロックのうち仮タイムテーブルの時間軸上で最も早い位置に配置されているブロックである。さらに、スケジューリング機能部25は、当該取得したブロックを配置できる位置を検索しステップS13、その検索された位置に当該ブロックを配置するステップS14。各ブロックは、同一リソースが同じ時間に重複して使用されないようにしながら、時間軸上で最も早い位置に配置される。同様の動作が、仮タイムテーブルを構成する全てのブロックに関して繰り返し実行されるステップS15。そして、仮タイムテーブルを構成する全てのブロックを配置し終えるとステップS15:YES、スケジューリング機能部25は、各処理ユニットの最終使用時刻を計算し、その計算結果を記憶部23に格納するステップS16。最終使用時刻の初期値は0である。この後は、ステップS7からの処理が繰り返される。処理開始指示された全てのプロセスジョブ番号の全基板Wに関するスケジューリングを終えるとステップS7:NO、全体スケジューリングが完了する。図32は、スケジューリング機能部25が図31の処理と並行して行う別の処理を説明するためのフローチャートであり、使用権の削除に関する処理を示す。インデクサロボットIRによって基板Wが基板収容器Cから払い出されるとステップS21、スケジューリング機能部25は、その基板Wが共通のプロセスジョブ番号が与えられた基板群のうちの最後の基板かどうかを判断するステップS22。最後の基板であればステップS22:YES、スケジューリング機能部25は、そのプロセスジョブ番号の基板群に対して設定されている使用権を削除するステップS23。最後の基板でなければステップS22:NO、使用権削除を行わない。図33~図44は、プロセスジョブ番号PJ1,PJ2,PJ3が付された3つの基板群プロセスジョブに対するスケジューリングの例を示す。プロセスジョブ番号PJ1の基板群は8枚の基板Wで構成され、処理内容データ中のレシピによって、2つの処理ユニットSPIN1~SPIN2が並行処理ユニットとして指定されているものとする。また、プロセスジョブ番号PJ2の基板群は2枚の基板Wで構成され、処理内容データ中のレシピによって4つの処理ユニットSPIN1~SPIN4が並行処理ユニットとして指定されているものとする。さらに、プロセスジョブ番号PJ3の基板群は2枚の基板Wで構成され、処理内容データ中のレシピによって、2つの処理ユニットSPIN3~SPIN4が並行処理ユニットとして指定されているものとする。そして、プロセスジョブ番号PJ1,PJ2,PJ3の基板群に対して、この番号順に処理開始されて、スケジューリング指示が発生する場合を想定する。なお、図33等のスケジューリング経過または結果を表す図面において、主搬送ロボットCRのハンド13A,13B,13C,13Dは、それぞれCR1、CR2、CR3、CR4と表記してある。基板処理開始指示が与えられると図31のステップS1、スケジューリング機能部25は、仮タイムテーブルを作成する。すなわち、スケジューリング機能部25は、プロセスジョブ番号PJ1の8枚の基板Wに対して、それぞれ処理ユニットSPIN1またはSPIN2を通る経路を表す仮タイムテーブルを作成する。また、スケジューリング機能部25は、プロセスジョブ番号PJ2の2枚の基板Wに対して、それぞれ処理ユニットSPIN1~SPIN4のいずれか一つを通る経路を表す仮タイムテーブルを作成する。さらに、スケジューリング機能部25は、プロセスジョブ番号PJ3の2枚の基板Wに対して、それぞれ処理ユニットSPIN3またはSPIN4を通る経路を表す仮タイムテーブルを作成する。作成された仮タイムテーブルは、記憶部23に格納される。プロセスジョブ番号PJ1,PJ2,PJ3に対する処理開始が順に指示され、それに応答してスケジューリング指示が発生すると図31のステップS3、スケジューリング機能部25は、記憶部23に格納された全ての仮タイムテーブル、すなわち、プロセスジョブ番号PJ1~PJ3に対応する全ての基板Wの仮タイムテーブルを読み出して、全体スケジューリングを開始する。既に処理開始している他の基板Wは存在しないのでステップS5:NO、スケジューリング機能部25は、最終使用時刻の最も早い処理ユニットを検索する。はじめは、いずれの処理ユニットの最終使用時刻も0であるので、番号の最も若い処理ユニットSPIN1を使うプロセスジョブのうち、最も早く処理開始指示されたプロセスジョブ番号PJ1についての評価が行われる。この場合、プロセスジョブ番号PJ1の基板Wについてのスケジューリングは未了でありステップS7:YES、インデクサロボットIRの同時搬送数この実施形態では2以上の未処理基板Wのスケジューリングが未了であるのでステップS18:NO、スケジューリング機能部25は、プロセスジョブ番号PJ1の1枚目の基板PJ1-1の仮タイムテーブルを記憶部23から取得するステップS8。プロセスジョブ番号PJ1の他の基板Wに対するスケジューリングはされておらずステップS9:NO、いずれの処理ユニットに対しても使用権は未設定であるのでステップS10:YES、スケジューリング機能部25は、プロセスジョブ番号PJ1のレシピで指定された並行処理ユニットSPIN1~SPIN2に関する使用権を、プロセスジョブ番号PJ1の基板群に対して設定するステップS11。その後、スケジューリング機能部25は、プロセスジョブ番号PJ1の1枚目の基板PJ1-1の仮タイムテーブルを構成するブロックを配置していくステップS12~S15。そして、各処理ユニットの最終使用時刻が計算されて、記憶部23に格納されるステップS16。図33は、プロセスジョブ番号PJ1の1枚目の基板PJ1-1に関するブロックを配置した例を示す。いずれの処理ユニットも使用されていない状態であるので、処理ユニットSPIN1を通る経路を表す仮タイムテーブルが選択され、その仮タイムテーブルを構成するブロックが、時間軸上で前詰めに配置される。スケジューリング機能部25は、図31のステップS16での処理の後、ステップS7からの処理を行う。ステップS7において、スケジューリング機能部25は、最終使用時刻の最も早い処理ユニットを検索する。この場合、処理ユニットSPIN2~4の最終使用時刻が0であるので、番号の最も若い処理ユニットSPIN2を使うプロセスジョブ番号PJ1,PJ2のうち、最も早く処理開始指示されたプロセスジョブ番号PJ1についての評価が行われる。プロセスジョブ番号PJ1の基板Wについてのスケジューリングは未了でありステップS7:YES、スケジューリングした基板Wの枚数がインデクサロボットIRの同時搬送数この実施形態では2に満たないのでステップS18:NO、スケジューリング機能部25は、プロセスジョブ番号PJ1の2枚目の基板PJ1-2の仮タイムテーブルを記憶部23から取得するステップS8。プロセスジョブ番号PJ1の他の基板PJ1-1に対するスケジューリングがされているのでステップS9:YES、スケジューリング機能部25は、プロセスジョブ番号PJ1の2枚目の基板PJ1-2の仮タイムテーブルを構成するブロックを配置していくステップS12~S15。図34は、プロセスジョブ番号PJ1の2枚目の基板PJ1-2に関するブロックを配置した例を示す。並行処理ユニットSPIN1に対して1枚目の基板PJ1-1のための処理ブロックが配置されているので、処理ユニットSPIN2を通る経路を表す仮タイムテーブルが選択される。その仮タイムテーブルを構成するブロックが、既に配置されたブロックと干渉しないように、時間軸上で前詰めに配置される。インデクサロボットIRのハンド8Aおよび8Bは、基板Wを同時に搬送可能であるので、これらのハンド8A,8Bによる基板搬送を表すブロックは時間軸上で重なり合うように配置される。こうして、2枚の基板PJ1-1,PJ1-2のスケジューリングが完成すると、それらの基板PJ1-1,PJ1-2の搬送が開始される。基板PJ1-1,PJ1-2が基板収容器Cから払い出されると図32のステップS21、基板PJ1-2はプロセスジョブ番号PJ1の最後の基板ではないのでステップS22:NO、プロセスジョブ番号PJ1に関する使用権はそのまま維持される。そして、プロセスジョブ番号PJ1の3枚目の基板PJ1-3およびプロセスジョブ番号PJ2,PJ3に関するスケジューリング指示が発生しステップS3:YES、ステップS4からの動作が行われる。すなわち、スケジューリング指示発生に応答して、スケジューリング機能部25は、記憶部23に格納された全ての仮タイムテーブル、すなわち、プロセスジョブ番号PJ1~PJ3に対応する全ての基板Wの仮タイムテーブルを読み出す。既に処理開始している基板PJ1-1,PJ1-2があるのでステップS5:YES、それらの基板PJ1-1,PJ1-2についてのスケジューリングを行うステップS6。その結果は、図34と同じである。一方、このスケジューリング指示が発生する前には、スケジューリング機能部25は、図31のステップS16での処理の後、ステップS7からの処理を行う。ステップS7において、スケジューリング機能部25は、最終使用時刻の最も早い処理ユニットを検索する。この場合、処理ユニットSPIN3~4の最終使用時刻が0であるので、番号の最も若い処理ユニットSPIN3を使うプロセスジョブ番号PJ2,PJ3のうち、最も早く処理開始指示されたプロセスジョブ番号PJ2についての評価が行われる。しかし、プロセスジョブ番号PJ2の並行処理ユニットのうち処理ユニットSPIN1,SPIN2に対してプロセスジョブ番号PJ1の使用権が設定されているため、プロセスジョブ番号PJ2に関しては、図31のステップS10での判断が否定となり、スケジューリング対象外と判定されることになる。その結果、プロセスジョブ番号PJ3がスケジューリングの対象となる。プロセスジョブ番号PJ3の基板Wについてのスケジューリングは未了であるので、ステップS7での判断は肯定される。一方、インデクサロボットIRのハンド8A,8Bにより同時搬送される基板PJ1-1,PJ1-2の払い出しが未了であれば、スケジューリングした基板Wの枚数がインデクサロボットIRの同時搬送数この実施形態では2に達して、ステップS18での判断が肯定され、スケジューリング終了となるステップS17。インデクサロボットIRのハンド8A,8Bによって基板PJ1-1,PJ1-2の払い出しを終えてスケジューリング指示が発生すると、スケジューリングした基板枚数がリセットされて、ステップS18での判断が否定される。これにより、スケジューリング機能部25は、プロセスジョブ番号PJ3の1枚目の基板PJ3-1の仮タイムテーブルを記憶部23から取得するステップS8。プロセスジョブ番号PJ3の他の基板Wに対するスケジューリングはされておらずステップS9:NO、プロセスジョブ番号PJ3のレシピにおいて指定された並行処理ユニットSPIN3~SPIN4に対する使用権は未設定であるのでステップS10:YES、スケジューリング機能部25は、それらの並行処理ユニットSPIN3~SPIN4に関する使用権を、プロセスジョブ番号PJ3の基板群に対して設定するステップS11。その後、スケジューリング機能部25は、プロセスジョブ番号PJ3の1枚目の基板PJ3-1の仮タイムテーブルを構成するブロックを配置していくステップS12~S15。図35に、プロセスジョブ番号PJ3の1枚目の基板PJ3-1に関するブロックを配置した例を示す。処理ユニットSPIN3,SPIN4のいずれの処理ユニットも使用されていない状態であるので、処理ユニットSPIN3を通る経路を表す仮タイムテーブルが選択されて、その仮タイムテーブルのブロックが配置されている。同様の処理が行われることにより、最終使用時刻が最も早い処理ユニットSPIN4を使用するプロセスジョブ番号PJ3の2枚目の基板PJ3-2に関するスケジューリングが行われることになる。図36に、プロセスジョブ番号PJ3の2枚目の基板PJ3-2に関するブロックを配置した例を示す。並行処理ユニットSPIN3に対して1枚目の基板PJ3-1のための処理ブロックが配置されているので、処理ユニットSPIN4を通る経路を表す仮タイムテーブルが選択されて、その仮タイムテーブルのブロックが配置されている。こうして、2枚の基板PJ3-1,PJ3-2のスケジューリングが完成すると、それらの基板PJ3-1,PJ3-2の搬送が開始される。基板PJ3-1,PJ3-2が基板収容器Cから払い出されると図32のステップS21、基板PJ3-2がプロセスジョブ番号PJ3の最後の基板であるのでステップS22:YES、プロセスジョブ番号PJ3に関する使用権が削除されるステップS23。そして、プロセスジョブ番号PJ1~PJ3に関するスケジューリング指示が発生しステップS3、ステップS4からの動作が行われる。すなわち、スケジューリング指示発生に応答して、スケジューリング機能部25は、記憶部23に格納された全ての仮タイムテーブル、すなわち、プロセスジョブ番号PJ1~PJ3に対応する全ての基板Wの仮タイムテーブルを読み出す。既に処理開始している基板PJ1-1,PJ1-2,PJ3-1,PJ3-2があるのでステップS5:YES、それらの基板PJ1-1,PJ1-2,PJ3-1,PJ3-2についてのスケジューリングを行うステップS6。その結果は、図36と同じである。一方、このスケジューリング指示が発生する前には、スケジューリング機能部25は、図31のステップS16での処理の後、ステップS7からの処理を行う。ステップS7において、スケジューリング機能部25は、最終使用時刻の最も早い処理ユニットを検索する。この場合、対象のプロセスジョブ番号PJ1~PJ3のうちのいずれかで使用する処理ユニットSPIN1~SPIN4のうち、処理ユニットSPIN1の最終使用時刻が最も早いので、処理ユニットSPIN1を使うプロセスジョブ番号PJ1,PJ2のうち、最も早く処理開始指示されたプロセスジョブ番号PJ1についての評価が行われる。プロセスジョブ番号PJ1の3枚目以降の基板についてのスケジューリングは未了であるのでステップS7:YES、ステップS7での判断は肯定される。一方、インデクサロボットIRのハンド8A,8Bにより同時搬送される基板PJ3-1,PJ3-2の払い出しが未了であれば、スケジューリングした基板Wの枚数がインデクサロボットIRの同時搬送数この実施形態では2に達して、ステップS18での判断が肯定され、スケジューリング終了となるステップS17。インデクサロボットIRのハンド8A,8Bによって基板PJ3-1,PJ3-2の払い出しを終えてスケジューリング指示が発生すると、スケジューリングした基板枚数がリセットされて、ステップS18での判断が否定される。これにより、スケジューリング機能部25は、プロセスジョブ番号PJ1の3枚目の基板PJ1-3の仮タイムテーブルを記憶部23から取得するステップS8。プロセスジョブ番号PJ1の他の基板PJ1-1,PJ1-2に対するスケジューリングがされているのでステップS9:YES、スケジューリング機能部25は、プロセスジョブ番号PJ1の3枚目の基板PJ1-3の仮タイムテーブルを構成するブロックを配置していくステップS12~S15。図37に、プロセスジョブ番号PJ1の3枚目の基板PJ1-3に関するブロックを配置した例を示す。処理ユニットSPIN1に対してすでに処理ブロックが配置されているので、処理ユニットSPIN1を通る経路を表す仮タイムテーブルを構成するブロックが、既に配置されたブロックと干渉しないように、時間軸上で前詰めに配置される。同様の処理が行われることにより、最終使用時刻が最も早い処理ユニットSPIN2を使用するプロセスジョブ番号PJ1の4枚目の基板PJ1-4に関するスケジューリングが行われることになる。図38に、プロセスジョブ番号PJ1の4枚目の基板PJ1-4に関するブロックを配置した例を示す。処理ユニットSPIN2を通る経路を表す仮タイムテーブルが選択されて、その仮タイムテーブルのブロックが配置されている。こうして、2枚の基板PJ1-3,PJ1-4のスケジューリングが完成すると、それらの基板PJ1-3,PJ1-4の搬送が開始される。基板PJ1-3,PJ1-4が基板収容器Cから払い出されると図32のステップS21、基板PJ1-4はプロセスジョブ番号PJ1の最後の基板ではないのでステップS22:YES、プロセスジョブ番号PJ1に関する使用権が維持される。そして、プロセスジョブ番号PJ1~PJ3に関するスケジューリング指示が発生しステップS3、ステップS4からの動作が行われる。すなわち、スケジューリング指示発生に応答して、スケジューリング機能部25は、記憶部23に格納された全ての仮タイムテーブル、すなわち、プロセスジョブ番号PJ1~PJ3に対応する全ての基板Wの仮タイムテーブルを読み出す。既に処理開始している基板PJ1-1~4,PJ3-1~2があるのでステップS5:YES、それらの基板PJ1-1~4,PJ3-1~2についてのスケジューリングを行うステップS6。その結果は、図38と同じである。一方、このスケジューリング指示が発生する前には、スケジューリング機能部25は、図31のステップS16での処理の後、ステップS7からの処理を行う。ステップS7において、スケジューリング機能部25は、最終使用時刻の最も早い処理ユニットを検索する。この場合、対象のプロセスジョブ番号PJ1~PJ3のうちのいずれかで使用する処理ユニットSPIN1~SPIN4のうち、処理ユニットSPIN3の最終使用時刻が最も早いので図38参照、処理ユニットSPIN3を使うプロセスジョブ番号PJ2,PJ3のうち、最も早く処理開始指示されたプロセスジョブ番号PJ2についての評価が行われる。しかし、プロセスジョブ番号PJ2の並行処理ユニットのうち処理ユニットSPIN1,SPIN2に対してプロセスジョブ番号PJ1の使用権が設定されているため、プロセスジョブ番号PJ2に関しては、図31のステップS10での判断が否定となり、スケジューリング対象外と判定されることになる。その結果、プロセスジョブ番号PJ1がスケジューリングの対象となる。そして、プロセスジョブ番号PJ1のレシピで指定された並行処理ユニットSPIN1,SPIN2のうち、最終使用時刻が最先の処理ユニットSPIN1についての評価が行われることになる。プロセスジョブ番号PJ1の5枚目以降の基板についてのスケジューリングは未了であるのでステップS7:YES、ステップS7での判断は肯定される。一方、インデクサロボットIRのハンド8A,8Bにより同時搬送される基板PJ3-1,PJ3-2の払い出しが未了であれば、スケジューリングした基板Wの枚数がインデクサロボットIRの同時搬送数この実施形態では2に達して、ステップS18での判断が肯定され、スケジューリング終了となるステップS17。インデクサロボットIRのハンド8A,8Bによって基板PJ1-3,PJ1-4の払い出しを終えてスケジューリング指示が発生すると、スケジューリングした基板枚数がリセットされて、ステップS18での判断が否定される。これにより、スケジューリング機能部25は、プロセスジョブ番号PJ1の5枚目の基板PJ1-5の仮タイムテーブルを記憶部23から取得するステップS8。プロセスジョブ番号PJ1の他の基板に対するスケジューリングがされているのでステップS9:YES、スケジューリング機能部25は、プロセスジョブ番号PJ1の5枚目の基板PJ1-5の仮タイムテーブルを構成するブロックを配置していくステップS12。この場合、プロセスジェブ番号PJ1のレシピで指定された並行処理ユニットSPIN1,SPIN2のうち、最終使用時刻が最先の処理ユニットSPIN1を通る経路を表す仮タイムテーブルが用いられる。図39に、プロセスジョブ番号PJ1の5枚目の基板PJ1-5に関するブロックを配置した例を示す。処理ユニットSPIN1に対してすでに処理ブロックが配置されているので、処理ユニットSPIN1を通る経路を表す仮タイムテーブルを構成するブロックが、既に配置されたブロックと干渉しないように、時間軸上で前詰めに配置される。同様の処理が行われることにより、プロセスジョブ番号PJ1の6番目の基板PJ1-6が処理ユニットSPIN2で処理するように計画され図40参照、プロセスジョブ番号PJ1の7番目の基板PJ1-7が処理ユニットSPIN1で処理するように計画され図41参照、プロセスジョブ番号PJ1の8番目の基板PJ1-8が処理ユニットSPIN2で処理するように計画される図42参照。基板PJ1-7,PJ1-8が基板収容器Cから払い出されると図32のステップS21、当該基板PJ1-8がプロセスジョブ番号PJ1の最後の基板であるのでステップS22:YES、プロセスジョブ番号PJ1に関する使用権が削除されるステップS23。そして、プロセスジョブ番号PJ1~PJ3に関するスケジューリング指示が発生するステップS3:YES。このとき、スケジューリング機能部25は、最終使用時刻の最も早い処理ユニットを検索する。この場合、対象のプロセスジョブ番号PJ1~PJ3のうちのいずれかで使用する処理ユニットSPIN1~SPIN4のうち、処理ユニットSPIN3の最終使用時刻が最も早いので、処理ユニットSPIN3を使うプロセスジョブ番号PJ2,PJ3のうち、最も早く処理開始指示されたプロセスジョブ番号PJ2についての評価が行われる。スケジューリング指示発生に応答して、スケジューリング機能部25は、記憶部23に格納された全ての仮タイムテーブル、すなわち、プロセスジョブ番号PJ1~PJ3に対応する全ての基板Wの仮タイムテーブルを読み出す。既に処理開始している基板PJ1-1~8,PJ3-1~2があるのでステップS5:YES、それらの基板PJ1-1~8,PJ3-1~2についてのスケジューリングを行うステップS6。その結果は、図42と同じである。プロセスジョブ番号PJ2の基板についてのスケジューリングは未了であるのでステップS7:YES、ステップS7での判断は肯定される。一方、インデクサロボットIRのハンド8A,8Bによって基板PJ1-7,PJ1-8の払い出しを終えてスケジューリング指示が発生すると、スケジューリングした基板枚数がリセットされて、ステップS18での判断が否定される。これにより、スケジューリング機能部25は、プロセスジョブ番号PJ2の1枚目の基板PJ2-1の仮タイムテーブル処理ユニットSPIN3を通るものを記憶部23から取得するステップS8。プロセスジョブ番号PJ2の他の基板に対するスケジューリングは未了でありステップS9:NO、プロセスジョブ番号PJ2のレシピにおいて指定された並行処理ユニットSPIN1~SPIN4に対する使用権は未設定であるのでステップS10:YES、スケジューリング機能部25は、それらの並行処理ユニットSPIN1~SPIN4に関する使用権を、プロセスジョブ番号PJ2の基板群に対して設定するステップS11。その後、スケジューリング機能部25は、プロセスジョブ番号PJ2の1枚目の基板PJ2-1の仮タイムテーブルを構成するブロックを配置していくステップS12~S15。図43に、プロセスジョブ番号PJ2の1枚目の基板PJ2-1に関するブロックを配置した例を示す。プロセスジョブ番号PJ1の最後の基板PJ1-8の搬送開始まで、処理ユニットSPIN1~SPIN2に対するプロセスジョブ番号PJ1の使用権が削除されないので、基板PJ2-1に関するブロックは、基板PJ1-8を基板収容器Cから払い出す動作を指定するブロックよりも時間軸上において後に配置することになる。したがって、基板PJ2-1に対する処理が基板PJ1-8に対する処理を追い越すような計画が立てられることはない。同様の処理が行われることにより、プロセスジョブ番号PJ2の2番目の基板PJ2-2が処理ユニットSPIN4で処理するように計画される図44参照。2枚の基板PJ2-1,PJ2-2が基板収容器Cから払い出されると図32のステップS21、基板PJ2-2がプロセスジョブ番号PJ2の最後の基板であるのでステップS22:YES、プロセスジョブ番号PJ2に関する使用権が削除されるステップS23。こうして、全ての対象基板に対するスケジューリングが完了するステップS7:NO。ステップS17。以上のように、この実施形態によれば、第1の実施形態の場合と同様の効果に加えて、次のような効果が得られる。すなわち、インデクサロボットIR、同時に2枚の基板Wを搬送できるので、インデクサロボットIRに関して、2枚の基板の搬送を表す搬送ブロックを時間軸上で重なり合うように配置される。これにより、2枚の基板の同時搬送を計画することができるから、基板搬送効率を高めることができ、それによって、基板処理装置の生産性を高めることができる。図45は、この発明のさらに他の実施形態を説明するための図であり、スケジューリング機能部25による処理例第3の実施形態を説明するためのフローチャートである。この実施形態における基板処理装置の構成は、図29および図30のとおりであり、その電気的構成は図3に示す構成と同様である。図45には、制御部21コンピュータ20がスケジュール作成プログラム31を実行することによって行われる処理が表されている。換言すれば、スケジュール作成プログラム31には、図45に示す処理をコンピュータに実行させるようにステップ群が組み込まれている。ホストコンピュータ24からもしくは出入力部22からオペレータによって基板処理開始の指示が与えられるとステップS31、スケジューリング機能部25は、基板処理開始指示が与えられた全ての基板Wに関して、仮タイムテーブルを作成するステップS32。基板処理開始指示は、基板収容器Cに収容された全ての基板Wを一単位として発行されてもよい。基板処理開始指示は、一つまたは複数のプロセスジョブ番号が付与された基板Wの処理開始を指示するものであってもよい。たとえば、処理内容データにおいて或るプロセスジョブ番号に対応付けられたレシピが、処理ユニットSPIN1~SPIN4の並行処理を指定しているとする。すなわち、当該レシピに従う基板処理が、4個の処理ユニットSPIN1~SPIN4のいずれにおいても実行可能である場合を考える。この場合、当該プロセスジョブ番号が付与された基板Wが処理を受けるときに通る経路は、4通りである。すなわち、その基板Wの処理のために選択し得る経路は、処理ユニットSPIN1~SPIN4のいずれかを通る4個の経路である。そこで、スケジューリング機能部25は、その4個の経路に対応した仮タイムテーブルを作成する。こうして作成される仮タイムテーブルは、前述の図6の仮タイムテーブルと類似したテーブルとなる。同様の仮タイムテーブルが同じプロセスジョブ番号が付与された基板Wの全てに対応して作成される。たとえば、同じプロセスジョブ番号が付与された基板Wが4枚あれば、合計で16経路4経路×4枚分の仮タイムテーブルが作成される。さらに、同時に開始指示されたプロセスジョブ番号が複数個ある場合には、全てのプロセスジョブ番号に関して、同様の処理が行われて仮タイムテーブルが作成される。こうして作成された仮タイムテーブルは、スケジュールデータ50の一部として記憶部23に格納される。仮タイムテーブルの作成段階では、別の基板Wに関するブロックとの干渉時間軸上での重なり合いは考慮されない。スケジューリング指示が発生するとステップS33:YES、基板Wの処理に関するブロックの配置が行われる全体スケジューリング。ステップS34~S52。具体的には、スケジューリング機能部25は、当該基板Wの仮タイムテーブルを記憶部23から読み出して、その仮タイムテーブルを構成しているブロックを時間軸上に配置していく。さらに具体的に説明すると、スケジューリング機能部25は、基板処理開始の指示が与えられると、当該スケジューリング機能部25において基板処理手順を管理している全ての基板Wに関して、処理内容データプロセスジョブ番号およびレシピを記憶部23から取得するステップS34。さらに、スケジューリング機能部25は、基板収容器Cから搬出されて処理開始されている基板Wがあるかどうかを判断するステップS35。いずれの基板Wの処理も開始されていなければステップS35:NO、スケジューリング機能部25は、記憶部23から取得した処理内容データに対応する基板Wのうち、ステージSTで待機中であり、かつスケジューリングが行われていない基板Wがあるかどうかを判断するステップS37。この判断が肯定されると、さらに、スケジューリング機能部25は、インデクサロボットIRが一度に搬送可能な枚数この実施形態では2枚分の未処理基板Wに関するスケジューリングを行ったかどうかを判断するステップS38。この判断が肯定されれば、スケジューリングを一旦終える。一度に搬送可能な枚数分の未処理基板Wのスケジューリングが未了のときはステップS38:NO、スケジューリング機能部25は、スケジューリングを行っていない基板Wのうち、処理順序が最も若い基板Wをスケジューリング対象基板Wとし、そのスケジューリング対象基板Wに関するデータ処理内容データおよびスケジュールデータを記憶部23から取得するステップS39。通常は、基板収容器Cにおいて上に位置している基板Wほど処理順序が若い。次に、スケジューリング機能部25は、スケジューリング対象基板Wのプロセスジョブ番号に対応するレシピデータで指定されている並行処理ユニットのうちの少なくとも一つが使用可能かどうか、すなわち他のプロセスジョブ番号の使用権が設定されていないかどうかを判断するステップS40。最初の基板Wに対してスケジューリングを行うときには、いずれの処理ユニットに対しても使用権は未設定である。そこで、スケジューリング機能部25は、使用可能な処理ユニットのうちで、最終使用時刻が最も小さい処理ユニットを特定するステップS41。各処理ユニットの最終使用時刻の初期値は0である。最小の最終使用時刻を有する複数の処理ユニットが存在するときは、たとえば番号の若い処理ユニットを選択すればよい。次に、スケジューリング機能部25は、スケジューリング対象基板Wよりも後にスケジューリング指示が与えられた未スケジューリングの別のプロセスジョブ共通のプロセスジョブ番号が付与された基板群があり、かつそのプロセスジョブのレシピにおいて指定された並行処理ユニットの少なくとも一つが使用可能かどうか、すなわち、使用権未設定かどうかを判断するステップS42。別のプロセスジョブのスケジューリング指示がなければ、この判断が否定され、スケジューリング機能部25は、スケジューリング対象基板Wのプロセスジョブ番号に対して指定された並行処理ユニットただし使用可能なものに対して、当該プロセスジョブの使用権を設定するステップS43。たとえば、レシピにおいて処理ユニットSPIN1~SPIN4での並行処理が指定されていれば、図46に示すように、スケジューリング対象基板Wが属するプロセスジョブ番号PJ1の基板群に対して、処理ユニットSPIN1~SPIN4の使用権が設定される。この使用権が設定されている間は、他のプロセスジョブ番号の基板群の処理ブロックを処理ユニットSPIN1~SPIN4に配置することはできない。次いで、スケジューリング機能部25は、スケジューリング対象基板Wに対するスケジューリングを実行する。具体的には、スケジューリング機能部25は、スケジューリング対象基板Wに対応する仮タイムテーブルを参照し、当該仮タイムテーブルを構成するブロックを一つ取得するステップS44。このとき取得されるブロックは、未配置のブロックのうち仮タイムテーブルの時間軸上で最も早い位置に配置されているブロックである。さらに、スケジューリング機能部25は、当該取得したブロックを配置できる位置を検索しステップS45、その検索された位置に当該ブロックを配置するステップS46。各ブロックは、同一リソースが同じ時間に重複して使用されないようにしながら、時間軸上で最も早い位置に配置される。同様の動作が、仮タイムテーブルを構成する全てのブロックに関して繰り返し実行されるステップS47。そして、仮タイムテーブルを構成する全てのブロックを配置し終えるとステップS47:YES、スケジューリング機能部25は、そのスケジューリングされた処理ブロックの実行後における各処理ユニットの最終使用時刻を計算し、その計算結果を記憶部23に格納するステップS48。最終使用時刻の初期値は0である。次に、スケジューリング機能部25は、スケジューリング対象基板Wが、共通のプロセスジョブ番号が与えられた基板群のうちの最後の基板かどうかを判断するステップS49。最後の基板であればステップS49:YES、スケジューリング機能部25は、そのプロセスジョブ番号の基板群に対して設定されている使用権を削除するステップS50。最後の基板でなければステップS49:NO、使用権削除を行わない。この後は、ステップS37からの処理が繰り返される。処理開始指示された全てのプロセスジョブ番号の全基板Wに関するスケジューリングを終えるとステップS37:NO、全体スケジューリングが完了するステップS53。図46には、プロセスジョブ番号PJ1の最初の基板PJ1-1に対応する仮タイムテーブルを構成する全てのブロックを配置した例を示す。スケジューリング機能部25は、同一リソースのスペースでブロックが重なり合わないように各ブロックを配置する。最初の基板のスケジューリングであるので、いずれの処理ユニットも使用されていない状態であるので、処理ユニットSPIN1を通る経路を表す仮タイムテーブルが選択され、その仮タイムテーブルを構成するブロックが、時間軸上で前詰めに配置されている。プロセスジョブ番号PJ1の1枚目の基板Wのスケジューリングの後、スケジューリング機能部25は、ステップS37からの処理を行って、当該プロセスジョブ番号PJ1の2枚目の基板Wのスケジューリングを開始する。この場合、プロセスジョブ番号PJ1の基板Wについてのスケジューリングは未了でありステップS37:YES、スケジューリングした基板Wの枚数がインデクサロボットIRの同時搬送数この実施形態では2に満たないのでステップS38:NO、スケジューリング機能部25は、スケジュール未了のプロセスジョブのなかでスケジューリング指示が最も早いプロセスジョブ番号の処理順序が最も早い基板W、すなわちプロセスジョブ番号PJ1の2枚目の基板PJ1-2をスケジューリング対象基板とし、そのスケジューリング対象基板に関するデータを記憶部23から取得するステップS39。プロセスジョブ番号PJ1の使用権が設定されているので、ステップS40の判断は肯定となり、スケジューリング機能部25は、使用可能な処理ユニットこの場合、使用権が設定された処理ユニットのうちで、最終使用時刻が最も小さい処理ユニットたとえば処理ユニットSPIN2を特定するステップS41。スケジューリング対象基板Wよりも後でスケジューリング指示された別のプロセスジョブがなければステップS42:NO、ステップS43からの処理を行って、プロセスジョブ番号PJ1の2枚目の基板PJ1-2についてのスケジューリングが行われるステップS44~S47。この場合、処理ユニットSPIN2を通る経路を表す仮タイムテーブルが選択され、その仮タイムテーブルから取り出したブロックが配置される。ステップS41では、1枚目の基板PJ1-1の処理のための処理ブロックが処理ユニットSPIN1に対してすでに配置されているので、残りの並行処理ユニットSPIN2~SPIN4をそれぞれ通る3つの経路を表す3つの仮タイムテーブルのなかから処理ユニットの最終使用時刻が最も早い仮タイムテーブルが選択される。最終使用時刻が等しい場合には、番号の若い処理ユニットを通る経路に対応した仮タイムテーブルが選択される。具体的には、処理ユニットSPIN2が選択されることになる。したがって、処理ユニットSPIN2を通る仮タイムテーブルを用いてプロセスジョブ番号PJ1の2枚目の基板PJ1-2に対してスケジューリングが行われる。具体的なスケジューリング例を図47に示す。インデクサロボットIRのハンド8Aおよび8Bは同時に2枚の未処理基板Wまたは処理済み基板Wを搬送することができるので、インデクサロボットIRによる基板PJ1-1,PJ1-2の搬送を表すブロックが、時間軸上で重なり合うように配置されている。また、主搬送ロボットCRとインデクサロボットIRとの間では、2枚の未処理基板Wの受け渡しを同時に実行でき、また2枚の処理済み基板Wの受け渡しを同時に実行できるので、それらの各2枚の基板Wの受け渡しを表すブロックが時間軸上で重なりあって配置されている。同様にして、プロセスジョブ番号PJ1の3枚目の基板PJ1-3に対してスケジューリングを行うことにより、図48に示すスケジューリング結果が得られる。さらに同様にして、プロセスジョブ番号PJ1の4枚目の基板PJ1-4に対してスケジューリングを行うことにより、図49に示すスケジューリング結果が得られる。図10との比較により明らかなとおり、インデクサロボットIRによる基板搬送を表す搬送ブロックを時間軸上で重ねて配置できるので、全体の処理時間を短くすることができる。ブロック配置位置を検索するときステップS45、スケジューリング機能部25は、同一リソースに対して時間軸上でブロックが重なり合うことがなく、かつできるだけ時間軸上の早い位置を検索する。プロセスジョブ番号PJ1の全ての基板Wに関してスケジューリングを終えるとステップS49:YES、スケジューリング機能部25は、その直後、すなわち、最後にスケジューリングされた基板Wの搬送開始基板収容器Cからの払い出しを待つことなく、プロセスジョブ番号PJ1の使用権を削除するステップS50。この後の処理は、ステップS37に戻る。すなわち、引き続き、別のプロセスジョブ番号に関するスケジューリングが実行される。ステップS40において、スケジューリング対象基板Wに付与されたプロセスジョブ番号に対応するレシピが指定する並行処理ユニットの全てに関して別のプロセスジョブ番号の使用権が設定されていれば、そのスケジューリング対象基板Wに対応するプロセスジョブ番号はスケジューリング対象外として、ステップS37からの処理が実行される。ステップS42において、スケジューリング対象基板Wの後にスケジューリング指示された他のプロセスジョブがあると判断されると、スケジューリング機能部25は、その後続のプロセスジョブで使用可能な処理ユニットの最終使用時刻が、スケジューリング対象基板Wの処理のために使用可能な処理ユニットの最終使用時刻よりも早いかどうかを判断するステップS51。この判断が肯定されると、当該後続のプロセスジョブの基板Wをスケジューリング対象基板としてステップS52、ステップS42からの処理が行われる。当該判断が否定されれば、スケジューリング対象基板Wを変更せずに、ステップS43からの処理が実行される。図50~図55は、プロセスジョブ番号PJ1,PJ2,PJ3が付された3つの基板群プロセスジョブに対するスケジューリングの例を示す。プロセスジョブ番号PJ1の基板群は1枚の基板PJ1-1で構成され、処理内容データ中のレシピによって、4つの処理ユニットSPIN1~SPIN4が並行処理ユニットとして指定されているものとする。また、プロセスジョブ番号PJ2の基板群は3枚の基板PJ2-1,PJ2-2,PJ2-3で構成され、処理内容データ中のレシピによって2つの処理ユニットSPIN2~SPIN3が並行処理ユニットとして指定されているものとする。さらに、プロセスジョブ番号PJ3の基板群は1枚の基板PJ3-1で構成され、処理内容データ中のレシピによって、3つの処理ユニットSPIN2~SPIN4が並行処理ユニットとして指定されているものとする。そして、プロセスジョブ番号PJ1,PJ2,PJ3の基板群に対して、この番号順に処理開始されて、スケジューリング指示が発生する場合を想定する。基板処理開始指示が与えられると図45のステップS31、スケジューリング機能部25は、仮タイムテーブルを作成するステップS32。すなわち、スケジューリング機能部25は、プロセスジョブ番号PJ1の1枚の基板PJ1-1に対して、処理ユニットSPIN1~SPIN4のいずれかで処理される、4通りの経路を表す仮タイムテーブルを作成する。また、スケジューリング機能部25は、プロセスジョブ番号PJ2の3枚の基板PJ2-1,PJ2-2,PJ2-3に対して、それぞれ、処理ユニットSPIN2~SPIN3のいずれかで処理される、2通りの経路を表す仮タイムテーブルを作成する。すなわち、プロセスジョブ番号PJ2に対して合計で62×3経路分の仮タイムテーブルが作成される。さらに、スケジューリング機能部25は、プロセスジョブ番号PJ3の1枚の基板PJ3-1に対して、処理ユニットSPIN2~SPIN4のいずれかで処理される、3通りの経路を表す仮タイムテーブルを作成する。作成された仮タイムテーブルは、記憶部23に格納される。図50は仮タイムテーブルの一例を示す。プロセスジョブ番号PJ1,PJ2,PJ3に対する処理開始が順に指示され、それに応答してスケジューリング指示が発生すると図45のステップS33、スケジューリング機能部25は、記憶部23に格納された全ての仮タイムテーブル、すなわち、プロセスジョブ番号PJ1~PJ3に対応する全ての基板Wの仮タイムテーブルを読み出して、全体スケジューリングを開始する。既に処理開始している他の基板Wは存在せずステップS35:NO、未スケジューリングの基板WがありステップS37:YES、インデクサロボットIRによって一度に搬送可能な枚数分の未処理基板Wのスケジューリングが未了であるのでステップS38:NO、プロセスジョブ番号PJ1の1枚目の基板PJ1-1の仮タイムテーブルが記憶部23から取得されるステップS39。さらに、スケジューリング機能部25は、プロセスジョブ番号PJ1のレシピで指定された並行処理ユニットSPIN1~SPIN4のなかに、使用可能なもの、すなわち他のプロセスジョブ番号の使用権が未設定のものがあるかどうかを調べるステップS40。最初の基板Wのスケジューリングを行うときにはいずれの使用権も未設定であるから、この判断が肯定される。そこで、スケジューリング機能部25は、さらに、プロセスジョブ番号PJ1で使用可能な処理ユニットSPIN1~SPIN4のうち、最終使用時刻の最も早い処理ユニットを特定するステップS41。はじめは、いずれの処理ユニットの最終使用時刻も0であるので、番号の最も若い処理ユニットSPIN1が該当することになる。プロセスジョブ番号PJ1の後にプロセスジョブ番号PJ2,PJ3がスタートしており、いずれの使用権も未設定であるため、ステップS42での判定が肯定される。そこで、スケジューリング機能部25は、プロセスジョブ番号PJ2が使用する並行処理ユニットSPIN2~SPIN3の最終使用時刻を記憶部23から取得し、さらに、プロセスジョブ番号PJ3が使用する並行処理ユニットSPIN2~SPIN4の最終使用時刻を記憶部23から取得する。そして、スケジューリング機能部25は、それらの最終使用時刻と、ステップS41で特定された処理ユニットの最終使用時刻とを比較するステップS51。スケジューリング当初の各処理ユニットの最終使用時刻は初期値0であるので、ステップS51での判定は否定となる。そこで、スケジューリング機能部25は、プロセスジョブ番号PJ1のレシピにおいて並行処理ユニットとして指定された処理ユニットSPIN1~SPIN4に対して、プロセスジョブ番号PJ1の使用権を設定するステップS43。その後、スケジューリング機能部25は、プロセスジョブ番号PJ1の1枚目の基板PJ1-1の仮タイムテーブルを構成するブロックを配置していくステップS44~S47。図51は、プロセスジョブ番号PJ1の1枚目の基板PJ1-1に関するブロックを配置した例を示す。このとき、ステップS41,S42で特定された、最終使用時刻が最も早い処理ユニットである処理ユニットSPIN1を通る経路を表す仮タイムテーブルが選択される。具体的には、処理ユニットSPIN1を通る経路を表す仮タイムテーブルが選択され、その仮タイムテーブルを構成するブロックが、時間軸上で前詰めに配置される。その後、スケジューリング機能部25は、処理ユニットSPIN1が基板PJ1-1の処理を終える時刻を、処理ユニットSPIN1の最終使用時刻として求め、記憶部23に書き込むステップS48。そして、プロセスジョブ番号PJ1の基板群は1枚の基板PJ1-1だけで構成されているので、ステップS49での判断が肯定となり、スケジューリング機能部25は、プロセスジョブ番号PJ1の使用権を削除する。この状態が、図51に示されている。プロセスジョブ番号PJ1の1枚目の基板PJ1-1のスケジューリングの後、スケジューリング機能部25は、ステップS37からの処理を行う。この場合、プロセスジョブ番号PJ2,PJ3の基板Wについてのスケジューリングは未了でありステップS37:YES、スケジューリングした基板Wの枚数がインデクサロボットIRの同時搬送数この実施形態では2に満たないのでステップS38:NO、スケジューリング機能部25は、スケジュール未了のプロセスジョブのなかでスケジューリング指示が最も早いプロセスジョブ番号の処理順序が最も早い基板、すなわちプロセスジョブ番号PJ2の1枚目の基板PJ2-1をスケジューリング対象基板とし、そのスケジューリング対象基板に関するデータを記憶部23から取得するステップS39。プロセスジョブ番号PJ1の使用権は既に削除されていて、いずれの使用権も設定されていないので、ステップS40の判断は肯定となり、スケジューリング機能部25は、プロセスジョブ番号PJ2のレシピで指定された並行処理ユニットSPIN2,SPIN3のうちで、最終使用時刻が最も小さい処理ユニットを特定するステップS41。この場合は、処理ユニットSPIN2~SPIN4の最終使用時刻は初期値0であるので、処理ユニットSPIN2が該当する。スケジューリング対象基板PJ2-1よりも後でスケジューリング指示された別のプロセスジョブPJ3があるので、ステップS42での判定が肯定される。そこで、スケジューリング機能部25は、プロセスジョブ番号PJ3が使用する並行処理ユニットSPIN2~SPIN4の最終使用時刻を記憶部23から取得する。そして、スケジューリング機能部25は、それらの最終使用時刻と、ステップS41で特定された処理ユニットの最終使用時刻とを比較するステップS51。この場合、処理ユニットSPIN2~SPIN4の最終使用時刻は初期値0であるので、ステップS51での判定は否定となる。そこで、スケジューリング機能部25は、プロセスジョブ番号PJ2のレシピにおいて並行処理ユニットとして指定された処理ユニットSPIN2~SPIN3に対して、プロセスジョブ番号PJ2の使用権を設定するステップS43。その後、スケジューリング機能部25は、プロセスジョブ番号PJ2の1枚目の基板PJ2-1の仮タイムテーブルを構成するブロックを配置していくステップS44~S47。図52は、プロセスジョブ番号PJ2の1枚目の基板PJ2-1に関するブロックを配置した例を示す。このとき、ステップS41,S42で特定された、最終使用時刻が最も早い処理ユニットである処理ユニットSPIN2を通る経路を表す仮タイムテーブルが選択され、その仮タイムテーブルを構成するブロックが、時間軸上で前詰めに配置される。インデクサロボットIRのハンド8Aおよび8Bは同時に2枚の未処理基板Wまたは処理済み基板Wを搬送することができるので、インデクサロボットIRによる基板PJ1-1,PJ2-1の搬送を表すブロックが、時間軸上で重なり合うように配置されている。また、主搬送ロボットCRとインデクサロボットIRとの間では、2枚の未処理基板PJ1-1,PJ2-1の受け渡しを同時に実行でき、また2枚の処理済み基板PJ1-1,PJ2-1の受け渡しを同時に実行できるので、それらの2枚の基板PJ1-1,PJ2-1の受け渡しを表すブロックが時間軸上で重なりあって配置されている。その後、スケジューリング機能部25は、処理ユニットSPIN2が基板PJ2-1の処理を終える時刻を、処理ユニットSPIN2の最終使用時刻として求め、記憶部23に書き込むステップS48。そして、基板PJ2-1はプロセスジョブ番号PJ2の最後の基板ではないので、ステップS49での判断が否定され、スケジューリング機能部25は、プロセスジョブ番号PJ2の使用権を維持する。この状態が、図52に示されている。プロセスジョブ番号PJ2の1枚目の基板PJ2-1のスケジューリングの後、スケジューリング機能部25は、ステップS37からの処理を行う。この場合、プロセスジョブ番号PJ2,PJ3の基板Wについてのスケジューリングは未了であるステップS37:YESが、スケジューリングした基板Wの枚数がインデクサロボットIRの同時搬送数この実施形態では2に達したのでステップS38:YES、スケジューリングが一旦終了する。スケジューリング済みの2枚の基板PJ1-1,PJ2-1が基板収容器Cから払い出されると、スケジューリング指示が発生するステップS33:YES。このとき、スケジューリング機能部25は、スケジューリング済みの基板枚数を0にリセットする。スケジューリング済み基板枚数は、ステップS38での判断で用いられる。スケジューリング指示が発生すると、スケジューリング機能部25は、記憶部23に格納された全ての仮タイムテーブル、すなわち、プロセスジョブ番号PJ1~PJ3に対応する全ての基板Wの仮タイムテーブルを読み出して、スケジューリングを開始する。この場合、既に処理開始している他の基板Wが存在するステップS35:YESので、処理開始している基板PJ1-1,PJ2-1のみでスケジューリングが行われる。その結果は、図52と同じである。さらに、未スケジューリングの基板がありステップS37:YES、一度に搬送可能な枚数分の未処理基板Wのスケジューリングが未了であるのでステップS38:NO、プロセスジョブ番号PJ2の2枚目の基板PJ2-1の仮タイムテーブルが記憶部23から取得されるステップS39。さらに、スケジューリング機能部25は、プロセスジョブ番号PJ2のレシピで指定された並行処理ユニットSPIN2~SPIN3が使用可能かどうかを調べるステップS40。この場合、処理ユニットSPIN2~SPIN3に対してプロセスジョブ番号PJ2の使用権が設定されているので、ステップS40の判断が肯定される。そこで、スケジューリング機能部25は、さらに、プロセスジョブ番号PJ2で使用可能な処理ユニットSPIN2~SPIN3のうち、最終使用時刻の最も早い処理ユニットを特定するステップS41。基板PJ2-1のための処理ブロックが処理ユニットSPIN2に配置されているので図52参照、処理ユニットSPIN3が最終使用時刻の最も早い処理ユニットに該当する。プロセスジョブ番号PJ2の後にプロセスジョブ番号PJ3がスタートしているので、ステップS42での判定が肯定される。そこで、スケジューリング機能部25は、プロセスジョブ番号PJ3が使用する並行処理ユニットSPIN2~SPIN4のうちで使用可能なもの処理ユニットSPIN4が該当の最終使用時刻を記憶部23から取得する。そして、スケジューリング機能部25は、それらの最終使用時刻と、ステップS41で特定された処理ユニットの最終使用時刻とを比較するステップS51。想定している状況では、処理ユニットSPIN3,SPIN4の最終使用時刻はいずれも初期値0であるので、ステップS51での判定は否定となる。そこで、スケジューリング機能部25は、プロセスジョブ番号PJ2の使用権を維持しステップS43、プロセスジョブ番号PJ2の2枚目の基板PJ2-2の仮タイムテーブルを構成するブロックを配置していくステップS44~S47。図53は、プロセスジョブ番号PJ2の2枚目の基板PJ2-2に関するブロックを配置した例を示す。このとき、ステップS41,S42で特定された、最終使用時刻が最も早い処理ユニットである処理ユニットSPIN3を通る経路を表す仮タイムテーブルが選択され、その仮タイムテーブルを構成するブロックが、時間軸上で前詰めに配置される。その後、スケジューリング機能部25は、処理ユニットSPIN3が基板PJ2-2の処理を終える時刻を、処理ユニットSPIN3の最終使用時刻として求め、記憶部23に書き込むステップS48。そして、基板PJ2-2は、プロセスジョブ番号PJ2の最後の基板ではないので、ステップS49での判断が否定となり、スケジューリング機能部25は、プロセスジョブ番号PJ2の使用権を維持する。この状態が、図53に示されている。プロセスジョブ番号PJ2の2枚目の基板PJ2-2のスケジューリングの後、スケジューリング機能部25は、ステップS37からの処理を行う。この場合、プロセスジョブ番号PJ2,PJ3の基板Wについてのスケジューリングは未了でありステップS37:YES、スケジューリングした基板Wの枚数がインデクサロボットIRの同時搬送数この実施形態では2に満たないのでステップS38:NO、スケジューリング機能部25は、スケジュール未了のプロセスジョブのなかでスケジューリング指示が最も早いプロセスジョブ番号の処理順序が最も早い基板、すなわちプロセスジョブ番号PJ2の3枚目の基板PJ2-3をスケジューリング対象基板とし、そのスケジューリング対象基板に関するデータを記憶部23から取得するステップS39。プロセスジョブ番号PJ2の使用権が維持されているので、ステップS40の判断は肯定となり、スケジューリング機能部25は、プロセスジョブ番号PJ2のレシピで指定された並行処理ユニットSPIN2,SPIN3のうちで、最終使用時刻が最も小さい処理ユニットを特定するステップS41。この場合、処理ユニットSPIN2が該当する図53参照。スケジューリング対象基板PJ2-3よりも後でスケジューリング指示された別のプロセスジョブPJ3があるので、ステップS42での判定が肯定される。そこで、スケジューリング機能部25は、プロセスジョブ番号PJ3が使用する並行処理ユニットSPIN2~SPIN4のうち使用可能な使用権の設定されていない処理ユニットである、処理ユニットSPIN4の最終使用時刻を記憶部23から取得する。そして、スケジューリング機能部25は、その最終使用時刻と、ステップS41で特定された処理ユニットの最終使用時刻とを比較するステップS51。この場合、処理ユニットSPIN4の最終使用時刻は初期値0であるので、ステップS51での判定は肯定となる。そこで、スケジューリング機能部25は、最終使用時刻が最も早い処理ユニットSPIN4を使用可能なプロセスジョブ番号PJ3の未スケジューリングの基板のうち処理順序が最も早い基板である1枚目の基板PJ3-1をスケジューリング対象基板としてステップS52、ステップS42からの処理を行う。この場合、プロセスジョブ番号PJ3よりも後で開始したプロセスジョブはないのでステップS42:NO、スケジューリング機能部25は、プロセスジョブ番号PJ3のレシピで指定された並行処理ユニットSPIN2~SPIN4のうち、使用権が未設定の処理ユニットSPIN4に対して、プロセスジョブ番号PJ3の使用権を設定するステップS43。すなわち、プロセスジョブ番号PJ3のレシピで指定された並行処理ユニットの一部に他のプロセスジョブ番号の使用権が設定されているが、使用権未設定の一部の並行処理ユニットに関してのみ、プロセスジョブ番号PJ3の使用権が設定される。そして、スケジューリング機能部25は、プロセスジョブ番号PJ3の1枚目の基板PJ3-1の仮タイムテーブルを構成するブロックを配置していくステップS44~S47。図54は、プロセスジョブ番号PJ3の1枚目の基板PJ3-1に関するブロックを配置した例を示す。このとき、最終使用時刻が最も早い処理ユニットである、処理ユニットSPIN4を通る経路を表す仮タイムテーブルが選択され、その仮タイムテーブルを構成するブロックが、時間軸上で前詰めに配置される。インデクサロボットIRのハンド8Aおよび8Bは同時に2枚の未処理基板Wまたは処理済み基板Wを搬送することができるので、インデクサロボットIRによる基板PJ2-2,PJ3-1の搬送を表すブロックが、時間軸上で重なり合うように配置されている。また、主搬送ロボットCRとインデクサロボットIRとの間では、2枚の未処理基板PJ2-2,PJ3-1の受け渡しを同時に実行でき、また2枚の処理済み基板PJ2-2,PJ3-1の受け渡しを同時に実行できるので、それらの2枚の基板PJ2-2,PJ3-1の受け渡しを表すブロックが時間軸上で重なりあって配置されている。その後、スケジューリング機能部25は、処理ユニットSPIN4が基板PJ3-1の処理を終える時刻を、処理ユニットSPIN4の最終使用時刻として求め、記憶部23に書き込むステップS48。そして、基板PJ3-1はプロセスジョブ番号PJ3の最後の基板であるので、ステップS49での判断が肯定され、スケジューリング機能部25は、プロセスジョブ番号PJ3の使用権を削除する。この状態が、図54に示されている。プロセスジョブ番号PJ3の1枚目の基板PJ3-1のスケジューリングの後、スケジューリング機能部25は、ステップS37からの処理を行う。この場合、プロセスジョブ番号PJ2の基板Wについてのスケジューリングは未了であるステップS37:YESが、スケジューリングした基板Wの枚数がインデクサロボットIRの同時搬送数この実施形態では2に達したのでステップS38:YES、スケジューリングが一旦終了する。スケジューリング済みの2枚の基板PJ2-2,PJ3-1が基板収容器Cから払い出されると、スケジューリング指示が発生するステップS33:YES。このとき、スケジューリング機能部25は、スケジューリング済みの基板枚数を0にリセットする。スケジューリング済み基板枚数は、ステップS38での判断で用いられる。スケジューリング指示が発生すると、スケジューリング機能部25は、記憶部23に格納された全ての仮タイムテーブル、すなわち、プロセスジョブ番号PJ1~PJ3に対応する全ての基板Wの仮タイムテーブルを読み出して、スケジューリングを開始する。この場合、既に処理開始している他の基板Wが存在するステップS35:YESので、処理開始している基板PJ1-1,PJ2-1,PJ2-2,PJ3-1のみでスケジューリングが行われる。その結果は、図54と同じである。さらに、未スケジューリングの基板がありステップS37:YES、一度に搬送可能な枚数分の未処理基板Wのスケジューリングが未了であるのでステップS38:NO、プロセスジョブ番号PJ2の3枚目の基板PJ2-3の仮タイムテーブルが記憶部23から取得されるステップS39。さらに、スケジューリング機能部25は、プロセスジョブ番号PJ2のレシピで指定された並行処理ユニットSPIN2~SPIN3が使用可能かどうかを調べるステップS40。この場合、処理ユニットSPIN2~SPIN3に対してプロセスジョブ番号PJ2の使用権が設定されているので、ステップS40の判断が肯定される。そこで、スケジューリング機能部25は、さらに、プロセスジョブ番号PJ2で使用可能な処理ユニットSPIN2~SPIN3のうち、最終使用時刻の最も早い処理ユニットを特定するステップS41。この場合、処理ユニットSPIN2が最終使用時刻の最も早い処理ユニットに該当する図54参照。後続のプロセスジョブ番号PJ3のスケジューリングは終了しているので、ステップS42での判定が否定される。そこで、スケジューリング機能部25は、プロセスジョブ番号PJ2の並行処理ユニットSPIN2~SPIN3に対する使用権を維持しステップS43、プロセスジョブ番号PJ2の3枚目の基板PJ2-3の仮タイムテーブルを構成するブロックを配置していくステップS44~S47。図55は、プロセスジョブ番号PJ2の3枚目の基板PJ2-3に関するブロックを配置した例を示す。このとき、ステップS41で特定された、最終使用時刻が最も早い処理ユニットである処理ユニットSPIN2を通る経路を表す仮タイムテーブルが選択され、その仮タイムテーブルを構成するブロックが、時間軸上で前詰めに配置される。この場合、処理ユニットSPIN2に配置される処理ブロックに合わせて、ブロック間の隙間が最小となるように、各ブロックが配置される。その後、スケジューリング機能部25は、処理ユニットSPIN2が基板PJ2-3の処理を終える時刻を、処理ユニットSPIN2の最終使用時刻として求め、記憶部23に書き込むステップS48。そして、基板PJ2-3は、プロセスジョブ番号PJ2の最後の基板であるので、ステップS49での判断が肯定となり、スケジューリング機能部25は、プロセスジョブ番号PJ2の使用権を削除するステップS50。この状態が、図55に示されている。プロセスジョブ番号PJ2の3枚目の基板PJ2-3のスケジューリングの後、スケジューリング機能部25は、ステップS37からの処理を行う。この場合、開始指示されたプロセスジョブ番号PJ1,PJ2,PJ3の全てのスケジューリングが完了しているのでステップS37:YES、スケジューリングは終了となるステップS53。図55と図16との比較から明らかなとおり、図55に示したスケジューリングに従って処理を行うことによって、全体の処理時間が短縮される。とくに、インデクサロボットIRによる2枚の基板搬送を表す搬送ブロックを時間軸上で重ねて配置できることにより、処理時間を短縮できる。加えて、プロセスジョブ番号PJ3のレシピで指定された並行処理ユニットSPIN2~SPIN4のうち、処理ユニットSPIN2~SPIN3に対する使用権がプロセスジョブ番号PJ2に設定されている場合であっても、残りの処理ユニットSPIN4の最終使用時刻が早い場合には、その処理ユニットSPIN4についての使用権がプロセスジョブ番号PJ3に対して設定される。これにより、基板PJ3-1の処理が基板PJ2-3に対する処理を追い越す計画が策定されており、それによって、全体の基板処理時間の著しい短縮が達成されている。図56~図67は、プロセスジョブ番号PJ1,PJ2,PJ3が付された3つの基板群プロセスジョブに対するスケジューリングの他の例を示す。プロセスジョブ番号PJ1の基板群は8枚の基板PJ1-1~8で構成され、処理内容データ中のレシピによって、2つの処理ユニットSPIN1~SPIN2が並行処理ユニットとして指定されているものとする。また、プロセスジョブ番号PJ2の基板群は2枚の基板PJ2-1~2で構成され、処理内容データ中のレシピによって4つの処理ユニットSPIN1~SPIN4が並行処理ユニットとして指定されているものとする。さらに、プロセスジョブ番号PJ3の基板群は2枚の基板PJ3-1~2で構成され、処理内容データ中のレシピによって、2つの処理ユニットSPIN3~SPIN4が並行処理ユニットとして指定されているものとする。そして、プロセスジョブ番号PJ1,PJ2,PJ3の基板群に対して、この番号順に処理開始されて、スケジューリング指示が発生する場合を想定する。基板処理開始指示が与えられると図45のステップS31、スケジューリング機能部25は、仮タイムテーブルを作成するステップS32。すなわち、スケジューリング機能部25は、プロセスジョブ番号PJ1の8枚の基板PJ1-1~8に対して、それぞれ、処理ユニットSPIN1またはSPIN2を通る経路を表す仮タイムテーブルを作成する。また、スケジューリング機能部25は、プロセスジョブ番号PJ2の2枚の基板PJ2-1~2に対して、それぞれ、処理ユニットSPIN1~SPIN4のいずれか一つを通る経路を表す仮タイムテーブルを作成する。さらに、スケジューリング機能部25は、プロセスジョブ番号PJ3の2枚の基板PJ3-1~2に対して、それぞれ、処理ユニットSPIN3またはSPIN4を通る経路を表す仮タイムテーブルを作成する。作成された仮タイムテーブルは、記憶部23に格納される。プロセスジョブ番号PJ1,PJ2,PJ3に対する処理開始が順に指示され、それに応答してスケジューリング指示が発生すると図45のステップS33:YES、スケジューリング機能部25は、記憶部23に格納された全ての仮タイムテーブル、すなわち、プロセスジョブ番号PJ1~PJ3に対応する全ての基板Wの仮タイムテーブルを読み出して、全体スケジューリングを開始する。既に処理開始している他の基板Wは存在せずステップS35:NO、未スケジューリングの基板WがありステップS37:YES、一度に搬送可能な枚数分の未処理基板Wのスケジューリングが未了であるのでステップS38:NO、プロセスジョブ番号PJ1の1枚目の基板PJ1-1の仮タイムテーブルが記憶部23から取得されるステップS39。さらに、スケジューリング機能部25は、プロセスジョブ番号PJ1のレシピで指定された並行処理ユニットSPIN1~SPIN2のなかに、使用可能なもの、すなわち他のプロセスジョブ番号の使用権が未設定のものがあるかどうかを調べるステップS40。最初の基板Wのスケジューリングを行うときには、この判断が肯定されるので、スケジューリング機能部25は、さらに、プロセスジョブ番号PJ1で使用可能な処理ユニットSPIN1~SPIN2のうち、最終使用時刻の最も早い処理ユニットを特定するステップS41。はじめは、いずれの処理ユニットの最終使用時刻も0であるので、番号の最も若い処理ユニットSPIN1が該当することになる。プロセスジョブ番号PJ1の後にプロセスジョブ番号PJ2,PJ3がスタートしているので、ステップS42での判定が肯定される。そこで、スケジューリング機能部25は、プロセスジョブ番号PJ2が使用する並行処理ユニットSPIN1~SPIN4の最終使用時刻を記憶部23から取得し、さらに、プロセスジョブ番号PJ3が使用する並行処理ユニットSPIN3~SPIN4の最終使用時刻を記憶部23から取得する。そして、スケジューリング機能部25は、それらの最終使用時刻と、ステップS41で特定された処理ユニットの最終使用時刻とを比較するステップS51。スケジューリング当初の各処理ユニットの最終使用時刻は初期値0であるので、ステップS51での判定は否定となる。そこで、スケジューリング機能部25は、プロセスジョブ番号PJ1のレシピにおいて並行処理ユニットとして指定された処理ユニットSPIN1~SPIN2に対して、プロセスジョブ番号PJ1の使用権を設定するステップS43。その後、スケジューリング機能部25は、プロセスジョブ番号PJ1の1枚目の基板PJ1-1の仮タイムテーブルを構成するブロックを配置していくステップS44~S47。図56は、プロセスジョブ番号PJ1の1枚目の基板PJ1-1に関するブロックを配置した例を示す。このとき、ステップS41,S42で特定された、最終使用時刻が最も早い処理ユニットである処理ユニットSPIN1を通る経路を表す仮タイムテーブルが選択され、その仮タイムテーブルを構成するブロックが、時間軸上で前詰めに配置される。その後、スケジューリング機能部25は、処理ユニットSPIN1が基板PJ1-1の処理を終える時刻を、処理ユニットSPIN1の最終使用時刻として求め、記憶部23に書き込むステップS48。そして、基板PJ1-1はプロセスジョブ番号PJ1の最後の基板ではないので、ステップS49での判断が否定となり、スケジューリング機能部25は、プロセスジョブ番号PJ1の使用権を維持する。この状態が、図56に示されている。プロセスジョブ番号PJ1の1枚目の基板PJ1-1のスケジューリングの後、スケジューリング機能部25は、ステップS37からの処理を行う。この場合、プロセスジョブ番号PJ1,PJ2,PJ3の基板Wについてのスケジューリングは未了でありステップS37:YES、スケジューリングした基板Wの枚数がインデクサロボットIRの同時搬送数この実施形態では2に満たないのでステップS38:NO、スケジューリング機能部25は、スケジュール未了のプロセスジョブのなかでスケジューリング指示が最も早いプロセスジョブ番号の処理順序が最も早い基板、すなわちプロセスジョブ番号PJ1の2枚目の基板PJ1-2をスケジューリング対象基板とし、そのスケジューリング対象基板に関するデータを記憶部23から取得するステップS39。プロセスジョブ番号PJ1の使用権が維持されているので、ステップS40の判断は肯定となり、スケジューリング機能部25は、プロセスジョブ番号PJ1のレシピで指定された並行処理ユニットSPIN1,SPIN2のうちで、最終使用時刻が最も小さい処理ユニットを特定するステップS41。処理ユニットSPIN1には基板PJ1-1のための処理ブロックが配置されているので、処理ユニットSPIN2が該当することになる。スケジューリング対象基板PJ1-2よりも後でスケジューリング指示された別のプロセスジョブPJ2,PJ3があり、それらのレシピで指定された並行処理ユニットのうち、処理ユニットSPIN3,SPIN4についてはいずれの使用権も設定されていないので、ステップS42での判定が肯定される。そこで、スケジューリング機能部25は、処理ユニットSPIN3,SPIN4の最終使用時刻を記憶部23から取得する。そして、スケジューリング機能部25は、それらの最終使用時刻と、ステップS41で特定された処理ユニットSPIN2の最終使用時刻とを比較するステップS51。この場合、処理ユニットSPIN2の最終使用時刻は初期値0であり、処理ユニットSPIN3~SPIN4の最終使用時刻も初期値0であるので、ステップS51での判定は否定となる。そこで、スケジューリング機能部25は、プロセスジョブ番号PJ1の使用権を維持するステップS43。その後、スケジューリング機能部25は、プロセスジョブ番号PJ1の2枚目の基板PJ1-2の仮タイムテーブルを構成するブロックを配置していくステップS44~S47。図57は、プロセスジョブ番号PJ1の2枚目の基板PJ1-2に関するブロックを配置した例を示す。このとき、ステップS41,S42,S52で特定された、最終使用時刻が最も早い処理ユニットである処理ユニットSPIN2を通る経路を表す仮タイムテーブルが選択され、その仮タイムテーブルを構成するブロックが、時間軸上で前詰めに配置される。インデクサロボットIRのハンド8Aおよび8Bは同時に2枚の未処理基板Wまたは処理済み基板Wを搬送することができるので、インデクサロボットIRによる基板PJ1-1,PJ1-2の搬送を表すブロックが、時間軸上で重なり合うように配置されている。また、詳細な図示は省略するが、主搬送ロボットCRとインデクサロボットIRとの間では、2枚の未処理基板PJ1-1,PJ1-2の受け渡しを同時に実行でき、また2枚の処理済み基板PJ1-1,PJ1-2の受け渡しを同時に実行できるので、それらの2枚の基板PJ1-1,PJ1-2の受け渡しを表すブロックが時間軸上で重なりあって配置されている。その後、スケジューリング機能部25は、処理ユニットSPIN2が基板PJ1-2の処理を終える時刻を、処理ユニットSPIN2の最終使用時刻として求め、記憶部23に書き込むステップS48。そして、基板PJ1-2はプロセスジョブ番号PJ1の最後の基板ではないので、ステップS49での判断が否定され、スケジューリング機能部25は、プロセスジョブ番号PJ1の使用権を維持する。この状態が、図57に示されている。プロセスジョブ番号PJ1の2枚目の基板PJ1-2のスケジューリングの後、スケジューリング機能部25は、ステップS37からの処理を行う。この場合、プロセスジョブ番号PJ1,PJ2,PJ3の基板Wについてのスケジューリングは未了であるステップS37:YESが、スケジューリングした基板Wの枚数がインデクサロボットIRの同時搬送数この実施形態では2に達したのでステップS38:YES、スケジューリングが一旦終了するステップS53。スケジューリング済みの2枚の基板PJ1-1,PJ1-2が基板収容器Cから払い出されると、スケジューリング指示が発生するステップS33:YES。このとき、スケジューリング機能部25は、スケジューリング済みの基板枚数を0にリセットする。スケジューリング済み基板枚数は、ステップS38での判断で用いられる。スケジューリング指示が発生すると、スケジューリング機能部25は、記憶部23に格納された全ての仮タイムテーブル、すなわち、プロセスジョブ番号PJ1~PJ3に対応する全ての基板Wの仮タイムテーブルを読み出して、スケジューリングを開始する。この場合、既に処理開始している他の基板PJ1-1,PJ1-2が存在するステップS35:YESので、処理開始している基板PJ1-1,PJ1-2のみでスケジューリングが行われる。その結果は、図57と同じである。さらに、未スケジューリングの基板がありステップS37:YES、一度に搬送可能な枚数分の未処理基板Wのスケジューリングが未了であるのでステップS38:NO、プロセスジョブ番号PJ1の3枚目の基板PJ1-3の仮タイムテーブルが記憶部23から取得されるステップS39。さらに、スケジューリング機能部25は、プロセスジョブ番号PJ1のレシピで指定された並行処理ユニットSPIN1~SPIN2が使用可能かどうかを調べるステップS40。この場合、処理ユニットSPIN1~SPIN2に対してプロセスジョブ番号PJ1の使用権が設定されているので、ステップS40の判断が肯定される。そこで、スケジューリング機能部25は、さらに、プロセスジョブ番号PJ1で使用可能な処理ユニットSPIN1~SPIN2のうち、最終使用時刻の最も早い処理ユニットを特定するステップS41。図57から、処理ユニットSPIN1が該当することが分かる。プロセスジョブ番号PJ1の後にプロセスジョブ番号PJ2,PJ3がスタートしており、それらのレシピで指定された並行処理ユニットのうち、処理ユニットSPIN3,SPIN4についてはいずれの使用権も設定されていないので、ステップS42での判定が肯定される。そこで、スケジューリング機能部25は、プロセスジョブ番号PJ2が使用する並行処理ユニットSPIN1~SPIN4およびプロセスジョブ番号PJ3が使用する並行処理ユニットSPIN3~SPIN4のうちで使用可能なもの使用権未設定の処理ユニットSPIN3,SPIN4が該当の最終使用時刻を記憶部23から取得する。そして、スケジューリング機能部25は、それらの最終使用時刻と、ステップS41で特定された処理ユニットの最終使用時刻とを比較するステップS51。想定している状況では、処理ユニットSPIN3,SPIN4の最終使用時刻はいずれも初期値0であるので、ステップS51での判定は肯定となる。そこで、スケジューリング機能部25は、最終使用時刻が最も早い処理ユニットSPIN3,SPIN4のうち番号の若い処理ユニットSPIN3を使用可能なプロセスジョブ番号PJ2の未スケジューリングの基板のうち処理順序が最も早い基板である1枚目の基板PJ2-1をスケジューリング対象基板としてステップS52、ステップS42からの処理を行う。この場合、プロセスジョブ番号PJ2よりも後で開始したプロセスジョブPJ3が存在し、そのレシピで指定された処理ユニットSPIN3,SPIN4はいずれも使用権が未設定であるステップS42:YES。そこで、そのプロセスジョブ番号PJ3で使用可能な処理ユニットSPIN3,SPIN4のうちプロセスジョブ番号PJ2の処理のために使用しようとしている処理ユニットSPIN3以外の処理ユニットSPIN4の最終使用時間が調べられるステップS51。この場合、処理ユニットSPIN3,SPIN4の最終使用時刻は、いずれも初期値0であるので、ステップS51での判断は否定となる。そこで、スケジューリング機能部25は、プロセスジョブ番号PJ2のレシピで指定された並行処理ユニットSPIN1~SPIN4のうち、使用権が未設定の処理ユニットSPIN3,SPIN4に対して、プロセスジョブ番号PJ2の使用権を設定するステップS43。そして、スケジューリング機能部25は、プロセスジョブ番号PJ2の1枚目の基板PJ2-1の仮タイムテーブルを構成するブロックを配置していくステップS44~S47。図58は、プロセスジョブ番号PJ2の1枚目の基板PJ2-1に関するブロックを配置した例を示す。このとき、最終使用時刻が最も早い処理ユニットである処理ユニットSPIN3を通る経路を表す仮タイムテーブルが選択され、その仮タイムテーブルを構成するブロックが、時間軸上で前詰めに配置される。その後、スケジューリング機能部25は、処理ユニットSPIN3が基板PJ2-1の処理を終える時刻を、処理ユニットSPIN3の最終使用時刻として求め、記憶部23に書き込むステップS48。そして、基板PJ2-1は、プロセスジョブ番号PJ2の最後の基板ではないので、ステップS49での判断が否定となり、スケジューリング機能部25は、プロセスジョブ番号PJ2の使用権を維持する。この状態が、図58に示されている。プロセスジョブ番号PJ2の1枚目の基板PJ2-1のスケジューリングの後、スケジューリング機能部25は、ステップS37からの処理を行う。この場合、プロセスジョブ番号PJ1,PJ2,PJ3の基板Wについてのスケジューリングは未了でありステップS37:YES、スケジューリングした基板Wの枚数がインデクサロボットIRの同時搬送数この実施形態では2に満たないのでステップS38:NO、スケジューリング機能部25は、スケジュール未了のプロセスジョブのなかでスケジューリング指示が最も早いプロセスジョブ番号の処理順序が最も早い基板、すなわちプロセスジョブ番号PJ1の3枚目の基板PJ1-3をスケジューリング対象基板とし、そのスケジューリング対象基板に関するデータを記憶部23から取得するステップS39。プロセスジョブ番号PJ1の使用権が維持されているので、ステップS40の判断は肯定となり、スケジューリング機能部25は、プロセスジョブ番号PJ1のレシピで指定された並行処理ユニットSPIN1,SPIN2のうちで、最終使用時刻が最も小さい処理ユニットを特定するステップS41。この場合、処理ユニットSPIN1が該当する図58参照。スケジューリング対象基板PJ1-3よりも後でスケジューリング指示された別のプロセスジョブ番号PJ2,PJ3があり、処理ユニットSPIN3,SPIN4にプロセスジョブ番号PJ2の使用権が設定させているので、ステップS42での判定が肯定される。すなわち、プロセスジョブ番号PJ2が使用する並行処理ユニットSPIN1~SPIN4のうち当該プロセスジョブ番号PJ2が使用可能な他のプロセスジョブ番号に対して使用権の設定がされていないか、または当該プロセスジョブ番号PJ2に対して使用権が設定されている処理ユニットは、処理ユニットSPIN3,SPIN4である。また、プロセスジョブ番号PJ3が使用する並行処理ユニットSPIN3~SPIN4のうち使用可能な他のプロセスジョブ番号に対して使用権の設定がされていないか、または当該プロセスジョブ番号PJ3に対して使用権が設定されている処理ユニットは存在しない。そこで、スケジューリング機能部25は、処理ユニットSPIN3,SPIN4の最終使用時刻を記憶部23から取得する。そして、スケジューリング機能部25は、それらの最終使用時刻と、ステップS41で特定された処理ユニットSPIN1の最終使用時刻とを比較するステップS51。この場合、処理ユニットSPIN4の最終使用時刻は初期値0であるので、ステップS51での判定は肯定となる。そこで、スケジューリング機能部25は、最終使用時刻が最も早い処理ユニットSPIN4を使用可能なプロセスジョブ番号PJ2の未スケジューリングの基板のうち処理順序が最も早い基板である2枚目の基板PJ2-2をスケジューリング対象基板としてステップS52、ステップS42からの処理を行う。この場合、プロセスジョブ番号PJ2よりも後で開始したプロセスジョブPJ3が存在するが、そのプロセスジョブ番号PJ3で使用可能な処理ユニットの最終使用時間が調べられるが、プロセスジョブ番号PJ3で使用可能な処理ユニットが存在しないので、ステップS42での判断は否定となる。そこで、スケジューリング機能部25は、プロセスジョブ番号PJ2の処理ユニットSPIN3,SPIN4に対する使用権を維持するステップS43。そして、スケジューリング機能部25は、プロセスジョブ番号PJ2の2枚目の基板PJ2-2の仮タイムテーブルを構成するブロックを配置していくステップS44~S47。図59は、プロセスジョブ番号PJ2の2枚目の基板PJ2-2に関するブロックを配置した例を示す。このとき、最終使用時刻が最も早い処理ユニットである処理ユニットSPIN4を通る経路を表す仮タイムテーブルが選択され、その仮タイムテーブルを構成するブロックが、時間軸上で前詰めに配置される。インデクサロボットIRのハンド8Aおよび8Bは同時に2枚の未処理基板Wまたは処理済み基板Wを搬送することができるので、インデクサロボットIRによる基板PJ2-1,PJ2-2の搬送を表すブロックが、時間軸上で重なり合うように配置されている。また、詳細な図示は省略するが、主搬送ロボットCRとインデクサロボットIRとの間では、2枚の未処理基板PJ2-1,PJ2-2の受け渡しを同時に実行でき、また2枚の処理済み基板PJ2-1,PJ2-2の受け渡しを同時に実行できるので、それらの2枚の基板PJ2-1,PJ2-2の受け渡しを表すブロックが時間軸上で重なりあって配置されている。その後、スケジューリング機能部25は、処理ユニットSPIN4が基板PJ2-2の処理を終える時刻を、処理ユニットSPIN4の最終使用時刻として求め、記憶部23に書き込むステップS48。そして、基板PJ2-2はプロセスジョブ番号PJ2の最後の基板であるので、ステップS49での判断が肯定され、スケジューリング機能部25は、プロセスジョブ番号PJ2の使用権を削除するステップS50。この状態が、図59に示されている。プロセスジョブ番号PJ2の2枚目の基板PJ2-2のスケジューリングの後、スケジューリング機能部25は、ステップS37からの処理を行う。この場合、プロセスジョブ番号PJ1,PJ3の基板Wについてのスケジューリングは未了であるステップS37:YESが、スケジューリングした基板Wの枚数がインデクサロボットIRの同時搬送数この実施形態では2に達したのでステップS38:YES、スケジューリングが一旦終了するステップS53。スケジューリング済みの2枚の基板PJ2-1,PJ2-2が基板収容器Cから払い出されると、スケジューリング指示が発生するステップS33:YES。このとき、スケジューリング機能部25は、スケジューリング済みの基板枚数を0にリセットする。スケジューリング済み基板枚数は、ステップS38での判断で用いられる。スケジューリング指示が発生すると、スケジューリング機能部25は、記憶部23に格納された全ての仮タイムテーブル、すなわち、プロセスジョブ番号PJ1~PJ3に対応する全ての基板Wの仮タイムテーブルを読み出して、スケジューリングを開始する。この場合、既に処理開始している他の基板PJ1-1,PJ1-2,PJ2-1,PJ2-2が存在するステップS35:YESので、処理開始している基板PJ1-1,PJ1-2,PJ2-1,PJ2-2のみでスケジューリングが行われる。その結果は、図59と同じである。さらに、未スケジューリングの基板がありステップS37:YES、一度に搬送可能な枚数分の未処理基板Wのスケジューリングが未了であるのでステップS38:NO、プロセスジョブ番号PJ1の3枚目の基板PJ1-3の仮タイムテーブルが記憶部23から取得されるステップS39。さらに、スケジューリング機能部25は、プロセスジョブ番号PJ1のレシピで指定された並行処理ユニットSPIN1~SPIN2が使用可能かどうかを調べるステップS40。この場合、処理ユニットSPIN1~SPIN2に対してプロセスジョブ番号PJ1の使用権が設定されているので、ステップS40の判断が肯定される。そこで、スケジューリング機能部25は、さらに、プロセスジョブ番号PJ1で使用可能な処理ユニットSPIN1~SPIN2のうち、最終使用時刻の最も早い処理ユニットを特定するステップS41。図59から、処理ユニットSPIN1が該当することが分かる。プロセスジョブ番号PJ1の後にプロセスジョブ番号PJ2,PJ3がスタートしていて、プロセスジョブ番号PJ3についてのスケジューリングが未了であり、処理ユニットSPIN3,SPIN4に使用権が設定されていないので、ステップS42での判定が肯定される。そこで、スケジューリング機能部25は、プロセスジョブ番号PJ3が使用する並行処理ユニットSPIN3~SPIN4のうちで使用可能なもの使用権未設定の処理ユニットSPIN3,SPIN4が該当の最終使用時刻を記憶部23から取得する。そして、スケジューリング機能部25は、それらの最終使用時刻と、ステップS41で特定された処理ユニットの最終使用時刻とを比較するステップS51。想定している状況では、処理ユニットSPIN3,SPIN4の最終使用時刻よりも処理ユニットSPIN1の最終使用時刻の方が早いので図59参照、ステップS51での判定は否定となる。そこで、スケジューリング機能部25は、プロセスジョブ番号PJ1の使用権を維持しステップS43、プロセスジョブ番号PJ1の3枚目の基板PJ1-3の仮タイムテーブルを構成するブロックを配置していくステップS44~S47。図60は、プロセスジョブ番号PJ1の3枚目の基板PJ1-3に関するブロックを配置した例を示す。このとき、最終使用時刻が最も早い処理ユニットである処理ユニットSPIN1を通る経路を表す仮タイムテーブルが選択され、その仮タイムテーブルを構成するブロックが、時間軸上で前詰めに配置される。より具体的には、基板PJ1-3の処理ブロックが、処理ユニットSPIN1に対応して、基板PJ1-1の処理ブロックの後に配置され、その処理ブロックに合わせて、ブロック間の間隔ができるだけ小さくなるように、各ブロックが配置される。その後、スケジューリング機能部25は、処理ユニットSPIN1が基板PJ1-3の処理を終える時刻を、処理ユニットSPIN1の最終使用時刻として求め、記憶部23に書き込むステップS48。そして、基板PJ1-3は、プロセスジョブ番号PJ1の最後の基板ではないので、ステップS49での判断が否定となり、スケジューリング機能部25は、プロセスジョブ番号PJ1の使用権を維持する。この状態が、図60に示されている。プロセスジョブ番号PJ1の3枚目の基板PJ1-3のスケジューリングの後、スケジューリング機能部25は、ステップS37からの処理を行う。この場合、プロセスジョブ番号PJ1,PJ3の基板Wについてのスケジューリングは未了でありステップS37:YES、スケジューリングした基板Wの枚数がインデクサロボットIRの同時搬送数この実施形態では2に満たないのでステップS38:NO、スケジューリング機能部25は、スケジュール未了のプロセスジョブのなかでスケジューリング指示が最も早いプロセスジョブ番号の処理順序が最も早い基板、すなわちプロセスジョブ番号PJ1の4枚目の基板PJ1-4をスケジューリング対象基板とし、そのスケジューリング対象基板に関するデータを記憶部23から取得するステップS39。プロセスジョブ番号PJ1の使用権が維持されているので、ステップS40の判断は肯定となり、スケジューリング機能部25は、プロセスジョブ番号PJ1のレシピで指定された並行処理ユニットSPIN1,SPIN2のうちで、最終使用時刻が最も小さい処理ユニットを特定するステップS41。この場合、処理ユニットSPIN2が該当する図60参照。スケジューリング対象基板PJ1-3よりも後でスケジューリング指示された別のプロセスジョブ番号PJ2,PJ3のうちプロセスジョブ番号PJ3が未スケジューリングであり、処理ユニットSPIN3,SPIN4に対する使用権が未設定であるので、ステップS42での判定が肯定される。そこで、スケジューリング機能部25は、処理ユニットSPIN3,SPIN4の最終使用時刻を記憶部23から取得する。そして、スケジューリング機能部25は、その最終使用時刻と、ステップS41で特定された処理ユニットSPIN2の最終使用時刻とを比較するステップS51。この場合、処理ユニットSPIN2の最終使用時刻が最も早い図60参照ので、ステップS51での判定は否定となる。そこで、スケジューリング機能部25は、プロセスジョブ番号PJ1の処理ユニットSPIN1,SPIN2に対する使用権を維持する。そして、スケジューリング機能部25は、プロセスジョブ番号PJ1の4枚目の基板PJ1-4の仮タイムテーブルを構成するブロックを配置していくステップS44~S47。図61は、プロセスジョブ番号PJ1の4枚目の基板PJ1-4に関するブロックを配置した例を示す。このとき、最終使用時刻が最も早い処理ユニットである処理ユニットSPIN2を通る経路を表す仮タイムテーブルが選択され、その仮タイムテーブルを構成するブロックが、時間軸上で前詰めに配置される。インデクサロボットIRのハンド8Aおよび8Bは同時に2枚の未処理基板Wまたは処理済み基板Wを搬送することができるので、インデクサロボットIRによる基板PJ1-3,PJ1-4の搬送を表すブロックが、時間軸上で重なり合うように配置されている。また、詳細な図示は省略するが、主搬送ロボットCRとインデクサロボットIRとの間では、2枚の未処理基板PJ1-3,PJ1-4の受け渡しを同時に実行でき、また2枚の処理済み基板PJ1-3,PJ1-4の受け渡しを同時に実行できるので、それらの2枚の基板PJ1-3,PJ1-4の受け渡しを表すブロックが時間軸上で重なりあって配置されている。その後、スケジューリング機能部25は、処理ユニットSPIN2が基板PJ1-4の処理を終える時刻を、処理ユニットSPIN2の最終使用時刻として求め、記憶部23に書き込むステップS48。そして、基板PJ1-4はプロセスジョブ番号PJ1の最後の基板ではないので、ステップS49での判断が否定され、スケジューリング機能部25は、プロセスジョブ番号PJ1の使用権を維持する。この状態が、図61に示されている。プロセスジョブ番号PJ1の4枚目の基板PJ1-4のスケジューリングの後、スケジューリング機能部25は、ステップS37からの処理を行う。この場合、プロセスジョブ番号PJ1,PJ3の基板Wについてのスケジューリングは未了であるステップS37:YESが、スケジューリングした基板Wの枚数がインデクサロボットIRの同時搬送数この実施形態では2に達したのでステップS38:YES、スケジューリングが一旦終了するステップS53。スケジューリング済みの2枚の基板PJ1-3,PJ1-4が基板収容器Cから払い出されると、スケジューリング指示が発生するステップS33:YES。このとき、スケジューリング機能部25は、スケジューリング済みの基板枚数を0にリセットする。スケジューリング済み基板枚数は、ステップS38での判断で用いられる。スケジューリング指示が発生すると、スケジューリング機能部25は、記憶部23に格納された全ての仮タイムテーブル、すなわち、プロセスジョブ番号PJ1~PJ3に対応する全ての基板Wの仮タイムテーブルを読み出して、スケジューリングを開始する。この場合、既に処理開始している他の基板PJ1-1~4,PJ2-1~2が存在するステップS35:YESので、処理開始している基板PJ1-1~4,PJ2-1~2のみでスケジューリングが行われる。その結果は、図61と同じである。さらに、未スケジューリングの基板がありステップS37:YES、一度に搬送可能な枚数分の未処理基板Wのスケジューリングが未了であるのでステップS38:NO、プロセスジョブ番号PJ1の5枚目の基板PJ1-5の仮タイムテーブルが記憶部23から取得されるステップS39。さらに、スケジューリング機能部25は、プロセスジョブ番号PJ1のレシピで指定された並行処理ユニットSPIN1~SPIN2が使用可能かどうかを調べるステップS40。この場合、処理ユニットSPIN1~SPIN2に対してプロセスジョブ番号PJ1の使用権が設定されているので、ステップS40の判断が肯定される。そこで、スケジューリング機能部25は、さらに、プロセスジョブ番号PJ1で使用可能な処理ユニットSPIN1~SPIN2のうち、最終使用時刻の最も早い処理ユニットを特定するステップS41。図61から、処理ユニットSPIN1が該当することが分かる。プロセスジョブ番号PJ1の後にスタートしたプロセスジョブ番号PJ3のスケジューリングが未了であり、プロセスジョブ番号PJ3が使用する並行処理ユニットSPIN3,SPIN4がいずれも使用可能使用権未設定であるので、ステップS42での判定が肯定される。そこで、スケジューリング機能部25は、処理ユニットSPIN3,SPIN4の最終使用時刻を記憶部23から取得する。そして、スケジューリング機能部25は、それらの最終使用時刻と、ステップS41で特定された処理ユニットの最終使用時刻とを比較するステップS51。想定している状況では、処理ユニットSPIN1,SPIN3,SPIN4のなかで処理ユニットSPIN3の最終使用時刻が最も早い図61参照ので、ステップS51での判定は肯定となる。そこで、スケジューリング機能部25は、最終使用時刻が最も早い処理ユニットSPIN3を使用可能なプロセスジョブ番号PJ3の未スケジューリングの基板のうち処理順序が最も早い基板である1枚目の基板PJ3-1をスケジューリング対象基板としてステップS52、ステップS42からの処理を行う。この場合、プロセスジョブ番号PJ3よりも後で開始したプロセスジョブは存在しないのでステップS42:NO、スケジューリング機能部25は、プロセスジョブ番号PJ3のレシピで指定された並行処理ユニットSPIN3~SPIN4のうち、使用権が未設定の処理ユニットSPIN3,SPIN4に対して、プロセスジョブ番号PJ3の使用権を設定するステップS43。そして、スケジューリング機能部25は、プロセスジョブ番号PJ3の1枚目の基板PJ3-1の仮タイムテーブルを構成するブロックを配置していくステップS44~S47。図62は、プロセスジョブ番号PJ3の1枚目の基板PJ3-1に関するブロックを配置した例を示す。このとき、最終使用時刻が最も早い処理ユニットである処理ユニットSPIN3を通る経路を表す仮タイムテーブルが選択され、その仮タイムテーブルを構成するブロックが、時間軸上で前詰めに配置される。その後、スケジューリング機能部25は、処理ユニットSPIN3が基板PJ3-1の処理を終える時刻を、処理ユニットSPIN3の最終使用時刻として求め、記憶部23に書き込むステップS48。そして、基板PJ3-1は、プロセスジョブ番号PJ3の最後の基板ではないので、ステップS49での判断が否定となり、スケジューリング機能部25は、プロセスジョブ番号PJ3の使用権を維持する。この状態が、図62に示されている。プロセスジョブ番号PJ3の1枚目の基板PJ3-1のスケジューリングの後、スケジューリング機能部25は、ステップS37からの処理を行う。この場合、プロセスジョブ番号PJ1,PJ3の基板Wについてのスケジューリングは未了でありステップS37:YES、スケジューリングした基板Wの枚数がインデクサロボットIRの同時搬送数この実施形態では2に満たないのでステップS38:NO、スケジューリング機能部25は、スケジュール未了のプロセスジョブのなかでスケジューリング指示が最も早いプロセスジョブ番号の処理順序が最も早い基板、すなわちプロセスジョブ番号PJ1の5枚目の基板PJ1-5をスケジューリング対象基板とし、そのスケジューリング対象基板に関するデータを記憶部23から取得するステップS39。プロセスジョブ番号PJ1の使用権が維持されているので、ステップS40の判断は肯定となり、スケジューリング機能部25は、プロセスジョブ番号PJ1のレシピで指定された並行処理ユニットSPIN1,SPIN2のうちで、最終使用時刻が最も小さい処理ユニットを特定するステップS41。この場合、処理ユニットSPIN1が該当する図62参照。スケジューリング対象基板PJ1-5よりも後でスケジューリング指示された別のプロセスジョブ番号PJ3のスケジューリングが未了であり、処理ユニットSPIN3,SPIN4に対してプロセスジョブ番号PJ3の使用権が設定されているので、ステップS42での判定が肯定される。そこで、スケジューリング機能部25は、処理ユニットSPIN3,SPIN4の最終使用時刻を記憶部23から取得する。そして、スケジューリング機能部25は、その最終使用時刻と、ステップS41で特定された処理ユニットSPIN1の最終使用時刻とを比較するステップS51。この場合、処理ユニットSPIN4の最終使用時刻が処理ユニットSPIN1の最終使用時刻よりも早い。そこで、スケジューリング機能部25は、最終使用時刻が最も早い処理ユニットSPIN4を使用可能なプロセスジョブ番号PJ3の未スケジューリングの基板のうち処理順序が最も早い基板である2枚目の基板PJ3-2をスケジューリング対象基板としてステップS52、ステップS42からの処理を行う。この場合、プロセスジョブ番号PJ3よりも後で開始したプロセスジョブは存在しないのでステップS42:NO、スケジューリング機能部25は、プロセスジョブ番号PJ3の処理ユニットSPIN3,SPIN4に対する使用権を維持するステップS43。そして、スケジューリング機能部25は、プロセスジョブ番号PJ3の2枚目の基板PJ3-2の仮タイムテーブルを構成するブロックを配置していくステップS44~S47。図63は、プロセスジョブ番号PJ3の2枚目の基板PJ3-2に関するブロックを配置した例を示す。このとき、最終使用時刻が最も早い処理ユニットである処理ユニットSPIN4を通る経路を表す仮タイムテーブルが選択され、その仮タイムテーブルを構成するブロックが、時間軸上で前詰めに配置される。インデクサロボットIRのハンド8Aおよび8Bは同時に2枚の未処理基板Wまたは処理済み基板Wを搬送することができるので、インデクサロボットIRによる基板PJ3-1,PJ3-2の搬送を表すブロックが、時間軸上で重なり合うように配置されている。また、詳細な図示は省略するが、主搬送ロボットCRとインデクサロボットIRとの間では、2枚の未処理基板PJ3-1,PJ3-2の受け渡しを同時に実行でき、また2枚の処理済み基板PJ3-1,PJ3-2の受け渡しを同時に実行できるので、それらの2枚の基板PJ3-1,PJ3-2の受け渡しを表すブロックが時間軸上で重なりあって配置されている。その後、スケジューリング機能部25は、処理ユニットSPIN4が基板PJ3-2の処理を終える時刻を、処理ユニットSPIN4の最終使用時刻として求め、記憶部23に書き込むステップS48。そして、基板PJ3-2はプロセスジョブ番号PJ2の最後の基板であるので、ステップS49での判断が肯定され、スケジューリング機能部25は、プロセスジョブ番号PJ3の使用権を削除するステップS50。この状態が、図63に示されている。プロセスジョブ番号PJ3の2枚目の基板PJ3-2のスケジューリングの後、スケジューリング機能部25は、ステップS37からの処理を行う。この場合、プロセスジョブ番号PJ1の基板Wについてのスケジューリングは未了であるステップS37:YESが、スケジューリングした基板Wの枚数がインデクサロボットIRの同時搬送数この実施形態では2に達したのでステップS38:YES、スケジューリングが一旦終了するステップS53。スケジューリング済みの2枚の基板PJ3-1,PJ3-2が基板収容器Cから払い出されると、スケジューリング指示が発生するステップS33:YES。このとき、スケジューリング機能部25は、スケジューリング済みの基板枚数を0にリセットする。スケジューリング済み基板枚数は、ステップS38での判断で用いられる。スケジューリング指示が発生すると、スケジューリング機能部25は、記憶部23に格納された全ての仮タイムテーブル、すなわち、プロセスジョブ番号PJ1~PJ3に対応する全ての基板Wの仮タイムテーブルを読み出して、スケジューリングを開始する。この場合、既に処理開始している他の基板PJ1-1~4,PJ2-1~2,PJ3-1~2が存在するステップS35:YESので、処理開始している基板PJ1-1~4,PJ2-1~2,PJ3-1~2のみでスケジューリングが行われる。その結果は、図63と同じである。さらに、未スケジューリングの基板がありステップS37:YES、一度に搬送可能な枚数分の未処理基板Wのスケジューリングが未了であるのでステップS38:NO、プロセスジョブ番号PJ1の5枚目の基板PJ1-5の仮タイムテーブルが記憶部23から取得されるステップS39。さらに、スケジューリング機能部25は、プロセスジョブ番号PJ1のレシピで指定された並行処理ユニットSPIN1~SPIN2が使用可能かどうかを調べるステップS40。この場合、処理ユニットSPIN1~SPIN2に対してプロセスジョブ番号PJ1の使用権が設定されているので、ステップS40の判断が肯定される。そこで、スケジューリング機能部25は、さらに、プロセスジョブ番号PJ1で使用可能な処理ユニットSPIN1~SPIN2のうち、最終使用時刻の最も早い処理ユニットを特定するステップS41。図63から、処理ユニットSPIN1が該当することが分かる。プロセスジョブ番号PJ1の後にスタートしたプロセスジョブ番号PJ2,PJ3のスケジューリングは完了しているので、ステップS42での判定が否定される。そこで、スケジューリング機能部25は、プロセスジョブ番号PJ1の使用権を維持しステップS43、プロセスジョブ番号PJ1の5枚目の基板PJ1-5の仮タイムテーブルを構成するブロックを配置していくステップS44~S47。図64は、プロセスジョブ番号PJ1の5枚目の基板PJ1-5に関するブロックを配置した例を示す。このとき、最終使用時刻が最も早い処理ユニットである処理ユニットSPIN1を通る経路を表す仮タイムテーブルが選択され、その仮タイムテーブルを構成するブロックが、時間軸上で前詰めに配置される。より具体的には、基板PJ1-5の処理ブロックが、処理ユニットSPIN1に対応して、基板PJ1-3の処理ブロック後に配置され、その処理ブロックに合わせて、ブロック間の間隔ができるだけ小さくなるように、各ブロックが配置される。その後、スケジューリング機能部25は、処理ユニットSPIN1が基板PJ1-5の処理を終える時刻を、処理ユニットSPIN1の最終使用時刻として求め、記憶部23に書き込むステップS48。そして、基板PJ1-5は、プロセスジョブ番号PJ1の最後の基板ではないので、ステップS49での判断が否定となり、スケジューリング機能部25は、プロセスジョブ番号PJ1の使用権を維持する。この状態が、図64に示されている。プロセスジョブ番号PJ1の5枚目の基板PJ1-5のスケジューリングの後、スケジューリング機能部25は、ステップS37からの処理を行う。この場合、プロセスジョブ番号PJ1の基板Wについてのスケジューリングは未了でありステップS37:YES、スケジューリングした基板Wの枚数がインデクサロボットIRの同時搬送数この実施形態では2に満たないのでステップS38:NO、スケジューリング機能部25は、スケジュール未了のプロセスジョブのなかでスケジューリング指示が最も早いプロセスジョブ番号の処理順序が最も早い基板、すなわちプロセスジョブ番号PJ1の6枚目の基板PJ1-6をスケジューリング対象基板とし、そのスケジューリング対象基板に関するデータを記憶部23から取得するステップS39。プロセスジョブ番号PJ1の使用権が維持されているので、ステップS40の判断は肯定となり、スケジューリング機能部25は、プロセスジョブ番号PJ1のレシピで指定された並行処理ユニットSPIN1,SPIN2のうちで、最終使用時刻が最も小さい処理ユニットを特定するステップS41。この場合、処理ユニットSPIN2が該当する図64参照。スケジューリング対象基板PJ1-3よりも後でスケジューリング指示された別のプロセスジョブ番号PJ2,PJ3のスケジューリングは完了しているので、ステップS42での判定が否定される。したがって、スケジューリング機能部25は、プロセスジョブ番号PJ1の処理ユニットSPIN1,SPIN2に対する使用権を維持するステップS43。そして、スケジューリング機能部25は、プロセスジョブ番号PJ1の6枚目の基板PJ1-6の仮タイムテーブルを構成するブロックを配置していくステップS44~S47。図65は、プロセスジョブ番号PJ1の6枚目の基板PJ1-6に関するブロックを配置した例を示す。このとき、最終使用時刻が最も早い処理ユニットである処理ユニットSPIN2を通る経路を表す仮タイムテーブルが選択され、その仮タイムテーブルを構成するブロックが、時間軸上で前詰めに配置される。インデクサロボットIRのハンド8Aおよび8Bは同時に2枚の未処理基板Wまたは処理済み基板Wを搬送することができるので、インデクサロボットIRによる基板PJ1-5,PJ1-6の搬送を表すブロックが、時間軸上で重なり合うように配置されている。また、詳細な図示は省略するが、主搬送ロボットCRとインデクサロボットIRとの間では、2枚の未処理基板PJ1-5,PJ1-6の受け渡しを同時に実行でき、また2枚の処理済み基板PJ1-5,PJ1-6の受け渡しを同時に実行できるので、それらの2枚の基板PJ1-5,PJ1-6の受け渡しを表すブロックが時間軸上で重なりあって配置されている。その後、スケジューリング機能部25は、処理ユニットSPIN2が基板PJ1-6の処理を終える時刻を、処理ユニットSPIN2の最終使用時刻として求め、記憶部23に書き込むステップS48。そして、基板PJ1-6はプロセスジョブ番号PJ1の最後の基板ではないので、ステップS49での判断が否定され、スケジューリング機能部25は、プロセスジョブ番号PJ1の使用権を維持するステップS50。この状態が、図65に示されている。プロセスジョブ番号PJ1の6枚目の基板PJ1-6のスケジューリングの後、スケジューリング機能部25は、ステップS37からの処理を行う。この場合、プロセスジョブ番号PJ1の基板Wについてのスケジューリングは未了であるステップS37:YESが、スケジューリングした基板Wの枚数がインデクサロボットIRの同時搬送数この実施形態では2に達したのでステップS38:YES、スケジューリングが一旦終了するステップS53。スケジューリング済みの2枚の基板PJ1-5,PJ1-6が基板収容器Cから払い出されると、スケジューリング指示が発生するステップS33。このとき、スケジューリング機能部25は、スケジューリング済みの基板枚数を0にリセットする。スケジューリング済み基板枚数は、ステップS38での判断で用いられる。以後、同様の動作によって、プロセスジョブ番号PJ1の7枚目の基板PJ1-7を処理ユニットSPIN1で処理する計画が作成され図66参照、その後、プロセスジョブ番号PJ1の8枚目の基板PJ1-8を処理ユニットSPIN2で処理する計画が作成される図67参照。基板PJ1-8はプロセスジョブ番号PJ1の最後の基板であるので、ステップS49での判断が肯定され、スケジューリング機能部25は、プロセスジョブ番号PJ1の使用権を削除するステップS50。これにより、図67に示す全体スケジューリングが完成し、スケジューリングを終えるステップS37:NO。ステップS53。図67と図28との比較から明らかなとおり、図67に示したスケジューリングに従って処理を行うことによって、全体の処理時間が短縮される。とくに、インデクサロボットIRによる2枚の基板搬送を表す搬送ブロックを時間軸上で重ねて配置できることにより、処理時間を短縮できる。加えて、プロセスジョブ番号PJ2のレシピで指定された並行処理ユニットSPIN1~SPIN4のうち、処理ユニットSPIN1~SPIN2に対する使用権がプロセスジョブ番号PJ1に設定されている場合であっても、残りの処理ユニットSPIN3,SPIN4の最終使用時刻が早い場合には、その処理ユニットSPIN3,SPIN4についての使用権がプロセスジョブ番号PJ2に対して設定される。これにより、基板PJ2-1,PJ2-2の処理がプロセスジョブ番号PJ3の処理に対して先行する計画が策定されており、それによって、全体の基板処理時間の著しい短縮が達成されている。また、使用権の削除は、プロセスジョブの最後の基板が払い出されてからではなく、最後の基板のスケジューリングが終わった直後に行われるので、処理ユニットを効率的に稼働させるスケジューリングが可能となる。図68~図79は、第4の実施形態を説明するための図であり、プロセスジョブ番号PJ1,PJ2,PJ3が付された3つの基板群プロセスジョブに対するスケジューリングのさらに他の例を示す。この例は、図1および図2に示された構成の基板処理装置に対して、図45に示したスケジューリングを適用した例である。プロセスジョブ番号PJ1の基板群は8枚の基板PJ1-1~8で構成され、処理内容データ中のレシピによって、2つの処理ユニットSPIN1~SPIN2が並行処理ユニットとして指定されているものとする。また、プロセスジョブ番号PJ2の基板群は2枚の基板PJ2-1~2で構成され、処理内容データ中のレシピによって4つの処理ユニットSPIN1~SPIN4が並行処理ユニットとして指定されているものとする。さらに、プロセスジョブ番号PJ3の基板群は2枚の基板PJ3-1~2で構成され、処理内容データ中のレシピによって、2つの処理ユニットSPIN3~SPIN4が並行処理ユニットとして指定されているものとする。そして、プロセスジョブ番号PJ1,PJ2,PJ3の基板群に対して、この番号順に処理開始されて、スケジューリング指示が発生する場合を想定する。基板処理開始指示が与えられると図45のステップS31、スケジューリング機能部25は、仮タイムテーブルを作成するステップS32。すなわち、スケジューリング機能部25は、処理ユニットSPIN1を通る経路と処理ユニットSPIN2を通る経路との2つの経路を表す仮タイムテーブルがプロセスジョブ番号PJ1の8枚の基板PJ1-1~8に対してそれぞれ作成される。同様に、スケジューリング機能部25は、プロセスジョブ番号PJ2の2枚の基板PJ2-1~2に対して、それぞれ処理ユニットSPIN1~SPIN4のいずれか一つを通る、4つの経路を表す仮タイムテーブルを作成する。さらに、スケジューリング機能部25は、プロセスジョブ番号PJ3の2枚の基板PJ3-1~2に対して、それぞれ処理ユニットSPIN3またはSPIN4を通る、2つの経路を表す仮タイムテーブルを作成する。作成された仮タイムテーブルは、記憶部23に格納される。プロセスジョブ番号PJ1,PJ2,PJ3に対する処理開始が順に指示され、それに応答してスケジューリング指示が発生すると図45のステップS33、スケジューリング機能部25は、記憶部23に格納された全ての仮タイムテーブル、すなわち、プロセスジョブ番号PJ1~PJ3に対応する全ての基板Wの仮タイムテーブルを読み出して、全体スケジューリングを開始する。既に処理開始している他の基板Wは存在せずステップS35:NO、未スケジューリングの基板WがありステップS37:YES、一度に搬送可能な枚数分この実施形態では1枚の未処理基板Wのスケジューリングが未了であるのでステップS38:NO、プロセスジョブ番号PJ1の1枚目の基板PJ1-1の仮タイムテーブルが記憶部23から取得されるステップS39。さらに、スケジューリング機能部25は、プロセスジョブ番号PJ1のレシピで指定された並行処理ユニットSPIN1~SPIN2のなかに、使用可能なもの、すなわち他のプロセスジョブ番号の使用権が未設定のものがあるかどうかを調べるステップS40。最初の基板Wのスケジューリングを行うときには、この判断が肯定されるので、スケジューリング機能部25は、さらに、プロセスジョブ番号PJ1で使用可能な処理ユニットSPIN1~SPIN2のうち、最終使用時刻の最も早い処理ユニットを特定するステップS41。はじめは、いずれの処理ユニットの最終使用時刻も0であるので、番号の最も若い処理ユニットSPIN1が該当することになる。プロセスジョブ番号PJ1の後にプロセスジョブ番号PJ2,PJ3がスタートしており、いずれの使用権も未設定であるので、ステップS42での判定が肯定される。そこで、スケジューリング機能部25は、プロセスジョブ番号PJ2が使用する並行処理ユニットSPIN1~SPIN4の最終使用時刻を記憶部23から取得し、さらに、プロセスジョブ番号PJ3が使用する並行処理ユニットSPIN3~SPIN4の最終使用時刻を記憶部23から取得する。そして、スケジューリング機能部25は、それらの最終使用時刻と、ステップS41で特定された処理ユニットの最終使用時刻とを比較するステップS51。スケジューリング当初の各処理ユニットの最終使用時刻は初期値0であるので、ステップS51での判定は否定となる。そこで、スケジューリング機能部25は、プロセスジョブ番号PJ1のレシピにおいて並行処理ユニットとして指定された処理ユニットSPIN1~SPIN2に対して、プロセスジョブ番号PJ1の使用権を設定するステップS43。その後、スケジューリング機能部25は、プロセスジョブ番号PJ1の1枚目の基板PJ1-1の仮タイムテーブルを構成するブロックを配置していくステップS44~S47。図68は、プロセスジョブ番号PJ1の1枚目の基板PJ1-1に関するブロックを配置した例を示す。このとき、ステップS41,S42で特定された、最終使用時刻が最も早い処理ユニットである、処理ユニットSPIN1を通る経路を表す仮タイムテーブルが選択され、その仮タイムテーブルを構成するブロックが、時間軸上で前詰めに配置される。その後、スケジューリング機能部25は、処理ユニットSPIN1が基板PJ1-1の処理を終える時刻を、処理ユニットSPIN1の最終使用時刻として求め、記憶部23に書き込むステップS48。そして、基板PJ1-1はプロセスジョブ番号PJ1の最後の基板ではないので、ステップS49での判断が否定となり、スケジューリング機能部25は、プロセスジョブ番号PJ1の使用権を維持する。この状態が、図68に示されている。プロセスジョブ番号PJ1の1枚目の基板PJ1-1のスケジューリングの後、スケジューリング機能部25は、ステップS37からの処理を行う。この場合、プロセスジョブ番号PJ1,PJ2,PJ3の基板Wについてのスケジューリングは未了であるステップS37:YESが、スケジューリングした基板Wの枚数がインデクサロボットIRの同時搬送数この実施形態では1に達したのでステップS38:YES、スケジューリングが一旦終了するステップS52。スケジューリング済みの1枚の基板PJ1-1が基板収容器Cから払い出されると、スケジューリング指示が発生するステップS33:YES。このとき、スケジューリング機能部25は、スケジューリング済みの基板枚数を0にリセットする。スケジューリング済み基板枚数は、ステップS38での判断で用いられる。スケジューリング指示が発生すると、スケジューリング機能部25は、記憶部23に格納された全ての仮タイムテーブル、すなわち、プロセスジョブ番号PJ1~PJ3に対応する全ての基板Wの仮タイムテーブルを読み出して、スケジューリングを開始する。この場合、既に処理開始している他の基板PJ1-1が存在するステップS35:YESので、処理開始している基板PJ1-1のみでスケジューリングが行われる。その結果は、図68と同じである。さらに、未スケジューリングの基板がありステップS37:YES、一度に搬送可能な枚数分の未処理基板Wのスケジューリングが未了であるのでステップS38:NO、スケジューリング機能部25は、スケジュール未了のプロセスジョブのなかでスケジューリング指示が最も早いプロセスジョブ番号の処理順序が最も早い基板、すなわちプロセスジョブ番号PJ1の2枚目の基板PJ1-2をスケジューリング対象基板とし、そのスケジューリング対象基板に関するデータを記憶部23から取得するステップS39。プロセスジョブ番号PJ1の使用権が維持されているので、ステップS40の判断は肯定となり、スケジューリング機能部25は、プロセスジョブ番号PJ1のレシピで指定された並行処理ユニットSPIN1,SPIN2のうちで、最終使用時刻が最も小さい処理ユニットを特定するステップS41。処理ユニットSPIN1には基板PJ1-1のための処理ブロックが配置されているので、処理ユニットSPIN2が該当することになる。スケジューリング対象基板PJ1-2よりも後でスケジューリング指示された別のプロセスジョブ番号PJ2,PJ3があり、それらのプロセスジョブで使用可能な使用権未設定の処理ユニットSPIN3,SPIN4があるので、ステップS42での判定が肯定される。そこで、スケジューリング機能部25は、処理ユニットSPIN3~SPIN4の最終使用時刻を記憶部23から取得する。そして、スケジューリング機能部25は、それらの最終使用時刻と、ステップS41で特定された処理ユニットSPIN3の最終使用時刻とを比較するステップS51。この場合、処理ユニットSPIN2の最終使用時刻は初期値0であり、処理ユニットSPIN3~SPIN4の最終使用時刻も初期値0であるので、ステップS51での判定は否定となる。そこで、スケジューリング機能部25は、プロセスジョブ番号PJ1の使用権を維持するステップS43。その後、スケジューリング機能部25は、プロセスジョブ番号PJ1の2枚目の基板PJ1-2の仮タイムテーブルを構成するブロックを配置していくステップS44~S47。図69は、プロセスジョブ番号PJ1の2枚目の基板PJ1-2に関するブロックを配置した例を示す。このとき、ステップS41,S42で特定された、最終使用時刻が最も早い処理ユニットである処理ユニットSPIN2を通る経路を表す仮タイムテーブルが選択され、その仮タイムテーブルを構成するブロックが、時間軸上で前詰めに配置される。その後、スケジューリング機能部25は、処理ユニットSPIN2が基板PJ1-2の処理を終える時刻を、処理ユニットSPIN2の最終使用時刻として求め、記憶部23に書き込むステップS48。そして、基板PJ1-2はプロセスジョブ番号PJ1の最後の基板ではないので、ステップS49での判断が否定され、スケジューリング機能部25は、プロセスジョブ番号PJ1の使用権を維持する。この状態が、図69に示されている。プロセスジョブ番号PJ1の2枚目の基板PJ1-2のスケジューリングの後、その基板PJ1-2が基板収容器Cから払い出されると、スケジューリング指示が発生しステップS33:YES、ステップS34~S36の処理を経て、スケジューリング機能部25は、ステップS37からの処理を行う。この場合、プロセスジョブ番号PJ1,PJ2,PJ3の基板Wについてのスケジューリングは未了でありステップS37:YES、スケジューリング指示発生によってスケジューリング済みの基板枚数が0にリセットされるのでステップS38:NO、プロセスジョブ番号PJ1の3枚目の基板PJ1-3の仮タイムテーブルが記憶部23から取得されるステップS39。さらに、スケジューリング機能部25は、プロセスジョブ番号PJ1のレシピで指定された並行処理ユニットSPIN1~SPIN2が使用可能かどうかを調べるステップS40。この場合、処理ユニットSPIN1~SPIN2に対してプロセスジョブ番号PJ1の使用権が設定されているので、ステップS40の判断が肯定される。そこで、スケジューリング機能部25は、さらに、プロセスジョブ番号PJ1で使用可能な処理ユニットSPIN1~SPIN2のうち、最終使用時刻の最も早い処理ユニットを特定するステップS41。図69から、処理ユニットSPIN1が該当することが分かる。プロセスジョブ番号PJ1の後にプロセスジョブ番号PJ2,PJ3がスタートしており、処理ユニットSPIN3,SPIN4が使用可能なので、ステップS42での判定が肯定される。そこで、スケジューリング機能部25は、プロセスジョブ番号PJ2またはPJ3が使用可能な処理ユニットSPIN3~SPIN4の最終使用時刻を記憶部23から取得する。そして、スケジューリング機能部25は、それらの最終使用時刻と、ステップS41で特定された処理ユニットSPIN1の最終使用時刻とを比較するステップS51。想定している状況では、処理ユニットSPIN3,SPIN4の最終使用時刻はいずれも初期値0であるので、ステップS51での判定は肯定となる。そこで、スケジューリング機能部25は、最終使用時刻が最も早い処理ユニットSPIN3,SPIN4のうち番号の若い処理ユニットSPIN3を使用することができるプロセスジョブ番号PJ2の未スケジューリングの基板のうち処理順序が最も早い基板である1枚目の基板PJ2-1をスケジューリング対象基板としてステップS52、ステップS42からの処理を行う。この場合、プロセスジョブ番号PJ2よりも後で開始したプロセスジョブPJ3が存在するのでステップS42:YES、そのプロセスジョブ番号PJ3で使用可能な処理ユニットSPIN4の最終使用時間が調べられるが、ステップS51での判断は否定となる。そこで、スケジューリング機能部25は、プロセスジョブ番号PJ2のレシピで指定された並行処理ユニットSPIN1~SPIN4のうち、使用権が未設定の処理ユニットSPIN3,SPIN4に対して、プロセスジョブ番号PJ2の使用権を設定するステップS43。そして、スケジューリング機能部25は、プロセスジョブ番号PJ2の1枚目の基板PJ2-1の仮タイムテーブルを構成するブロックを配置していくステップS44~S47。図70は、プロセスジョブ番号PJ2の1枚目の基板PJ2-1に関するブロックを配置した例を示す。このとき、最終使用時刻が最も早い処理ユニットである、処理ユニットSPIN3を通る経路を表す仮タイムテーブルが選択され、その仮タイムテーブルを構成するブロックが、時間軸上で前詰めに配置される。その後、スケジューリング機能部25は、処理ユニットSPIN3が基板PJ2-1の処理を終える時刻を、処理ユニットSPIN3の最終使用時刻として求め、記憶部23に書き込むステップS48。そして、基板PJ2-1は、プロセスジョブ番号PJ2の最後の基板ではないので、ステップS49での判断が否定となり、スケジューリング機能部25は、プロセスジョブ番号PJ2の使用権を維持する。この状態が、図70に示されている。プロセスジョブ番号PJ2の1枚目の基板PJ2-1のスケジューリングの後、その基板PJ2-1が基板収容器Cから払い出されると、スケジューリング指示が発生しステップS33:YES、ステップS34~S36の処理を経て、スケジューリング機能部25は、ステップS37からの処理を行う。この場合、プロセスジョブ番号PJ1,PJ2,PJ3の基板Wについてのスケジューリングは未了でありステップS37:YES、スケジューリング指示発生によってスケジューリング済みの基板枚数が0にリセットされるのでステップS38:NO、スケジューリング機能部25は、スケジュール未了のプロセスジョブのなかでスケジューリング指示が最も早いプロセスジョブ番号の処理順序が最も早い基板、すなわちプロセスジョブ番号PJ1の3枚目の基板PJ1-3をスケジューリング対象基板とし、そのスケジューリング対象基板に関するデータを記憶部23から取得するステップS39。プロセスジョブ番号PJ1の使用権が維持されているので、ステップS40の判断は肯定となり、スケジューリング機能部25は、プロセスジョブ番号PJ1のレシピで指定された並行処理ユニットSPIN1,SPIN2のうちで、最終使用時刻が最も小さい処理ユニットを特定するステップS41。この場合、処理ユニットSPIN1が該当する図70参照。スケジューリング対象基板PJ1-3よりも後でスケジューリング指示された別のプロセスジョブ番号PJ2,PJ3があり、処理ユニットSPIN3,SPIN4の使用権がプロセスジョブ番号PJ2に設定されているので、ステップS42での判定が肯定される。そこで、スケジューリング機能部25は、処理ユニットSPIN3,SPIN4の最終使用時刻を記憶部23から取得する。そして、スケジューリング機能部25は、その最終使用時刻と、ステップS41で特定された処理ユニットSPIN1の最終使用時刻とを比較するステップS51。この場合、処理ユニットSPIN4の最終使用時刻は初期値0であるので、ステップS51での判定は肯定となる。そこで、スケジューリング機能部25は、最終使用時刻が最も早い処理ユニットSPIN4を使用可能なプロセスジョブ番号PJ2の未スケジューリングの基板のうち処理順序が最も早い基板である2枚目の基板PJ2-2をスケジューリング対象基板としてステップS52、ステップS42からの処理を行う。この場合、プロセスジョブ番号PJ2よりも後で開始したプロセスジョブ番号PJ3が存在するが、処理ユニットSPIN3,SPIN4の使用権がプロセスジョブ番号PJ2に設定されているので、ステップS42での判断が否定となる。そこで、スケジューリング機能部25は、プロセスジョブ番号PJ2の処理ユニットSPIN3,SPIN4に対する使用権を維持するステップS43。そして、スケジューリング機能部25は、プロセスジョブ番号PJ2の2枚目の基板PJ2-2の仮タイムテーブルを構成するブロックを配置していくステップS44~S47。図71は、プロセスジョブ番号PJ2の2枚目の基板PJ2-2に関するブロックを配置した例を示す。このとき、最終使用時刻が最も早い処理ユニットである処理ユニットSPIN4を通る経路を表す仮タイムテーブルが選択され、その仮タイムテーブルを構成するブロックが、時間軸上で前詰めに配置される。その後、スケジューリング機能部25は、処理ユニットSPIN4が基板PJ2-2の処理を終える時刻を、処理ユニットSPIN4の最終使用時刻として求め、記憶部23に書き込むステップS48。そして、基板PJ2-2はプロセスジョブ番号PJ2の最後の基板であるので、ステップS49での判断が肯定され、スケジューリング機能部25は、プロセスジョブ番号PJ2の使用権を削除するステップS50。この状態が、図71に示されている。プロセスジョブ番号PJ2の2枚目の基板PJ2-2のスケジューリングの後、その基板PJ2-2が基板収容器Cから払い出されると、スケジューリング指示が発生しステップS33:YES、ステップS34~S36の処理を経て、スケジューリング機能部25は、ステップS37からの処理を行う。この場合、プロセスジョブ番号PJ1,PJ3の基板Wについてのスケジューリングは未了でありステップS37:YES、スケジューリング指示発生によってスケジューリング済みの基板枚数が0にリセットされるのでステップS38:NO、プロセスジョブ番号PJ1の3枚目の基板PJ1-3の仮タイムテーブルが記憶部23から取得されるステップS39。さらに、スケジューリング機能部25は、プロセスジョブ番号PJ1のレシピで指定された並行処理ユニットSPIN1~SPIN2が使用可能かどうかを調べるステップS40。この場合、処理ユニットSPIN1~SPIN2に対してプロセスジョブ番号PJ1の使用権が設定されているので、ステップS40の判断が肯定される。そこで、スケジューリング機能部25は、さらに、プロセスジョブ番号PJ1で使用可能な処理ユニットSPIN1~SPIN2のうち、最終使用時刻の最も早い処理ユニットを特定するステップS41。図71から、処理ユニットSPIN1が該当することが分かる。プロセスジョブ番号PJ1の後にプロセスジョブ番号PJ2,PJ3がスタートしていて、プロセスジョブ番号PJ3についてのスケジューリングが未了であり、処理ユニットSPIN3,SPIN4に使用権が設定されていないので、ステップS42での判定が肯定される。そこで、スケジューリング機能部25は、処理ユニットSPIN3,SPIN4の最終使用時刻を記憶部23から取得する。そして、スケジューリング機能部25は、それらの最終使用時刻と、ステップS41で特定された処理ユニットの最終使用時刻とを比較するステップS51。想定している状況では、処理ユニットSPIN3,SPIN4の最終使用時刻よりも処理ユニットSPIN1の最終使用時刻の方が早いので、ステップS51での判定は否定となる。そこで、スケジューリング機能部25は、プロセスジョブ番号PJ1の使用権を維持しステップS43、プロセスジョブ番号PJ1の3枚目の基板PJ1-3の仮タイムテーブルを構成するブロックを配置していくステップS44~S47。図72は、プロセスジョブ番号PJ1の3枚目の基板PJ1-3に関するブロックを配置した例を示す。このとき、最終使用時刻が最も早い処理ユニットである処理ユニットSPIN1を通る経路を表す仮タイムテーブルが選択され、その仮タイムテーブルを構成するブロックが、時間軸上で前詰めに配置される。より具体的には、基板PJ1-3の処理ブロックが、処理ユニットSPIN1に対応して、基板PJ1-1の処理ブロックの後に配置され、その処理ブロックに合わせて、ブロック間の間隔ができるだけ小さくなるように、各ブロックが配置される。その後、スケジューリング機能部25は、処理ユニットSPIN1が基板PJ1-3の処理を終える時刻を、処理ユニットSPIN1の最終使用時刻として求め、記憶部23に書き込むステップS48。そして、基板PJ1-3は、プロセスジョブ番号PJ1の最後の基板ではないので、ステップS49での判断が否定となり、スケジューリング機能部25は、プロセスジョブ番号PJ1の使用権を維持する。この状態が、図72に示されている。プロセスジョブ番号PJ1の3枚目の基板PJ1-3のスケジューリングの後、その基板PJ1-3が基板収容器Cから払い出されると、スケジューリング指示が発生しステップS33:YES、ステップS34~S36の処理を経て、スケジューリング機能部25は、ステップS37からの処理を行う。この場合、プロセスジョブ番号PJ1,PJ3の基板Wについてのスケジューリングは未了でありステップS37:YES、スケジューリング指示発生によってスケジューリング済みの基板枚数が0にリセットされるのでステップS38:NO、スケジューリング機能部25は、スケジュール未了のプロセスジョブのなかでスケジューリング指示が最も早いプロセスジョブ番号の処理順序が最も早い基板、すなわちプロセスジョブ番号PJ1の4枚目の基板PJ1-4をスケジューリング対象基板とし、そのスケジューリング対象基板に関するデータを記憶部23から取得するステップS39。プロセスジョブ番号PJ1の使用権が維持されているので、ステップS40の判断は肯定となり、スケジューリング機能部25は、プロセスジョブ番号PJ1のレシピで指定された並行処理ユニットSPIN1,SPIN2のうちで、最終使用時刻が最も小さい処理ユニットを特定するステップS41。この場合、処理ユニットSPIN2が該当する図72参照。スケジューリング対象基板PJ1-3よりも後でスケジューリング指示された別のプロセスジョブ番号PJ2,PJ3のうちプロセスジョブ番号PJ3が未スケジューリングであり、処理ユニットSPIN3,SPIN4は使用可能使用権未設定であるので、ステップS42での判定が肯定される。そこで、スケジューリング機能部25は、処理ユニットSPIN3,SPIN4の最終使用時刻を記憶部23から取得する。そして、スケジューリング機能部25は、その最終使用時刻と、ステップS41で特定された処理ユニットSPIN2の最終使用時刻とを比較するステップS51。この場合、処理ユニットSPIN2の最終使用時刻が最も早い図72参照ので、ステップS51での判定は否定となる。そこで、スケジューリング機能部25は、プロセスジョブ番号PJ1の処理ユニットSPIN1,SPIN2に対する使用権を維持するステップS43。そして、スケジューリング機能部25は、プロセスジョブ番号PJ1の4枚目の基板PJ1-4の仮タイムテーブルを構成するブロックを配置していくステップS44~S47。図73は、プロセスジョブ番号PJ1の4枚目の基板PJ1-4に関するブロックを配置した例を示す。このとき、最終使用時刻が最も早い処理ユニットである処理ユニットSPIN2を通る経路を表す仮タイムテーブルが選択され、その仮タイムテーブルを構成するブロックが、時間軸上で前詰めに配置される。その後、スケジューリング機能部25は、処理ユニットSPIN2が基板PJ1-4の処理を終える時刻を、処理ユニットSPIN2の最終使用時刻として求め、記憶部23に書き込むステップS48。そして、基板PJ1-4はプロセスジョブ番号PJ1の最後の基板ではないので、ステップS49での判断が否定され、スケジューリング機能部25は、プロセスジョブ番号PJ1の使用権を維持する。この状態が、図73に示されている。プロセスジョブ番号PJ1の4枚目の基板PJ1-4のスケジューリングの後、その基板PJ1-4が基板収容器Cから払い出されると、スケジューリング指示が発生しステップS33:YES、ステップS34~S36の処理を経て、スケジューリング機能部25は、ステップS37からの処理を行う。この場合、プロセスジョブ番号PJ1,PJ3の基板Wについてのスケジューリングは未了でありステップS37:YES、スケジューリング指示発生によってスケジューリング済みの基板枚数が0にリセットされるのでステップS38:NO、プロセスジョブ番号PJ1の5枚目の基板PJ1-5の仮タイムテーブルが記憶部23から取得されるステップS39。さらに、スケジューリング機能部25は、プロセスジョブ番号PJ1のレシピで指定された並行処理ユニットSPIN1~SPIN2が使用可能かどうかを調べるステップS40。この場合、処理ユニットSPIN1~SPIN2に対してプロセスジョブ番号PJ1の使用権が設定されているので、ステップS40の判断が肯定される。そこで、スケジューリング機能部25は、さらに、プロセスジョブ番号PJ1で使用可能な処理ユニットSPIN1~SPIN2のうち、最終使用時刻の最も早い処理ユニットを特定するステップS41。図73から、処理ユニットSPIN1が該当することが分かる。プロセスジョブ番号PJ1の後にスタートしたプロセスジョブ番号PJ3のスケジューリングが未了であり、処理ユニットSPIN3,SPIN4が使用可能なので、ステップS42での判定が肯定される。そこで、スケジューリング機能部25は、処理ユニットSPIN3,SPIN4の最終使用時刻を記憶部23から取得する。そして、スケジューリング機能部25は、それらの最終使用時刻と、ステップS41で特定された処理ユニットSPIN1の最終使用時刻とを比較するステップS51。想定している状況では、処理ユニットSPIN1,SPIN3,SPIN4のなかで処理ユニットSPIN3の最終使用時刻が最も早い図73参照ので、ステップS51での判定は肯定となる。そこで、スケジューリング機能部25は、最終使用時刻が最も早い処理ユニットSPIN3を使用可能なプロセスジョブ番号PJ3の未スケジューリングの基板のうち処理順序が最も早い基板である1枚目の基板PJ3-1をスケジューリング対象基板としてステップS52、ステップS42からの処理を行う。この場合、プロセスジョブ番号PJ3よりも後で開始したプロセスジョブは存在しないのでステップS42:NO、スケジューリング機能部25は、プロセスジョブ番号PJ3のレシピで指定された並行処理ユニットSPIN3~SPIN4のうち、使用権が未設定の処理ユニットSPIN3,SPIN4に対して、プロセスジョブ番号PJ3の使用権を設定するステップS43。そして、スケジューリング機能部25は、プロセスジョブ番号PJ3の1枚目の基板PJ3-1の仮タイムテーブルを構成するブロックを配置していくステップS44~S47。図74は、プロセスジョブ番号PJ3の1枚目の基板PJ3-1に関するブロックを配置した例を示す。このとき、最終使用時刻が最も早い処理ユニットである処理ユニットSPIN3を通る経路を表す仮タイムテーブルが選択され、その仮タイムテーブルを構成するブロックが、時間軸上で前詰めに配置される。その後、スケジューリング機能部25は、処理ユニットSPIN3が基板PJ3-1の処理を終える時刻を、処理ユニットSPIN3の最終使用時刻として求め、記憶部23に書き込むステップS48。そして、基板PJ3-1は、プロセスジョブ番号PJ3の最後の基板ではないので、ステップS49での判断が否定となり、スケジューリング機能部25は、プロセスジョブ番号PJ3の使用権を維持する。この状態が、図74に示されている。プロセスジョブ番号PJ3の1枚目の基板PJ3-1のスケジューリングの後、その基板PJ3-1が基板収容器Cから払い出されると、スケジューリング指示が発生しステップS33:YES、ステップS34~S36の処理を経て、スケジューリング機能部25は、ステップS37からの処理を行う。この場合、プロセスジョブ番号PJ1,PJ3の基板Wについてのスケジューリングは未了でありステップS37:YES、スケジューリング指示発生によってスケジューリング済みの基板枚数が0にリセットされるのでステップS38:NO、スケジューリング機能部25は、スケジュール未了のプロセスジョブのなかでスケジューリング指示が最も早いプロセスジョブ番号の処理順序が最も早い基板、すなわちプロセスジョブ番号PJ1の5枚目の基板PJ1-5をスケジューリング対象基板とし、そのスケジューリング対象基板に関するデータを記憶部23から取得するステップS39。プロセスジョブ番号PJ1の使用権が維持されているので、ステップS40の判断は肯定となり、スケジューリング機能部25は、プロセスジョブ番号PJ1のレシピで指定された並行処理ユニットSPIN1,SPIN2のうちで、最終使用時刻が最も小さい処理ユニットを特定するステップS41。この場合、処理ユニットSPIN1が該当する図74参照。スケジューリング対象基板PJ1-5よりも後でスケジューリング指示された別のプロセスジョブ番号PJ3のスケジューリングが未了であり、処理ユニットSPIN3,SPIN4の使用権がプロセスジョブ番号PJ3に設定されているので、ステップS42での判定が肯定される。そこで、スケジューリング機能部25は、処理ユニットSPIN3,SPIN4の最終使用時刻を記憶部23から取得する。そして、スケジューリング機能部25は、その最終使用時刻と、ステップS41で特定された処理ユニットSPIN1の最終使用時刻とを比較するステップS51。この場合、処理ユニットSPIN4の最終使用時刻が処理ユニットSPIN1の最終使用時刻よりも早い。そこで、スケジューリング機能部25は、最終使用時刻が最も早い処理ユニットSPIN4を使用可能なプロセスジョブ番号PJ3の未スケジューリングの基板のうち処理順序が最も早い基板である2枚目の基板PJ3-2をスケジューリング対象基板としてステップS52、ステップS42からの処理を行う。この場合、プロセスジョブ番号PJ3よりも後で開始したプロセスジョブは存在しないのでステップS42:NO、スケジューリング機能部25は、プロセスジョブ番号PJ3の処理ユニットSPIN3,SPIN4に対する使用権を維持するステップS43。そして、スケジューリング機能部25は、プロセスジョブ番号PJ3の2枚目の基板PJ3-2の仮タイムテーブルを構成するブロックを配置していくステップS44~S47。図75は、プロセスジョブ番号PJ3の2枚目の基板PJ3-2に関するブロックを配置した例を示す。このとき、最終使用時刻が最も早い処理ユニットである処理ユニットSPIN4を通る経路を表す仮タイムテーブルが選択され、その仮タイムテーブルを構成するブロックが、時間軸上で前詰めに配置される。その後、スケジューリング機能部25は、処理ユニットSPIN4が基板PJ3-2の処理を終える時刻を、処理ユニットSPIN4の最終使用時刻として求め、記憶部23に書き込むステップS48。そして、基板PJ3-2はプロセスジョブ番号PJ3の最後の基板であるので、ステップS49での判断が肯定され、スケジューリング機能部25は、プロセスジョブ番号PJ3の使用権を削除するステップS50。この状態が、図75に示されている。プロセスジョブ番号PJ3の2枚目の基板PJ3-2のスケジューリングの後、その基板PJ3-2が基板収容器Cから払い出されると、スケジューリング指示が発生しステップS33:YES、ステップS34~S36の処理を経て、スケジューリング機能部25は、ステップS37からの処理を行う。この場合、プロセスジョブ番号PJ1の基板Wについてのスケジューリングは未了でありステップS37:YES、スケジューリング指示発生によってスケジューリング済みの基板枚数が0にリセットされるのでステップS38:NO、プロセスジョブ番号PJ1の5枚目の基板PJ1-5の仮タイムテーブルが記憶部23から取得されるステップS39。さらに、スケジューリング機能部25は、プロセスジョブ番号PJ1のレシピで指定された並行処理ユニットSPIN1~SPIN2が使用可能かどうかを調べるステップS40。この場合、処理ユニットSPIN1~SPIN2に対してプロセスジョブ番号PJ1の使用権が設定されているので、ステップS40の判断が肯定される。そこで、スケジューリング機能部25は、さらに、プロセスジョブ番号PJ1で使用可能な処理ユニットSPIN1~SPIN2のうち、最終使用時刻の最も早い処理ユニットを特定するステップS41。図75から、処理ユニットSPIN1が該当することが分かる。プロセスジョブ番号PJ1の後にスタートしたプロセスジョブ番号PJ2,PJ3のスケジューリングは完了しているので、ステップS42での判定が否定される。そこで、スケジューリング機能部25は、プロセスジョブ番号PJ1の使用権を維持しステップS43、プロセスジョブ番号PJ1の5枚目の基板PJ1-5の仮タイムテーブルを構成するブロックを配置していくステップS44~S47。図76は、プロセスジョブ番号PJ1の5枚目の基板PJ1-5に関するブロックを配置した例を示す。このとき、最終使用時刻が最も早い処理ユニットである処理ユニットSPIN1を通る経路を表す仮タイムテーブルが選択され、その仮タイムテーブルを構成するブロックが、時間軸上で前詰めに配置される。その後、スケジューリング機能部25は、処理ユニットSPIN1が基板PJ1-5の処理を終える時刻を、処理ユニットSPIN1の最終使用時刻として求め、記憶部23に書き込むステップS48。そして、基板PJ1-5は、プロセスジョブ番号PJ1の最後の基板ではないので、ステップS49での判断が否定となり、スケジューリング機能部25は、プロセスジョブ番号PJ1の使用権を維持する。この状態が、図76に示されている。プロセスジョブ番号PJ1の5枚目の基板PJ1-5のスケジューリングの後、その基板PJ1-5が基板収容器Cから払い出されると、スケジューリング指示が発生しステップS33:YES、ステップS34~S36の処理を経て、スケジューリング機能部25は、ステップS37からの処理を行う。この場合、プロセスジョブ番号PJ1の基板Wについてのスケジューリングは未了でありステップS37:YES、スケジューリング指示発生によってスケジューリング済みの基板枚数が0にリセットされるのでステップS38:NO、スケジューリング機能部25は、スケジュール未了のプロセスジョブのなかでスケジューリング指示が最も早いプロセスジョブ番号の処理順序が最も早い基板、すなわちプロセスジョブ番号PJ1の6枚目の基板PJ1-6をスケジューリング対象基板とし、そのスケジューリング対象基板に関するデータを記憶部23から取得するステップS39。プロセスジョブ番号PJ1の使用権が維持されているので、ステップS40の判断は肯定となり、スケジューリング機能部25は、プロセスジョブ番号PJ1のレシピで指定された並行処理ユニットSPIN1,SPIN2のうちで、最終使用時刻が最も小さい処理ユニットを特定するステップS41。この場合、処理ユニットSPIN2が該当する図76参照。スケジューリング対象基板PJ1-6よりも後でスケジューリング指示された別のプロセスジョブ番号PJ2,PJ3のスケジューリングは完了しているので、ステップS42での判定が否定される。したがって、スケジューリング機能部25は、プロセスジョブ番号PJ1の処理ユニットSPIN1,SPIN2に対する使用権を維持するステップS43。そして、スケジューリング機能部25は、プロセスジョブ番号PJ1の6枚目の基板PJ1-6の仮タイムテーブルを構成するブロックを配置していくステップS44~S47。図77は、プロセスジョブ番号PJ1の6枚目の基板PJ1-6に関するブロックを配置した例を示す。このとき、最終使用時刻が最も早い処理ユニットである、処理ユニットSPIN2を通る経路を表す仮タイムテーブルが選択され、その仮タイムテーブルを構成するブロックが、時間軸上で前詰めに配置される。その後、スケジューリング機能部25は、処理ユニットSPIN2が基板PJ1-6の処理を終える時刻を、処理ユニットSPIN2の最終使用時刻として求め、記憶部23に書き込むステップS48。そして、基板PJ1-6はプロセスジョブ番号PJ1の最後の基板ではないので、ステップS49での判断が否定され、スケジューリング機能部25は、プロセスジョブ番号PJ1の使用権を維持するステップS50。この状態が、図77に示されている。以後、同様の動作によって、プロセスジョブ番号PJ1の7枚目の基板PJ1-7を処理ユニットSPIN1で処理する計画が作成され図78参照、その後、プロセスジョブ番号PJ1の8枚目の基板PJ1-8を処理ユニットSPIN2で処理する計画が作成される図79参照。基板PJ1-8はプロセスジョブ番号PJ1の最後の基板であるので、ステップS49での判断が肯定され、スケジューリング機能部25は、プロセスジョブ番号PJ1の使用権を削除するステップS50。これにより、図79に示す全体スケジューリングが完成し、スケジューリングを終えるステップS37:NO。このように、この実施形態においても、プロセスジョブ番号PJ2のレシピで指定された並行処理ユニットSPIN1~SPIN4のうち、処理ユニットSPIN1~SPIN2に対する使用権がプロセスジョブ番号PJ1に設定されている場合であっても、残りの処理ユニットSPIN3,SPIN4の最終使用時刻が早い場合には、その処理ユニットSPIN3,SPIN4についての使用権がプロセスジョブ番号PJ2に対して設定される。これにより、基板PJ2-1,PJ2-2の処理がプロセスジョブ番号PJ3の処理に対して先行する計画を策定でき、それによって、全体の基板処理時間の著しい短縮が達成されている。また、使用権の削除は、プロセスジョブの最後の基板が払い出されてからではなく、最後の基板のスケジューリングが終わった直後に行われるので、処理ユニットを効率的に稼働させるスケジューリングが可能となる。以上、この発明の4つの実施形態について説明してきたが、この発明は、さらに他の形態で実施することもできる。たとえば、前述の実施形態で示した基板処理装置の構成や基板処理内容は一例に過ぎず、基板処理装置は他の構成を採ることができ、かつ別の基板処理内容に対してもこの発明を適用できる。また、プログラム30は、コンピュータ20に組み込まれた状態で提供されてもよいし、コンピュータ20とは別の記憶媒体CD-ROM、DVD-ROM等のコンピュータ読取可能な記憶媒体に記録された状態で提供されてもよい。その他、特許請求の範囲に記載された事項の範囲で種々の設計変更を施すことが可能である。"