(57)【特許請求の範囲】
【請求項１】
物品輸送システムで輸送されるべき物品の移動を制御するための分散型の方法であり、
前記物品輸送システムが、
複数のゾーンであって、これらゾーンの内の複数の隣接する近隣ゾーンを含むゾーンの部分集合によって一連のゾーン（z0, ---, z10）が定められている、複数のゾーンと、
各ゾーン毎に設けられた複数のゾーン・コントローラ(ZC)と、
前記ゾーンの部分集合に対して設けられ、複数のゾーン・コントローラを制御する制御ロジックコンピュータ(CLC)と、
少なくとも一つの前記制御ロジックコンピュータ（CLC）に対して設けられ、物品取得場所と宛先を含む制御命令を、前記制御ロジックコンピュータによって実行される物品取得命令及び物品移動命令を含む一連の複数の命令に分割する輸送コントローラ(ＴＣ)と、
前記輸送コントローラに対して前記制御命令を発行する前記物品輸送システム用の制御システム（110,112,114）と、から成り、
前記ゾーンの各々が、コンベヤシステム(160)、物品の通過及び速度を検出するセンサー(s2, --- ，s10)、及びコンベヤシステムを駆動するためのモータ(162)から成り、
前記ゾーン・コントローラ(ZC)の各々が、センサー・データを、前記制御ロジックコンピュータに報告し、且つ前記制御ロジックコンピュータからのモータ制御命令に従って、前記モータを加速及び減速し、
前記制御ロジックコンピュータ(CLC)は、ゾーン・コントローラからのセンサー・データに基づいて、ゾーン毎に、近隣ゾーンのステータス(628, 632乃至640)、下流ゾーンのステータスに依存して変化する下流ゾーンへの最大導入速度(630, 670)、対応するゾーンの最大速度(674)、及び宛先ゾーンからの距離に従ってセンサーにおける退出速度からの適切な速度特性を示す速度テーブルルール(676)を記憶し、
複数のゾーンが、物品を停止から最大速度まで加速し、または最大速度から停止まで減速するのに使用され、
前記方法が、
前記制御ロジックコンピュータが、前記物品移動命令を実行する際において、前記制御ロジックコンピュータ(CLC)が、ゾーンのセンサーが物品が上流ゾーンを出ていることを検出する時に、現在のゾーンに入る際の物品の速度に加えて、その下流に隣接するゾーンの最大導入速度を使用して、追従されるべき速度特性を決定すること、及び
前記制御ロジックコンピュータ(CLC)が、物品が宛先ゾーンから所定の位置内に存在する時に、速度テーブルルールの情報に従って、速度特性を決定することを含む、分散型の方法。
【請求項２】
前記速度特性が、加速、減速、または一定速度から選択される請求項１記載の分散型の方法。
【請求項３】
前記ステータスが、物品が退出している、退出した、及び停止したを含み、前記ステータスが、メッセージとして、近隣ゾーンから送られる請求項１記載の分散型方法。
【発明の詳細な説明】
【０００１】
（技術分野）
本発明は、一般的には制御システムの製造に関し、特定的には物品輸送システムに使用するための制御システムに関する。
【０００２】
（従来の技術）
自動化されたコンベヤシステムは、種々の物品輸送応用に使用されている。物品は、典型的には、物品の流れを制御する自動化された装置を使用するコンベヤ上にロードされる。自動化された装置は、出口点において物品を除去するためにも使用される。コンベヤ及び／または除去装置は、隣り合う物品ユニットが衝突するのを防ぎながら、幾つかの物品を接触点付近に累積させることができるように設計されている。半導体処理を含む若干の応用では、物品はコンベヤから、コンベヤ通路に沿う１つまたはそれ以上のワークステーションへ一時的に除去しなければならない。物品は後刻コンベヤへ戻され、コンベヤは物品を次のワークステーションまたは出口点へ輸送する。コンベヤと、通路に沿うワークステーションとの間の物品の運動を達成できるようにするには、コンベヤ上の物品の流れを重大に中断させることなく、輸送が達成されるように注意を払わなければならない。コンベヤ上の物品の流れを妨害することなく、コンベヤシステムとワークステーションとの間で物品を効率的に、且つ便利に転送するシステムが望ましい。
【０００３】
中間位置において物品をコンベヤから一時的に除去するような分野の一例は、半導体処理の分野である。この分野においては、コンベヤは半導体ウェーハまたは他の基体を異なる処理マシンへ輸送するために、またはレティクルをストッカーからステッパまで輸送するために使用することができる。物品（即ち、ウェーハまたはレティクル）は処理のためにマシンへ転送し、処理が完了した後に、次の処理マシンへ送給するためにコンベヤへ戻さなければならない。基体が処理マシン外の環境に曝されるのを最小にし、物品を粒子汚染から保護するために、典型的には、物品はシールされた輸送ポッドのような保護容器内に保持される。各処理マシンの入口には、物品を輸送ポッドから保護された環境内へ自動的に取り出すように設計されているロード・ポートが設けられている。装置の動作中、物品はロード・ポートとコンベヤとの間で屡々運動させなければならない。
【０００４】
典型的には、半導体製造装置は、幾つかの処理マシンを各々が含む複数の区画（ベイ）に編成されている。ある区画内のマシンの間で物品を運動させるために、種々のシステム（区画内輸送システムと呼ばれる）が使用される。例えば、多くのシステムはカートを使用して物品をポートからポートへ転送するのを、作業人に頼っている。作業人は、典型的には、物品をポートへ運動させ、処理が完了した後に輸送ポッドをカートへ戻すために、手動ロボット式リンクまたは他のリフティングデバイスを作動させる。このプロセスは、次のマシンにおいて繰り返される。別の区画内輸送システムは、マシン間でポッドを運び、ポッドを自動的にロード・ポート内へ運動させる自動案内ビークル（ＡＧＶ）に頼っている。カート及びＡＧＶは、自動化コンベヤに付随する長所（即ち、物品をコンベヤに沿って効率的に、且つ迅速に運動させることができ、カート及びＡＧＶよりも遙かに大きい容量を有している）を有していない。
【０００５】
半導体ウェーハはデリケートであり、特に処理の後段においては極めて貴重である。集積回路は、半導体ウェーハまたは他の基体上に複数の層を形成させることによって製造される。技術が進歩するにつれて集積回路は益々複雑になり、典型的には複数の複雑なワイヤリングの層を含んできている。集積回路のサイズを縮小させることによって、単一のウェーハ上に位置決めされる集積回路の数が増加してきている。半導体ウェーハの標準サイズは今後数年で200ｍｍから300ｍｍへ拡大され、単一のウェーハ上に形成することができる集積回路の数は更に増加するであろう。集積回路の複雑さが増し、サイズが縮小された結果として、ウェーハが種々の処理ステージを通って進行するにつれて半導体ウェーハの価値は実質的に高まる。また、300ｍｍウェーハのポッドの重量が増加したことから、手動でのウェーハの取扱いにおける人間工学的問題がもたらされる。即ち、ウェーハを破損させるとかなりの金銭的損失がもたらされるために、半導体ウェーハの取扱い、特に処理の後段における取扱いにはかなりの注意を払わなければならない。ウェーハを処理するために粒子汚染が実質的に無いクリーンルーム環境が要求されることが、物品を転送するのに使用できるシステムにさらなる制約を課している。物品をコンベヤとロード・ポートとの間で転送し、クリーンルーム環境での動作に適するシステムが望まれる。
【０００６】
半導体ウェーハのような物品、半導体ウェーハを運ぶ輸送ポッド、または他の容器を、コンベヤとロード・ポートまたは他のワークステーションとの間で運動させる転送システムが望まれる。限定するものではないが、製薬、医療システム、フラットパネルディスプレイ、及びコンピュータ・ハードウェア（ディスクドライブシステム、モデム等を含む）のような半導体処理以外の分野において使用することができる転送システムも望まれる。
【０００７】
コンベヤを基とする転送システムにおける物品の運動は、自動化された制御システム（ＡＣＳ）によって管理される。例えば、このようなシステムの１つがデンバー国際空港における手荷物取扱システムに使用されている。別のこのようなシステムが、イリノイ州キャロルストリームの処理及び配送センターにおける郵便トレイの運送を制御するために米国郵政公社によって使用されている（より詳細な情報は、http://www.honeywell.com/sensing/pressrel/9718.stmから入手できる“U.S. Postal Facility improves Operation with Honeywell’s Smart Distributed System”を参照されたい）。ＡＣＳは、ウェーハのポッドの運動を管理するために、半導体製造動作に使用される少なくとも１つのコンベヤを基とする転送システム内にも使用されてきた。
【０００８】
郵便局及び手荷物の例とは対比的に、半導体製造動作に使用されるコンベヤを基とする転送システムは、ウェーハのポッドを決して衝突させないように、且つ過大な加速を与えないように転送しなければならない。更に、ＡＣＳは、ウェーハのポッドを１つの処理ステーションから別の処理ステーションへタイムリに送給することを保証しなければならない。図１に示すこのような従来技術のＡＣＳの１つである“Asyst自動制御システム”は、ウェーハのポッドまたはオープンカセットを処理区画間で、及び処理区画内で運送する転送システムと共に動作する。この転送システムは、物品を運動させるトラック、ある角度で出会うトラックセグメントの間で回転を与える電気機械ユニットであるディレクタ、及びポッドを昇降させる電気機械ユニットであるエレベータを含む。トラックは、物品を運動させるために使用される複数のモータ、及び物品の位置を感知する複数のセンサーを含む。
【０００９】
(従来技術の問題点)
図１を参照する。Asyst自動制御システムは、システムの目的に従って転送システムのそれぞれの領域内で１つまたはそれ以上のポッドの運動を各々が制御する複数のＰＬＣ（プラグラマブルロジックコントローラ）を含む。各ＰＬＣは、ProfiBusを介して、それぞれのトラックの領域を構成しているセンサー及びモータに結合されている。ProfiBusはセンサー・バスであって、自律性を持たずにＰＬＣとクライアント（モータ、センサー、ディレクタ、エレベータ等）との間で信号を転送するためにだけ使用されることを意味する。これらのＰＬＣは相互接続されており、それらがポッドの運動及び位置に関する情報を共有できるようになっている。ＰＬＣによって制御できるセンサー及びモータの数は制限される。これはＰＬＣが、各センサーから順番に情報を取得するからである。従ってセンサーが多くなる程情報取得間隔時間が長くなり、毎秒の情報取得回数が少なくなるので、システムの応答が遅くなる。この構造に付随する１つの付加的な問題は、ＰＬＣがその関連する各デバイスの制御インタフェースを知らなければならないことである。その結果、転送システムに新しいセンサーまたはモータインタフェースが追加されると、ＰＬＣを変更する必要がある。別の問題は、ＰＬＣが、ポッドを衝突させずにその行先へ運動させるような高レベル制御発行、及びモータを加速させるような低レベル発行に同時に関連していることである。その結果、ＰＬＣの計算力が転送システムの性能のキーファクタになる。両問題は、輸送システムの拡張性及び再構成に対する障害でもある。
【００１０】
(発明の課題)
従って、拡張性があり、高レベル及び低レベル制御動作が競合しないようにコンピュータ資源を効率的に使用し、そして新しい型のモータ、電気機械成分、及びセンサーを容易に支援する輸送システムＡＣＳが望まれる。
【００１１】
（発明の概要）
要約すれば、本発明は、上述した要望を満足させる物品輸送システムのための制御システムの構造及び方法である。本発明は、３レベルのコントローラを含む。高レベル（輸送）コントローラは、物品をどのように運動させるかを指示する制御命令を本制御システムに発行する外部命令システムとインタフェースする。例えば、半導体製造装置内に使用するための物品輸送システムとして実現されている好ましい実施の形態では、制御命令は、特定の物品容器を１つの処理ステーションから別のステーションへ運動させる命令を含む。輸送コントローラ（ＴＣ）は、制御命令を実施する一連の基本動作を順序付けることによって制御命令を実行する。一実施の形態では、このことを、ＴＣは、制御命令を、少なくとも１つの第２レベルコントローラ（制御ロジックコンピュータ、以下「ＣＬＣ」と略記する場合がある）によって実行される一連の取得、移動、及び保管の最小命令（atomic acquire）に分割することによって行う。
【００１２】
分散制御システムを適合させるように、全物品輸送システムの物理的トポロジー（接続状態）を知る唯一のシステムエンティティはＴＣである。ＴＣが格納した１つのトポロジー表現は、全ての可能なシステムの宛先及び輸送システムゾーンの一組について編成される。各宛先は、その宛先へポッドをプリロードする、及びその宛先からポッドを送出することができるゾーンに関連する位置及びデバイス情報に対する参照を含む。またＴＣは、ＣＬＣから戻された情報を使用して輸送システムのための状態情報を保守する。
【００１３】
各制御ロジックコンピュータ（ＣＬＣ）は、１組の第３レベルコントローラ（インテリジェント・ドライバ）へ命令を与えることによって、物理的輸送システムの明確に識別された領域の高レベルの実時間制御、及び調整を行う。各第３レベルコントローラ自体は、制御のＣＬＣの領域内の１つまたはそれ以上の電気機械デバイスの低レベル制御の責を担っている。例えば、好ましい実施の形態では、ある領域は、各々が１組（例えば、２つ）のセンサー、ある長さ（例えば、0.5ｍの）のトラック、及び（例えば、１つの）駆動モータを各々含んでいる６４個のゾーンを含むことができる。センサからの情報、その領域のトポグラフィー（接続状態）の知識、及び速度制御、ルート指定、及び衝突回避に関する規則に基づいて、ＣＬＣはそのインテリジェント・ドライバへモータ制御命令を送ることによって最小命令を実行する。
【００１４】
好ましい実施の形態では、異なる型の電気機械デバイスが存在している。異なる各型は１つまたはそれ以上のインテリジェント・ドライバによって制御される。例えば、半導体製造装置に使用するための好ましい実施の形態では、電気機械デバイスは、ゾーン（コンベヤトラックセグメント及びそれに関連する１つまたは複数のセンサー、及び１つまたは複数のモータ）、タグ／バーコード読取り装置、ロード・ポート転送デバイス（ＬＰＴＤ）、ＥＭＯ（緊急時オフ）センサー、及びディレクタ（回転能力を有するトラックデバイス）を含むことができる。従って、好ましい実施の形態は、以下の型のインテリジェント・ドライバを含む。即ち、
ゾーン・コントローラ          センサー・データをＣＬＣへ報告し、ＣＬＣからの
命令に従ってモータを加減速する；
タグコントローラ              タグ／バーコード読取り装置と双方向通信を行う；
軸コントローラ                ＬＰＴＤ、エレベータまたはディレクタの回転の何
等かの軸を制御する；
ＥＭＯコントローラ            電源を監視し、電源故障時にはＣＬＣに通知する；
ハンドシェークコントローラ    別々に制御される電気機械デバイスの動作を同期さ
せるために使用されるマルチワイヤー並列インタフ
ェースを実現する。
【００１５】
各ゾーンは、ｎ上流ゾーン及びｍ下流ゾーンの近隣と組合わされていて、通常の輸送システム動作中に多分相互作用し合う。これらの近隣は、輸送システムのトポロジー内のあるゾーンの位置に依存して別々に定義される。例えば、直線コンベヤトラックの一部分内のあるゾーンは、ゾーンとゾーンとの相互作用が直線トラック内に制限されるので、３つの上流ノード及び３つの下流ノードからなる近隣を有していよう。トラックの３つの部分の交差点におけるディレクタは、より多くのゾーン（例えば、20）を有するある近隣によってカバーされ、より広い範囲の可能なゾーン相互作用を反映するようになっている。ＣＬＣは、特定の近隣に影響する命令を遂行する責任を、その近隣を構成するゾーンに関連する電気機械デバイスを制御する責を負っているＣＬＣスレッド（または、プログラム）だけに分配する。これらのスレッドは、それらの動作を調整するために、それらの間で通信するように構成されている。ゾーンレベルへのこのＣＬＣ責任の分配は、マルチプロセッサの異なるプロセッサ全体にＣＬＣタスクを分配することを可能にする。代替として、全ＣＬＣを、単一のプロセッサ上で、またはネットワーク上に分散されている複数のプロセッサ上で走らせることができる。
【００１６】
各ＣＬＣは、その関連しているインテリジェント・ドライバから状態情報を収集する。ＣＬＣは状態情報の若干をＴＣへ報告する。またＣＬＣは、状態情報を使用してその関連しているデバイスに影響するエラー状態を検出して処理し、報告する。これらのエラー状態は、センサー障害、モータ障害、故障したロード・ポート、予期せざる除去等を含む。
【００１７】
各制御層は、命令を発行する他に、状態情報を次に高い制御層へ戻す。次に高い層は、この状態情報に基づいて戦略を公式化する責を負う。
【００１８】
本発明の付加的な目的及び特色は、以下の添付図面に基づく詳細な説明から容易に明白になるであろう。
【好適な実施の形態】
本発明を特定の実施形態を参照してここに記載する。本発明の記載は、以下の用語解説で提供する用語を用いる。
Ａ．用語解説
用語                      説明
ＡＭＨＳ          自動物品ハンドリングシステム
（Automated Material Handling System）
ＣＡＮ            コントローラ・エリア・ネットワーク
（Controller Area Network）
ネットワークに一緒に埋め込まれたデバイスの標準
キャリア(Carrier) コンテナと同義語
ＣＩＭ            計算機統合化製造(Computer Integrated Manufacturing)
このコンテキストでは、通信における伝送システムである全てのコ
ンピュータを大まかに意味する。
コンテナ          一般的な用語としては、オープンカセット、ボックス、若しくはポ
(Container)       ッドと呼ばれる。コンテナは、伝送システムによって伝送されるオ
ブジェクトである。
制御ロジック      中間層ソフトウェア・コンポーネントに関するハードウェア・プラ
コンピュータ      トフォーム
ＣＯＲＢＡ        Common Object Request Broker Architecture  同種のネットワー
クを介して相互運用するための分散ソフトウェア・アプリケーシ
ョンのための方法としてObject Management Group（ＯＭＧ）によ
って開発された標準。
コーナー          コーナーは、キャリアをコーナーでターンさせる（９０°だけ方
（Corner）        向を変化させる）機能のみを備えたディレクタである。コーナー
は、軸線コントローラを有し、（右又は左の）どちらにターンさ
せるのかを構成することができるソフトウェアである。コーナー
は、（３つまでの）複数の入力を有するが、１つの出力しか出せ
ない。
ディレクタ        ディレクタは、コンテナをターンさせることができる機械的な装置
（Director）      である。交差ディレクタとコーナー・ディレクタとの２つのタイプ
のディレクタがある。
ディレクタ        ソフトウェア・アプリケーションは、ディレクタを有するコンポー
コントローラ      ネントの制御に関して応答可能なＣＬＣで稼働する。
インテリジェント  ハードウェア・プラットフォームは、ローカル・マイクロコントロ
・ドライバー・    ーラと、デバイスを管理し又は制御するのに使用されるネットワー
ボード            ク・サポート（例えば、ＣＡＮバス・サポート）を包含する。
Ｅ２３            Semiconductor Equipment and Materials International(SEMI)標
準。仕様Ｅ２３は、２つのデバイスの間で物品のハンドオフに関す
るマルチ配線、パラレル・ハンドシェークを定義する。
Ｅ２３アクティブ  アクティブ・パートナーは、物品を物理的に移動させるコンポーネ
・パートナー      ントを有する物品転送におけるデバイスである。ロード・ポート・
転送デバイス（Load Port Transfer Device）は能動的であり、ロ
―ド・ポート（Load Port）のそのサービスは受動的である。
【００１９】
ポッド・リフタ（Pod Lifter）は受動的であり、オーバーハンド・
ホイスト（Overhand Hoist）は能動的である。
Ｅ２３パッシブ    パッシブ・パートナーは、物品のロード又はアンロードを要求する
・パートナー      デバイスである。移動に影響を与えるいかなる機構も有さない。
【００２０】
輸送・システム・デバイスが能動的及び受動的であるというＥ２３
アクティブ・パートナーに関する記述を参照。
Ｅ−Ｓｔｏｐ      緊急停止。緊急停止（E-Stop）は、全てのモータを直ちにとめるよ
うに開始されるアクションである。緊急停止は、全てのコンピュー
タ・デバイスから電力を物理的に除去しない。
エレベータ        エレベータは、プラットフォームを昇降させるトラック・コンポー
ネントである。エレベータは、異なるフロアに配置されたコンベヤ
の間でコンテナを動かし、又は、天井からオペレータの高さまで動
かすのに使用される（典型的には、リフトと呼ばれるケースであ
る）。
エレベータ・      エレベータを包含するコンポーネントの制御に関して応答可能でＣ
コントローラ      ＬＣ上で稼働するソフトウェア・アプリケーション。
導入速度          入ってくるコンテナの前縁がベルトに接触するとき、ゾーンのモー
タが稼働する必要がある速度。他のノードに対するゾーンの上流が
加速又は減速特性で走るならば、導入速度は、ゾーン速度と退出速
度との間の中間値である。退出速度及びゾーン速度を参照。
退出速度          出ていくコンテナの後縁がゾーンと自由に接触するときに、ゾーン
のモータが稼働しなければならない速度。導入速度及びゾーン速度
を参照。ゾーンの退出速度は、下流ゾーンのゾーン速度と同じであ
る。
ＦＯＵＰ          「フロント・オープニング統一ポッド（Front Opening Unified
Pod）」ＦＯＵＰは、は３００ｍｍウェハ及びフロントの開口を
有するポッドのことをいう。
ゲート・ストップ  ゲート・ストップは、コンベヤの端でのキャリア・オフのポテンシ
ャル移動を阻止するのに使用されるデバイスである。
【００２１】
エレベータが、特定のトラック・パスとインラインでないとき、ゲ
ート・ストップが、エレベータからゾーン下流にキャリア・オフを
ドロップさせることを阻止するように、ゲート・ストップは、エレ
ベータと同じ位置で使用される。ゲート・ストップはまた、バッフ
ァで使用される。ゲート・ストップは、ゾーン・ソフトウェアによ
って制御される。
ハンドシェーク    ソフトウェア・アプリケーションは、並列Ｉ／Ｏボード上で稼働す
・コントローラ    る。
【００２２】
（例えば、ＬＰＴＤ及びロード・ポートのような）他のデバイスを
備えたＳＥＭＩ  Ｅ２３インタフェースを実装する。
区画間            輸送システムは典型的には、区画から区画に物品を移動させるため
（Interbay）      の製造（fab）フロアーの中心におろし環状に稼働する。
交差ディレクタ    交差ディレクタにより、入ってくる物品を複数の出力方向のうちの
一つに振り分けることができる。このディレクタは、２又は３の出
力方向と、１又は２の入力方向を有する。
区画内            区画内は、区画間に接続される輸送システムに一般的に適用される
（Intrabay）      用語であり、単一の区画内で輸送サービスを提供する。
発進ゾーン        発進ゾーンは、ポッドがレール上をいったん移動し始めてから
（Launch Zone）   のゾーンである。下流ロード・ゾーンと同義語である。
ロード・エリア    ロード・エリアは、下流ロード・ゾーン、上流ロード・ゾーン、及
びプリ・ロード・ゾーンを含む。上流及び下流ゾーンは、ロード・
ポイントを構成する。プリ・ロード・ゾーンは、コンテナがロー
ド・ポイントまで移動されるまでコンテナが保持されるゾーンであ
る。ゾーンが下流ゾーンであろうと上流ゾーンであろうと、コンテ
ナ移動の方向に依存する（コンテナは通常、上流ロード・ゾーンか
ら下流ロード・ゾーンに向かって移動する）。
【００２３】
図２Ａ乃至２Ｃは、複数のゾーン４２と、コンテナがロードされる
少なくとも一つのツール４６を含むレール４０の異なる領域の概略
図を示す。各図は、各ツール４６のロード・ポイント４４に関連し
て下流及び上流ロード・ゾーン５４，５２及びプリ・ロード・ゾー
ン５０の位置を示す。
【００２４】
図２Ａは、ツール４６が単一のロード・ポイント４４と関連するロ
ード領域４８とを有する場合を示す。コンテナが右から左に移動す
るので、プリ・ロード・ゾーン５０及び上流ロード・ゾーン５２は、
下流ロード・ゾーン５４の右である。
【００２５】
図２Ｂは、ツール４６が、２つのロード・ポイント４６Ａ，４６Ｂ
を有する場合を示す。各ロード・ポイント４６Ａ，４６Ｂはそれぞ
れ、ロード領域エリア４８Ａ，４８Ｂを有する。
【００２６】
ロード・ポイント４６Ａ，４６Ｂが、隣接ゾーン４２に位置決めさ
れるので、ロード領域４８Ａ，４８Ｂはオーバーラップする。例え
ば、ロード領域エリア４８Ａの下流ロード・ゾーン５４Ａは、ロー
ド領域４８Ｂの上流ロード・ゾーン５２Ｂと同じである。
【００２７】
図２Ｃは、プリ・ロード・ゾーン及び、左右両方の移動に関する上
流及び下流ロード・ゾーンを識別する、ロード・ゾーンに対するロ
ード・ポイントの可能な配置を示す。この図は、実際の物理的な構
成を示していない。
【００２８】
プロセスが完了したとき、レール（上流ロード・ゾーン５２）から
プロセスに関するツール４６に、及びレール（下流ロード・ゾーン
５４）に戻るようにコンテナを移動させるロード・ポート輸送デバ
イス（ＬＰＴＤ）とロード・ポイント４４の各々が関連する。また、
あるＬＰＴＤは、複数のロード・ポイントをサービスすることがで
きる。
ロット            論理的及び（任意に）物理的に互いにグループ化された一組のウェ
ハ。あるメーカは、１ロットを一つのカセットに包含し、他のメー
カは、１ロットを複数のカセットで構成させることができる。輸送
システムは、ロットを追跡しない。
ロットＩＤ        ロットを識別するための人間／機械が読みとり可能な識別子電気機
マイクロ・        械的なシステムの制御のために使用されるコンベヤに組み込まれた
コントローラ      コンピュータ・モジュール
ＭＭＳ            メンテナンス管理システム
（Maintenance Management System）
メンテナンス      他のシステムのためにメンテナンス・データを収集及び維持
管理システム      することができるシステム
物品              このコンテキストにおいて一般的な用語としては、半導体ＷＩＰ又
はレティクル（Reticle）又は、輸送システム内で移動可能な他の
要素のことをいう。
ＭＣＳ            材料コントロールシステム（Material Control System）
ＭＥＳ            製造実行システム（Manufacturing Execution System）
ＭＯＶＥ          輸送システムの外部のコンポーネントによって識別されうるＡＭＨ
Ｓ移動コマンド。
移動方向          物品は、レールの２つの方向のいずれかに移動する。移動の方向は、
レールに面している左右に延びるレールに関して定義される。即ち、
レールに対して左に移動することを左移動、レールに対して右に移
動することを右移動とする。
近隣              近隣は、所定のゾーンを取り囲み、及びポテンシャル・物理パスを
定義するゾーンの集り（collection）である。近隣は、所定のゾー
ンから上流にｎゾーン、下流にｍゾーン（典型的には、ｎ＝ｍ）で
構成される。各ゾーンは、多数の複数の近隣でありうる（典型的に
は、ｎ＋ｍ近隣）。コーナー、エレベータ及びディレクタは、全て
２つの近隣を有する。例えば、エレベータの２つの近隣は、その上
部位置と、その下部位置とのそれぞれに関する。ディレクタの近く
であるレール・ゾーンは、ディレクタのパスを介してストレートに
基づいて構成されたその近隣を有する。異なるトラック構成に関し
て可能な近隣の定義を図３Ａ乃至３Ｅに示す。これらの各々は、
ｎ＝ｍ構成である。
【００２９】
図３Ａは、ストレート・レール４０に位置するセンター・ゾーン６
０の周りの単一の近隣を構成するゾーン４２を示す。
【００３０】
近隣を構成するゾーンは、「１」とナンバリングされている。
【００３１】
図３Ｂは、コーナー６４に関する２つの近隣を構成するゾーン４２
を示す。ゾーン４２は、それらが属する近隣を示す「１」又は
「２」をナンバリングしてある。
【００３２】
図３Ｃは、ディレクタ６６の近くのストレート・レール４０に位置
するセンター・ゾーン６０に関する単一の近隣を構成するゾーン４
２を示す。これらは、ディレクタを介するストレート・パスが想定
されるので、この状況では単一の近隣のみである。
【００３３】
図３Ｄは、上部レール４０Ｕ及び下部レール４０Ｌと接続するエレ
ベータ６８に関する２つの近隣を構成するゾーン４２を示す。ゾー
ン４２は、それらが属する近隣を示す「１」又は「２」をナンバリ
ングしてある。
【００３４】
図３Ｅは、交差ディレクタ６６に関する２つの近隣を構成するゾー
ン４２を示す。ゾーン４２は、それらが属する近隣を示す
「１」又は「２」がナンバリングされている。
ＲＦタグ          電気的に読み書き可能であり、物理的なカセットを一意的に識別す
るのに十分な（最小の）情報を包含するカセットに埋め込まれた無
線高周波トランスポーダ。
ＯＲＢ            オブジェクト要求ブローカ（Object Request Broker）
並列入出力        ディジタルＩ／Ｏの８ビット及びオプションで１６ビットををポ−
(Parallel I/O)    トしているハードウェア・プラットフォーム。ハンドシェーク・コ
ボード            ントローラ用ＳＥＭ Ｅ２３インタフェースを実現するために用い
る。
プリロード・      プリロード・ゾーンは、宛先ゾーンである。ツールに引渡される物
ゾーン            品は、ツール用ロード・ポイントに移動される前にプリロード・ゾ
(Pre-load zone)   ーンで停止する。
ＲＡＭ            信頼性、可用性、及び保全性。典型的に、レポートのセミＥ−１０
セットを称する。
セミ Ｅ−１０      半導体装置製造業者協会。仕様Ｅ−１０は、信頼性レポート用デ
(SEMI E-10)        ータ収集及びレポート生成を網羅する。
セミ Ｅ−２３      Ｅ２３を参照
(SEMI E-23)
スマート・タグ    Ｐｏｄ又はＢｏｘに装着されうるＡｓｙｓｔＴｅｃｈｎｏｌｏｇｉ
(SmartTag)        ｅｓのデータキャリヤ製品でありかつ電子的に読取り可能／書込み
可能なデータ記憶装置を供給する。
スマート・タグ・  SmartTagプローブ（Tag Controllerの一つのタイプ）へのインタ
コントローラ      フェースに対応するドライバ・ボードで実行されるアプリケーショ
(SmartTag         ン。
Controller)
SMIFポッド        標準メカニカル・インタフェース・ポッド(Standard Mechanical
(SMIF Pod)        Interface Pod)。被制御ミニ環境にレティクル又はＷＩＰを含み
うる。SMIFポッドは、底部開放でかつ３００ｍｍウェーハに
用いられない（FOURを参照）。
速度特性          速度特性は、ゾーンの通過中のコンテナの速度を規定する。速度特
(Speed Profile)   は、ゾーン速度(Zone Speed)及び退出速度(Exit Speed)によって
規定される。例えば、３−２の特性は、ゾーンで完全な場合にコン
テナが速度Ｓ３で移動しかつそれがゾーンのベルトとのコンタクト
をゆるくした場合にコンテナがＳ２の速度で移動するように減速さ
れるであろうということを規定する。速度特性は、コンテテナが単
一のゾーン内に完全に含まれる場合にだけ起動される。それがゾー
ンのベルトに最初にコンタクトした場合にコンテナの速度は、前の
特性に依存するということに注目する。
タグ・            タグ・リーダーとのインタフェースを実現するドライバ・ボードで
コントローラ      実行されるソフトウェア・アプリケーション。
(Tag Controller)
輸送・            外部インタフェース及びコンポーネント間コーディネーション（協
コントローラ      調）を含んでいる高レベル、非リアル・タイム機能を管理するソフ
(Transport        トウェア・システム。
Controller)
輸送システム      製造(fab)内で次ぎから次ぎに物品を移動するシステムに適用され
(Transport        る一般的用語。
System)
WIP               処理中の作業(Work in Process)。 半導体ウェーハに典型的に適用
される。
ゾーン            単一のキャリアを開始し、停止しかつ転送することができるトラッ
（Zone）          クのそのセクション。ゾーンは、少なくともキャリアと同じ長さで
ある。３００ｍｍ製造に対して、ゾーンは、長さが５００ｍｍであ
る。
ゾーン・          ノード内のゾーンのネットワーク・アドレス。ゾーン・アドアドレ
アドレス          スは、幅が８ビットである。
(Zone Address)
ゾーン・          単一モータ及び関連センサーの低レベル、リアル・タイム制御に対
コントローラ      応するドライバ・ボードで実行されるインテリジェント・ドライバ
(Zone Controller) ・アプリケーション・ソフトウェア。
ゾーン            ゾーン最大速度は、それがゾーン・センサーのエンドによって検出
最大速度          される場合にキャリアがなしえる最高速度である。（即ち、キャリ
アが他のゾーンを占有せず (Zone Max.Speed) にゾーンを完全に占
有している場合)
ゾーン            単一のゾーン内に完全に含まれる場合にコンテナが移動している
速度              速度。導入速度及び退出速度を参照のこと。ゾーンのゾーン速度
(Zone Speed)      は、上流ゾーンの退出速度と同じである。
Ｂ．  システム説明
本発明により実現される輸送システムは、ソース・デバイスのロード・ポイントから宛先デバイスに関連付けられたロード・ポイントへの物品の信頼性がある、タイムリーな移動に対応する。ソース及び宛先は、記憶システム、処理ツール、ウェーハ・ソーター、又は輸送システムによって移動された物品で動作する他の製造（ｆａｂ）システムのいずれかでありうる。
【００３５】
輸送システムは、コンベヤ・ハードウェア、制御コンピュータ及び制御コンピュータで実行されるソフトウェアを含む。コンベヤ・ハードウェアは、一方向又は双方向レール、ディレクタ、コーナー、ロード・ポート転送デバイス（ＬＰＴＤ）又はエレベータでありうる。ＬＰＴＤを除き、これらのデバイスのそれぞれは、“ゾーン”で構成され、各ゾーンは、単一のコンテナを保持しうるコンベヤの個別に制御される物理的領域である。
【００３６】
ここに説明する一実施例では、一連のゾーン（及びインテリジェント・ドライバと呼ばれるそれらの制御コンピュータ）は、ネットワークに存在する。説明する実施例では、このネットワークは、コントローラ・エリア・ネットワーク（ＣＡＮ）ネットワークであるが、あらゆる高速ネットワーク技術（例えば、ＬｏｎｇＷｏｒｋ（ロング・ワーク），ＦｉｒｅＷｉｒｅ（ファイア・ワイヤ）を用いることができる。各ローカルＣＡＮネットワークは、アプリケーション特定ソフトウェアを実行している制御ロジックコンピュータ）（ＣＬＣ）に接続される。コンベヤ・レールを使用する実施例では、ＣＬＣゾーンスレッドは、高レベル制御に対応しかつゾーンスレッドによって制御されるゾーン・コントローラ（ＺＣ）・インテリジェント・ドライバは、ゾーンの低レベル制御に対応する。各ゾーンは、それぞれが特定のゾーンから上流のｎゾーン及び特定のゾーンから下流のｍゾーンから構成される、複数の“近隣（ネイバーフッド）”に属する。近隣のＣＬＣゾーンスレッドの全ては、物品の適宜な移動及び識別を確保するためにリアル・タイム情報を共有する。近隣は、物理的システムのトポロジーにより異なるサイズを有する。
【００３７】
輸送システムは、製造（ｆａｂ）ＬＡＮに存在している様々な保管デバイス、処理ツール及び他のデバイスと通信することが必要である。一実施例では、ロード・ポート（次いで処理ツールと通信する）との通信は、ＳＥＭＩ Ｅ２３並列インタフェースによって処理される。説明する実施例では、輸送システム用高レベル・コントローラ（輸送コントローラ(Transport Controller)、ＴＣと称する）と製造ＣＩＭシステム（例えば、ＭＣＳ）との間の通信は、ここに採り入れられる、ＳＥＭＩ区画内(Intrabay)特定装置モデルに従うＨＳＭＳ接続を介する。代替的に、ＴＣと高レベル・コントローラとの間の通信は、あらゆる最適な通信技術及びプロトコルを用いて実現することができる。これは、本発明のオペレーションがこの通信機構の構成から独立しているからである。
【００３８】
安全システム及びファイア・ドア・インターロックは、ＣＡＮネットワークに直接接続される直接入出力（Ｉ／Ｏ）コントローラによって処理される。これらのコントローラは、システム動作モードにおける自動変更(automatic changes)を決定することを援助する。このコントローラのバージョンは、電源故障に対して警報を発しかつイー・ストップ（Ｅ−Ｓｔｏｐ）デバイスを相互接続するために電力分配システムに構築される。ここで、この輸送システムの更なる詳細を、図４を参照して説明する。
【００３９】
図４を参照すると、本発明の輸送システム１０２及び通常の自動製造システム１１０を採り入れている自動製造システム１００のブロック図が示されている。この図は、移送ハードウェアを省略し、かつ本発明の中心である、制御システム・コンポーネントを強調する。通常の製造システム１１０は、製造実行システム(Manufacturing Execution System (MES))１１２及び材料コントロールシステム(Material Control System (MCS))１１４を含む。製造実行システム１１２は、製造を通してロットを追尾する。ＭＣＳ１１４は、製造実行システム１１２から特定のロットに対する次の処理段階の通知を受取り、処理ツールを識別しかつそのツールにロットを引渡すことを輸送システム１０２に命令する。
【００４０】
輸送システム１０２は、輸送コントローラ（ＴＣ）１０４、制御ロジックコンピュータ（ＣＬＣ）１０６及びインテリジェント・ドライバ１０８を含む。輸送コントローラ（ＴＣ）１０４は物品が移動／処理されるべき場所を示している命令１１５を、材料コントロールシステム（ＭＣＳ）１１４から受け取る。例えば、命令１１５は、一つの処理ツールから別の処理ツールにウェーハの特定のコンテナ（又はパッド）を転送するための命令を含む。ＴＣ１０４は、命令を実現する一連の基本／アトミック動作を一定の順序に配列することによってＭＣＳ命令１１５を実行する。例えば、ＴＣ１０４は、少なくとも一つの制御ロジックコンピュータ（ＣＬＣ）１０６によって実行される一連の取得、移動及び保管命令１１７に転送命令を分解する。ＭＣＳ１１４は、また、これらのアトミック・オペレーションを発行しうる。
【００４１】
ＴＣ１０４は、トポロジー・データベース１０５に物品輸送システム全体の物理的トポロジーを記憶する。トポロジー１０５の一つの表現は、一組の全ての可能な製造システム宛先（例えば、ロード・ポート転送デバイス）について編成される。各宛先表現は、コンテナを宛先にプリロードしかつ宛先から送出すことができるゾーンに関連付けられたロケーション（位置）及びデバイス情報への参照を含む。ＴＣ１０４は、また、ＣＬＣ１０６によって戻された状態情報１１９を用いて輸送システムに対する状態情報１０７を保守する。
【００４２】
各ＣＬＣ１０６は、物理的移送システムの別個の領域(distinct region)から構成されている電気機械デバイスのグループをドライブ（駆動）するインテリジェント・ドライバ１０８の対応するグループの高レベル、リアル・タイム制御及びコーディネート（協調）を供給する。センサー、物品の移動に対する動的制限、近隣トポグラフィーのマップ及び速度制御に対する規則、ルーティング及び衝突回避の情報１２３に基づき、ＣＬＣ１０６は、低レベル・命令１２１を介して選択したインテリジェント・ドライバ１０８をコーディネートすることによって命令１１５を実行する。ＣＬＣ１０６は、それがローカル・トポロジー・データベース１０９に記憶する、物品輸送システムのその関連領域の物理的トポロジーだけを知っていることが必要である。更に、各スレッドは、その近隣に対応するトポロジーだけを知っている。
【００４３】
一実施例では、異なるタイプの電気機械デバイスが存在する。各異なるタイプは、一つ以上のインテリジェント・ドライバ１０８によって制御される。例えば、一実施例では電気機械デバイスは、ゾーン（コンベヤ・レール・セグメント及びその関連センサー及びモータ）、タグ／バーコード・リーダー、ロード・ポート輸送デバイス（ＬＰＴＤ）、ＥＭＯ（緊急時オフ(Emergency Off)）センサー、ディレクタ（回転能力を有するトラック・デバイス）及びエレベータを含むことができる。従って、上述した実施例は、以下のタイプのインテリジェント・ドライバ１０８を含む：
ゾーン・          ＣＬＣにセンサー・データを報告（通知）し、ＣＬＣからのモータ・
コントローラ      命令に従ってモータを加速及び減速する；
タグ・            タグ／バーコード・リーダーとの双方向通信を供給する；
コントローラ
軸コントローラ    ＬＰＴＤ又はエレベータ又はディレクタの回転の軸を制御する；
ＥＭＯ            電源を監視しかつ電源故障によりＣＬＣに通知する；
コントローラ
及び
ハンドシェーク・  個別に制御される電気機械デバイスの動作を同期するために用いら
コントローラ      れる多重ワイヤ並列インタフェースを実現する。
【００４４】
図５Ａを参照すると、制御システム１００の一実施例１５０の拡大ブロック図を示す。実施例１５０では、複数のＣＬＣ１０６にイーサネット１２０を介して接続された単一のＴＣ１０４が存在する。ＣＬＣ１０６のそれぞれは、一つ以上のＣＡＮバスを介して複数のインテリジェント・ドライバ１０８に接続される。マイクロプロセッサ１２４のそれぞれは、移送ハードウェアから構成されている電気機械デバイス１６０の一つに対してアクティブ・ドライバ１０８を実行する。例えば、一つのモータ１６２及び二つのセンサー１６４を有するレール・ゾーン１６０ａは、ゾーン・コントローラ（ＺＣ）１０８ａによって制御される。マイクロプロセッサ１２４は、一般的であり、異なるタイプのアクティブ・ドライバ１０８を実行させる。
【００４５】
実施例１５０では、ＣＡＮバス毎に６４個のマイクロプロセッサ１２４が存在しかつ単一のＣＬＣ１０６によって制御される４つのＣＡＮバスまでが存在する。ＣＡＮバス毎のマイクロプロセッサ１２４の数、単一のＣＬＣ１０６によって制御されるＣＡＮバスの数、及びマイクロプロセッサ１２４毎のアクティブ・ドライバ１０８の数は、利用可能なコンヒュータ・ハードウェア及び物理的レイアウトにより変えることができる。コンベヤ及びインテリジェント・ドライバの詳細な図を図５Ｂに示す。
【００４６】
図６〜８を参照すると、従来のエレメントと本発明の移動システムの両方を採り入れている異なる製造ファシリティ・トポロジーの概略図が示されている。図６は、ウェーハ格納システム２０４、処置ツール２０６、通常の製造制御システム２０８と本発明により実現される輸送コントローラ（ＴＣ）１０４とを接続する製造ＬＡＮ２０２を含んでいる、基本トポロジー２００を示す。ウェーハ格納システム２０４と製造・ツール２０６は、レール１６０又は格納システム２０４及び処理ツール２０６をそれぞれロード及びアンロードするためのロード・ポート転送デバイス１６０ｂ−１、１６０ｂ−２を含む他の移送システム１６０によって接続されている。ＴＣ１０４は、区画電源２１０を監視しかつ、上述したように、イーサネット・ネットワークを介してＣＬＣ１０６を制御する。各ＣＬＣ１０６は、一つ以上のＣＡＮバス１２２を介してインテリジェント・ドライバ１０８を制御する。インテリジェント・ドライバ１０８は、次いで、移送システム１６０の対応コンポーネントを制御する。例えば、インテリジェント・ドライバ１０８は、ＬＰＴＤ１６０ｂ−１及び１６０ｂ−２に対するＬＰＴＤコントローラ１０８ｂを含む。他のタイプのインテリジェント・ドライバ１０８は、ゾーン・コントローラ（ＺＣ）及びＥ２３インタフェース（Ｅ２３）を含む。各区画内及び区画間は、他の区画内又は区画間と物理的に対話（インタラクト）しない完全に独立したシステムであると考えられる。
【００４７】
図７は、それぞれがそれ自身の処理ツール２０６（簡単のために単一処理ツールとして示す）及び区画内輸送システム３０を有している、一連の独立区画を含んでいる製造システムを示す。区画は、区画間システム２３２に接続される、ウェーハ格納システム２０４によって接続される。各区画内輸送システム２３０及び区画間輸送システム２３２は、それ自身のＴＣ１０４、ＣＬＣ１０６及びインテリジェント・ドライバ１０８を含む。区画内輸送システム２３０は、互いに気付かない。
【００４８】
図８は、一連の接続された区画を含んでいる製造システムを示す。このレイアウトでは、区画内及び区画間輸送システム２３０、２３２は、単一の、相互接続されたシステムとして動作する。その結果、輸送システム全体（即ち、区画内及び区画間輸送システム）を制御する単一のＴＣ０４が存在する。各区画内・システム２３０及び区画間・システム２３０は、それ自身のＣＬＣ１０６及び関連インテリジェント・ドライバ１０８を有する。ＴＣ１０４、ＣＬＣ１０６及びインテリジェント・ドライバ１０８の更なる詳細を、図９Ａ〜９Ｈを参照して、ここで説明する。
Ｃ．システム説明及びロジカル・モデル
図９Ａを参照すると、輸送コントローラ（ＴＣ）１０４のブロック図が示されている。ＴＣ１０４は、プロセッサ３０２；ハードディスク又はフラッシュメモリのような、不揮発性メモリ３０４；半導体ランダムアクセスメモリ（ＲＡＭ）のような、高速、主メモリ２０６；及び、オプションで、ディスプレイ３１０及び、キーボード３１２及びマウス３１４のような、ユーザ入力デバイスを含む。知られているコンピューティング原理によれば、ＴＣ１０４は、オペレーティング・システム３２０の制御下でメモリ３０６のプログラムを実行しかつディスプレイ３１０及びユーザ入力デバイス３１２、３１４を介してユーザ対話を許容する。ＴＣ１０４は、イーサネット（ＴＣＰ／ＩＰ）接続にわたり発行された命令を介してその影響の領域における一つ以上のＣＬＣ１０６を制御する。ディスプレイ３１０及びユーザ入力デバイス３１２、３１４は、ユーザ入力能力が必要とされないならばオプションである。
【００４９】
不揮発性メモリ３０４は、オペレーティング・システム３２０、ＴＣプログラム３２２及びＴＣデータ構造３４０を永久的に記憶する。ＴＣプログラム３２２は、ムーブ・ディスパッチャー・クラス３２６、ムーブ・クラス３２８、パッド・ロケータ・クラス３３０及びトポロジー・マネジャ・クラス３３２を含むが、それらに限定されない、ＴＣクラス３２４を採用する。ＴＣの機能性のキー・アスペクトを決定する、ＴＣクラス３２４は、以下により詳細に説明する。また、ＴＣプログラムは、ユーザ入力能力が要求されるならばオプションのユーザ・インタフェース機能３３４を含むこともできる。ＴＣプログラム３２２、クラス３２６〜３３２及びオプションのＵＩ機能３３４は、ソースコード及び／又は実行可能なものとして記憶することができる。
【００５０】
ＴＣデータ構造３４０は、ＴＣ１０４が対応するような輸送システムの領域の物理的トポロジーを規定するために用いるデータ構造のグループを含む。これらのデータ構造は、以下のものを含む：
宛先リスト３４２  宛先のリストに対するヘッダー；
宛先３４４        その左右発進及びプリロード・ゾーンに対応している位置へのその
ネーム及びポインタを含んでいる、宛先に対する情報を保持する；
ロケーション      輸送システムのアドレス可能物理ロケーションを規定し、その物理
３４６            ロケーションからの左又は右の動きが許容されるかどうかを示して
いるブール演算子及び左右隣接ロケーションへのポインタを含む；
ゾーン３４８      ゾーンのデバイス・ネームを保持する−ゾーンに関連付けられたロ
ケーションを変更する；
ディレクタ３５０  ディレクタに関連付けられた上下隣接ロケーションへのポインタ及
びディレクタからの上又は下への移動が許容されるかどうかを含ん
でいる、ディレクタに対する情報を保持し−ディレクタに関連付け
られたロケーションを変更する；
デバイス３５２    一つ以上をロケーションに関連付けられた各デバイスに対応してい
る、各ロケーションに関連付けることができる−ＣＡＮバス・アド
レス及びデバイス・ネームを含んでいる電気機械デバイスに対する
情報を保持する；
パラメタ・        変更可能でありかつデバイスを特性化する変数のリスト；
リスト３５４
及び
パラメタ３５６    固有のネーム、タイプ（例えば、整数(int)、フロート、ロング、
等）及び値(value)を有するデータ項目。
【００５１】
オペレーティング・システム３２０、ＴＣプログラム３２２、クラス・インスタンス３８０（“オブジェクト”としてここではしばしば参照される）及びＴＣデータ３９０は、プログラム３０２による使用のために主メモリ３０６にロードされる。クラス・インスタンス３８０は、それぞれクラス３２６〜３３２のインスタンスである、ムーブ・ディスパッチャ３８２、ムーブ・オブジェクト３８１、ポッド・ロケータ３８４及びトポロジー・マネージャ３８６を含む。また、ＴＣプログラムは、ＭＣＳ（材料コントロールシステム(Material Control System)）インタフェース３８８も含む。ＴＣデータ３９０は、それぞれがデータ構造３４２、３４４、３４６、３４８、３５０、３５２、３５４、３５６のインスタンスである、リンクされた宛先リスト３９２、宛先３９４、ロケーション３９６、ゾーン３９８、ディレクタ４００、デバイス４０２、パラメタ・リスト４０４及びパラメタ４０６を備えている、トポロジー・データベース３９２を含む。
【００５２】
輸送コントローラ１０４は、ＴＣプログラム３２２及びＴＣデータ３９２を用いて以下の機能を実行する：
その影響のスフェア内の全てのノードのインベントリを保守する。
【００５３】
その影響のスフェア内の他のコントローラにおける新しいプログラム及びパラメタをダウンロードしかつ確認する。
【００５４】
その影響のスフェア内コントローラに対する全てのデータ及びパラメタのバックアップ・コピーを保守する。
【００５５】
製造の制御システムからの新しい物品の移動要求を受け容れる。
【００５６】
物品引渡し処理中のツールのロード・ポートの利用可能性を確認する。
【００５７】
物品取得処理の一部として宛先情報を取得する。
【００５８】
保守アクティビティに対して複数のユーザ・インタフェースにかつ現行オペレーティング条件をディスプレイするためにサービスを供給する。
【００５９】
内部物品識別子と外部、製造ワイド物品識別子との間のマッピングを保守する。
【００６０】
内部宛先識別子と外部デバイス識別子との間のマッピングを保守する。
【００６１】
外部システムから受け取ったリ・ルーティング・命令を実行する。
【００６２】
物品移動を起動し、制御しかつ監視する。
【００６３】
電源状態を監視する。
【００６４】
システムのオペレーティング状態を制御する。
【００６５】
ＴＣ１０４のオペレーションの更なる詳細を以下に供給する。
【００６６】
図１０を参照すると、トポロジー３９２のモデルが示されている。図１０に採用された記号は、オブジェクト・モデリング（例えば、ユニファイド・モデリング言語、又はＵＭＬ）において一般的に用いられているのでここでは簡単に説明するだけにする。オブジェクトの各タイプは、オブジェクトの属性をリストしているボックスとして示される；オブジェクト・インスタンス間の関連は、ボックス間のラインとして示されている。各接続ラインのカーディナリティ(cardinality)(１と１、ｎとｎ、１となし、又は１と０・・・ｎ)は、各接続ラインの横に沿ってリストされる。例えば、図１０は、宛先リスト３９４に０とｎ宛先３９６との間に存在することができるということ及び各宛先３９６がｎ関連ロケーション３９８へのリンクを有することができるということを示す。矢印４１０のような、開いた矢印は、属性の相続を示す。例えば、矢印４１０は、ゾーン及びディレクタ・データ・インスタンス４００、４０２がそれ自身の固有な属性を有することができると同時に、両方は、また、ロケーション・データ・インスタンス３９８の属性の全てを相続するということを示す。
【００６７】
各インスタンスに対して示されるリストされた属性は、一実施例で採用されかつ本発明の範疇を限定することを意図しない。図面は、キーになるものだけであり、全ての属性を規定することを試みない。各属性は、属性ネーム：データ・タイプの形式で規定される。ポインタ・データ・タイプである属性は、星印（*）を付随している。そこで、属性左プリロードゾーン４１２は、ロケーション(位置)３９８へのポインタである。説明を必要としうる一つのデータ・タイプは、CORBAオブジェクト参照（Object Reference）である。このデータ・タイプは、別のアドレス空間（同じ又は異なるコンピュータ）に存在するソフトウェア・オブジェクトへのレファレンスである。例えば、属性関連ロード領域コントローラ（Associated Load Area Controller）４１４は、宛先データ・インスタンス３９６を、対応輸送システムロード領域を管理するＣＬＣ１０６のロード領域コントローラ（ＬＡＣ）・スレッド（図９Ｂを参照して説明する）にマップする。本発明のインプリメンテーションは、CORBAオブジェクト・レファレンス（参照）の使用に限定されないが、オブジェクト・レファレンスを異なるアドレス空間とプラットフォームとの間でマップさせることができるあらゆるミドル・ウェア製品を使用することができるということに注目する。例えば、ＤＣＯＭを用いることもできる。
【００６８】
図１１及び１２を参照すると、輸送システム構成４２０の例及びトポロジー３９２としてのその表現が示されている。輸送システム４２０は、一方向リングとして接続されたゾーンＺ１〜Ｚ１９及びディレクタＤ１〜Ｄ５のコレクション及びレールの直線長さを含む。輸送システム４２０は、ゾーンＺ１６とＺ１７との間の宛先ＤＳＴ１及びゾーンＺ１０とＺ１１との間の宛先ＤＳＴ２を含む。上述したように、宛先ＤＳＴ１、ＤＳＴ２のそれぞれは、ＬＰＴＤに対応する。輸送システム４２０を記述している情報は、ＭＣＳ１１４（図４）によってＴＣ１０４に供給される。ＴＣ１０４のトポロジー・マネージャ３８６は、この情報からトポロジー３９２（図１２）を続いて発生する。
【００６９】
図１２ＡはＴＣトポロジーとして輸送システム４２０の表示を示している。この表示の詳細は図１２Ｂに示されている。図１２Ｂを参照すると、それぞれのディレクタ・データ・インスタンス４０２は、ディレクタの２次元の可能な物理的接続に対応して、上方接続４３０、左側接続４３２、右側接続４３４及び下方接続４３０の、４個のポインタを有している。それぞれの宛先データ・インスタンス３９６は、左プリロード・ゾーンポインタ４３８、左発進ゾーンポインタ４４０、右プリロード・ゾーンポインタ４４２、右発進ゾーンポインタ４４４及びＬＰＴＤポインタ４４５の、５個のポインタを有している。それぞれのゾーン・データ・インスタンス４００は左側接続４４６と右側接続４４８の２個のポインタを有している。それぞれのＬＰＴＤインスタンス４０１はそれが提供する宛先のリストへのポインタ４５０を有している。図１２Ａに示すように、ＴＣ１０４はこれらのポインタをセットし、トポロジー３９２を完全に示すようになっている。例えば、宛先ＤＳＴ２ ３９６−２は、左プリロード・ゾーンＺ９を指す左プリロードポインタ４３８−２、左発進ゾーンＺ１０を指す左発進ポインタ４４０−２及び宛先ＤＳＴ２に関連したＬＰＴＤ４０１−２へのＬＰＴＤポインタ４４５−２とを有している。コンテナが宛先ＤＳＴ２を含むループにおいて左から右への移動だけが可能な時、宛先ＤＳＴ２はＮＵＬＬ値を有する右プリロード及び右発進ポインタ４５２，４５４を有している（すなわち、宛先ＤＳＴ２の右からのプリロード又は発進はない）。
【００７０】
図９Ｂを参照すると、ＣＬＣ１０６のブロック図が示されている。ＣＬＣ１０６は、プロセッサ４５２、ハードディスク又はフラッシュメモリのような不揮発性メモリ４５４、及び半導体、ランダムアクセスメモリのような早い主メモリ４５６を含んでいる。周知のコンピュータの原理によれば、ＣＬＣ１０６は動作システムの制御の下、メモリ４５６でプログラムを実行する。ＣＬＣ１０６はＣＡＮバス接続上で発行された命令を介して、その影響領域において、１以上のインテリジェント・ドライバ（ＩｎｔＤｒｖ）１０８を制御する。
【００７１】
非揮発性メモリ４５４は永久に、動作システム４６０、ＣＬＣプログラム４６２及びＣＬＣデータ構造５００を記憶する。ＣＬＣプログラム４６２はＣＬＣクラス４６４を使用し、そのＣＬＣクラスは、それらに限定されるものではないが、ゾーンクラス４６６、ロード領域コントローラ（ＬＡＣ）クラス４７２、健全モニター（ＨＭ）クラス４７６、ロード・ポート転送デバイス（ＬＰＴＤ）コントローラクラス４８０及びディレクタコントローラ（ＤＣ）クラス４８４を含んでいる。ＣＬＣクラス４６４のそれぞれは、それぞれの方法（図示せず）及びデータ構造４７０，４７４，４７８，４８２，４８６を含んでいる。ＣＬＣクラス４６４は、ＣＬＣの機能の重要なアスペクトを決定するが、より詳細については後述する。ＣＬＣプログラム４６２はまたＣＬＣステートマシン４８８を使用し、そのＣＬＣステートマシンは、それらに限定されるものではないが、ゾーンステートマシン４９０、ＬＡＣステートマシン４９２、ＨＭステートマシン４９４、ＬＰＴＤステートマシン４９６及びディレクタステートマシン４９８を含んでいる。ＣＬＣクラス４６４は特定のタイプの輸送システムを制御するために必要な他のクラスを含むことができ、例えば、クラス４６４は、そのシステムがエレベータを含む時、エレベータコントローラ（ＥＣ）クラス（図示せず）を含むことができる。ＣＬＣプログラム４６２及びクラス４６４はソースコード及び又は実行可能なものとして格納可能である。
【００７２】
ＣＬＣデータ構造５００はＣＬＣ１０６が責を負う輸送システムの隣りの物理トポロジーを定義するために使用されるデータ構造５０２の１つのグループである。これらのデータ構造は、各種ＴＣデータ構造３４０に類似しているが、必ずしもそれと形式が同一ではない情報を含んでいる（図９Ａ）。
【００７３】
動作システム４６０、ＣＬＣプログラム４６２、クラス・インスタンス５１０（ここでは「オブジェクト」又は「スレッド」と呼ばれることもある）及びＣＬＣデータ５３０はプロセッサ４５２による使用のため主メモリ４５６にロードされる。クラス・インスタンス５１０は、ゾーンスレッド５１２、ＬＡＣスレッド５１４、ＨＭスレッド５１６、ＬＰＴＤコントロール・スレッド５１８及びディレクタコントロールスレッド５２０を含んでいる。それぞれのスレッド５１０はＣＬＣクラス４６４のインスタンスであり、それぞれのＣＬＣステートマシン４８８により特定された動きを具体化する。例えば、ゾーンスレッド５１２はゾーンクラス４６６のインスタンスであり、ゾーンステートマシン４９０を具体化する。同様に、ＬＡＣ、ＨＭ、ＬＰＴＤコントローラ及びＤＣスレッド５１４，５１６，５１８，５２０はクラス／ステートマシン４７２／４９４，４７６／４９４，４８０／４９４，４８４／４９６から得られる。ＣＬＣデータ５３０はトポロジー・データベース５３２を含み、そのトポロジー・データベースは、ＣＬＣローカルトポロジーを表わすためにリンクされたトポロジー構造５０２のインスタンスを備えている。各種ＣＬＣスレッド５１０の高レベル記述が続く。
【００７４】
１つの実施例では、輸送システムのそれぞれのゾーンのための１つのゾーンスレッド５１２がある。ゾーンスレッドはそれぞれのゾーン・コントローラ（ＺＣ）１０８ａを制御し（図９Ｃ）、ゾーン・コントローラ及びＴＣ１０４の間に介在する。ゾーンスレッドは他のＣＬＣスレッド５１０と協働し、他のゾーンスレッド５１２、ＬＡＣスレッド５１４及び共通の近隣に関連したディレクタコントロールスレッド５２０を含んでいる。特に、それぞれのゾーンスレッド５１２は以下の機能を達成する。
その近隣内の全ての他のゾーンの状態についての情報を維持する。
モータ制御を行うためそのゾーン・コントローラと通信する。
センサー・データを得るためそのゾーン・コントローラと通信する。
新しいパラメタ及びプログラムデータを送るためそのゾーン・コントローラと通信する。
ゾーンを通る物品を安全で有効に移動させるため速度制御規則の物品スペーシングを行う。
単一のコンテナだけが所定時間でゾーンを占めるように試みることを保証するためゾーンへのアクセスを制御する。
ゾーンスレッドに関連したプログラム及びデータのさらなる詳細は図１３を参照して説明される。
【００７５】
図１３を参照すると、ゾーンＺ４を制御するそれぞれのゾーンスレッド５１２−４と関連したプログラム及びデータ構造のブロック図が示されている。図１３の上部に示されているように、ゾーンＺ４を含む近隣の１つはゾーンＺ１〜Ｚ３及びＺ５〜Ｚ７をも含んでいる。本発明の目的のため、近隣内で左から右へ移動する２つのコンテナＣ１及びＣ２があると仮定されている。ゾーンスレッド５１２−４（及び全てのゾーンスレッド）は、ゾーンステートマシン６２０、ゾーンスレッド方法６２２及びゾーンスレッドデータ６２４を具体化する。特に、ゾーンＺ４のためのゾーンスレッドデータ６２０は、近隣ステータス６２６、コンテナ待ち行列６４２、最も近いコンテナのポインタ６４８、下流速度表６７０、上流速度命令（又は特性）６７２、最大速度６７４及び速度表の規則６７６とを含んでいる。
【００７６】
ゾーンスレッド方法６２２はゾーンデータ６２６に含まれる情報を使用してゾーンステートマシン６２０の制御の下、図９Ｃを参照して上述された機能を達成する。ゾーンスレッド方法６２２の動作は図１７〜３７に関連させて徹底的に説明される。
【００７７】
近隣ステータス６２６は近隣するゾーンＺ１〜Ｚ３、Ｚ５〜Ｚ７のそれぞれの状態６２８〜６４０を与える。特に、１つの実施例では、各ゾーンの状態６２８〜６４０は、
キャリア退出している（carrier exiting）（コンテナがゾーンを出ていることを示している）
キャリア退出した（carrier exited）（コンテナがゾーンを丁度出たことを示している）
キャリア停止した（carrier stopped）（コンテナがゾーンでストップされたことを示している）
キャリア除去された（carrier removed）（コンテナがゾーンから、例えば、ＬＰＴＤにより、アンロードされていることを示している）
ゾーン利用可能（zone available）（コンテナがゾーンに移動可能であることを示している）
ゾーン予約されている（zone reserved）（ゾーンがコンテナの移動のためゾーンスレッドにより予約されたことを示している）
コンテナの待ち行列６４２はそれぞれコンテナＣ１，Ｃ２の状態６４４，６４６を与える。それぞれの状態の記録６４４，６４６は、
コンテナと関連したオブジェクト３８１の動きの識別、
コンテナの位置、
コンテナの移動方向、
コンテナの宛先、
を含んでいる。
【００７８】
最も近いコンテナのポインタ６４８はゾーンＺ４に最も近いコンテナと関連させてコンテナの待ち行列６４２の記録に向ける。
【００７９】
例えば、コンテナＣ１及びＣ２の宛先がそれぞれＤｅｓｔ１及びＤｅｓｔ２であり、それらの移動オブジェクトがそれぞれ３８１−１及び３８１−２であり、図１１に示された状況のためのコンテナの待ち行列６４２が次のように見えると仮定する（最も近いコンテナのポインタ６４８はコンテナＣ１のための記録に向くであろう）。
コンテナの待ち行列６４２
0003989683.tif 000002
【００８０】
例示された実施例では、下流速度表６７０はゾーンを通過するコンテナのための現在及び歴史上の速度データを含んでいる。１つの実施例では、速度表６７０は現在のノードから下流にある各ゾーンのための速度数を含んでいる（例えば、ゾーンＺ４のための速度表６７０はゾーンＺ５，Ｚ６及びＺ７のための現在及び歴史上の速度数を含んでいるであろう）。新しい速度特性が実行可能でない場合に、古いデータに戻る必要がある場合、歴史上のデータが供給される。他の実施例では、歴史上の速度データは維持されない。各ゾーン５１２は上流ゾーン５１２から受取った情報に基づいてその速度表を更新する。例えば、ゾーンＺ４ ５１２−４はゾーンＺ１〜Ｚ３から受取ったメッセージに基づいてその速度表６７０を更新する。速度表は以下より詳細に説明される。
【００８１】
速度表の規則６７６はゾーンスレッドＺ４がどのように速度表の情報６７０を使用し、特定のコンテナのため実行される次の速度特性を決定するかを説明している。速度特性はゾーンＺ４から下流の近隣ゾーンのコンテナの速度を特定する。特に、速度特性は、近隣する下流ゾーンにおいてコンテナの速度が維持され、減速され、又は増速されることを明記する。速度特性はまた三角形とすることもでき、その場合には、物品は加速度的に動作し、再び戻る。そのような速度特性は単一ゾーンで実行される０−０特性として設計可能である。１つの実施例では、速度表の規則６７６は、コンテナ及び近隣内の他のコンテナの現在及び歴史上の速度の関数（速度表６７０で利用可能な情報）及び近隣の物理構成のような他の要素としてコンテナのための速度特性を得る方法を規定する。これらの特性は極めて接近してポッドが衝突するのを防止すると共に円滑なポッドの加速及び減速を保証するため予め決定される。速度表の規則６７６の１つの実施例もまた可能であり、実行時間に分析される解析式、エキスパートシステムタイプの速度規則及び上述したものの組合せを含んでいる。
【００８２】
上流の速度命令は、それがゾーンＺ４にある時に、上流ゾーンスレッドによりゾーンＺ４スレッドに送られ、ゾーンＺ４スレッドがコンテナを維持し、減速し又は加速する速度に設定される命令である。上流の速度命令６７２は上流の隣接するゾーン（例えば、ゾーンＺ３）の下流の速度表から得られる。最大速度６７４はオペレータ又はＴＣによりプログラム又は変更可能な値であり、コンテナがゾーンを通って移動可能な最高速度を制限する。
【００８３】
再度図９Ｂを参照すると、１実施例では、輸送システムの各ロード領域にはＬＡＣスレッド５１４がある。ＬＡＣスレッドは、ハンドシェークコントローラ１０８ｆ(図９Ｈ)を制御し、オプションとしてタグコントローラ１０８ｄ（図９Ｆ）を制御し、これらのデバイスとＴＣ１０４の間の媒介物である。ＬＡＣ５１４は、あるロード領域と関連するゾーンスレッド５１２、健全モニタースレッド５１５６、ＬＰＴＤ制御スレッド５１８と協働して動作する。特に、ＬＡＣスレッドは、次の機能を行う：
物品の取得と保管(deposition)中、関連するロード・ポート輸送デバイス（ＬＰＴＤ）と協働し、通信する。
【００８４】
物品の保管中、関連するプリロード・ゾーンからロード・ポイントへ物品の移動を協働して、シーケンシャルに行う。
【００８５】
物品の取得動作中、関連するロード・ポイントから下流のロード・ゾーンへの物品の移動を協働して、シーケンシャルに行う。
【００８６】
１実施例では、各ＣＬＣ１０６上を走る１つの健全モニター（ＨＭ）スレッド５１６がある。各健全モニタースレッドは、関連するインテリジェント・ドライバ１０８の健全をモニターし、そのドライバーＴＣ１０４の間に介在し、動作が同じインテリジェント・ドライバ１０８と関連するＣＬＣスレッドと通信する。特に、健全モニタースレッド５１６は、次の機能を達成する。
特定のインテリジェント・ドライバのアプリケーションを連続的にモニターし、動作していることを保証する。
【００８７】
関連する制御スレッドに、ゾーン・コントローラの動作状態の如何なる変化も知らせる。
【００８８】
１実施例では、物品を輸送システムのレールに載せ降ろす各輸送機構に１つのＬＰＴＤ制御スレッド５１８がある。各ＬＰＴＤ制御スレッド５１８は、関連する予想機構の動作を制御する。各種類の機構について、特定の種類のＬＰＴＤ制御スレッドがある。各ＬＰＴＤ制御スレッドは、特定のＬＰＴＰクラスの例である。ＬＰＴＤ制御スレッドの機能は：
ロード・ポートから新しい位置へ移動する物品を得る。
【００８９】
オプションとして、物品を識別する。
【００９０】
トラックから、ロード・ポートへ物品を転送する。
【００９１】
１実施例では、輸送システムの各ディレクタについて１つのディレクタ制御スレッド５２０がある。各ディレクタ制御スレッド５２０は、輸送システムのトポグラフィーに従って関連するディレクタにより１つ又はそれ以上の物品の流れを制御し、ディレクタ付近での許された移動方向を制御する。特に、ディレクタ制御スレッド５２０は、次の機能を行う：
複数の入力位置から複数の出力位置の１つへ行くことを許可する。
【００９２】
物品の行先と、ディレクタを通ってその行先への可能なルートを知ることに基づいて、どの出力位置を使用するか決める。
【００９３】
ＣＬＣスレッド５１０により制御されるインテリジェント・ドライバを、図９Ｃ−９Ｈを参照して説明する。
【００９４】
図９Ｃは、本発明の各実施例のゾーン・コントローラ機能が実行されるコンピュータのブロック線図である。ゾーン・コントローラ１０８ａは、ゾーン・コントローラ（ＺＣ）プログラム５５０とＺＣデータ５５２を含む。ＺＣプログラム５５０の命令のもと、ゾーン・コントローラ１０８ａは、あるゾーンを構成するハードウェアを制御しモニターする。ＺＣプログラム５５０が必要な任意の情報は、ＺＣデータ５５２として記憶され、次のものが含まれる。
【００９５】
物品の最大速度、
ホイールの回転当たりの移動のセンチメートル、
センサーデバウンスカウント、
ゾーン長さ、
デバイスのネットワークアドレス。
【００９６】
ゾーン・コントローラ１０８ａは、特定の種類のゾーンと対話する特殊なハードウェアとソフトウェアを含む。例えば、例示のゾーン・コントローラ１０８ａとＺＣプログラム５５０は、２つのセンサー５５４、５５６とモータ５５８を含むゾーンと対話するように特殊化されている。ＺＣ１０８ａの特定の機能は、次のことを含む。
【００９７】
センサー５５４、５５６をモニターし、デバウンスする。
【００９８】
センサー状態の変化を関連するゾーンスレッド５１２へ通信する。
【００９９】
モータ５５８制御命令を受入れ、実行する。
【０１００】
図９Ｄは、本発明の実施例の軸コントローラ機能を実行するコンピュータのブロック線図である。軸コントローラ１０８ｃは、軸コントローラ（ＡＣ）プログラム７１４と、ＡＣデータを含む。ＡＣプログラムの命令のもと、軸コントローラ１０８ｃは、運搬機構（例えば、ＬＰＴＤ軸）５６４の１軸の動き（ｘ、ｙ、ｚ又はシータ）を動作する。軸コントローラ１０８ｃは、軸に沿った所定数の位置間を移動するように命令を受入れる。位置は、センサーにより、又は公知の位置からの絶対的なずれにより求めてもよい。ＡＣプログラム７１４が必要とする任意の情報は、ＡＣデータ７２０に記憶されていて、次のものを含む。
【０１０１】
ホームから貯蔵位置へのマイクロステップ、
センサーの数と種類、
センサースレッド値、
合計軸移動距離、
軸コントローラネットワークのアドレス。
【０１０２】
軸コントローラは、特定の機構５６４と対話する特殊なハードウェアとソフトウェアを含む。
【０１０３】
図９Ｅは、本発明の実施例のＩＤコントローラ機能が実行されるコンピュータのブロック線図である。ＩＤコントローラ１０８ｄは、タグコントローラ（ＴＣ）プログラム７０６と、ＴＣデータ５７２を含む。ＴＣプログラム５７２の命令のもと、ＩＤコントローラ１０８ｄは、ポッドの識別タグからポッド識別データを読取る。各種類のタグについて、特定のＩＤコントローラのアプリケーションがある。例えば、Ａｓｙｓｔ  ＲＦタグ、Ａｓｙｓｔ  ＩＲタグ、又はバーコードタグについて、別のアプリケーションがある。ＴＣプログラム７０６が必要とする任意の情報は、ＴＣデータ５７２に記憶され、次のものが含まれる。
【０１０４】
タグの種類、
ロットＩＤ読取り（Ｙ／Ｎ）
電子シリアルナンバー（ＥＳＮ）読取り（Ｙ／Ｎ）
ロットＩＤ長さ、
ＥＳＮ長さ、
タグのロットＩＤの開始アドレス、
ＩＤコントローラネットワークのアドレス。
【０１０５】
図９Ｆは、本発明の実施例の緊急事態遮断（ＥＭＯ）コントローラ機能が実行されるコンピュータ１０８ｅのブロック線図である。ＥＭＯコントローラ１０８ｅは、ＥＭＯコントローラ（ＥＭＯＣ）プログラム７２２と、ＥＭＯＣデータ５８２を含む。ＥＭＯＣプログラム７２２の命令のもと、ＥＭＯＣ１０８ｅは、輸送システム電源と関連するＥＭＯセンサー５８４からの警報をモニターし、警報をそれぞれの健全モニタースレッド５１６に報告する。各種類のＥＭＯセンサー５８４について、特定のＥＭＯＣプログラム７２２がある。ＥＭＯＣプログラム７２２が必要とする任意の情報は、ＥＭＯデータに記憶され、次のものが含まれる。
【０１０６】
ＥＭＯコントローラネットワークアドレス、
＃ＥＭＯセンサー（例えば、火災報知器、オペレータ、プッシュボタン等）
各ＥＭＯソースへ送るメッセージ。
【０１０７】
図９Ｇは、本発明の実施例のハンドシェークコントローラ機能が実行されるコンピュータ１０８ｆのブロック線図である。ハンドシェークコントローラ１０８ｆは、ハンドシェークコントローラ（ＨＣ）プログラム５９０と、ＨＣデータ５９２を含む。ＨＣプログラム５９０の命令のもと、ＨＣ１０８ｆは、輸送システムとロード・ポートの間のＳＥＭＩ  Ｅ−２３インタフェースを与える。ハンドシェークコントローラ１０８ｆは、輸送システムが能動又は受動の役割で作用しているかにより、適当なハンドシェークプロトコルに変換する命令を備える。ＨＣプログラム５９０が必要とする任意の情報は、ＨＣデータ５９２として記憶され、次のものを含む。
【０１０８】
ＨＣネットワークアドレス、
マップＥ２３が、物理的Ｉ／Ｏアドレスへのラインネームを制御するテーブル。
【０１０９】
前述の記述は、１つの特定のハードウェアに関し、ＴＣと、ＣＬＣとインテリジェント・ドライバは、別のコンピュータシステム内で実行される。しかし、本発明は、多数のハードウェアの構成で使用することができる。例えば、ＣＬＣ１０６と、ＴＣ１０４は、１つの別のコンピュータシステムで実行することができ、又はＣＬＣプログラム４６２は１つずつ小さいＣＰＵに分散することもできる。これらの実行に共通なのは、制御のフローとシステムのソフトウェアオブジェクト間の対話を記述する本発明の基本的論理モデルである。ソフトウェアオブジェクトは、高レベルコンポネント（例えば、ＴＣクラスのインスタンス３８０）と、中レベルコンポネント（例えば、ＣＬＣクラスのインスタンス５１０）と、低レベルコンポネント（例えば、インテリジェント・ドライバ１０８）を含む。図１４−１６を参照して、システム論理モデルを説明する。
【０１１０】
図１４は、ＭＳＣ１１４により出された命令に応答して、輸送システムの動作を開始し協働する選択された高レベル（ＴＣ）と中レベル（ＣＬＣ）ソフトウェアコンポネントの論理図である。高レベルコンポネントは、ＭＳＣ通信インタフェース３８８と、移動ディスパッチャ３８２と、移動オブジェクト３８１と、トポロジー・マネージャ３８６を含む。中レベルコンポネントは、ＬＡＣコントローラスレッド５１４と、トポロジー・マネージャ３８６と、ポッドロケータを含む。ＭＳＣ通信インタフェース３８８は、ＭＳＣ１１４からリモート命令１１５（図４）を受信し、物品の移動を含むこれらのＭＳＣ命令３８９を移動ディスパッチャ３８２に中継する。
【０１１１】
リモート命令１１５は、カリフォルニア州Mountain ViewのSemiconductor Equipment and Materials Internationalが出版したIntrabay AMHS Transport Specific Equipment Model, Document 2878, Rev A（１９９８年７月３１日）とその後継により定義され、この文書をここに参照する。リモート命令１１５（図４）は、表１に要約され、その列は、リモート命令の名前、リモート命令の記述、命令パラメタの名前（しばしば、ｃｐネームという）を含む。命令パラメタは、表２に記述される。
【０１１２】
【表１】
0003989683.tif 000003
【０１１３】
【表２】
0003989683.tif 000004
【０１１４】
移動ディスパッチャ３８２は、ポッドロケータ３８４とトポロジー・マネージャ３８６によって与えられる情報３８５，３８７を用いて、特定のＭＣＳ命令３８３を実行するために必要とされる輸送システムオペレーションを調整する移動オブジェクト３８１を形成する。このトポロジー・マネージャ３８６は輸送システムのレイアウト情報３８７を有する移動オブジェクト３８１を提供して、ＭＣＳの特定されたソースと宛先のロケーション間にワーキングルートがあることを検証する。ポッドデータベース３８４Ａの各々のレコードは輸送システム内の各々のポッドに対して含む。
【０１１５】
図１４に示されるように、ポッドロケータ３８４は全てのアクティブな移動オブジェクト３８４と通信することができる。図１０を参照して記載されているトポロジーデータベース３９０から駆動される情報３８７は、ＭＣＳ命令３８３に含まれるレールの一部に対してトポロジー情報を提供する。移動オブジェクト３８１は、命令に関連するソースおよび／または宛先ロード・ポートに関連するロード領域コントローラ(Load Area Controller: LAC)スレッド５１４へ一連の運転命令３９１を出すことによってＭＣＳ命令３８３を実行する。
【０１１６】
例えば、移動オブジェクト３８１が次ぎの移動命令３８３を実行するべきであると仮定する：
TRANSFER (COMMANDID=202,PRIOROTY=HIGH
SOURCEPORT=37,EESTPORT=272).
移動オブジェクト３８１は、ロケーション“３７”及びポッドが移動されるべきである唯一の宛先ポイント識別子“２７２”に関連するレール位置間の輸送システムトポロジーに関する情報に対してトポロジー・マネージャ３８６に質問する。
【０１１７】
移動オブジェクト３８１が宛先（DESTORT=272）への少なくとも１つの動作ルートが存在することを検証すると、物品を獲得するための命令がロケーション“３７”に関連するＬＡＣに出される。上述の例では、この移動命令は、それを実行するオブジェクトへこの命令を特別に識別する０２０のCOMMANDIDによって割当てられる。ＬＡＣがその物品が獲得されたことを示すと、追加の命令が出され、宛先ロケーション（他のＬＡＣの制御の下で）へ物品を移動し、その後コンベヤから外し、宛先ロケーションへ物品を移動する。このシナリオは移動されるべきポッドがロード領域において始めることを引きうける。移動されるべきポッドが最初にロード領域（電源故障に続く）にないとき、移動オブジェクト３８１は、ポッドを移動する位置にある他の形式のスレッド（例えば、ディレクタ制御スレッドまたはゾーンスレッド）と直接相互作用する。図１５を参照すると、ＬＡＣスレッド及び運転命令３９１が分配方法で実行されることを可能にする他のＬＡＣスレッド間の関係が示されている。
【０１１８】
図１５は、中間レベルのソフトウェア要素及び移動命令３９１を構成するサブ命令を実行するインテリジェント・ドライバの論理図である。この中間レベルの要素はドライバーの健全モニター５１６、ＬＡＣスレッド５１４、ＬＰＴＤ制御スレッド５１８、ディレクタ制御スレッド及びゾーンスレッド５１５を有している。インテリジェント・ドライバはゾーン・コントローラ５３０、軸コントローラ５２６、ハンドシェークコントローラ５２４、タグコントローラ５３０を有する。
【０１１９】
各々のＬＡＣスレッド５１４は、ＬＰＴＤ制御スレッド５１８及び多くのゾーンスレッド５１２（ロード領域を形成するもの）の動作を調整する。各々のＬＰＴＤ制御スレッド５１８は、単一のロード・ポート転送デバイスが多くのロード領域をサービスするにしたがって、多くのＬＡＣスレッド５１４と相互作用する。各々のゾーンスレッド５１２は、１つまたは多くの他のゾーンスレッド５１２の隣にあるものであり、０と２つのディレクタ制御スレッド５２０間の隣にあるものであることもできる（ゾーンスレッドの関連ゾーンがディレクタの隣にあるとき、ゾーンスレッドは隣のものとしてディレクタ制御スレッドを有する）。ゾーンスレッド５１２、ディレクタスレッド５２０、ＬＰＴＤ制御スレッド５１８、およびＬＡＣスレッド５１４を含むＣＬＣスレッドは、一般に１またはそれ以上のインテリジェント・ドライバ１０８を制御する。
【０１２０】
既に説明したように、ゾーンスレッド５１２はゾーン・コントローラ５３０を制御し、ディレクタ制御スレッド５２０はゾーン・コントローラ及び軸コントローラ５２６を制御し、ＬＰＴＤ制御スレッド５１８は１から３の軸コントローラ５２６を制御し、そしてＬＡＣコントローラ５１４はハンドシェークコントローラ及びＩＤ／タグコントローラ５２２を制御する。インテリジェント・ドライバ１０８の各々は、関連する制御物体３１８（図１４）へ戻すそれぞれのドライバー１０８の健全を報告するＣＬＣドライバー・健全・モニター・スレッド５１６によっても制御される。
【０１２１】
図１４と図１５に示された接続の各々はシステムオブジェクト間の通信経路を示す。これらの通信経路の他の展開図が、円形を有するキーＣＬＣソフトウェア要素及び有するインテリジェント・ドライバ、および円形を接続する数字を有する各々のオブジェクト間の通信経路を表す図１６に示される。ＴＣ要素（例えば、図１４の移動オブジェクト及びトランスポートディスパッチコントローラ）は、単一の円形ラベル付けされた"Transport Ctlr"で一まとめに表されている。円弧状の各々の数字は１つの通信経路を示す。多くの参照を有する円弧は物体の形式のそれぞれの例間に多くの接続があることを示している。例えば、７つのゾーンの隣を仮定すると、ゾーンスレッド５１２は、その隣にある他のゾーンスレッド(zone thread)５１２の各々と別々の通信経路６、２５、２６、２７、２８、２９を有している。
【０１２２】
再度図１５を参照すると、ポッドを移動する命令を受けるとＬＡＣスレッド５１４は、そのロード領域(load area)を構成するゾーンスレッドにポッド移動サブ命令を送ることによって、運転命令を開始する。これらのゾーンスレッドは、図９Ａ−図９Ｈを参照して、そこに記載されているスレッドの能力にしたがって、要求された動作を実行するために、それらの隣にあるインテリジェント・ドライバ１０８と他のＣＬＣスレッド（例えば、ディレクタ制御スレッドと他のゾーンスレッド５１２）へサブ命令を出す。トランスファ命令及びアトミック動作のセット、または運転命令３９１を実現するために用いられるオブジェクト間通信とアクティビティの特定の命令シーケンスは、図１７−３０を参照して説明される。
Ｄ．システムオペレーションの原理
図１７−３０は、ＴＣとＣＬＣソフトウェア要素及びインテリジェント・ドライバの通信とオペレーションを示すシーケンス図である。
【０１２３】
シーケンス図は既知であり、したがってここでは簡単に述べる。関連する命令シーケンスに含まれるソフトウェア要素のリストがシーケンス図の上部に横に並べられている。いろいろなソフトウェア要素の間に流れる通信命令は、命令を出すソフトウェア要素から受信機向けられたラインとして示されている。ラインの殆どは関連する命令またはメッセージ名でラベルがつけられている。命令は、それらが出される順番にシーケンス図の上部から下部へリストされている。ソフトウェア要素によって行われるキー動作は要素のすぐ下に位置されたラベルのつけられた箱として示されている。動作は、一般に入ってくる命令に応答して特定の要素によって行われ、戻り命令を送る特別の要素を生じる。トランスファ命令１１５に関連する命令シーケンスとアトミック動作の幾つかを説明する前に、運転命令を開始する３つの異なる方法が説明される。
【０１２４】
アトミック動作は、自動化された物品取扱いシステム(automated material handling system: ＡＭＨＳ)の（製造実行システム１１２、図４に相当する）コンピュータ統合（computer integrated manufacturing:ＣＩＭ）システム、またはＣＩＭの介入のあるまたはない（材料コントロールシステム１１４、図４に相当する）コンピュータ統合システムの何れかによって開始される。ＡＭＨＳが開始された命令シナリオとＣＩＭが開始された命令シナリオの間の１つの相違は、ＡＭＨＳシナリオは、それらがＣＩＭシステムからの命令がないポッドの運転開始をするために用いられることを意味する“ボトムアップ”である。このボトムアップ能力は、
ａ）ＣＩＭシステムがダウンするか、オフラインである、
ｂ）ＡＭＨＳシステムがＣＩＭシステムに接続されていない、または
ｃ）ＣＩＭシステムがボトムアップ機構をサポートしている
ときに用いられる。
【０１２５】
運転開始の３つの方法が説明される。
１．ＣＩＭシステムの運転開始
ＣＩＭシステムが運転を開始するとき、それはツールがサービスを要求する時に知らされるようにツールと通信するためのＣＩＭの責任である。この場合のイベントの流れは以下のとおりである。
（１）ＭＣＳは、それがサービスを要求するツールからの報知を受ける。ＭＣＳは応答してホスト命令を輸送コントローラのディスパッチャへ発生する。図示された実施の形態に於いて、送られた命令は転送(TRANSFER)でなければならない（上の表１に概略されている）。
（２）ＴＣディスパッチャは、新しいＴＣ移動オブジェクトを形成し、それにホスト命令を送る。
（３）ＴＣ移動オブジェクトは、この命令を有効にするために、ＣＬＣにある適当なロード領域コントローラと通信する。完了すると、移動オブジェクトはホスト命令の完了メッセージをＭＣＳへ戻す。
２．ＣＩＭの参入を伴うＡＭＨＳの移動開始
このシナリオに於いて、ＭＣＳ１１２は、ＡＭＨＳツールによって開始される移動に参入する。イベントの流れは以下のとおりである。
（１）ＬＡＣは、Ｅ２３インタフェースを介してロード・ポート(load port)からアンロード要求(unload request)を受けMOVEMENT REQUEST（移動要求）を輸送コントローラの移動ディスパッチャへ送る。
（２）移動ディスパッチャは移動要求をＭＣＳへ送る。
（３）ＭＣＳはホスト命令を発生することによって、宛先を含む輸送コントローラのディスパッチャへ戻り応答する。
（４）ディスパッチャは新しい移動オブジェクトを形成し、それに特定のTRANAFER命令を実行するように命令する。
（５）新しく形成された移動オブジェクトは、移動を効果的にするために、ＣＬＣにある一連の命令をソース及び宛先のロード領域コントローラへ送る。
（６）動作が完了すると、移動はHost命令の完了をＭＣＳへ戻す。
３．ＣＩＭ関与のないＡＭＨＳ移動開始：
このシナリオでは、ＭＣＳは、その移動に関与しない。イベントのフローは、次のとおりである。
【０１２６】
（１）ＬＡＣは、Ｅ２３を介してロード・ポートからアンロードリクエストを受取り、輸送コントローラの移動ディスパッチャにMOVEMENT  REQUESTを送る。
【０１２７】
（２）移動ディスパッチャは新しい移動オブジェクトを生成してそれにTRANSFER動作を実行するように命令する。ディスパッチャは、デフォルト宛先テーブルを参考にすることにより宛先を得る。そのテーブルは、各ソースについてデフォルト宛先を含む。
【０１２８】
（３）新たに生成された移動オブジェクトは、一連の命令をソース及びＣＬＣの宛先ロード領域コントローラに送り、その移動を実行する。
【０１２９】
第４の移動開始方法もあり、その場合には、ＴＣ１０４がユーザ・インタフェース（ＵＩ）を有し、そのユーザ・インタフェースからオペレータがソース及び宛先を識別し、ＴＣ１０４に、ソースにある物品は何でも宛先に移動するように伝える。オペレータは、ＵＩから、転送、取得、移動又は保管の命令を送出することができる。
４．システム動作
第４の動作開始の方法を説明したので、転送及びアトミック動作に関連する代表的な命令シーケンスについて以下説明する。これらの説明は、これらの命令シーケンスを実行するシステムエレメント間で伝送される各種メッセージ、命令及びイベントについて述べている．たいていの場合には、これらのメッセージ、命令及びイベントは詳述しない。これらの命令及びイベントの少なくとも一部に関する詳細な情報は、付録Ａ、Ｂ及びＣにおいて提供されている。付録Ａ、Ｂ及びＣは、それぞれ、外部イベント（すなわち、ＣＩＭと輸送コントローラＴＣの間に報告されるイベント）、イントラＣＬＣイベント（すなわち、１つのＣＬＣオブジェクトにより別のＣＬＣオブジェクトに報告されるイベント）及びＣＡＮバスメッセージ（すなわち、インテリジェント・ドライバよりＣＬＣオブジェクト又はインテリジェント・ドライバへ、ＣＬＣオブジェクト又はインテリジェント・ドライバよりインテリジェント・ドライバへ送出されるメッセージ）を記述している。そのシステム動作について、以下、次の順序で説明する。
【０１３０】
ａ．物品転送、
ｂ．物品取得、
ｃ．物品移動、
ｄ．物品保管
ａ．転送動作：
一実施例では、ＣＩＭシステム１１０（図４）は、単一のＣＩＭシステム命令１１５（TRANSFER）を介して転送動作を行い、その結果、点から点への移動が行われる。輸送コントローラ１０４は、転送命令をそれぞれの取得、移動及び保管動作に分割し、これらの命令の各々を順次実行する。この実施例は、物品移動動作の責任を輸送コントローラに負わせることによりＣＩＭシステムのソフトウェアを比較的簡単なままに維持する。
【０１３１】
別の実施例では、ＣＩＭシステム１１０は、取得、移動及び保管のような多数のアトミック命令を、その命令を実施するＴＣ１０４に送出することにより、点から点への物品移動を指示することができる。この実施例は、ＣＩＭシステム１１０が、各アトミック命令の実行を監督する必要があり、それに応じてＴＣ１０４の動作を簡略化する。
【０１３２】
図１７を参照すると、ＴＣがTRANSFERホスト命令７００ａを実行するときに、ＣＩＭシステム１１０とＴＣ１０４との間で交換される命令のシーケンスダイヤグラムが示されている。TRANSFER命令を開始した後、ＴＣは「ホスト命令初期化済み」メッセージ７００ｂを返す。ＴＣがTRANSFERを実行するのに必要なアトミック命令をシーケンスすると、それは、TRANSFER命令を構成するアトミック動作の進行を示す状態命令を返す。TRANSFER動作が完了すると、ＴＣは、「ホスト命令完了」メッセージ７００ｃを返す。図１７に示された各種アトミック動作及び状態命令について以下説明する。
ｂ．取得アトミック動作
取得動作は、輸送システムに、ロード・ポート又はオーバヘッドホイストトランスポート（ＯＨＴ）システムから物品を取得させる。輸送コントローラの見通しから、これらのシナリオの両方についての取得動作は、同じである。しかしながら、ＣＬＣは、ソースシステムの様々なインタフェース要件に従って各シナリオを様々に処理する。
【０１３３】
第１のシナリオでは、輸送システムは、ロード・ポート転送装置を使用してツール又はストッカーのロード・ポートから物品を取得する。この場合、ロード・ポートは、受動的であるが、そのロード・ポートが、アンロードされたいとの要望を単に知らせるだけである。これに応答して、能動的であるＬＰＴＤが、ＣＬＣの制御の下で物品転送を実行する。第２のシナリオでは、輸送システムは、ポッド・リフタ上へ物品を保管するオーバヘッドホイスト輸送（ＯＨＴ）システムから物品を取得する。この場合、ポッド・リフタは、ロードされたいとの要望を知らせる能動装置であり、そして、ＯＨＴは、その転送を実行する能動装置である。
【０１３４】
図１７は、取得動作の命令シーケンスのハイレベル図を示す。既に述べたように、このシーケンスは、物品がどのように（すなわち、ＯＨＴから又はＬＰＴＤから）取得されようとも同じである。このシーケンスは、次のステップを含む。
【０１３５】
（１）ＴＣがACQUIRE動作を開始する。
【０１３６】
（２）ＴＣがACQUIRE  MATERIAL命令（７０２ａ）をCLCLACスレッドに送出する。
【０１３７】
（３）ＴＣが、動作の状態が「取得中」であることを示すイベントリポート送信メッセージ（７０２ｂ）を返す。
【０１３８】
（４）CLCLACが、物品をロード・ポートからレール（７０４ａ）上へ移動することによりACQUIRE  MATERIAL命令を実行して、ＴＣに、MATERIAL  ACQUIREDメッセージ（７０４ｃ）を返す。
【０１３９】
（５）ＴＣが、物品が「取得され」そしてキャリア（ポッド）がトラック上にインストールされたことを示すイベントリポート送信メッセージ（７０２ｄ、７０２ｅ）を返す。
【０１４０】
図１８は、ＬＰＴＤを使用して実行された取得動作の命令シーケンスをＣＬＣの観点から示す。１つのＯＨＴ（オーバヘッドホイスト輸送）には様々な命令シーケンスが必要であるが、このシーケンスは、本説明と同じであるので、ここでは説明しない。この命令シーケンスは、ポッドを取得すべきＬＰＴＤが２つのロード・ゾーン（ロード・ゾーン）を持つロード領域を有すると推定する。物品がロード・ポートから取得される時点で、ＣＬＣは物品がどの方向に移動されるか知らないので２つのロード・ゾーンのどちらが上流でどちらが下流かは未知である。
【０１４１】
このシーケンスは、次のステップを含む。
【０１４２】
（１）ＣＬＣＬＡＣがＴＣからACQUIRE  MATERIAL命令（７０２ａ）を受け取る。
【０１４３】
（２）ＬＡＣがハンドシェークコントローラからアンロードリクエストメッセージ（ＬＰ ＵＮＬＯＡＤ ＲＥＱ）（７１４ａ）を受け取る。ハンドシェークコントローラは、ストッカー又はツールがＬＰＴＤによりアンロードされる準備ができていることを指示する。このメッセージは、上述した受動メッセージであり、単にロード・ポートがアンロードされたいとの要望を送っているものである。
【０１４４】
（３）ＬＡＣがゾーン１に関係するゾーンスレッドにRESERVE ZONEメッセージを送ってACQUIRE動作のためにそのゾーンを予約する（７１４ｂ）（すなわち、任意の入来物品が確実にゾーンの前で停止するようにする。）
（４）ゾーン１に関係するゾーンスレッドが、ZONE RESERVEDメッセージで、ゾーン１が予約されたことを確認する（７１４ｃ）。
【０１４５】
（５）ＬＡＣがゾーン２に関係するゾーンスレッドにRESERVE ZONEメッセージを送ってACQUIRE動作のためにそのゾーンを予約する（７１４ｄ）。
【０１４６】
（６）ゾーン２に関係するゾーンスレッドが、ZONE RESERVEDメッセージで、ゾーン１が予約されたことを確認する（７１４ｅ）。
【０１４７】
（７）ＬＡＣがＬＰＴＤコントローラにRESERVE LPTDメッセージを送ってACQUIRE動作のためにＬＰＴＤを予約する（７１４ｆ）（すなわち、別のＬＡＣがＬＰＴＤを使用することを試みていないことを確保する）。
【０１４８】
（８）ＬＰＴＤコントローラが、LPTD RESERVEDメッセージで、ＬＰＴＤが予約されたことを確認する（７１４ｇ）。
【０１４９】
（９）ゾーン１スレッドが、近隣のものが空であるか又は最も近いポッドが停止するかのいずれかまで待機し（７１６ａ）、ACQUIRE動作のためにゾーン１が利用できることを指示するZONE IS SAFE NOTIFICATIONを返す（７１４ｈ）。
【０１５０】
（１０）ゾーン２スレッドが、近隣のものが空であるか又は最も近いポッドが停止するかのいずれかまで待機し（７１６ｂ）、ACQUIRE動作のためにゾーン１が利用できることを指示するZONE IS SAFE NOTIFICATIONを返す（７１４ｉ）。
【０１５１】
（１１）それが、ゾーン及びＬＰＴＤが安全であると確認すると、ＬＡＣコントローラがハンドシェークコントローラにINITIATE HANDSHAKEメッセージ（７１４ｊ）を送出し、ハンドシェークコントローラが、関連のロード・ポートの準備ができた場合に、DEVICE IS READYメッセージ（７１４ｋ）を返す。
【０１５２】
（１２）ＬＡＣコントローラが、ハンドシェークコントローラにSET BUSYメッセージ（７１４ｌ）を送り、ハンドシェークコントローラが、ロード・ポート（ＬＰ）とのインタフェース上にBUSYビットをセットし、そして、ＬＰが応答するときに、BUSY SETメッセージ（７１４ｍ）を送る。
【０１５３】
（１３）ＬＡＣコントローラが、ＬＰＴＤコントローラにACQUIRE MATERIALメッセージ（７１４ｎ）を送出し、それをレール上に保管し（７１６ｃ）、ＬＡＣスレッドにMATERIAL ACQUIREDメッセージ（７１４ｏ）を返す。
【０１５４】
（１４）ＬＡＣスレッドとハンドシェークコントローラが、COMPLETE HANDSHAKE AND HANDSHAKE COMPLETEDメッセージ（７１４ｑ、７１４ｒ）を交換しロード・ポートとの相互作用を終了し、ＬＡＣスレッドがMATERIAL ACQUIREDをＴＣに返す（７０２ｃ）（図１７）。
【０１５５】
図１９は、特定のタイプのＬＰＴＤを使用して実行された取得動作の命令シーケンスをＬＰＴＤコントローラの観点から示す。様々なＬＰＴＤには、様々な命令シーケンスが必要であるが、これらのシーケンスは原説明と同じであり、ここでは説明しない。図示されたシーケンスは、ＬＰＴＤコントローラがＸ、Ｙ及びＺの軸、５７４ｘ、５７４ｙ、５７４ｚについて独立したコントローラを含むと仮定している。Ｘ軸はトラックの方向であり、Ｙ軸はトラックの平面内においてトラックの方向に垂直であり、Ｚ軸はトラックの平面に垂直である。
【０１５６】
このシーケンスは、次のステップを含む。
【０１５７】
（１）RESERVE  LPTD命令（７１４ｆ）を受け取った後、ＬＰＴＤが、それが別のＬＡＣを介して別のロード・ポートをサービスしていないことを確認し、リザベーションリクエスト（７２０ａ）に応答する。
【０１５８】
（２）ＬＰＴＤコントローラがLPTD  RESERVEDメッセージ（７１４ｇ）を返し、ＬＡＣからACQUIRE  MATERIALメッセージ（７１４ｎ）を待つ。
【０１５９】
（３）ACQUIRE  MATERIALメッセージを受け取った後、ＬＰＴＤコントローラが、一連のMOVE  TO〈position〉メッセージ７１４ｃをＸ、Ｙ、Ｚの軸コントローラに送出し、それにより、各軸コントローラがポッドをそれぞれの軸に沿って特定の位置へ移動する。
【０１６０】
（４）Ｘ、Ｙの軸コントローラが、移動を実行することによりMOVE  TO命令７１４ｃに応答し、ポッドの移動後の位置を指示するMOVE  TOメッセージ７１４ｄを返す。
【０１６１】
（５）Ｚ軸コントローラが、物品選択位置に移動することによりMOVE  TO命令７１４ｃに応答する。物品が選択されたことを検出すると、軸コントローラがポッド検出センサーについてSENSOR  STATUS  CHANGEメッセージを送り、ポッドの移動後の位置を示すMOVED  TOメッセージ７１４ｄを返す。
【０１６２】
（６）ポッドが選択されたことをそれが確認すると、ＬＰＴＤが付加的な命令を軸コントローラに送り、ポッドがトラックに配置される。ポッドがＬＰＴＤによって、もはや保持されないときには、物品検出センサーが状態を変化させ、SENSOR  STATUS  CHANGEを生じる。全ての移動が完了すると、ＬＰＴＤが「MATERIAL  ACQUIRED」７１４ｂを送る。
ｃ．移動アトミック動作：
移動アトミック動作は、ソースロード地点にあるポッドを宛先のプリロード・ゾーンに移動する。移動アトミック動作に関係する命令シーケンスが、ＴＣ、ＣＬＣ、及びゾーンスレッドのそれぞれの観点から（ビークルの加速度及び減速度の両方について）図１７及び２２〜２２Ｂに示されている。
【０１６３】
図１７は、移動動作の命令シーケンスの高レベルの図を示す。
【０１６４】
このシーケンスは、次のステップを含む。
【０１６５】
（１）ＴＣが物品ソースに関係するＬＡＣスレッドにMOVE  MATERIAL命令を送出する（７０６ａ）。
【０１６６】
（２）ＴＣが、物品が移動中あることを示すイベントリポート送信メッセージを返す（７０６ｂ）。
【０１６７】
（３）物品ソースに関係するＬＡＣスレッドが、MOVEが進行中であるときに、ＴＣにMOVE STATUS UPDATEメッセージ（７０６ｃ）を送る。
【０１６８】
（４）物品宛先に関係するＬＡＣスレッドが、移動が完了したときに、ＴＣにMOVE  COMPLETEメッセージ（７０６ｄ）を送る。
【０１６９】
（５）ＴＣが、物品が移動されたことを示すイベントリポート送信メッセージ（７０６ｅ）を返す。
【０１７０】
図２０は、移動動作の命令シーケンスを、ＣＬＣサブシステムの観点から示す。このシーケンスは、次のステップを含む。
【０１７１】
（１）MOVE  MATERIAL命令（７０６ａ）を受け取った後、ソースロード領域コントローラが下流ロード・ゾーンスレッドにSEND  MATERIAL命令７２２ｂを送出する。
【０１７２】
（２）下流ロード・ゾーンが、上流ロード・ゾーンがそれにスレーブされた状態でクリープ特性を実行する準備をする（クリープ特性によりビークルが完全に下流ロード・ゾーン内を移動する）−これは、下流ロード・ゾーンが上流ロード・ゾーンにZONE  TASKING命令７２２ｃを送り、それが同期してZONE TASKING ACKメッセージ７２２ｄを返す。
【０１７３】
（３）両方のゾーンが準備されると、下流ゾーンがEXECUTE命令７２２ｅを送り、両方のゾーンを移動し始める。
【０１７４】
（４）ポッドが上流ロード・ゾーンを出ると、そのゾーンが近隣のゾーンにCARRIER EXITED命令７２２ｆを送り、ＬＡＣにZONE AVAILABLEメッセージ７２２ｋを送る。
【０１７５】
（５）ソースロード領域コントローラが、移動を管理する移動オブジェクトにMOVE STATUS  UPDATEメッセージ７０６ｃを返して移動の現在の状態を示す。
【０１７６】
（６）MOVEが開始された後、ソースロードと宛先ロード領域の間のゾーン及びディレクタにそれぞれ関係するゾーンスレッド及びディレクタコントロールスレッドが、移動オブジェクトと殆ど干渉せずに物品移動動作を取り扱う。
【０１７７】
（７）ポッドが宛先に到達すると、宛先におけるプリロード・ゾーンが、宛先ＬＡＣにMATERIAL  ARRIVEDメッセージ７２２ｊを返し、宛先ＬＡＣが、MOVE  COMPLETEメッセージ７０６ｄを返し、MOVE  COMPLETEメッセージが図１７について説明したように取り扱われる。
【０１７８】
以上、図１７及び２０を参照してＴＣ及びＣＬＣサブシステムのハイレベル動作を説明した。図２１Ａ、２１Ｂ、２１Ｃ及び図２２Ａ、２２Ｂは、近隣内のゾーン・コントローラがどのように相互作用してポッドを加速又は減速させて特定のMOVE動作を達成するかを示す。
【０１７９】
図２１Ａ、２１Ｂ及び２１Ｃを参照すると、ゾーンスレッドＺＴ（図の左側）とそれらのそれぞれのゾーン・コントローラＺＣ（図の右側）との間の相互作用及びポッドが複数のゾーンを横切って左方向へ加速される同じ近隣内のゾーンスレッドの間の相互作用が示されている。特に、左方向の加速は、ゾーン・コントローラＺＣ１及びゾーンスレッドＺＴ１により制御されるゾーンＺ１から、ゾーン・コントローラＺＣ４及びゾーンスレッドＺＴ４により制御されるゾーンＺ４まで生じる。図示されたMOVE動作により影響される近隣は、６つのゾーン、Ｚ１〜Ｚ６を含む。既に述べたように、各ゾーンは、２つのセンサーＳ１及びＳ２と、ポッドがそのゾーンにある時にそのポッドを加速する一つのモータを有し、そのゾーンのすべてはゾーン・コントローラＺＣにより制御される。MOVE動作の幾つかのステップは、時間の順序で、図の上から下へ示されている。ポッドの現在の位置が陰影付きの長方形Ｐ１で示されている。
【０１８０】
この命令シーケンスは、少数の基本の低レベルコントロール命令を繰り返し使用する。
SET PROFILE profile（on  event，〈seq#〉）７３０
ゾーンスレッドＺＴｉによりその関係するゾーン・コントローラＺＣｉに対して送出され、ゾーン・コントローラＺＣｉにより実行されるべき加速又は減速の特性をセットする。図示された実施例では、特性は、固定速度のシーケンスと定義される。例えば、図示された実施例では、特性は、レンジ「０−１」（ポッドが速度０から速度１へ加速されることを示す。但し、その速度の数は、ゾーン・コントローラにより対応するモータ速度として解釈される。）として特定される。別の実施例において、ゾーンスレッドＺＴは、そのゾーン・コントローラＺＣに、それぞれのゾーンにおいてポッドを加速又は減速する方法を任意の方法で指示してもよい（例えば、ゾーンスレッドＺＴは実際のターゲットモータ速度値を送ってもよい）。与えられた特性は、１つ又は複数のスレッドを介して実行されてもよい。
【０１８１】
SET  PROFILE命令のオプションの部分（括弧書きで示される）は、「イベント時（on  event）」状態である。その状態において、ゾーンスレッドは、その発生時に特性が実行される一部の将来のイベントを示すことができる。図示された実施例では、将来のイベントは、シーケンス番号〈seq＃〉により識別される。「イベント時（on  event）」状態では、複数の命令が将来の実行のためにセットアップされ、従って、各命令を適当な実行時間で個別に送るにはかなり短い時間間隔内に、異なるゾーン・コントローラによりそれらの命令を順次実行することができる。例えば、図示された実施例において、イベントが「実行時（on  execute），〈seq#〉」であり、それは、〈seq#〉により識別されるサブ命令が実行されるときに特性が実行されるべきことを示す。そのseq#及びprofileは、ゾーンスレッドＺＴ１により発生される。同じシーケンス番号を持つ実行命令が、全ての装置に同時に伝えられる。そのシーケンス番号を持つ装置は、同時に実行し始める。
ＡＣＫ７３２
ゾーン・コントローラＺCｉにより送出され、対応する特性命令ＺＴｉを確認する。
ZONE  TASKING  profile:〈seq#〉７３６
ゾーンスレッドＺＴｉにより隣接のゾーンに対して送出され、先行するSET  PROFILE命令において特定される移動特性と同期してそれらのスレッドを配置する（すなわち、特性を滑らかに且つ協働して実行する）。図示された実施例では、特性は、インデックスとして定義されるが、上述したように、特性は、多くの様々な方法で特定することもできる。この命令は、また、該命令を、同じシーケンス番号を持つ一連の命令と関連づけるシーケンス番号〈seq#〉を含んでもよい。
ZONE TASKING ACK７３６
ゾーン・コントローラＺＴｊにより送出され、対応する特性命令ＺＴｉを確認する。
EXECUTE〈seq#〉７３８
ゾーンスレッドＺＴｉにより複数のゾーン・コントローラに対して同時に送出され、シーケンス識別子〈seq#〉に関係する特性の実行を開始する。EXECUTE命令の上及び右の「？」でマークされた右指示矢印は、メッセージが放送を介して複数の受信者へ送られるべきことを示す。
SENSOR STATUS  right/left７４０
ゾーン・コントローラにより送出されてその右又は左のセンサーの状態をレポートする。その状態は、ポッドが右又は左のセンサーから離れているか又はそれと一致しているかどうかを示す。図示された実施例では、センサー遷移は、命令の右へのスモールアップダウン矢印により示される。例えば、ゾーン・コントローラＺＣ１からのメッセージ６２４−１は、ポッドがちょうどゾーンＺ１の右センサーＳ２から離れて移動したことを示し、ゾーン・コントローラＺＣ２からのメッセージ６２４−２は、ポッドがちょうどゾーン２２の右センサーＳ２を横切ったことを示し、ゾーン・コントローラＺＣ１からのメッセージ６２４−３は、ポッドがちょうどゾーンＺ１の左センサーＳ１から離れて移動したことを示す。
MOTOR OFF７４２
ゾーンスレッドＺＴｉによりそのコントローラＺＣｉに対して送出され、それにより、そのコントローラはそのモータをターンオフする。ゾーンスレッドＺＴｉは、ゾーン・コントローラＺＣｉからのSENSOR  STATUS:leftメッセージが、ポッドがちょうど左センサーＳ１の左側へ通過したことを示すとき左方向移動についてこの命令を送出し、ゾーン・コントローラＺＣｉからのSENSOR  STATUS:rightメッセージが、ポッドがちょうど右センサーＳ２の右側へ通過したことを示すとき右方向移動についてこの命令を送出する。
CARRIER EXITING７４４
ゾーンスレッドＺＴｉによりその隣接ゾーンスレッドに対して送出されてそのポッドがそれぞれのゾーンＺｉから出ている途中であることを示す。
CARRIER EXITED７４４
ゾーンスレッドＺＴｉによりその隣接ゾーンスレッドに対して送出されてそのポッドがそれぞれのゾーンＺｉから出てしまったことを示す。
【０１８２】
図２１Ａ、２１Ｂ及び２１Cを参照すると、ゾーンスレッドＺＴｉの第１動作は、加速特性「０−１」（６１０−１）をセットすることであり、それは、ゾーン・コントローラＺＣ１（６１２−１）により確認される。この加速特性は、２つのゾーンＺ１〜Ｚ２にわたって協働して実行される（すなわち、ポッドはゾーンＺ１〜Ｚ２のスペースにおいてターゲット速度に加速される）。ゾーンスレッドＺＴ１は、ゾーンスレッドＺＴ２に、特性「０−１」（６１４−１）についてのタスキング命令を送ることにより、ゾーンスレッドＺＴ２と同期する。ゾーンスレッドＺＴ２は、それぞれのゾーン・コントローラＺＣ２（７３０−２）にSET  PROFILE命令を送出することにより応答し、ゾーン・コントローラはアクノリッジメント（７３２−２）で応答する。アクノリッジメント（７３２−２）を受け取った後、ゾーンスレッドＺＴ２は、ゾーンスレッドＺＴ１にタスキングアクノリッジメント（７３６−１）を返す。ゾーンスレッドＺＴ１は、ゾーン・コントローラＺＣ１、ＺＣ２にEXECUTE命令７３８−１を送り、それにより、命令７３０−１、７３０−２において予めセットアップされた特性がゾーン・コントローラにより協働して実行される。その命令が実行されると、ゾーン・コントローラがSENSOR  STATUSメッセージ７４０を返してポッドの進行を示す。
【０１８３】
ポッドが目標速度に加速された後、下流のゾーンスレッドによってセットされた後続の特性が、ポッドを固定速度に維持する（例えば、SET_PROFILE “2-2" 730-3）。ゾーンスレッドＺＴｉは、近隣ゾーンスレッドＺＴｊに、CARRIER_EXITING及びCRRIER_EXITEDメッセージ７４４、７４６を通知する。ゾーンスレッドＺＴｉは、MOTOR_OFFメッセージ７４２を、対応のコントローラＺＣｉに、ポッドが対応のゾーンを出る（CRRIER_EXITEDメッセージ７４６によって示される）時間のそれぞれにおいて送る。
【０１８４】
図２２Ａ及び図２２Ｂを参照すると、ゾーンスレッドＺＴ（図の左側）と対応するゾーン・コントローラＺＣ（図の右側）との間の対話及び同じ近隣内のゾーンスレッドの間での対話を記述する命令シーケンスが示されている。前記の近隣を通して、ポッドがその行先（本例ではゾーンＺ４）に近づくにつれて該ポッドは、多数のゾーンＺ１〜Ｚ４を横切りつつ減速（例えば、速度２から０へ減速）される。ゾーンスレッドＺＴ１は、ポッドがゾーンＺ４に到達する時間までに速度０に減速されるべきであることを示す速度テーブル６７０（図１３）の情報に基づいて減速を開始する。この減速は、上記したのと同じベーシック命令を用いて行われる。図２２Ａ及び図２２Ｂは、ゾーンＺ１において速度２で右側から左側へ移動するポッドがゾーンＺ４で速度０に減速する命令のシーケンスを示している。この減速は、ゾーンスレッドＺＴ２、ＺＴ３、ＺＴ４と各対応のゾーン・コントローラＺＣ２、ＺＣ３、ＺＣ４との協働によって行われる。図２２Ａ及び図２２Ｂについての更なる説明は、図２１Ａ、図２１Ｂ、図２１Ｃを参照して長い説明をしたので、記述しない。
ｄ．保管アトミック操作
保管操作は、ポッドを、行先のプリロード・ゾーンにあるようにして、ロード（装着）ポイントに移動させ、その後、ロード・ポート又はＯＨＴにオフロード（取出し）させる。高レベル観点での保管操作が図１７を参照して記述される。図１７は、物品がロード・ポートに送られる保管操作の高レベル観点での命令シークエンスを示す。TRANSFER命令に応答する移動オブジェクトは、DELIVER_MATERIALメッセージ７０８ａをＬＡＣに送り、次に、物品の状態が“保管”中であることを示すEventReportSendメッセージ７０８ｂをリターンする。それに応じて、ＬＡＣスレッドは、転送を行う特定のＬＰＴＤに特有の一連の命令を用いてレールからロード・ポート７１０ａへの物品の移動を調整する。
【０１８５】
ＬＡＣコントローラスレッドは、デリバー（引渡し）操作が完了すると、ＴＣへMATERIAl_DELIVEREDメッセージ７０８ｃをリターンする。その後、ＴＣは、保管が完了したこと（７０８ｄ）及びキャリア（例えば、ポッド）がトラックから取出されたこと（７０８ｅ）を示すメッセージをＣＩＭシステムへリターンする。
【０１８６】
FastLoad ＬＰＴＤ（Palo Alto Technologiesの特定の製品）を用いて物品を保管するのに用いられた命令の１例は、図２３Ａ及び図２３Ｂ、並びに、図２４Ａ及び図２４Ｂに示されている。
【０１８７】
図２３Ａ及び２３Ｂは、ＣＬＣの視点からのプロセスを示している。図２４Ａ及び２４Ｂは、ＬＰＴＤコントロール・スレッドのプロセスに視点を変えて作っている。最初、ＬＡＣは、ロード・ポイントを構成するゾーンを予約する。このゾーンの予約によって、（別の方向からの）他の移動ポッドがそのゾーンに入らないようにするのが確実にされる。予約は、RESERVE_ZONEリクエストを送ることによって行われる。ゾーンは、ZONE_RESERVEDをもって応答する。任意の到来ポッドがそれより前に停止していたと判定されると、ZONE_IS_SAFE_NOTIFOCATIONが送られる。この時点で、ＬＡＣは、ゾーンの排他的コントロールとゾーンへのアクセスを有することを知る。先に図１８〜図１９を参照して記述したACQUIRE動作に場合と同じようにして、ロード領域ゾーンを予約した後、ＬＡＣがＬＰＴＤを予約する。ＬＰＴＤが予約されると、ＬＡＣは、ポッドを、プリロード・ゾーン及び上流及び下流ゾーンによって得られた一連の移動命令を用いて、ＬＰＴＤによって得られる位置に移動させる。ポッドが位置決めされると、ＬＡＣは、ロード・ポートとＥ２３のハンドシェークを開始する。ロード・ポートが受取り準備状態にあるのを示すと、ＬＡＣは、ＬＰＴＤコントローラにDELIVER_MATERIAL命令を発行して、ＬＰＴＤコントローラがポッドをトラックから行先ツールすなわちＯＨＴ（７２４）に移動させる。ＬＰＴＤは、一連の移動命令を、デリバリー（引渡し）を行うその軸コントローラに発行する。ＬＰＴＤは、デリバリーを完了した後、MATERIAL_DELIVERED命令をＬＡＣにリターンする。それに応じて、ＬＡＣは、ハンドシェークコントローラにCOMPLETE_HANDSHAKEメッセージを発行して、ツールすなわちＯＨＴにハンドシェークを完了させる。保管操作が完了すると、ＬＡＣは、ＬＰＴＤとロード領域ゾーンを自由にする。FastLoad ＬＰＴＤコントローラの視点からの保管操作の更に詳細な事項は、図２４Ａ及び図２４Ｂを参照して以下に記述される。
【０１８８】
図２４Ａ及び２４Ｂを参照すると、ＬＰＴＤコントロール・スレッドはデリバー(DELIVER)操作７２４を完了するために以下の動作を行う。本説明において、ＬＰＴＤは、図１９を参照して記述した動作（取得（Acquire）動作）を行うＸ、Ｙ、Ｚ軸コントローラ５７４ｘ、５７４ｙ、５７４ｚから構成される。
【０１８９】
オプションとして、タグ読取位置に移動する（読取位置がレールである場合、移動は必要ない）；
オプションとして識別データを読取る（ＩＤリーダ（読取器）がある場合）；
オプションとして、輸送（Transport）コントローラを用いて識別をベリファイ（確認）する（ＩＤリーダがある場合）；
Ｘ軸コントローラ５７４ｘをポッドを取得するためのロード・ポート位置に移動するように指図するMOVE_TO<LP位置>命令７５０−１を発行することによって、ロード・ポートへ移動する。Ｘ軸コントローラは、MOVED_TOメッセージ７５２−１をもって完了に応答する；
Ｚ軸コントローラ５７４ｚにレールからポッドを取得するように指図するMOVE_TO<ポッド取得位置>命令７５０−２を発行することによって、乗物／レールから物品を取得する。Ｚ軸コントローラは、ポッドを取得していることを示すSENSOR_STATUS_CHANGEメッセージ７５４−１を発行し且つ取得の完了においてMOVED_TOメッセージ７５２−２を発行することによって応答する；
下記（１）、（２）、及び（３）の発行動作を行うことによって、物品を保管する。（１）Ｚ軸コントローラ５７４ｚに、装着されるツールのロード高さに相当するフルアップ（最上方）位置に移動するように指図するMOVE_TO<上一杯>命令７５０−３を発行する。Ｚ軸コントローラはMOVED_TOメッセージ７５２−３をもって完了に応答する；（２）Ｙ軸コントローラ５７４ｙに、拡張位置に移動してツールにポッドを装着するように指図するMOVE_TO<拡張位置>命令７５０−４を発行する。Ｙ軸コントローラは、MOVED_TOメッセージ７５２−４をもって完了に応答する；及び（３）Ｚ軸コントローラ５７４ｚに物品を保管するように指図するMOVE_TO<LP保管位置>命令７５０−５を発行する。Ｚ軸コントローラは、物品が保管されたことを示すSENSOR_STATUS_CHANGE：ポッド非検出メッセージ７５４−２とMOVED_TOメッセージ７５２−５をもって応答する；
Ｙ軸コントローラ５７４ｙにMOVE_TO<完全に引き込んだ>命令７５０−６をＺ軸コントローラ５７４ｚにMOVE_TO<下一杯位置>命令７５０−７をそれぞれ発行することによって、ＬＰＴＤを完全引込み位置であってフルダウン（最下方）位置にリセットする。Ｙ軸コントローラ５７４ｙ、Ｚ軸コントローラ５７４ｚは、それぞれ、MOVED_TOメッセージ７５２−６、７５２−７をもって応答する；及び
他のシステムに、MATERIAL_DELIVEREDメッセージ７０８ｂを用いて、移動の完了を通知する。
図２４Ａ及び２４ＢはＩＤリーダがないと仮定していることをご了解下さい。
５．トラック到着のシナリオ
これまでの説明において、ポッドがその行先（例えば、ＬＰＴＤ）に移動させられるシナリオを説明した。他の状況において、例えば、ポッドが一定のトラック位置に待機するのを必要とするときには、移動命令のエンドポイントは、ロード領域の代わりにトラックゾーンにすることができる。本シナリオは、トラック到着のシナリオについて参照される。
【０１９０】
このシナリオにおいて、ＴＣは、目標トラックゾーンにポッドを移動する。目標トラックゾーンにおいて、ポッドは、トラックからは取出されないで、ポッドについて別の移動が発行されるまでそこに留まる。通常は、ＴＣは、行先のロード領域に関連するＬＡＣを介して転送動作を実行する。しかし、本シナリオにおいては、ポッドを行先へ移動させようとはしない。従って、トラックゾーンがロード領域にあるときであっても、ＴＣは、関連のＬＡＣスレッドの代わりに目標トラックゾーンのゾーンスレッドに直接対話する。トラック到着シナリオに関連する命令シーケンスを、図２５を参照して説明する。
【０１９１】
図２５は、トラック到着シナリオに関連する命令シーケンスを示す。本シナリオにおいて、移動のエンドポイントであるゾーンのゾーンスレッドは、そのゾーンのポッド７５２ａを減速し停止する。次に、そのゾーンスレッドは、CARRIER_STOPPEDメッセージ（７５０ａ）を近隣のゾーンスレッドに発行し、MATERIAL_ARRIVEDメッセージ（７５０ｂ）をＴＣに発行する。
【０１９２】
種々の実施例によって実施できる数個のアトミック操作に関連する命令シーケンスを記述してきたが、更に、如何にゾーンスレッドが１つ又はそれ以上の乗物を所望の方向に移動するように協働するかについての、追加の詳細な記述を行う。それらの移動操作を調整するようにゾーンスレッドをアシスト（補助）する重要なファクター（要素）は、各ゾーン内のセンサーによって提供されるセンサー信号である。これらのセンサー信号は、図２６を参照して説明する。
【０１９３】
図２６は、ゾーンＺ２のコントロール・スレッド（ＺＴ２：図示せず）の視点からの３個のゾーンＺ１〜Ｚ３と関連する６個のセンサーＳ１〜Ｓ６によって生成された信号を示すタイミング図である。図示の信号は、ゾーンＺ３からゾーンＺ１へ移動する３００ｍｍウェーハのポッドのためのセンサーによって生成される（２００ｍｍウェーハのポッドのタイミングとは異なる）。細い点線で示される信号はＺＴ２の移動コントロール方法には有効ではない。実線で示される信号は、ゾーン２のゾーンスレッドＺＴ２に対して、直接または図示のEXITED及びEXITING（それぞれ、CARRIER_EXITED及びCARRIER_EXITINGを意味する）メッセージを介して、有用である。一般的に、任意のスレッドに有用な信号は、それ自身のセンサーと隣接するゾーンの出口センサーとに関係する信号である。従って、ゾーンＺ２の場合、ゾーンスレッドＺＴ２によって要求される情報は、(EXITINGメッセージを介して）センサーＳ５からの信号と、それ自身のセンサーＳ４及びＳ３からの信号と、（EXITINGメッセージを介して）センサーＳ１からの信号とを包含する。図示の実施例において、各センサー信号は、ポッドがそのセンサーを通過しているとき、アサート（アクティブに）される。従って、センサー信号の左側の立上り縁は、受取りゾーンスレッドＺＴｉへ、ポッドが関連ゾーンを出始めていることを示しており、該信号の下がる後縁は、ポッドがゾーンを出てしまったことを示している。
Ｅ．  ゾーンスレッドによる速度コントロール
１実施例のソフトウェア・オブジェクト及びハードウエアコントローラによる種々の命令シーケンスの、協働して分散した実行について記述してきたが、更に詳細が、ゾーンスレッドが輸送システムを介して１つ又はそれ以上の物品ユニット（例えばウェーハのポッド）の移動を協働して決定し管理する方法に関する図２７〜図２９を参照して、記述される。３つの移動タイプにおけるスレッドの役割が以下に記述される。
【０１９４】
単一のコンテナの左側移動
同じ近隣を占有する２つのコンテナの左側移動
同じ近隣を占有する２つの近隣コンテナの左側移動
図示のシナリオは、複数のゾーンスレッド間で可能なワイドな範囲の対話の例であるが、本発明の範囲を制限するものではない。
【０１９５】
どのように物品を加速または減速するかを決める場合に、一般に、ゾーンスレッド５１２は、明確に規定された１セットの速度コントロールルール６７６（図１３）に従う。的確で代表的な例を示すことができるようになされたいくつかのパフォーマンス仮定に基づき、パフォーマンス／速度コントロールルール６７６を以下に説明する。これらの仮定には以下の仮定が含まれる。
【０１９６】
１．  停止から最大速度まで加速するのに３つのフルゾーンを要する。
【０１９７】
２．  最大速度から停止まで減速するのに３つのフルゾーンを要する。
【０１９８】
これらの仮定は実施例に特定のものであり、本発明の異なる実施例や異なる物品の場合には異なるものとなり得る。
【０１９９】
ゾーンスレッド５１２は、物品を移動させる移動ステータスを示す同一区域内でゾーンスレッド５１２によって交換されるメッセージを使用して、速度コントロール法を協調して実施する。これらの移動メッセージは以下のゾーンムーブメントメッセージングルールにしたがって交換され、これらのルールは、各ゾーンスレッド５１２の一部であるゾーンステートマシーン６２０（図１３）において以下のように構成される（注：以下の説明では、時折、本発明の全実施例ではなく一つの実施例の特徴であるゾーンとゾーンスレッドとの間のソフトウェア／ハードウェアの差異をぼかすような略称「ゾーン」を使用して、「ゾーンスレッド」を示す）。
【０２００】
１．ゾーンがゾーンからコンテナを移動させ始める場合（下流ゾーンセンサーの立上り縁によって検知されるように）、ゾーンはCARRIER_EXITINGメッセージを送る。下流のゾーンはこの情報を使用して、コンテナが入ってくるのを知る。
【０２０１】
２．ゾーンがゾーンからのキャリアの移動を終了する場合（下流ゾーンセンサーの立下り縁によって検知されるように）、ゾーンはCARRIER_EXITEDメッセージを送る。上流のゾーンは、この情報を使用して、コンテナが移動し続けてゾーンのデータベースから除去され得ることを決定する。
【０２０２】
３．もしゾーンがゾーン内での停止に至るまでキャリアを減速するならば、ゾーンはCARRIER_STOPPEDメッセージを送る。
【０２０３】
４．コンテナがその宛先に到着して移動させられた後は、CARRIER_REMOVEDまたはZONE_AVAILABLEメッセージが送られる。
【０２０４】
上述のパフォーマンス仮定およびゾーンムーブメントメッセージングルールを仮定すると、ゾーンスレッド法６２２において構成されるゾーンからゾーンへの速度コントロールルール６７６は以下のようになる（ことわりのない限り、図１３を参照する）。
【０２０５】
１．どのような速度特性が上流のノードにより定められたとしても、ゾーンは、その速度特性でコンテナを受け入れなければならない。
【０２０６】
２．各ゾーンスレッド５１２は、その区域内のコンテナのキュー６４２を保有する。各ゾーン５１２は、至近のコンテナへのポインタ６４８を有する。
【０２０７】
３．各ゾーンスレッド５１２は、その下流ゾーンに向けて出ていく速度テーブル６７０を保有する。一つの実施例で使用される速度値は以下に示されるようになっている（速度の実際の数（１…ｎ）は、物品を停止速度から最大速度まで加速し、また、物品を最大速度から停止速度まで減速するのに必要とされるゾーン数によって決まることに留意されたい）。
【０２０８】
３  ２  １  ０  −１（ゾーンが使用不可であることを示す）  −４（ゾーンが予約されていることを示す）
４．現在のゾーンスレッド５１２は、現在のゾーンに入る際のコンテナの速度に加えて、そのすぐ下流の隣接するものの最大速度６３０を使用して、追従されるべき速度特性を定める。コンテナが上流のゾーンを出ていることをゾーンが検知する場合に（上流のゾーンの下流ゾーンセンサーの立上り縁によって検知されるように）、特性が決定される。
【０２０９】
５．現在のゾーンの退出速度は、下流ゾーンの最大許容導入速度６３０よりも遅くなり得る（例えば、もしコンテナが目的の区域内にあって、停止にまで至っているならば）。
【０２１０】
６．ゾーンへのCARRIER_EXITINGメッセージが受けられる場合、受けるゾーンスレッド５１２は、送るゾーンの下流の隣接するもののための速度テーブル６７０エントリを速度−１にセットする（それが使用不可であることを示す）。
【０２１１】
７．ゾーンスレッド５１２がCARRIER_EXITEDメッセージを受ける場合、それは、送るゾーンのための速度テーブル６７０エントリを０（−１または−４から）に設定する。全ての隣接するゾーンは、それらの速度を１だけ増大させる。すなわち、送るゾーンから上流に向かう次のゾーンは導入速度２を有し、それから次は３を有し、そして、全ての続く上流のゾーンも３となる。もし、−１または−４の速度に遭遇するならば、それは決して増大されずに、増大は終了する。
【０２１２】
８．ゾーンスレッド５１２がRESERVE_ZONEメッセージを受ける場合、もし、そのゾーンが既に予約されていないならば、それは、それ自体を予約されているとマークし、その近隣するものにZONE_RESERVEDマルチキャストメッセージを送る。もし、それが既に予約されているとマークされている、すなわち失敗となっているならば、それは、ZONE_NOT_RESERVEDポイントキャストメッセージをインジケータに送る。
【０２１３】
９．ゾーンスレッド５１２がZONE_RESERVEDメッセージを受ける場合、それは、送るゾーンのための速度テーブル６７０エントリを−４にセットする。上流のゾーンの速度のための速度テーブル６７０エントリは、０、１、および２にそれぞれ変更される。受けるゾーンは、先の速度データのバックアップのコピーを作成する。
【０２１４】
１０．ゾーンスレッド５１２がCARRIER_STOPPEDメッセージを受ける場合、それは、送るゾーンのための速度テーブル６７０エントリを−１にセットする。同一の速度テーブル６７０中の上流のゾーンの速度は０、１、および２に変更される。
【０２１５】
１１．ゾーンスレッド５１２がZONE_ABAILABLEメッセージを受ける場合、それは、送るゾーンのための速度テーブル６７０エントリを３にセットする。上流のゾーンのための速度テーブル６７０エントリも３に変更される。ゾーンにあったポッドのレコードは消去される。
【０２１６】
１２．ゾーンスレッド５１２がCARRIER_REMOVEDメッセージを受ける場合、特定のポッドのレコードはコンテナキュー６４２から除去される。速度コントロール・テーブル６７０は決して更新されず、従ってコンテナが除去されたゾーンは使用不可のままとなる。
【０２１７】
１３．もし、ゾーンスレッド５１２が、次のゾーンで使用するための特性を計算している場合に、ゾーンが特性を実施できないことを決定する（例えば、１つのゾーンで特性３−０を実行している）ならば、ゾーンはテーブルをスキャンして、前もって予約されたゾーンが有ることを示す−４速度を探す。もし、下流のゾーンの予約が見つけられるならば、現在のゾーンは、現在のゾーンに停止するための十分なスペースがないので、それがコンテナをそのゾーンを通して移動させなければならないことを知る。そして、現在のゾーンは前の速度データのバックアップ・コピーを使用して進行する。
【０２１８】
１４．宛先の区域内にある場合には、ゾーンスレッド５１２が、許容最大速度を示す下表（表３）中の情報に従ってポッドの速度特性をセットする。この表中の情報は速度テーブルルール６７６に包含される。例えば、表３は、コンテナの宛先から２つ目のゾーンであるゾーンについて、現在の上流退出センサー速度数が「２」であると仮定すると、適切な速度特性は「２-＞１」である（コンテナの速度は「１」だけ減らされなければならないことを示す）。しかしながら、もし、退出センサー速度数が「３」ならば、全ての特性が、コンテナがゾーンあたり「１」速度数以上減速されることを要求するので、適用可能な特性はない（「Ｎ／Ａ」）。
【０２１９】
【表３】
0003989683.tif 000005
【０２２０】
図２７から図２９の各々は、物品移動オペレーションを実施するゾーンによって送られる速度コントロールおよび他のメッセージを示す命令シーケンスタイミングダイアグラム（図の下部）、および、結果生じる物品の速度特性（図の上部）である。上述のタイミングダイアグラムでは、各々の表されたシーケンスは、図の最上部から最下部へと進行する。各々のメッセージは、命令シーケンス中のメッセージの順番を示す参照番号を付された矢印と関連し、特定の移動オペレーションの概略の記述に従って記述されている。メッセージの記述には速度テーブルを照会しているものもある。速度テーブルは、ゾーンが、どの速度で、近隣するゾーンへ入れるために物品を加速することを許容されるかを示す各々のゾーンスレッドによって記憶されている表である。各々のゾーンスレッドは、（速度テーブルの説明については図１３を参照されたい）移動オペレーションの進行に伴う物品の位置は陰影をつけられた長方形として示される。ここで、３つの命令シーケンスを図２７から図２９を参照して説明する。
【０２２１】
図２７は、ゾーン間で送られるメッセージを示すタイミングダイアグラム、および、物品ＸがゾーンＺＡへの移動のためにゾーンＺＩに配置されている状況のためのコンテナの速度特性である。最大速度への加速には３つの更なるゾーン（Ｈ、Ｇ、およびＦ）が必要であり、従って、コンテナの前縁がゾーンＦの前縁に達する場合、それは最大速度に達していると仮定する。ゾーンＩ、Ｈ、Ｇ、およびＦ中のモータは同期化され、従って、ゾーンからゾーンへの移動は円滑である。これらのゾーンのいくつか、または全ては単一のマイクロ−コントローラによって制御されても良いが、ゾーンは２つのノードによって制御される見込みが大きい。そして、ノードの境界線はゾーンの境界線のいずれかであるのが良い。モータの同期化は２つのフェーズで生じる。第１には、現在のゾーンから下流に２つ目のゾーンであるゾーンが、現在のゾーンからCARRIER_EXITINGメッセージを聞く。それは、メッセージ中の特性の最終速度を使用して、その一定の速度で、そのモータの運転を開始する。第２のフェーズでは、現在のゾーンからすぐに下流のゾーンはCARRIER_EXISTINGメッセージを聞き、メッセージ中の特性にマッチするように、その現在の速度を変更する。メッセージシーケンスは以下の通りである。
【０２２２】
（１）ゾーンＩはメッセージ１（ZONE_RESERVED）を送って、新しい物品のローディングのためのロードを得る。上流のゾーンは、それらの導入速度テーブルを調整して、まだ区域内にはない入ってくるコンテナがゾーンの前に停止されることを確実にする。
【０２２３】
（２）一度、ゾーンＩが、区域が安全である（すなわち、どのコンテナも入ってコーナーい）と決定するならば、ゾーンはロードプロセスを継続し、結果、コンテナＸが配置されるようにする。ゾーンは、速度テーブルに基づいてコンテナの移動を開始する。ゾーンは、３までのいずれかの速度で下流のゾーンＨに入って良いことを知っている。また、ポッドが停止されていると仮定すると、使用可能な唯一の速度特性は０−１であることも、ゾーンは知っている。ゾーンは、０−１特性についてのインジケータを含むCARRIER_EXITINGメッセージを生成する。下流のゾーンはこの情報を受けとって、特性に同期する。ゾーンＩはゾーンＨのための導入速度を更新する。
【０２２４】
（３）センサーの後縁によって指示されるように、コンテナがそのゾーンを出る時、ゾーンＩは、ＣＡＲＲＩＥＲ ＥＸＩＴＥＤメッセージを送出する。
【０２２５】
（４）ゾーンＨは、そのキャリアが出て行くのを、センサーの立上り縁によって検知する。この時、キャリアは、速度１に達している。その導入速度テーブルを調べることにより、それは、現在速度がＧに対する最大許容導入速度より低いと判定し、したがって、１−２特性を使用する。それは、ゾーンＧに対する速度エントリを−１にセットする。
【０２２６】
（５）センサーの後縁を見る時、ゾーンＨは、退出メッセージを送出する。ゾーンＩは、そのメッセージを受け、ゾーンＨに対する速度エントリを変更する。Ｉは、Ｈがそれに直ぐ隣接しているので、さらなる処理を行わないことが必要である。
【０２２７】
（６）ゾーンＧは、そのキャリアが出て行くのを、センサーの立上り縁によって検知する。この時、ポッドは、速度２に達している。その導入速度テーブルを調べることにより、それは、現在の速度がＦに対する最大許容導入速度より低いと判定し、したがって、２−３特性を使用する。それは、ゾーンＦに対する速度エントリを−１にセットする。ゾーンＨおよびＩもまた、Ｆに対するそれらの導入速度を更新する。
【０２２８】
（７）センサーの後縁を見る時、ゾーンＧは、退出メッセージを送出する。ゾーンＨおよびＩは、そのメッセージを受け、ゾーンＧに対するその速度エントリを変更する。Ｈは、Ｇがそれに直ぐ隣接しているので、さらなる処理を行わないことが必要である。Ｉは、Ｇに対する変化に基づいてゾーンＨに対する速度値を更新するため付加的な処理を行なう必要がある。
【０２２９】
（８）ゾーンＦは、そのキャリアが出ていくのを、センサーの立上り縁によって検知する。この時、そのキャリアは、速度３で移動している。その導入速度テーブルを調べることにより、それは、現在の速度がＥに対する最大許容導入速度に等しいと判定し、３−３特性への変更を告知する。それは、ゾーンＥに対する速度エントリを−１にセットする。ゾーンＧ、ＨおよびＩもまた、Ｅに対するそれらの速度エントリを更新する。
【０２３０】
（９）センサーの後縁を見る時、ゾーンＦは、退出メッセージを送出する。ゾーンＧ、ＨおよびＩは、そのメッセージを受け、ゾーンＦに対するその速度エントリを変更する。Ｇは、Ｆがそれに直ぐ隣接しているので、さらなる処理を行わないことが必要である。ＨおよびＩは、Ｆより上流のゾーンに対する速度値を更新するため付加的な処理を行なう必要がある。
【０２３１】
（１０）ゾーンＥは、そのキャリアが出ていくのを、センサーの立上り縁によって検知する。そのポッドは、速度３で移動している。その導入速度テーブルを調べることにより、それは、現在の速度がＤに対する最大許容導入速度に等しいと判定し、したがって、現在の特性を継続する。それから、それは、指定された宛先が３ゾーン離れたところにあると判定し、したがって、そのポッドを減速させ始めなければならない。それは、特性３−２でもって退出メッセージを送出し、ゾーンＤに対する速度エントリを−１にセットする。ゾーンＦ、ＧおよびＨもまた、Ｄに対するそれらの速度エントリを更新する。
【０２３２】
（１１）センサーの後縁を見る時、ゾーンＥは、退出メッセージを送出する。ゾーンＦ、Ｇ、ＨおよびＩは、そのメッセージを受け、ゾーンＥに対するその速度エントリを変更する。Ｆは、Ｅがそれに直ぐ隣接しているので、さらなる処理を行わないことが必要である。Ｇ、ＨおよびＩは、Ｅの上流のゾーンに対する速度値を更新するため付加的な処理を行う必要がある。
【０２３３】
（１２）ゾーンＤは、そのキャリアが出て行くのを、センサーの立上り縁によって検知する。この時、そのポッドは、速度２で移動している。Ｄは、宛先ゾーンＢが２ゾーン離れていることを知る。Ｂの位置および現在速度に基づいて、Ｄは、それが２−１の減速特性へ切り換える必要があると判定し、その退出メッセージにてそれを告知する。それは、ゾーンＣに対する速度エントリを−１にセットする。ゾーンＥ、ＦおよびＧもまた、Ｃに対するそれらの速度エントリを更新する。
【０２３４】
（１３）センサーの後縁を見る時、ゾーンＤは、退出メッセージを送出する。ゾーンＥ、Ｆ、ＧおよびＨは、そのメッセージを受け、ゾーンＤに対するその速度エントリを変更する。Ｅは、Ｄがそれに直ぐ隣接しているので、さらなる処理を行わないことが必要である。Ｆ、ＧおよびＨは、Ｄより上流のゾーンに対する速度値を更新するため付加的な処理を行なう必要がある。
【０２３５】
（１４）ゾーンＣは、そのキャリアが出て行くのを、センサーの立上り縁によって検知する。この時、それは速度１である。Ｃは、宛先ゾーンＢが１ゾーン離れていることを知る。これに基づいて、それは、特性を１−０にセットし、ゾーンＢに対する速度エントリを−１にセットする。ゾーンＤ、ＥおよびＦもまた、Ｂに対するそれらの速度エントリを更新する。
【０２３６】
（１５）センサーの後縁を見る時、ゾーンＣは、退出メッセージを送出する。ゾーンＤ、Ｅ、ＦおよびＧは、そのメッセージを受け、ゾーンＣに対するその速度エントリを変更する。Ｄは、Ｃがそれに直ぐ隣接しているので、さらなる処理を行わないことが必要である。Ｅ、ＦおよびＧは、Ｃより上流のゾーンに対する速度値を更新するため付加的な処理を行う必要がある。
【０２３７】
（１６）ゾーンＢは、減速特性の端部およびゾーンセンサーの前縁を検知する。それが宛先であると知る時、そのゾーンは、ＣＡＲＲＩＥＲ ＡＲＲＩＥＤメッセージを送出する。ゾーンＣ、Ｄ、ＥおよびＦは、それらのゾーンＢ導入速度を−１にセットし、Ｂより上流のゾーンに対する速度を更新する。ゾーンＢは、高レベルコントロールにそのコンテナの到着を通知し、それが取り除かれるのを待つ。
【０２３８】
（１７）そのコンテナが取り除かれたことをゾーンＢが検知した時、それは、ＺＯＮＥ ＡＶＡＩＡＢＬＥメッセージを送出する。ゾーンＣ、Ｄ、ＥおよびＦは、それらのゾーンＢ導入速度を−１から３へ変更し、Ｂより上流のゾーンを速度３に更新する。
【０２３９】
前述した１７ステップの各々に対するゾーンにおける物品の速度を表４に示している。各ゾーンに対して与えられたこの情報は、各ゾーンスレッドＺＴ−ＢからＺＴ−Ｉに含まれる情報と等価である。
【０２４０】
【表４】
0003989683.tif 000006
【０２４１】
図２８は、コンテナＹが到来しているときに、デバイスからの新しい物品（Ｘ）を受け入れるために負荷ゾーンＤが指定されるような状況に対する、ゾーン間に送出されるメッセージを示すタイミング図である。もし、コンテナが最大速度で移動している場合には、それは、ゾーンＥにおいてそれが停止するように、ゾーンＨにおいて減速され始めなければならない。そのゾーンは、到来する全てのポッドが、新しいポッドのそのトラックへの載置の許容前までに、確実に、停止するか通過するようにしなければならない。ここで注意すべきことは、このような状況において、到来コンテナは、加速コンテナを追い越さないように、減速されなければならないということである。しかしながら、計算に基づけば、到来コンテナは、停止させられる必要はない。もし、そうであれば、２つのキャリアの間のスペーシングは、＋−６ゾーンである。これは、良好な利用状況とはならない。もし、コンテナが速度１まで減速され、それから速度３まで戻される場合には、その最終スペーシングは、３ゾーンよりわずかに大きいものとなる。そのゾーンスレッドは、トラックの最適利用を助長すべく、これ、または、これと類似の考え方を実施することができる。メッセージシーケンスは、次のようである。
【０２４２】
（１）ゾーンＥはＺＯＮＥ ＲＥＳＥＲＶＥＤマルチキャストメッセージを送出する。Ｅに近隣内のすべてのゾーンは、そのメッセージを聞き、ゾーンＥに対する−４でそれらの速度テーブルを更新する。上流ゾーンは、０、１および２へ更新される。
【０２４３】
（２）Ｅが停止し得ない到来ポッドがないと判定した時、それは、ポッドＸがトラックに置かれることを許容する。下流ゾーンＤはその速度テーブルエントリにおける３を有するので、Ｅは、自由にそのポッドを加速できる。そのポッドが停止されるとき、唯一の利用しうる特性は、０−１である。退出メッセージは、この特性で送出される。
【０２４４】
（３）その後直ぐに、一定速度３で移動しているポッドＹは、ゾーンＪにおける下流センサーをトリップする。Ｊは、その速度テーブルを調べ、それが速度３でＩに入り得ると判断した時、特性３−３で退出メッセージを送出する。すべての近隣ゾーンは、ＩがＪの下流にあることを知り、Ｉを利用し得ないもの（−１）としてマークする。
【０２４５】
（４）ポッドＹはゾーンＪを退出し退出メッセージを送出する。Ｊの上流のゾーンは、それらの速度テーブルを更新する。
【０２４６】
（５）速度３で移動しているポッドＹは、ゾーンＩにおける下流センサーをトリップする。Ｉは、その速度テーブルを調べ、Ｈの速度が２であることを知る。Ｉは、特性３−２に切り替わり、退出メッセージを送出する。下流のゾーンは、ＨがＩの下流にあることを知り、Ｈを利用し得ないものとしてマークする。
【０２４７】
（６）ポッドＹはゾーンＩを退出し退出メッセージを送出する。上流のゾーンは、ゾーンＩに対するそれらのエントリを−１からゼロへと変更する。
【０２４８】
（７）速度２で移動しているポッドＹは、ゾーンＨの下流センサーをトリップする。Ｈは、その速度テーブルを調べＧに対する速度が１であることを知る。Ｈは、特性２−１へ変化し、これを、退出メッセージにおいて送出する。それらゾーンは、ＧがＨの下流にあることを知り、それを利用しえないものとしてマークする。ここで注意すべきことは、この時において、Ｘは、Ｄへのほぼ半ばであるということである。
【０２４９】
（８）ポッドＸは、ゾーンＥを通過し終え、退出メッセージを送出する。Ｅを予約（−４）としてマークさせたすべてのゾーンは、そのフィールドをゼロへ更新し、上流ゾーンの各々をインクレメントする。
【０２５０】
（９）ポッドＸは、現在速度１で移動しており、ゾーンＤの下流センサーを横切る。Ｄが調べるのは、Ｃのための速度テーブルのエントリであり、３までの任意の速度を使用できることが分かる。現在の速度が１なので、利用可能な加速特性は１−２だけであり、これを退出メッセージでアナウンスする。近隣ゾーンはＤの下流のゾーンがＣであることを知り、Ｃに利用不可能とマークする。
【０２５１】
（１０）ポッドＹは、現在速度１で移動しており、Ｈの通過を完了し、退出メッセージを送る。近隣ゾーンはＨについての−１をゼロに変え、上流のゾーンを最大の３にインクリメントする。
【０２５２】
（１１）ポッドＹは、速度１で移動しており、Ｇの下流センサーをヒットし、速度テーブルのＦについてのエントリを調べる。このテーブルは１の速度を示しているので、このゾーンは特性１−１に変化し、そしてこれを退出メッセージでアナウンスする。すべての近隣ゾーンはＦについてのエントリを−１にセットする。
【０２５３】
（１２）ポッドＸは、速度２で移動しており、ゾーンＤを出て、退出メッセージを送る。上流のゾーンはＤについてのエントリを−１からゼロに変化させ、Ｄの上流のゾーンについての値をインクリメントする。
（１３）ポッドＸはＣの下流センサーを速度２で横切り、その速度テーブルのゾーンＢについてのエントリを調べる。値が３なので、このゾーンは２−３の特性へ変化し、これを退出メッセージで外へ送る。隣り合うゾーンはＢについての速度テーブルのエントリをＢから−１にセットする。
【０２５４】
（１４）ポッドＹは、速度１で移動しており、Ｇの通過を完了し、退出メッセージを送る。近隣ゾーンはＧのエントリを−１からゼロに変え、上流のゾーンについてのエントリをインクリメントする。
【０２５５】
（１５）ポッドＹは、速度１で移動しており、ゾーンＦの下流センサーをトリップする。このゾーンはＥについての速度テーブルのエントリを調べ、速度が１に設定されているのを見出す。このゾーンは退出メッセージを特性１−１で送る。上流のゾーンは、Ｅについての速度のエントリを１−１に変える。
【０２５６】
（１６）ポッドＸは、ゾーンＣの通過を完了し、退出メッセージを送る。上流のゾーンはＣの速度テーブルのエントリを−１から０に変え、Ｃの上流のゾーンについての速度をインクリメントする。
【０２５７】
（１７）ポッドＸは、ゾーンＢの下流センサーをトリップし、Ａについの速度テーブルのエントリを調べる。エントリが３でポッドが３で移動しているので、定数３−３特性に切り換え、これを退出メッセージでアナウンスする。上流ゾーンはＡがＢの下流であることを知り、Ａの速度値を−１にセットする。
【０２５８】
（１８）ポッドＸは、ゾーンＢの通過を完了し、退出メッセージを送る。上流のゾーンはＢの速度を０にセットし、上流のゾーンをインクリメントする。
【０２５９】
（１９）ポッドＸは、Ａの下流のセンサーをトリップし、速度テーブルを調べ、特性３−３についての退出メッセージを送る。上流のゾーンはＺを利用不可とマークする。
【０２６０】
（２０）ポッドＹは、ゾーンＦの通過を完了し、退出メッセージを送る。上流のゾーンはＦの速度を−１から０に変え、その上流のゾーンをインクリメントする。
【０２６１】
（２１）ポッドＹは、速度１で移動し、ゾーンＥの下流のセンサーをストリップする。ＥはＤについての速度テーブルを調べ、２を見出す。Ｅは退出メッセージ特性１−２で送る。上流のゾーンはゾーンＤを−１にセットする。
【０２６２】
（２２）ポッドＸはゾーンＡの通過を完了し、退出メッセージを送る。上流のゾーンはＡに速度０をマークし、その上流のゾーンをインクリメントする。
【０２６３】
（２３）ポッドＹは、速度２で移動しており、ゾーンＺ上の下流センサーをトリップする。Ｚは退出メッセージを特性２−２で送る。
【０２６４】
（２４）ポッドＹは、速度２で移動しており、Ｅの通過を完了し、退出メッセージを送る。上流のゾーンはＥに速度０で利用可能であるとマークし、その上流のゾーンをインクリメントする。
【０２６５】
（２５）ポッドＹは、速度２で移動しており、Ｄの下流のセンサーをトリップする。ゾーンＣの速度テーブルが調べられ、２という値が見出され、Ｙは退出メッセージで特性２−２をアナウンスする。
【０２６６】
この例では、速度２と３の差は十分に小さく、Ｙが最大速度にまで戻るのに非常に多くのゾーンを必要とするという点に注意すべきである。（ＸとＹのあいだの間隔は非常にゆっくり小さくなる。）
上述の２５ステップのそれぞれに対するゾーン内の物品の速度を、テーブル５に示す。各ゾーンごとに与えられるこの情報は、ゾーンスレッドＺＴ−ＡからＺＴ−Ｊまでのそれぞれの速度テーブル６７０に含まれるであろう情報と同等である。
【０２６７】
【表５】
0003989683.tif 000007
図２９は、二つの隣り合うコンテナＸとＹが共に移動しており、結果として生じるコンテナ間隔を有している状況についての、ゾーン間で送られるメッセージを示すタイミング・ダイアグラムである。この状況に対する初期条件とてし、ポッドＸがゾーンＩに置かれるようポッドＹがゾーンＪで止められている。Ｘは一旦置かれると、その目的地へ移動し始める。これはポッドＹの移動の引き金となる。メッセージのシーケンスは以下のようである：
（１）ゾーンＩはその速度テーブルを調べ、最大値までの任意の速度でゾーンＨへ入るかもしれないことを知る。このポッドは止まっているので、０−１特性を使わなければならず、これを退出メッセージでアナウンスする。隣のゾーンはこのメッセージを受け取り、ゾーンは利用不可（−１）であることをマークする。
【０２６８】
（２）ＸがゾーンＩを出ると、Ｉは退出メッセージを送る。上流の近隣ゾーンはそれらの速度テーブルにＩが利用可能であるとマークする。
【０２６９】
（３）速度テーブルを更新したあと、ゾーンＪはポッドＹの移動を始めて良いかどうかを決定する。止まっているポッド、およびＩの速度テーブルの０というエントリーに基づいて、Ｊはこのポッドを特性０−０（クリープ速度）で移動させることができる。
【０２７０】
（４）ゾーンＨは、下流のセンサーを介してポッドを検出する。ポッドＸは、現在速度１で移動している。ＨはＧについての速度テーブルを参照する。Ｈは特性１−２を使うことを決定し、これを退出メッセージでアナウンスする。上流の近隣ゾーンはＧについての速度テーブルのエントリを調整する。
【０２７１】
（５）ＨはＸがそのゾーンの通過を完了したことを検出し、退出メッセージを送る。上流の近隣ゾーンは、Ｈに利用可能であるとマークし、Ｈの上流のゾーンについてのエントリを更新する。
【０２７２】
（６）ゾーンＧはＸが速度２で出てゆくことを検出する。Ｇはその速度テーブルを参照したあと、２−３特性に切り換え、退出メッセージを送る。上流のゾーンはＦに利用不可とマークする。
【０２７３】
（７）ＸはゾーンＧをクリアする。ゾーンＧは退出メッセージを送る。隣り合う上流はＧに利用可能とマークし、Ｇの上流のゾーンについて速度のエントリを更新する。
【０２７４】
（８）ゾーンＦはＸが速度３で出て行くことを検出する。Ｆはその速度テーブルを参照し、Ｅに速度３で入るかもしれないことを見いだし、３−３特性に切り換え、これを退出メッセージでアナウンスする。上流の近隣ゾーンはこれに従ってその速度テーブルのエントリを調整する。
【０２７５】
（９）ゾーンＦは出口センサーの後縁を見て、退出メッセージを送る。上流側の近隣ゾーンはその速度テーブルをＦを利用可能にするように調整する。
【０２７６】
（１０）ゾーンＥは出口センサーの立上り縁を見て、速度テーブルを参照する。Ｅは３−３特性に従わなければならないことを決定し、退出メッセージを送る。上流側の近隣ゾーンは、ゾーンＤが利用不可であるとマークをする。
【０２７７】
（１１）ゾーンＥは、出口センサーの後縁を見て、退出メッセージを送る。上流の近隣ゾーンは、Ｅが利用可能になるように速度テーブルを調整する。
【０２７８】
（１２）ゾーンＤは出口センサーの立上り縁を見て、速度テーブルを参照する。Ｄは３−３特性に従わなければならないことを決定し、退出メッセージを送る。上流側の近隣ゾーンはゾーンＣが利用不可であるとマークする。
【０２７９】
（１３）ゾーンＤは、出口センサーの後縁を見て、退出メッセージを送る。上流側の近隣ゾーンは、速度テーブルをＤが利用可能であるように調整する。
【０２８０】
（１４）ゾーンＣは出口センサーの立上り縁を見て、速度テーブルを参照する。Ｃは３−３特性に従わなければならないことを決定し、退出メッセージを送る。上流側の近隣ゾーンはゾーンＢが利用不可であるとマークする。
【０２８１】
（１５）ゾーンＩはポッドＹが出口センサーをクリープ速度でトリップしたことを検出する。Ｉはその速度テーブルを参照し、速度３で入るかもしれないことを知る。しかしながら、ポッドは速度０−０で移動しているだけなので、特性０−１を使わなければならない。Ｉはこの特性で退出メッセージを送る。上流側の近隣ゾーンはゾーンＨが利用不可であるとマークする。
【０２８２】
（１６）Ｃは、ポッドＸがゾーンを去ったことを検出し、退出メッセージを送る。上流側の近隣ゾーンはＣが利用可能であるとマークし、Ｃの上流側の近隣ゾーンに対して速度を更新する。
【０２８３】
（１７）ゾーンＢは、出口センサーの立上り縁を見てその速度テーブルを参照する。Ｂは、３−３特性に従わなければならないことを決定し、退出メッセージを送る。上流側の近隣ゾーンは、ゾーンＡが利用不可であるとマークする。
【０２８４】
（１８）ゾーンＢは出口センサーの後縁を見て、退出メッセージを送る。上流側の近隣ゾーンは、各自の速度テーブルをＢが利用可能になるように調整する。
【０２８５】
（１９）ゾーンＡは出口センサーの立上り縁を見て、その速度テーブルを参照する。Ａは、３−３特性に従わなければならないことを決定し、退出メッセージを送る。上流側の近隣ゾーンは、ゾーンＺが利用不可であるとマークする。
【０２８６】
（２０）ゾーンＡは出口センサーの後縁を見て、退出メッセージを送る。上流側の近隣ゾーンは、Ａが利用可能になるようその速度テーブルを調整する。
【０２８７】
（２１）ゾーンＺは出口センサーの立上り縁を見て、その速度テーブルを参照する。Ｚは、それが３−３特性に従わなければならないことを決定し、出口メッセージを送信する。上流側の近隣ゾーンは、ゾーンＹを使用不能としてマークする。
【０２８８】
（２２）ゾーンＩは出口センサーの後縁を見て、Ｙがゾーンを去ったことを決定する。Ｉは出口メッセージを送信する。上流側の近隣ゾーンは、ゾーンＹを使用可能としてマークし、Ｙの上流側の近隣ゾーンのために速度入力を更新する。
【０２８９】
（２３）ゾーンＨは出口センサーの立上り縁を見る。ポッドＹはいま速度１で移動する。Ｈは速度テーブルを参照し、特性１−２にスイッチするように決定する。Ｈはこれを出口メッセージで送出する。上流側の近隣ゾーンはＧを使用不能としてマークする。
【０２９０】
（２４)ゾーンＨは出口センサーの後縁を見て、出口メッセージを送る。上流側の近隣ゾーンはその速度テーブルを調整してＨを使用可能にする。
【０２９１】
（２５）ゾーンＧは出口センサーの立上り縁を見る。Ｙはいま速度２で移動する。Ｇは２−３特性にスイッチするかも知れないことを決定する。そして、これを出口メッセージで報知する。上流側の近隣ゾーンはＦを使用不能としてマークする。
【０２９２】
（２６）ゾーンＧは出口センサーの後縁を見てＹがゾーンを去ったことを判定する。Ｇは出口メッセージを送る。
【０２９３】
（２７）ゾーンＦは出口センサーの立上り縁を見る。Ｙはいま速度２で移動する。Ｆはその速度テーブルを参照し、３−３特性を決定する。Ｆはこの情報を出口メッセージにおいて送出する。
【０２９４】
上記の各２７のステップのためのゾーンの物品の速度は下のテーブル６に示されている。各ゾーンのために与えられる情報は、それぞれのゾーンスレッドＺＴ−ＡからＺＴ−Jの速度テーブル６７０に含まれる情報と等価である。
【０２９５】
【表６】
0003989683.tif 000008
別の実施例では、速度テーブル６７０はゾーンが専有あるいは予約されているかどうか（例えば、スピートデータがテーブル６７０に含まれていないかどうか）のみを指示する。ゾーンスレッド５１２（図１３）は、下流側のゾーンの専有および予約状況およびコンテナの導入速度を用いて、速度テーブル６７６の簡単な実施例に従うコンテナの退出/最終速度数を計算する。この実施例では、ゾーンスレッド５１２は最終速度を０、１、２または３から選択される速度数に設定する。特に、下流側ゾーンが専有されている場合には、ゾーンスレッド５１２は、対応速度テーブル値が−１に設定されている状況に対して上記のようなコンテナ最終速度数を設定する。下流側ゾーンの１つあるいはそれ以上が予約されている場合には、ゾーンスレッド５１２は対応速度テーブルが−４に設定されている場合の状況に対する上記したコンテナ最終速度数を設定する。下流側ゾーンのいずれもが専有も、予約もされていない場合には、ゾーンスレッド５１２は、コンテナ移動の制約にしたがって、コンテナ最終速度を任意の速度数に設定することができる。たとえば、その下流側ゾーンが専有も予約もされていない場合には、もしその中間下流ゾーンが宛先であった場合には、ゾーンスレッド５１２は、コンテナの退出／最終速度を０に設定するように制約されている。
Ｆ  ゾーンスレッドダイナミックモデル
各ゾーンスレッドは可能性のある動作／状態のダイナミックモデルに基づいて状態機６２０（図１３）を実行する。トップレベルでは、これらの状態は、
開始          ゾーンが物品の移動をスタートさせるとき
停止          ソーンが物品を停止するとき
通過          ゾーンがその流れパスに沿って物品を移動させているとき
阻止          ゾーンが物品の移動を阻止しているとき
休止          ゾーンが物品の移動（ゾーンタスク）に参加していないとき
準備          ゾーンが
１．物品がゾーンにおいてストップしている（ストップからのトラン
シット）。
【０２９６】
２．物品がゾーンにおかれ、移動をはじめるように待機している。
時に、準備状態にある。
【０２９７】
このダイナミックモデルは、図３０を参照しつつ記載されている。
【０２９８】
図３０は、ＵＭＬ（統一モデル言語）と合致した状態ダイヤグラムノーテイションを用いて、本発明の１つの実施例にかかるダイナミックモデルを説明している。特に各ゾーンスレッド状態、そのサブ状態、または動作は、符号付きボックス、たとえば、符号付きボックスとして描かれている。例えば図３０の“停止”符号はゾーンスレッドの停止状態を表し、ゾーンスレッドと協働する動作、サブ状態を含んでいる。この場合、その対応するゾーンは、そのゾーンで停止しているポッドによって専有されている。
【０２９９】
各状態およびサブ状態は当該状態およびサブ状態と協働する活動を実行する一連の機能に対応する。ＵＭＬのさらの情報については、本書に組み入れられている、マーチンフォウラーおよびケンドールスコットのＵＭＬ（１９９７）を参照されたい。
【０３００】
ＵＭＬにしたがって、各メッセージ／イベントは、当該メッセージ／イベントによってトリガされるトランシションを示す矢印のついたラベルとして示されている。たとえば、図３０を参照すると、イベント“ＣＡＲＲＩＥＲ＿ＥＸＩＴＩＮＧ：上流”（“上流”は上流ノードを表すメッセージに含まれるデータである）は休止状態から通過状態への遷移を生じさせる。
【０３０１】
これらの図に参照されるさまざまなイベントおよびメッセージは付録Ａ−Ｃに記載されている。内部メッセージ（たとえば、状態オブジェクト内のメッセージ、たとえば、準備オブジェクト８１２）は、オブジェクトボックスの境界内に含まれるこれらのメッセージである。
【０３０２】
外部メッセージは対象ボックスの周辺にポートを介してオブジェクトから連結される。たとえば、休止状態／オブジェクト８１６によって発行された“ＣＡＲＲＩＥＲ＿ＥＸＩＴＩＮＧ：上流イベント８１７ｄは通過状態／オブジェクトへの移動を生じさせる。
【０３０３】
少なくともいくつかのこれらのメッセージは、また、図１７−２５に図示されたコメントの列を参照して記載されている。移動を生じさせることができるイベントと協働するテストは、Ｃ言語シンタックス、すなわち、表現“宛先ＩＤ＝このノード”８１７ａは移動の宛先ＩＤが現在のゾーン（このノード）のＩＤと同等である。
【０３０４】
図３０は、ゾーンスレッドにおける実現されるゾーンダイナミックモデル／状態機を描いた状態ダイアグラムである。このダイヤグラムは、各スーバー状態のサブ状態の隠れた情報とスーパー状態の間の相互作用を示すものである。この図示の状態は、停止８１０、開始８１４、通過８２０、および阻止８１８を含む。貯蔵マネージャー状態８２２（予約マネージャーに向けられた）はＬＰＴＤを介して、ロードビューを介してロード・ポートまたはストッカーがトラック上に移動されるべき必要があるというポッドに対する協働するゾーンを予約する。貯蔵マネジャーは、ＬＰＴＤが物品を配置する場合には、ゾーンを介して移動させるようにするポッドがないことを確認する。ストップから準備状態へのゾーンスレッド通過８１１Ａは、ポッドがそのゾーン内で完全にストップになっている場合に生じる。準備状態からスタート状態８１４へのゾーンスレッド遷移８１３ａはそのゾーンにおけるポッドが新しい移動命令または下流ブロックが除去されたことのいずれかの結果として移動し始めるときに生じる。準備状態からアイドル状態８１４へのゾーンスレッド遷移８１３ｂは、ポッドがＬＰＴＤによってゾーンから除去されたとき生じる。開始状態から休止状態８１４へのゾーンスレッド遷移８１５は休止状態にあるポッドが移動し始め、ゾーンを出るときに生じる。阻止状態８１８から休止状態８１４へのゾーンスレッド遷移８１９はブロックがそのゾーンから除去されたとき生じる。休止状態８１６から停止状態８１０へのゾーンスレッド遷移８１７ａは物品がその移動宛先地（宛先ＩＤ）であるゾーンに到達したとき生じ、「ＭＡＴＥＲＩＡＬ＿ＡＲＲＩＶＥＤ」メッセージがこの遷移に伴う。休止状態８１６から準備状態８１２へのゾーンスレッド遷移８１７ｂは、「ＺＯＮＥ＿ＩＳ＿ＲＥＡＤＹ」というメッセージによって指定されたイベントがゾーンが予約されていることを示しながら生じたとき、生じる。休止状態から阻止状態８１８へのゾーンスレッド遷移８１７ｃはゾーン入口または出口センサーのいずれかが、ゾーンフォールトを示しながら、「ＺＯＮＥ＿ＦＡＵＬＴ」をこの遷移にともなって、ａ１を送信したときに生じる。休止状態８１６から通過状態８２０へのゾーンスレッド遷移８１７ｄは、「ＣＡＲＲＩＥＲ＿ＥＸＩＴＩＮＧ」という上流側メッセージが、キャリアがゾーンの中間上流ゾーンを出るところであるということを示しながら、受信されたとき、生じる。
Ｇ．ディレクタ動作
ディレクタはトラックコーナーあるいはジャンクションに関係する移動中に物品がとるルートを決定する。これと対照的に、移動をコーディネートする移動オブジェクトは単に、その移動を開始する前に、その移動が影響する各ゾーンスレッドが単に移動中の物品の現在の方向における直線ラインに沿って物品を加速あるいは減速しながら、物品源と宛先地との間に何らかのルートがあるかどうかを単に決定する。重要な物品ルーティング能力を与えることに加えて、ディレクタはゾーンあるいはその近隣のロード・ポートの不具合に基づいて動的に物品のルーティングを再び行うことができる。
【０３０５】
１つの実施例では、各ディレクタは、当該ディレクタを介しての有効なルートおよび回転の角度を指示するルーティングテーブルを備えている。このルーティング・テーブルはシステムの初期化によって確立され、初期ルートのいくつかが構成要素を制御する電気的−機械的輸送構成要素あるいは知能ドライバーの不具合により、使用不能になっているということを発見したことによって、ディレクタによって修正される。ルーティング・テーブルおよびその発生の説明は、図３４および図３５を参照しつつ以下に行われている。
この議論のために、各ディレクタは、ルーティング・テーブルを用いて、通過する各物品ユニットの有効なルートを動的に決定する。
【０３０６】
ディレクタの動作を表すシナリオを図３１及び３２Ａと３２Ｂに示す。このシナリオには、ディレクタを通してルートが選択される２つの物品ユニットが、そのディレクタの近隣内へ同時に到着することが含まれる。図示されている実施の形態において、ディレクタは通常のゾーンを上回る近隣のサイズを持っている（例えば：ディレクタのいずれかの側で３つのゾーンでなく４ゾーン）。近隣内の１つまたは複数の追加ゾーンによりディレクタは入来物品ユニットを検出でき、本来ディレクタが行えない同物品ユニットのディレクタの上流側ゾーンにおけるゼロまでの減速が可能になる（物品ユニットを最高速からゼロに減速するのに３つのゾーンが必要との仮定に基づく）。このシナリオは、単なる例示であり、本発明の適用範囲を制限することを意味するものではないことに留意するべきである。
【０３０７】
図３１に、ディレクタＱ、２つの交差するレール、及びＲ１及びＲ２で示される方向に移動が必要な２つの物品ユニットＰ１及びＰ２を含むトランスポート・システムのリージョンの概要を示す。ディレクタは、２つの近隣Ｚ，Ｙ，Ｘ，Ｗ，Ｖ，Ｕ，Ｔ，Ｓ及びＡ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆ，Ｇ，Ｈを持つ。ディレクタは、一度に１つの近隣にのみメッセージを送信する。このことは、ディレクタのいずれかの側の近隣ゾーン用の文字のメッセージ名（例えば：ＣＡＲＲＩＥＲ_ＥＸＩＴＥＤ  Ｑｗｗ）への付加によりそのメッセージが近隣Ｚ，Ｙ，Ｘ，Ｗ，Ｖ，Ｕ，Ｔ，Ｓに送信されることを示すことを説明しているシーケンス図３２Ａ及び３２Ｂにより表されている。
【０３０８】
この場合、物品Ｐ１は、物品Ｐ２に先立ってディレクタの制御範囲に入る。Ｐ１は左に曲がらなければならず、Ｐ２は直線上を進む必要がある。図３２Ａ及び３２Ｂに示すイベントの順番は下記に示す通りである：
ゾーンＡは、Ｐ１に対してＣＡＲＲＩＥＲ＿ＥＸＩＴＩＮＧメッセージ８３０−１を生成する。ディレクタがこのメッセージを受信すると、Ｐ１が８３２に入った後に回転することを決定する。
【０３０９】
ゾーンＳは、Ｐ２に対してＣＡＲＲＩＥＲ＿ＥＸＩＴＩＮＧメッセージ８３０−２を生成する。ディレクタはこのメッセージを受信して、Ｐ２をそのサービス・キュー８３２上に置く。
【０３１０】
ディレクタは、ポッドがＱ上で停止するように減速される必要があることを示すためにＺＯＮＥ＿ＲＥＳＥＲＶＥＤメッセージ８３４−１をゾーンＢ，Ｃ、及びＤに送信する。このメッセージにより、上流ゾーンＢ、Ｃ、及びＤがＰ１の減速を開始する。
【０３１１】
Ｐ１はディレクタ上で停止するように減速される。一方、Ｐ２はゾーンＶ上で停止するように減速される（ＣＡＲＲＩＥＲ＿ＳＴＯＰＰＥＤメッセージ８３６−１参照）。（この現象は、ディレクタが初期化の中でＱｖｗが利用不可であることを示したときに発生する。また、この現象は、Ｒ，Ｓ，Ｔ，Ｕ，Ｖと一緒に入来するいずれかの物品がディレクタより前に停止する原因となる。）
ディレクタによりＰ１の停止が確定されると、Ｐ１がゾーンＷ８３８に出て行けるような位置へと回転する。
【０３１２】
Ｐ１がディレクタから出るとＣＡＲＲＩＥＲ＿ＥＸＩＴＩＮＧ  Ｑｖｗメッセージ８４０が送出される。一旦Ｐ１がディレクタをクリアするとＣＡＲＲＩＥＲ＿ＥＸＩＴＥＤ  Ｑｖｗメッセージ８４２が送出される。ＣＡＲＲＩＥＲ＿ＥＸＩＴＥＤメッセージ８４２により、ディレクタがＶからＷへの移動のために利用可能となる。
【０３１３】
一旦Ｐ１がディレクタから出ると、ディレクタはＺＯＮＥ＿ＲＥＳＥＲＶＥＤメッセージ８３４−２を、ゾーンＶ、Ｙ、及びＸに送信して、入来ポッドＰ２であり、且つ同Ｐ２のみが停止することなくディレクタの通過が可能（ディレクタ内を通るルートが直線であるため）なことを示す。ゾーンＷは、一旦ポッドがゾーンＷに入るとＳＡＦＥ＿ＴＯ＿ＲＯＴＡＴＥメッセージ８４８を送信する。
【０３１４】
一旦ゾーンＶにより（前述の移動ルールに基づいて）Ｐ２が動き出す可能性があることが確定されると、Ｐ２はＶからＱ及びＷなどを通過しながら全速力まで速度を戻す。ポッドＰ２がディレクタから出ると、ＣＡＲＲＩＥＲ＿ＥＸＩＴＩＮＧ：Ｑｖｗ及びＣＡＲＲＩＥＲ＿ＥＸＩＴＥＤ：ＱｖｗメッセージがディレクタによりゾーンＷに送信される。
【０３１５】
ディレクタは、ポッドがディレクタから完全に出たことを示す下流ゾーンからＳＡＦＥ＿ＴＯ＿ＲＯＴＡＴＥメッセージを受信する。ディレクタは、そのサービス・キューを検査し、他の物品は一切検出せず、回転してホーム・ポジションへと戻る。
【０３１６】
回転が完了すると、ＺＯＮＥ＿ＡＶＡＩＬＡＢＬＥメッセージ８４６が、ＤからＱを経てＥに至るいずれかの入り物品を信号として送出する近隣Ａ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆ，Ｇ，Ｈに送信される。
【０３１７】
上記のディレクタ・シナリオ以外のディレクタ・シナリオも可能である。
２．ディレクタ・クラスタ
幾つかのケースでは、複数のディレクタが直接接続されてクラスタを形成する。ディレクタ・クラスタは、コンテナが全ての必要なディレクタを停滞なく通過可能なことを保証するために付加的な通信を必要とする。
【０３１８】
図３３Ａ及び３３Ｂに、可能なディレクタ・クラスタ構成を示し、図３３Ｃ及び３３Ｄに、潜在的な停滞状況を示す。図３３Ａ及び３３Ｂにおいて、ディレクタにはＡ、Ｂ、Ｃ、及びＤのラベルが付けられており、各ディレクタを通じた可能な出入り方向を斜線矢印で示し、クラスタを通じた物品の幾つかの可能な経路を細い実線の矢印で示す．
このタイプのディレクタ・クラスタの場合、物品ユニットがＵターンする必要がある時は、ターンには２つではなく４つのディレクタが関与することに注意する。Ｕターンに２つのディレクタのみが必要な場合は、２つの物品ユニットのみでデッドロックを作り出すことが可能である。４つのディレクタ全ての使用により、物品が４つのディレクタ全ての上に存在する場合のみにデッドロックの発生を制限することができる。図３３Ｃ及び３３Ｄに、潜在的なデッドロック条件を示す。
【０３１９】
図３３Ｃに示すデッドロックは、反対方向から複数の物品が同時に到着し、各物品ユニットが動作の継続のために複数のディレクタを必要としている場合（両物品ユニットが直線経路を進みたい場合）に発生する。図３３Ｄに示すデッドロックは、南に向かう２つのコンテナが、最初のコンテナを西へと向かわせるディレクタ・クラスタに入ったときに発生する。これらの状況がまれにしか起きていない間は、ディレクタ・コントローラはこれらの状況が起きないことを保証するように構成されている。これらのデッドロックを回避するためにディレクタ・コントローラが利用する方法は下記の通りである：
（１）ディレクタが近付きつつあるコンテナを検出した場合は、採用すべき出力方向を決定する。
（２）上記出力方向が他のディレクタに接続されていた場合は、第１のディレクタが排他的アクセスを要求している第２のディレクタにメッセージを送信しなければならない。
（３）第２ディレクタがすぐに排他的アクセスを獲得できなかった場合は、第１ディレクタはコンテナに入ることを許可しない。
（４）第２ディレクタもコンテナの出力方向が他のディレクタ内であると決定した場合は、第１ディレクタに応答する前に第３のディレクタからの排他的アクセスを要求する。
（５）第３ディレクタも同様に第４のディレクタへの排他的アクセスを要求する。
（６）一旦第１ディレクタが第２ディレクタからアクセス許可を受信すると、第２ディレクタより先のいずれの追加ディレクタにもアクセスが許可されることが保証される。
Ｆ．キャリア・ルーティング
ディレクタは、複数の潜在的経路に沿ったキャリアのルーティングをサポートする。下に示すルーティング・メカニズムは、下記の目的を達成するように設計されている：
（１）ゾーンに任意のラベル付けができるようにする。アシスト・オートメーション・コンベア・システムは、保持が複雑で困難なアドレッシング・スキームを必要とした。このアドレッシング・スキームは、コンベアの構成が変化した時に物理的なレイアウト及び必要な更新を監視した。下記のメカニズムにより、これらの制約が解除される：
（２）宛先までのルートの自動検出を提供。アシスト・オートメーション・コンベア・システム内のいずれかの宛先へのルートは宛先アドレスによって明らかになる。決定ポイントは、キャリアのルート選択のためには、簡単な数値的比較を行うだけで良い。しかしながらこの手法は、宛先が追加される毎にコントロール・システム内のデータベースを更新する必要があった。下記のアルゴリズムによりシステムが自動的にそれらのデータベースを更新できるようになった：
（３）新たな宛先ゾーンまたはディレクタがインストールされた場合に、それらが自動的にそれら自身を残りのシステムと統合することができるようなメカニズムの提供。
経路長の確立
ルーティング機能を実行するシステム内のディレクタは、１つの宛先に対して複数の経路を持つ。複数の退出方向がある場合は、ディレクタは最適なルートが選択できるようなメトリックを持たなければならない。
【０３２０】
この距離データを獲得するために、ディレクタはＰＡＴＨ＿ＬＥＮＧＴＨメッセージを全退出方向にある直下の下流近隣ゾーンに送出する。正常ゾーンがこのメッセージを受信した場合、ゾーン計数フィールドを増分し、直下の下流近隣にメッセージを渡す。その結果、計数を増分し、メッセージを発信ディレクタに戻す下流ディレクタにメッセージが到達する。この情報は、発信ディレクタによりそのルーティング・テーブルに付加される。
【０３２１】
このプロセスも、ＲＯＵＴＥ＿ＣＯＵＮＴメッセージをスーパーバイザから受信した時またはアプリケーションがスタートし、その下流ディレクタへの距離情報を持っていないことを検出した時に実行される。ディレクタがその下流ディレクタへの距離情報を受信するまでは、ＲＯＵＴＥ＿ＡＮＮＯＵＮＣＥメッセージを生成しない。
ルート復旧
本発明に利用されている輸送システムは、システム内のロード／アンロード・ゾーンから他のロード／アンロード・ゾーンへの１つまたは複数のルートを検出する能力を有する。ロード／アンロード・ゾーンが活性になると（例：付随ノードの最初のパワー・アップ）、ゾーンがＤＥＳＴ＿ＡＮＮＯＵＮＣＥメッセージ経由で上流ノードに対して同ゾーンが宛先であることを知らせる。上流ノードがディレクタでない場合は、同ノードがＤＥＳＴ＿ＡＮＮＯＵＮＣＥメッセージをディレクタに到達するまでその上流ノードに伝達する。このメッセージが戻された場合は、ゾーン・カウンターが増分される。従って、ゾーン・カウンターの値はディレクタからロード・ゾーンへの距離を示すことになる。
【０３２２】
ＤＥＳＴ＿ＡＮＮＯＵＮＣＥメッセージを受信すると、ディレクタは宛先を収容するためにそのルーティング・テーブルを更新する。次にディレクタは、その上流ディレクタにメッセージを送出して宛先を通知する。その結果、このデータは全ディレクタを通じて伝達され、発信ディレクタに返される。発信ディレクタはメッセージを転送しない。ノードからノードへと伝達され、ディレクタへと上げられるゾーン・メッセージを持つことにより、宛先のアップストリームの全てのノードが、どの宛先がそのノードに最も近いかを確定することができる。従って、いずれのゾーンも障害の結果無効になった宛先を上流ディレクタに通知することができる。（この動作の詳細を下記に示す。）
ディレクタが活性になると、その下流ディレクタに対する経路長を確立し、ルーティング情報を収集・伝達する。この処理がどのように行われるかに関する幾つかの例を図３４から３６に示す。
【０３２３】
ディレクタが障害システム・コンポーネントの前面内の同ディレクタのルーティング情報を修正する例を図３７から３８に示す。
【０３２４】
一般的なトランスポート・システムの物理レイアウトを示すこれらの図は各々下記を含む：
・コーナーは「Ｃ」のラベルが付けられた円により表される；
・ディレクタは「Ｄｉ」のラベルが付けられた円により表され、「ｉ」はインデックスを示す；
・ゾーンは空ボックスにより表されるか、Ｚｉのラベルが付けられたボックスとして表され、「ｉ」はインデックスを示す；
・宛先ロード／アンロード・ゾーンは「Ｌ／Ｕ」のラベルが付けられ；
・許可された移動の方向は細い実線の矢印として示される。
【０３２５】
図３４に、単一ロード／アンロード・ゾーンＬ／Ｕ、２つの上流ゾーンＺ１とＺ２，及び幾つかのディレクタＤ１、Ｄ２、Ｄ４、Ｄ６、Ｄ８を特に示す。ルート検出に使用されるメッセージは、通常上流に流される。これらのメッセージの流れをより詳細に説明するために、図３５にゾーンＬ／Ｕの視点からの図３４の要素間を結部を上流を示す。図３４に、ゾーンＬ／Ｕが初めてパワー・アップされたと想定したレイアウトを示す。このゾーンは、その構成情報を検査し、それがロード／アンロード宛先であることを確定する。これが最初のパワー・アップであるために、不揮発メモリ内のフラグがクリアされ、ゾーンＬ／Ｕが未だ宛先として登録されていないことを示す。
【０３２６】
フラグに対するテストの結果として、ゾーンＬ／Ｕはそれ自身が宛先であることを告知する。下記メッセージ送出は次の結果をもたらす：
（１）Ｌ／ＵはＤＥＳＴ＿ＡＮＮＯＵＮＣＥメッセージを、距離１を持つ直ぐ上の上流の隣接ゾーンＺ１に送信する。
（２）Ｚ１はＬ／Ｕのアドレス及び距離を記録する。Ｚ１はＤＥＳＴ＿ＡＮＮＯＵＮＣＥメッセージを、距離２を持つ直ぐ上の上流の隣接ゾーンＤ８に転送する。
（３）Ｚ２はＬ／Ｕのアドレス及び距離を記録する。Ｚ２はＤＥＳＴ＿ＡＮＮＯＵＮＣＥメッセージをその直ぐ上の上流隣接ゾーンＤ８に転送する。
（４）Ｄ８は、そのルーティング・ラベルに直接ルートとしてＬ／Ｕを付加する。
（５）次にＤ８は、ＤＥＳＴ＿ＲＥＧＩＳＴＥＲＥＤメッセージをＬ／Ｕに戻す。Ｌ／Ｕはこの情報を受信し、その登録フラグを修正するので、次のアプリケーションの開始時にはＬ／ＵはＤＥＳＴ＿ＡＮＮＯＵＮＣＥを送出しない。現在時間間隔の後でＤＥＳＴ＿ＲＥＧＩＳＴＥＲＥＤメッセージを一切受信しなかった場合は、ノードはランダム時間間隔を待ち、もう１つのＤＥＳＴ＿ＡＮＮＯＵＮＣＥを送信する。この処理は、応答を受信するまで継続する。
（６）Ｄ８が距離Ｄ２、Ｄ４、及びＤ６を確定すると、ＲＯＵＴＥ＿ＡＮＮＯＵＮＣＥメッセージをそれらに送信する。このメッセージには、各ディレクタへの距離と合算された直接経路からの距離が含まれる。Ｄ２、Ｄ４、及びＤ６は、Ｌ／Ｕを間接ルートまたは「経由」として包含するためにルーティング・テーブルを更新する。次の方向は、ディレクタが持つＤ８への接続の物理的方向付けに関する知識に基づいて設定される。
（７）次にＤ６は、ＲＯＵＴＥ＿ＡＮＮＯＵＮＣＥメッセージを上流ディレクタＤ８に送信する。Ｌ／Ｕへの直接ルートを持っているために、Ｄ８は経由ルートを定義するメッセージを廃棄する。
（８）Ｄ４は、ディレクタＤ２にＬ／Ｕへの合計距離を含むメッセージを送信する。Ｄ２は、Ｄ４を通るルートがＤ８ルートとは違った退出方向を取り、テーブルに新たなルートを収容することを決定する。
（９）Ｄ２は、Ｄ１に対してＤ８からのメッセージ受信の結果として１つのメッセージを送信し、Ｄ２からのメッセージ受信の結果として他のメッセージを送信する。どちらが先に送信されるかは決められていない。最初のメッセージの受信時に、Ｄ１は、メッセージ及び周知のＤ２への距離から算出された経路長と共に２つのルート（Ｄ２への各退出方向に対して１つづつ）を加える。第２のメッセージが到着すると、Ｄ１は既存のルートを確定するが、新たな距離がより小さい場合は、距離を再計算し、テーブルを修正する。第２のメッセージ・セットの結果としては、メッセージは一切送出されない。
（１０）Ｄ１は、ＲＯＵＴＥ＿ＡＮＮＯＵＮＣＥメッセージをＤ４及びＤ６に送信する。Ｄ４及びＤ６は、新ルートを認識し、それら自身のテーブルに収容する。
（１１）Ｄ４は、ルート・メッセージをＤ２に送信する。Ｄ２は、それが既にルートを持っていることを確定し、距離を再計算し、必要ならばそのルーティング・テーブルを修正する。第２のメッセージ・セットの結果としては、メッセージは一切送出されない。
（１２）Ｄ６も、Ｄ１を通るルートの結果として、Ｄ８にメッセージを送信する。Ｄ８は直接ルートを持っているため、経由ルートに対するメッセージを廃棄する。
【０３２７】
これらの動作の結果として、ディレクタＤ１、Ｄ２、Ｄ４、Ｄ６、及びＤ８のルーティング・テーブルが表７に示されているように更新される。このテーブル中で、「宛先」欄は「ディレクタ」欄に示すディレクタを通して到達できるルート宛先のＩＤを示し、「ルート・タイプ」は「経由」（他のディレクタを通して宛先に達した場合）または「直接」（他のディレクタを通すことなく宛先に達した場合）であり、「ディレクタ退出方向」欄は、各「経由」ルートに対してディレクタ及びルートが通るべき退出方向を与え、各「直接」ルートには退出方向のみを与える。
【０３２８】
【表７】
0003989683.tif 000009
【０３２９】
与えられたいかなる宛先に対しても、ディレクタが持つその宛先に対するルートの数は、ディレクタが持つ退出経路と同じであることに注意する。
【０３３０】
新しいディレクタがシステムに与えられる場合は、第２のシナリオが存在する。このシナリオは、障害ディレクタの交換またはトラックの新セグメントの追加の結果として存在することもある。これら２つのケースの扱いは多少相違しているため、個別に説明されている。
【０３３１】
既存のディレクタが交換された場合は、そのディレクタは次のことが必要になる：
・経路長を探す。
・下流宛先にそれら自身を告知させる。この処理は、システム中の各宛先がそれ自身を再告知するのを防ぐためにノードからノードへ伝達されるメッセージを必要とする。
・下流ディレクタから全ての他のルートをアップロードする。
【０３３２】
既に記載した手法による経路長の検出に加えて、新しいディレクタが、時としてトラックの新しいセクションと共に追加されると、少なくとも既存のディレクタにより収容されたルーティング情報のサブセットの更新が必要になる。この状況下における再ルーティングの例を図３６に示す。
【０３３３】
図３６に、新ディレクタＤ９及び付随するトラックの追加を伴う図３４の物理レイアウトを示す。ディレクタＤ９の追加により、ディレクタＤ１は、もはや１８０°ルートを通じてディレクタＤ２には接続されておらず、このことはＤ１のルーティング・テーブルがすでに無効であることを示している。Ｄ２の上流方向の一覧も間違っている。最後に、Ｄ９は空のルーティング・テーブルを持つ。この変更の操作法を説明する。
【０３３４】
新しいトラック・セクションを機械的かつ論理的に追加するために、ディレクタＤ１はその１８０°ルートの使用を停止するようにＲＯＵＴＥ＿ＤＩＳＣＯＮメッセージを通じてスーパーバイザから指示されることに留するべきである。一旦新しいトラック・セクションがパワー・アップされると、ディレクタＤ９はそのルーティング・テーブルを検査し、同テーブルが空であることを検出する。その結果、ディレクタＤ９は先ず０°及び９０°退出経由でディレクタＤ２に対して経路長を確立する。次に、ディレクタＤ９は、その下流ディレクタＤ２にＲＯＵＴＥ＿ＴＡＢＬＥ＿ＲＥＱメッセージを送信する。ディレクタＤ２がディレクタＤ９からメッセージを受信した時に何らかの理由でルーティング・テーブルを持っていなかった場合は、応答しない。次にディレクタＤ９は、タイムアウトし、再度メッセージを送信する。この処理は、ディレクタＤ２がルーティング・テーブルをディレクタＤ９に送信するまで続けられる。（このシステム全体が最初に起動された場合は、Ｄ２から受信したルーティング・テーブルは、全宛先ゾーン情報が未だネットワークを通じて伝達されていない場合に完全に伝達されない可能性がある。残りの情報は、最終的にネットワークを通じて伝達されたルート情報としてＤ９に到達する。）ディレクタＤ１の接続ディレクタのリストも、Ｄ９を包含するために更新されなければならない。Ｄ１も、その１８０°退出のためのルーティング・テーブル更新を必要とする。
ルーティング・テーブル
既に説明したように、図解した実施の形態においては、各ディレクタは、コンテナがルーティングされる出力方向の決定に使用するルーティング・テーブルを保持している。ルーティング・テーブルは全ローカル宛先に対するエントリ（すなわち、他のディレクタを通らずに直接到達可能なゾーン）及びリモート宛先に対するエントリ（すなわち、他のディレクタ経由でのみ到達可能なゾーン）を含んでいる。１つの実施の形態においては、ルーティング・テーブルは下記の情報を含んでいる：
・宛先
・退出方向
・ルートが直接か「経由」か。
・ルート長（現ディレクタから究極の宛先へのゾーンの数である）。ルート長は、より一般的には、特定の宛先への２つのルートの「良さ」を示す「良さの要素」である。最も単純な良さの要素は距離であるが、トラフィック状態など（すなわち、相対速度）の他のアルゴリズムも使用可能である。
・ルート・ステータス
ルーティング・データは、与えられた宛先に対する全ルートが近隣するように構築される。１つの考えられる構造では、最初の直接ルートに経由ルートが続き、経由ルートは距離の増加により順序付けられる。
ルーティングの変更
上記のルート追加のためのシナリオの範囲を超えて、既存のルートが一次的に無効になることによってルーティングが変更されることがある。下記の原因によりルートが無効となる：
（Ｆ１）宛先ゾーンがメカニカル障害を検出する。
（Ｆ２）宛先ゾーンのノードの障害が発生する。
（Ｆ３）上流ディレクタと宛先間のゾーンがメカニカル障害を検出する。
（Ｆ４）上流ディレクタと宛先間のノードの障害が発生する。
（Ｆ５）宛先から上流ディレクタがメカニカル障害を検出する。
（Ｆ６）宛先から上流のディレクタの障害が発生する。
（Ｆ７）スーパーバイザがルート無効化のために命令を送信する。
シナリオＦ７：スーパーバイザ・ルート無効化
シナリオ（Ｆ７）においては、ディレクタに対して責任を持つスーパーバイザがディレクタに対して特定のルートのセットが無効化されることを通知する。スーパーバイザは、ＰＡＴＨ＿ＤＩＳＣＯＮメッセージ内に無効化されるディレクタの出力方向を指定する。これにより、同方向に沿った全てのルートが無効になる。このタイプの無効化は、保守またはトラック修正を予期した場合などのトラックのセクションをオフラインにする過程で行われる。
シナリオＦ４：総ノード障害
シナリオ（Ｆ４）においては、ノードの障害が発生すると（例：停電またはＣＰＵ障害による）、そのノードはそれ以上キャリアを移動することができなくなり、同ノードの上流ディレクタとノードの状態を通信することすらできなくなってしまう。この状態は他のノードにより検出される必要がある。ノードが下流ノードの総障害を検出するためには、各ノードが定期的にＮＯＤＥ＿ＰＩＮＧメッセージをその直下の下流ノードに送信する。受信ノードがｐｉｎｇへの応答を受信しなかった場合は、送信ノードはダウンストリーム・ノードの障害が発生したと解釈する。次に送信ノードは、ＮＯＤＥ＿ＦＡＵＬＴメッセージを、障害ノードのアドレスを持つ上流隣接ノード及びそれ自身に最も近い宛先に送信する（これにより、ディレクタにどの宛先が無効になったかを伝える）。このメッセージはディレクタへと返される。ディレクタは、ＮＯＤＥ＿ＦＡＵＬＴをスーパーバイザに送信し、障害のある退出方向を使用して全宛先を位置付けし、それら宛先へのルートを無効化する。ノードが下流ノードの障害が発生したことを検出すると、ノードのｐｉｎｇを継続して試行する。各不成功ｐｉｎｇに対しては、ノードはＮＯＤＥ＿ＦＡＵＬＴメッセージを上流に返す。
【０３３５】
最終的に、下流ノードは、修理または交換のためにｐｉｎｇメッセージに応答する。次に、ｐｉｎｇを発信したノードはＮＯＤＥ＿ＲＥＳＴＯＲＥＤメッセージを、ディレクタに到達する上流に返す。ノードが交換された場合は、同ノードはそれ自身を上記の手法で告知するが、下流宛先はなおも追加戻しの必要がある。ノードが修理された場合は、同ノードはそれ自身を再告知しない。
【０３３６】
図３７に、代表的な物理レイアウトを示して障害ノード（「Ｘ」印が付けられている）のためのシステム・プロセスにより実行される処理を説明する。ノードの障害に先立つ上記レイアウトのための初期ルーティング情報を表８に示す。この表の欄は、下流ディレクタが宛先の前の最後のディレクタかどうかを示す「最終ディレクタ」欄以外は表７と同様である。
【０３３７】
【表８】
0003989683.tif 000010
【０３３８】
Ｘ印が付いたノードに障害が発生したと仮定する。結果の処理は下記の通りである：
（１）ノードＤＮはＮＯＤＥ＿ＰＩＮＧをその下流ノードに送信し、返答は受信しない。
（２）ノードＤＮはＮＯＤＥ＿ＦＡＩＬＥＤメッセージをその上流ノードに送信する。このメッセージには障害が発生したノードのアドレス及びノードＤＮに最も近い宛先であるＬ／Ｕ３（宛先がそれら自身を告知した時に得られる情報）のアドレスが含まれる。
（３）上流ノードは、ディレクタＤ２が受信するまでメッセージを転送し続ける。Ｄ２はルーティング・テーブルからＬ／Ｕ３を検出し、より遠く、９０°退出経由でアクセスされる他の全宛先（すなわち、Ｌ／Ｕ２）に沿ったルートを削除する。次にＤ２は、９０ｏにおけるＤ８経由でＬ／Ｕ１へのルートを削除する。Ｌ／Ｕ２及びＬ／Ｕ３がルーティング・テーブルから除去された時に、ＲＯＵＴＥ＿ＤＩＳＣＯＮメッセージがＤ１に送信される。Ｌ／Ｕ１用の経由ルートには、Ｌ／Ｕ１へのルートが未だに０°退出経由で存在しているために、ＲＯＵＴＥ＿ＤＩＳＣＯＮメッセージは一切送信されない。（障害ノードの場合、最終ディレクタ・フラグは使用されない。）
（４）Ｄ１は、ルートＬ／Ｕ２の切断のためのメッセージを受信する。同Ｄ１は、そのルーティング・テーブルからＬ／Ｕ２用の両エントリを除去して、Ｌ／Ｕ２のためのＲＯＵＴＥ＿ＤＥＳＣＯＮメッセージをＤ４及びＤ６に送信する。同様に、Ｌ／Ｕ３のためのルートはＤ３に送信されたＲＯＵＴＥ＿ＤＩＳＣＯＮメッセージを削除する。
（５）Ｄ４及びＤ６はＬ／Ｕ２及びＬ／Ｕ３用のＲＯＵＴＥ＿ＤＩＳＣＯＮメッセージを受信し、それらのルーティング・テーブルからエントリを削除する。
（６）Ｄ４は、ＲＯＵＴＥ＿ＤＩＳＣＯＮメッセージをＤ６及びＤ８に送信する。Ｄ６は、そのテーブル（既に削除されている）中にルートが見つからないために、メッセージを廃棄する。Ｄ６は何もメッセージを転送しない。Ｄ８は、そのテーブルからルートを削除し、Ｄ６及びＤ４にメッセージを送信する。Ｄ６及びＤ４は共にメッセージを廃棄する。
（７）Ｄ６も、Ｄ８にＲＯＵＴＥ＿ＤＩＳＣＯＮメッセージを送信する。Ｄ８は、ルートがすでに存在しないために、これらメッセージを廃棄する。
【０３３９】
この処理に続いてディレクタにより保存されたルーティング情報を表９に示す。この表の欄は表７と同様である。
【０３４０】
【表９】
0003989683.tif 000011
【０３４１】
シナリオＦ２：ゾーン・メカニカル障害
ゾーンにキャリア移動を縮小するようなメカニカル障害が発生すると、ゾーンはＺＯＮＥ＿ＦＡＵＬＴメッセージにて上流ノードに障害及び最も近いダウンストリーム宛先アドレスを通知する。このメッセージは上流ディレクタに戻される。ディレクタはＺＯＮＥ＿_ＦＡＵＬＴメッセージからの宛先アドレスを使用してその宛先へのルート及びその先の全有効宛先をマークする。次にディレクタは、有効になった各ルートに対してＲＯＵＴＥ＿ＤＩＳＣＯＮメッセージをその上流ディレクタに送信する。
シナリオＦ５／Ｆ６：ディレクタ障害処理
下記の例は、図３８を参照してディレクタに障害が発生した場合に行われる処理を説明する。この実施の形態においては、ディレクタＤ８に障害が発生している。生涯に先立つ本レイアウト用の初期ルーティングは表５に示すのと同様である。このケースでは、システムは下記の処理を実行する：
（１）ディレクタＤ８に障害が発生すると、ＮＯＤＥ＿ＰＩＮＧメッセージに応答しなくなる。
（２）ＮＯＤＥ＿ＦＡＩＬＥＤメッセージが、上流コーナーからＤ６及びＤ４に転送される。この情報は、９０ｏ経路上のノード経由でＤ２にも返される。
（３）ディレクタＤ２が通知を受けると、そのルーティング・テーブル内でＤ８を通じたルートを探し、Ａ及びＬ／Ｕ１へのルートを見付ける。Ｄ８を通じたＡへのルートはそのルーティング・テーブルから削除される。他のＡへのルートが存在するため、ＡはＲＯＵＴＥ＿ＤＩＳＣＯＮメッセージを送信しない。Ａは、Ｄ８を通るＬ／Ｕ１ルートを検査する。このルートはフラグの付いた最終ディレクタを持っているため、Ｄ８障害により全てのルートが効果的に終了する。Ｄ２はＬ／Ｕ１への両ルートを削除し、ＲＯＵＴＥ＿ＤＩＳＣＯＮメッセージを上流ディレクタＤ１に送信する。
（４）Ｄ１は、Ｌ／Ｕ１に対するＲＯＵＴＥ＿ＤＩＳＣＯＮメッセージを受信し、そのルーティング・テーブルから両ルートを削除する。全てのルートが削除中のため、Ｄ１はＲＯＵＴＥ＿ＤＩＳＣＯＮメッセージを上流ディレクタＤ４及びＤ６に送信する。
（５）Ｄ６はＮＯＤＥ＿ＦＡＵＬＴメッセージを、Ｄ１からのＲＯＵＴＥ＿ＤＩＳＣＯＮメッセージ同様にその上流ノードから受信する。Ｄ６がＮＯＤＥ＿ＦＡＵＬＴメッセージを先に受信した場合は、両ルートを削除し（Ｄ８ルートが最終ディレクタ・フラグをセットされるため）、ＲＯＵＴＥ＿ＤＩＳＣＯＮメッセージは一切送出しない（上流ディレクタが障害の発生したものであるため）。Ｄ６がＲＯＵＴＥ＿ＤＩＳＣＯＮメッセージを先に受信した場合は、両ルートを削除し（最終ディレクタ・フラグを検査せずに）、上流ディレクタが障害の発生したものであるためにＲＯＵＴＥ＿ＤＩＳＣＯＮメッセージを送出する必要がないことを決定する。第２のメッセージが来る頃には、ルートは既に削除されており、何の処理も行われない。
（６）Ｄ４は、その上流ノードからのＮＯＤＥ＿ＦＡＵＬＴメッセージも受信する。Ｄ４はＤ８経由のＬ／Ｕ１へのルートを位置付け、最終ディレクタ・フラグをチェックする。このフラグに基づき、ノードはＬ／Ｕ１への両ルートを削除し、ＲＯＵＴＥ＿ＤＩＳＣＯＮメッセージを上流ディレクタＤ２にＲＯＵＴＥ＿ＤＩＳＣＯＮメッセージを送信する。Ｄ４はＤ８経由のＡへのルートも削除する。
（７）Ｄ２がＬ／Ｕ１へのルートを未だに削除していない場合は、Ｄ４からのＲＯＵＴＥ＿ＤＩＳＣＯＮメッセージによりそれらのルートが削除される。
【０３４２】
本発明を幾つかの特定の実施の形態を参照して記述してきたが、説明は発明を例示するものであり、発明を制限するものと解釈されるべきではない。請求項により規定された本発明の本来の趣旨及び適用範囲を逸脱せずに当業者は種々の改造を行うことができることは理解できよう。
付録Ａ：外部イベント
0003989683.tif 000012
0003989683.tif 000013
【０３４３】
付録Ｂ：イントラＣＬＣイベント
0003989683.tif 000014
0003989683.tif 000015
【０３４４】
ポジションは、物理位置を利用するためにＬＰＴＤが理解できるような単純な数値である。この場合、ロード・ポイント及びレール・ポジションは１、２、３などの整数により指定される。
0003989683.tif 000016
0003989683.tif 000017
【０３４５】
0003989683.tif 000018
0003989683.tif 000019
0003989683.tif 000020
0003989683.tif 000021
【０３４６】
0003989683.tif 000022
0003989683.tif 000023
0003989683.tif 000024
0003989683.tif 000025
【０３４７】
0003989683.tif 000026
【０３４８】
付録  Ｃ：ローカルＣＡＮバスメッセージ
以下の略記は、代表的なローカルＣＡＮバスメッセージ／イベントの以下の記述で使用される。
ＺＣ  ゾーン・コントローラ
ＡＣ  軸コントローラ
ＩＣ  ＩＤコントローラ
ＨＣ  （Ｅ２３）ハンドシェークコントローラ
ＸＣ  ＳＥＣＳコントローラ
ＴＣ  輸送コントローラ
これらの記述は、４つの形態のメッセージ／イベント、一般的なメッセージ／イベント、ゾーン・コントローラメッセージ／イベント、ハンドシェークコントローラメッセージ／イベント及び軸コントローラメッセージ／イベントに更に分割される。
１．一般的なメッセージ／イベント
１．１  ＡＣＫ
ＡＣＫメッセージは、確認を要求する命令、具体的には、実行ＩＤを含むＳＥＴ ＰＲＯＦＩＬＥ命令に応答して、インテリジェント・ドライバボードによって送られる。
１．２  ＡＬＡＲＭ
アラームメッセージは、メジャーコード、マイナーコード、及びオプション的説明データフィールドを含む。メジャーコードは、システム幅、１６ビット値である。マイナーコードは、メジャーコード中のみでは、ユニークであり、従って、８ビット値によって表示することができる。オプショナルデータフィールドは、特定のアラームに基づいて変化する。
１．３  ＣＯＮＴＲＯＬＬＥＲ＿ＳＴＡＴＵＳ＿ＲＥＱＵＥＳＴ
ＣＯＮＴＲＯＬＬＥＲ＿ＳＴＡＴＵＳ＿ＲＥＱＵＥＳＴ命令は、現在のステータスに関して、コトローラに質問を送る。コントローラは、各個別のコントーラ毎のセクションで定義されたステータスメッセージで応答する。例えは、ゾーン・コントローラは、ＺＯＮＥ＿ＳＴＡＴＵＳメッセージで応答する。
１．４  ＦＯＲＴＨ＿ＲＲＥＳＥＴ
ＦＯＲＴＨ＿ＲＲＥＳＥＴ命令は、コントローラを強制的にリブートするために送られる。この強制リセット命令に付属するデータは、コントローラがデフォルト値、即ち、不揮発性メモリに記憶されるパラメタ、特に、ＣＡＮバスアドレスを使用して、リセットするか否かを決定する。
１．５  ＧＥＴ＿ＰＡＲＡＭＥＴＥＲ
ＧＥＴ＿ＰＡＲＡＭＥＴＥＲメッセージは、インテリジェント・ドライバによって記憶された種々のコントロールパラメタ、例えば、ドライバボードＣＡＮバスアドレスを読み出すために、ＣＬＣによって送られる。この命令によって読むことの出来るパラメタは、コントローラボードタイプに依存する。読み出されるべきパラメタは、ユニークな２バイト数によって識別される。この数は、初めの２データバイトで与えられる、ＳＥＴ＿ＰＡＲＡＭＥＴＥＲ  命令で使用される値に対応している。インテリジェント・ドライバは、パラメタＩＤの有効性をチェックし、パラメタＩＤ値がコントローラに対して適当でない場合は、ＡＬＡＲＭＮメッセージで応答する。
１．６  Ｉ＿ＡＭ＿ＡＬＩＶＥ
Ｉ＿ＡＭ＿ＡＬＩＶＥメッセージは、ブートスラップオペレーションの後に、また、ＰＩＮＧ又はＦＯＲＣＥ＿ＲＥＳＥＴメッセージに応答してインテリジェントトライバボードがその初期化を完了した時は常に、送られる。ブートストラップは、パワーオンリセット、マニュアルリセット、ウォッチドッグタイマリセット、又は或る命令による強制リセットによるものとすることができる。ウォッチドッグタイマーリセットは、ゾーン・コントローラボードに対して、６３０ミリ秒である。
１．７  ＰＡＲＡＭＥＴＥＲ＿ＲＥＳＰＯＮＳＥ
ＰＡＲＡＭＥＴＥＲ＿ＲＥＳＰＯＮＳＥメッセージは、ＣＬＣからの前のＧＥＴ＿ＰＡＲＡＭＥＴＥＲ命令に応答して、コントローラによって送られる。戻されているパラメタは、最初の２データバイトで与えられるユニークな２バイド数によって識別される。パラメタの現在値は後続くの６バイトで与えられる。６バイト未満値は、最小桁バイドで戻される。ＡＳＣＩＩデータは、メッセージで戻すことができる。６までのＡＳＣＩＩ文字を戻すことができる。６未満の文字が戻される場合、ストリングは、ゼロで終結される。６文字が戻される場合、呼出しアプリケーションは、ストリングをゼロで終結するための責務をおっている。パラメタＩＤ値は、ＳＥＴ＿ＰＡＲＡＭＥＴＥＲ命令内に与えられるものと同じである。
１．８  ＰＩＮＧ
ＰＩＮＧは、所定のネットワークアドレスを有するインテリジェント・ドライバボートの存在を直ちに質問するために、ＣＬＣによって送られる。ドライバボー
ドが、存在し、それが、機能する場合、Ｉ＿ＡＭ＿ＡＬＩＶＥメッセージで応答する。
１．９  ＳＥＬＦ＿ＴＥＳＴ
ＳＥＬＦ＿ＴＥＳＴメッセージは、インテリジェント・ドライバボートが組み込み診断機能実行することを強制するために、ＣＬＣによって送られる。自己試験は、システムがオフラインのメンテナンス中又はトラブルシューティングセッション中に、システムインストールプロセスの一部として達成される。これらの試験は、一般的には、（コンピュータの観点から）相当の時間を使用し、試験されているボートタイプに依存して長さが変化する。ＳＥＬＦ＿ＴＥＳＴメッセージは、試験に依存して、意味が変化する６つのパラメタを含む。未使用のパラメタは、メッセージが８バイドデータを常に有する様に、送られる。
１．１０  ＳＥＬＦ＿ＴＥＳＴ＿ＲＥＳＵＬＴＳ
ＳＥＬＦ＿ＴＥＳＴ＿ＲＥＳＵＬＴＳメッセージは、ＳＥＬＦ＿ＴＥＳＴメッセージに応答して、インテリジェント・ドライバによって送られる。
１．１１  ＳＥＮＳＯＲ＿ＳＴＡＴＵＳ
ＳＥＮＳＯＲ＿ＳＴＡＴＵＳは、ＳＥＮＳＯＲ＿ＳＴＡＴＵＳ＿ＲＥＱＵＥＳＴ命令に応答して、コントローラによって送られる。更に、大部分のコントーラは、それらのセンサーの或るものがステータスをチェックする時に、メッセージを自動的に発生する。例えば、ゾーン・コントローラは、左又は右センサーの何れかがステート（状態）を変化させる時は常に、メッセージの一つを発生する。
１．１２  ＳＥＮＳＯＲ＿ＳＴＡＴＵＳ＿ＲＥＱＵＥＳＴ
この命令は、センサーの一つの現在の状態に関して、コントローラに質問するために、送られる。このコントローラは、ＳＥＮＳＯＲ＿ＳＴＡＴＵＳメッセージで応答する。
１．１３  ＳＥＴ＿ＰＡＲＡＭＥＴＥＲ
ＳＥＴ＿ＰＡＲＡＭＥＴＥＲメッセージは、インテリジェント・ドライバに対する種々のコントロールパラメタ、例えば、トライバボードＣＡＮアドレスをセット又はリセットするために、ＣＬＣによって送られる。この命令を介してセットすることができるパラメタは、コントローラボートタイプに依存する。これらのパラメタの大部分は、コントローラの不揮発性メモリ内に記憶せれる。セットされるべきパラメタは、最初の２データバイトで与えられるユニークな２バイト数によって識別され、セットされるべき値は、後続くの６バイトによって与えられる。インテリジェント・ドライバは、適当な場所でパラメタの有効性をチェックし、ａ）パラメタＩＤ値がコントローラに適当でない場合、又はｂ）パラメタ値が範囲外である場合に、ＡＬＡＲＭメッセージで応答することができる。
２．ゾーン・コントローラメッセージ
２．１ＥＸＥＣＵＴＥ（実行）
ＥＸＥＣＵＴＥメッセージは、ゾーン・コントローラに、２つまでの実行可能なモータ特性を、伝える。全ての保留の特性は、ゾーン・コントローラの待ち行列から流される。この命令は、複数のゾーン・コントローラに同期して、それらが、同じ速度で同じ特性を実行するように使用される。
【０３４９】
ＥＸＥＣＵＴＥ命令は、ＥＸＥＣＵＴＥメッセージヘッダの宛先アドレス部分内のＳＥＴ＿ＲＯＦＩＬＥ命令で前に送られた実行ＩＤを組み込むことによって、一組のコントローラにアドレス指定される。
２．２  ＥＭＥＲＧＥＮＣＹ＿ＤＥＣＥＬ
ＥＭＥＲＧＥＮＣＹ＿ＤＥＣＥＬメッセージは、スムースな停止のために、現在の速度から可能な限り急速に、モータを減速する。これはモータを通常の速度の３倍で減速することによって達成される。
２．３  ＦＬＵＳＨ＿ＱＵＥＵＥ
ＦＬＵＳＨ＿ＱＵＥＵＥ命令は、ゾーン・コントローラ命令待ち行列からの全ての存在するＳＥＴ＿ＰＲＯＦＩＬＥ命令（ＥＸＥＣＵＴＥ命令を待っているものを含む）を削除するために使用される。どのような特性が現在実行されていて、それの実行が継続するにしても、実行されなかった特性のみが削除される。ＣＬＣは、この命令をモータを停止するために使用することができない。実行されることを待っている特性が存在しない場合、この命令は効果を有さない。
２．４  ＭＯＴＯＲ＿ＩＳ＿ＯＦＦ
ＭＯＴＯＲ＿ＩＳ＿ＯＦＦメッセージは、モータが停止されるか、又はモータがターンオフ（フリーホイール、ホールディング電流が存在しない）の場合は常に、ＣＬＣに送られる。このメッセージは、ＭＯＴＯＲ＿ＯＦＦ命令の実行を通常示す。このメッセージは、以下の状態の基で送られる。
【０３５０】
ＭＯＴＯＲ＿ＯＦＦ命令に応答して、
モータが０に減速された。
【０３５１】
モータが、モータストップ特性のために、停止された。
２．５  ＭＯＴＯＲ＿ＯＦＦ
ＭＯＴＯＲ＿ＯＦＦ命令は、どの様な現在実行されている特性も停止し、待ち行列中の特性を流し出し、そして、モータをフリーホイールにする（即ち、モータに電流が行かなくなる。）。この命令は、それが受信されると直ぐに実行する。現存する特性の完了の後に、命令が実行されるべき場合は、ＭＯＴＯＲＳＴＯＰ特性を特定するＳＥＴ＿ＰＲＯＦＩＬＥ命令が、代わりに送られるべきである。
【０３５２】
ＭＯＴＯＲ＿ＩＳ＿ＯＦＦメッセージは、この命令が実行された後に、送られる。
２．６  ＭＯＶＥ＿Ｎ
ＭＯＶＥ＿Ｎメッセージは、ゾーン・コントローラボートに、モータが１０ミリメータのオーダの特定の数移動するように、命令する。このメッセージは、ポッドを正確に位置決め、通常は、２つのゾーンを横切って位置されるロード・ポートの前にポッドを置くのに使用される。
２．７  ＭＯＶＥ＿Ｎ＿ＤＯＮＥ
ＭＯＶＥ＿Ｎ＿ＤＯＮＥメッセージは、ＭＯＶＥ＿Ｎオペレーションを完了した時にゾーン・コントローラによって送られる。
２．８  ＰＯＳＩＴＩＯＮ＿ＲＥＱＵＥＳＴ
ＰＯＳＩＴＩＯＮ＿ＲＥＱＵＥＳＴ命令は、ゾーンセンサーの何れかの最後の遷移に関連するゾーン内のポッドの現在の位置を得るために使用される。コントローラは、ＰＯＳＩＴＩＯＮ＿ＲＥＳＰＯＮＳＥメッセージで応答する。
２．９  ＰＯＳＩＴＩＯＮ＿ＲＥＳＰＯＮＳＥ
ＰＯＳＩＴＩＯＮ＿ＲＥＳＰＯＮＳＥメッセージは、前のＰＯＳＩＴＩＯＮ＿ＲＥＱＵＥＳＴ命令の結果として送られる。応答内のデータフィールドは、いずれのセンサー（即ち、左又は右センサーのいずれか）が最も最近変化したかの最後の遷移に関してポッドの現在位置を与える。位置は、１０ミリメータのオーダの整数値で与えられる。ポッドがゾーンの左に移動している場合は、その値は、負である。
２．１０  ＲＯＴＡＴＩＯＮ＿ＵＰＤＡＴＥ
ＲＯＴＡＴＩＯＮ＿ＵＰＤＡＴＥメッセージは、ゾーン・コントローラホイールが、前のＳＥＴ＿ＰＡＲＡＭＥＴＥＲメッセージで特定された量回転される時は常に、送られる。ゾーン・コントローラは、５センチメートル毎にデフォルト値を有する。モータが停止した場合、メッセージも停止する。
【０３５３】
ホイールが回転を停止した場合、或いは、速度に基づいて予期された速度で回転することに失敗した場合、ゾーン・コントローラは、ＡＬＡＲＭメッセージを送ることに注意。
２．１１  ＳＥＴ＿ＣＯＮＳＴＡＮＴ＿ＳＰＥＥＤ
ＳＥＴ＿ＣＯＮＳＴＡＮＴ＿ＳＰＥＥＤ命令は、モータが毎秒ミリメータの単位で与えられる特定の速度で稼働する様に、ゾーン・コントローラに告げる。例えは、５６．７ｃｐｓの速度に対して、値は５６７である。この命令の実行は、ＳＥＴ＿ＰＲＯＦＩＬＥ命令と同じ仕方で、トリガーすることができる。即ち、「実行トリガー」フィールドは、ＳＥＴ＿ＰＲＯＦＩＬＥ記述で与えられたのと同じ値を有することができる。
２．１２  ＳＥＴ＿ＰＲＯＦＩＬＥ＿ＰＲＯＧＲＡＭ
ＳＥＴ＿ＰＲＯＦＩＬＥ＿ＰＲＯＧＲＡＭメッセージは、ＣＡＮメッセージによって指定された特定の値に、現在特性期間、ａ０、及びａ１パラメタをリセットする。
２．１３  ＧＥＴ＿ＰＲＯＦＩＬＥ＿ＰＡＲＡＭ
ＧＥＴ＿ＰＲＯＦＩＬＥ＿ＰＡＲＡＭメッセージは、ゾーン・コントローラからその重要なパメラメータ値を要求する。
２．１４  ＰＲＯＦＩＬＥ＿ＰＡＲＡＭ＿ＲＥＳＰ
ＰＲＯＦＩＬＥ＿ＰＡＲＡＭ＿ＲＥＳＰは、ＧＥＴ＿ＰＲＯＦＩＬＥ＿ＰＡＲＡＭに続いて送られる。このメッセージは、要求された特性に対する重要な値を含む。
２．１５  ＳＥＴ＿ＰＲＯＦＩＬＥ
ＳＥＴ＿ＰＲＯＦＩＬＥメッセージは、どのモータ特性が実行され、且つオプション的に何時この特定が実行されるかをゾーン・コントローラに告げる。
２．１６  ＺＯＮＥ＿ＳＴＡＴＵＳ
ＺＯＮＥ＿ＳＴＡＴＵＳメッセージが、ＣＯＮＴＲＯＬＬＥＲ＿ＳＴＡＴＵＳ＿ＲＥＱＵＥＳＴ命令に応答して、ゾーン・コントローラによって送られる。
【０３５４】
３．１  ハンドシェークコントローラ
３．１．１  ＢＵＳＹ＿ＳＥＴ
これは、Ｅ２３ビジーラインがセットされたことを示すＣＬＣに対する応答メッセージである。
３．１．２  ＣＯＭＰＬＥＴＥ＿ＨＡＮＤＳＡＫＥ
ＣＬＣからのこの命令は、現在進行中のハンドシェークを完了（即ち、終了）することをコントローラに命令する。
３．１．３  ＨＡＮＤＳＨＡＫＥ＿ＣＯＭＰＬＥＴＥ
このメッセージは、進行中のハンドシェークが成功裏に完了した場合に、コントローラによって送られる。
３．１．４  ＩＮＩＴＩＡＴＥ＿ＨＡＮＤＳＨＡＫＥ
この命令は、ロード・ポート又は他の接続された装置とハンドシェークを達成することをコントローラに命令するために、ＣＬＣに送られる。
３．１．５  ＬＰ＿ＩＮＩＴ＿ＬＯＡＤ＿ＲＥＱ
このメッセージは、ロード・ポート又は他の接続された装置が、新たな物品がロードされることを要求し始めたことを検出する時は常に、コントローラによってＣＬＣに送られる。
３．１．６  ＬＰ＿ＵＮＬＯＡＤ＿ＲＥＱ
このメッセージは、ロード・ポート又は他の接続された装置が、現在の物品がアンロードされて、コンベアに乗せられることを要求し始めたことを検出する時は常に、コントローラによってＣＬＣに送られる。
３．１．７  ＳＥＴ＿ＢＵＳＹ
この命令は、コントローラに、転送が進行中であることを示すために、ビジーラインを接続された装置にセットすることを命令するために、ＣＬＣからコントローラに送られる。
３．２  軸コントローラメッセージ／イベント
３．２．１  ＡＸＩＳ＿ＳＴＡＴＵＳ
軸コントローラからステータス情報を要求する。
３．２．１．１  ＤＥＦＩＮＥ＿ＬＯＣＡＴＩＯＮ
このメッセージは、軸の現在位置を特定の位置に定めるために軸コントローラに送られる。次のＧＯＴＯ命令はこの位置を移動するために発行することができる。
３．２．２  ＦＩＮＤ＿ＨＯＭＥ
ＦＩＮＤ＿ＨＯＭＥ命令が、ローテータにそのホームポジションセンサーを検索させるために送られる。
３．２．３  ＦＩＮＤ＿ＰＯＳＩＴＩＯＮ
ＦＩＮＤ＿ＰＯＳＩＴＩＯＮ命令は、現在の軸の位置が未知の場合、ＣＬＣによって送られる。これは、軸がセンサー間にあるというような、回転中の電力故障の結果として起こる。ＣＬＣは、位置を見出す試みで最初に使用されるべきモータを特定する必要がある。移動の全距離を特定することができる。ＦＩＮＤ＿ＰＯＳＩＴＩＯＮ命令は、前に定められた位置の数を検索する。軸は、命令実行前のホーム位置にあるべきである。
３．２．４  ＧＯＴＯ
ＧＯＴＯ命令は回転コントローラを、現在の既知の位置から、特定のセンサー位置に移動する。回転コントローラは、移動するため、最大速度に上昇するため、巡行するため、クリープ速度に低下するため、及びセンサーを探し求めるために（好ましくは、センサー上に直接停止し、その場合は、探し求めは必要とされない）必要なマイクロステップの数を計算する。
３．２．５  ＭＯＴＯＲ＿ＯＦＦ
このメッセージは、直接的な命令又は特性の終了の何れかによって、モータがオフ状態となる時はつねに、送られる。
３．２．６  ＭＯＴＯＲ＿ＯＦＦ
このメッセージは、モータを直ちにオフ状態にするために送られる。
３．２．７  ＭＯＶＥ＿Ｎ
この命令は、ディレクタを特定の距離（１／１０ミリメータ増分）移動する。このフォーマットは、ゾーン・コントローラのＭＯＶＥ＿Ｎと同じである（データは異なる意味を有している）。
３．２．８  ＭＯＶＥ＿Ｎ＿ＤＯＮＥ
ＭＯＶＥ＿Ｎの完了の際に送られる。フォーマットは、ゾーン・コントローラのものと同じである。
３．２．９  ＰＯＳＩＴＩＯＮ＿ＲＥＱＵＥＳＴ
このメッセージは、位置センサーとして定義されるセンサーが読み出され且つ報告されることを要求する。
３．２．１０  ＰＯＳＩＴＩＯＮ＿ＲＥＳＰＯＮＳＥ
このメッセージは、ＰＯＳＩＴＩＯＮ＿ＲＥＱＵＥＳＴに応答して送られる。位置センサーのステートは、ビットマップフィールドに報告される（複数のセンサーが閉鎖していることを読み出すという故障の場合を許容する）。
【図面の簡単な説明】
【図１】  半導体製造動作に使用され、処理ステーション間にウェーハのポッドを運搬する転送システムのための従来技術のＡＣＳのブロック図である。
【図２Ａ】  輸送システムの概要図であって、処理ツールとロード領域との間の関係を示す図である。
【図２Ｂ】  輸送システムの概要図であって、２つのロード点を有する処理ツールと関連ロード領域との間の関係を示す図である。
【図２Ｃ】  単一のゾーンと整列していないロード／アンロード点を有する輸送システムの領域の概要図であって、コンベヤゾーン内のセンサーに関連付けてロード領域の可能部分を示す図である。
【図３】  Ａ−Ｅは、それぞれ、レールゾーン、隅、ディレクタ付近のゾーン、エレベータ、及びディレクタの近隣を示す図である。
【図４】  普通の半導体製造制御システムに関し、本発明のＡＣＳのＡＣＳ要素の階層及び位置を示す好ましい実施の形態のブロック図である。
【図５】  半導体ウェーハ転送システムのために、本発明に従って実現されたＡＣＳの要素間の相互接続を示すブロック図である。
【図５Ｂ】  図５の電気機械デバイス、ＣＡＮバス、及び制御ロジックコンピュータのさらなる詳細を示すブロック図である。
【図６】  本発明に従って実現されたＡＣＳの要素を組み入れた半導体製造装置の概要図である。
【図７】  本発明に従って実現されたＡＣＳの要素を組み入れ、接続された区画を有する半導体製造装置の概要図である。
【図８】  本発明に従って実現されたＡＣＳの要素を組み入れ、分離した区画を有する半導体製造装置の概要図である。
【図９Ａ】  本発明の実施の形態の輸送コントローラ機能が実現されているコンピュータのブロック図である。
【図９Ｂ】  本発明の実施の形態の制御ロジックコンピュータ機能が実現されているコンピュータのブロック図である。
【図９Ｃ】  本発明の実施の形態のゾーン・コントローラ機能が実現されているコンピュータのブロック図である。
【図９Ｄ】  本発明の実施の形態の軸コントローラ機能が実現されているコンピュータのブロック図である。
【図９Ｅ】  本発明の実施の形態のＩＤコントローラ機能が実現されているコンピュータのブロック図である。
【図９Ｆ】  本発明の実施の形態の緊急時オフ（ＥＭＯ）コントローラ機能が実現されているコンピュータのブロック図である。
【図９Ｇ】  本発明の実施の形態のハンドシェークコントローラ機能が実現されているコンピュータのブロック図である。
【図１０】  図９Ａの輸送コントローラによって維持される内部トポロジーを構成しているオブジェクトのブロック図である。
【図１１】  本発明により実現されているＡＣＳの実施の形態を用いて制御可能な単方向性ループ及び双方向性レールを組み入れたウェーハ転送システムの概要図である。
【図１２Ａ】  図１１のウェーハ転送システムに対応する図９Ａの転送コントローラによって維持される内部トポロジーのブロック図である。
【図１２】  図１２Ａ内に使用されている接続の重要性を示す図である。
【図１３】  ゾーンスレッド５１２に関連する方法及びデータ構造のブロック図である。
【図１４】  運動動作を開始させ、協調させるＴＣ及びＣＬＣのソフトウェア成分の論理図である。
【図１５】  運動動作及び他の輸送システム動作を構成するサブ命令の遂行を発行するＣＬＣ及びインテリジェント・ドライバのソフトウェア成分の論理図である。
【図１６】  本発明の自動化された制御システムの主要ソフトウェア成分間の通信経路の図である。
【図１７】  高レベル観点から示す転送最小動作のイベント図である。
【図１８】  異なる制御システム成分の観点から示す取得最小動作のイベント図である。
【図１９】  異なる制御システム成分の観点から示す取得最小動作のイベント図であって、特定の転送デバイス実施の形態のためのものであり、そして他の電気機械システムのためのものとは異なっている。
【図２０】  ある制御システム成分の観点から示す運動最小動作のイベント図である。
【図２１】  Ａ−Ｃは、図２０とは異なる制御システム成分の観点から示す運動最小動作のイベント図である。
【図２２】  Ａ−Ｂは、図２０及び２１とは異なる制御システム成分の観点から示す運動最小動作のイベント図である。
【図２３】  Ａ−Ｂは、異なる制御システム成分の観点から示す保管最小動作のイベント図である。
【図２４】  Ａ−Ｂは、図２３とは異なる制御システム成分の観点から示す保管最小動作のイベント図である。
【図２５】  ロード領域ではないトラックゾーン（このトラックゾーンは一時停止点であり得る）に物品が到着した時に発行されるメッセージのためのＵＭＬシーケンス図である。
【図２６】  ゾーンＺ２の付近における300ｍｍウェーハのポッドの左方へのレール運動のためのセンサー信号移行のタイミングを示すタイミング図である（200ｍｍウェーハポッドの移行は異なるであろう）。
【図２７】  単一のポッドＸがゾーンＺ１からゾーンＺＡへ左方へ運動するような状況において、ゾーンとポッド速度特性との間で送られるメッセージを示すタイミング図である。
【図２８】  同一近隣を占有している２つのポッドＸ及びＹがそれぞれゾーンＺＥ及びＺＪからゾーンZZ及びＺＤへ左方へ運動するような状況において、ゾーン間で送られるメッセージを示すタイミング図である。
【図２９】  同一近隣を占有している２つの近接しているポッドＸ及びＹがそれぞれゾーンＺＩ及びＺＪからゾーンZＺ及びＺＦへ左方へ運動するような状況において、ゾーン間で送られるメッセージを示すタイミング図である。
【図３０】  ゾーンスレッド内に実現されているゾーンダイナミックモデル／ステートマシンを示す状態図である。
【図３１】  ディレクタＱ、共にディレクタを通してそれぞれ方向Ｒ１及びＲ２へ運動させる必要がある２つの交差レール及び２つの物品ユニットを含む輸送システムの領域の概要図である。
【図３２】  Ａ−Ｂは、図３１に示す状況において、ゾーンとディレクタとの間で送られるメッセージを示すタイミング図である。
【図３３】  Ａ−Ｂは可能なディレクタクラスタ構成を示す図であり、Ｃ−ＤはＡ−Ｂのディレクタクラスタ構成内に出現し得る潜在的なデッドロック状況を示す図である。
【図３４】  輸送システムのある領域の概要図であって、ディレクタ制御スレッド内に実現されているルート発見原理を示す図である。
【図３５】  輸送システムのある領域の概要図であって、上流ゾーン接続性を斟酌するルート発見原理を示す図である。
【図３６】  新しいディレクタ及び関連トラックを追加した図３４の物理的レイアウトを示す図である。
【図３７】  輸送システムのある領域の概要図であって、故障した輸送システムノードを斟酌するルート発見原理を示す図である。
【図３８】  輸送システムのある領域の概要図であって、故障したディレクタを斟酌するルート発見原理を示す図である。
【図１】
0003989683.tif 000027
【図２Ａ】
0003989683.tif 000028
【図２Ｂ】
0003989683.tif 000029
【図２Ｃ】
0003989683.tif 000030
【図３Ａ】
0003989683.tif 000031
【図３Ｂ】
0003989683.tif 000032
【図３Ｃ】
0003989683.tif 000033
【図３Ｄ】
0003989683.tif 000034
【図３Ｅ】
0003989683.tif 000035
【図４】
0003989683.tif 000036
【図５Ａ】
0003989683.tif 000037
【図５Ｂ】
0003989683.tif 000038
【図６】
0003989683.tif 000039
【図７】
0003989683.tif 000040
【図８】
0003989683.tif 000041
【図９Ａ】
0003989683.tif 000042
【図９Ｂ】
0003989683.tif 000043
【図９Ｃ】
0003989683.tif 000044
【図９Ｄ】
0003989683.tif 000045
【図９Ｅ】
0003989683.tif 000046
【図９Ｆ】
0003989683.tif 000047
【図９Ｇ】
0003989683.tif 000048
【図１０】
0003989683.tif 000049
【図１１】
0003989683.tif 000050
【図１２Ａ】
0003989683.tif 000051
【図１２Ｂ】
0003989683.tif 000052
【図１３】
0003989683.tif 000053
【図１４】
0003989683.tif 000054
【図１５】
0003989683.tif 000055
【図１６】
0003989683.tif 000056
【図１７】
0003989683.tif 000057
【図１８】
0003989683.tif 000058
【図１９】
0003989683.tif 000059
【図２０】
0003989683.tif 000060
【図２１Ａ】
0003989683.tif 000061
【図２１Ｂ】
0003989683.tif 000062
【図２１Ｃ】
0003989683.tif 000063
【図２２Ａ】
0003989683.tif 000064
【図２２Ｂ】
0003989683.tif 000065
【図２３Ａ】
0003989683.tif 000066
【図２３Ｂ】
0003989683.tif 000067
【図２４Ａ】
0003989683.tif 000068
【図２４Ｂ】
0003989683.tif 000069
【図２５】
0003989683.tif 000070
【図２６】
0003989683.tif 000071
【図２７】
0003989683.tif 000072
【図２８】
0003989683.tif 000073
【図２９】
0003989683.tif 000074
【図３０】
0003989683.tif 000075
【図３１】
0003989683.tif 000076
【図３２Ａ】
0003989683.tif 000077
【図３２Ｂ】
0003989683.tif 000078
【図３３】
0003989683.tif 000079
【図３４】
0003989683.tif 000080
【図３５】
0003989683.tif 000081
【図３６】
0003989683.tif 000082
【図３７】
0003989683.tif 000083
【図３８】
0003989683.tif 000084