JP4693142B2 - 階層的状態機械を使ってシステムを制御するための方法及び装置 - Google Patents

階層的状態機械を使ってシステムを制御するための方法及び装置 Download PDF

Info

Publication number
JP4693142B2
JP4693142B2 JP2000590015A JP2000590015A JP4693142B2 JP 4693142 B2 JP4693142 B2 JP 4693142B2 JP 2000590015 A JP2000590015 A JP 2000590015A JP 2000590015 A JP2000590015 A JP 2000590015A JP 4693142 B2 JP4693142 B2 JP 4693142B2
Authority
JP
Japan
Prior art keywords
state
state machine
subsystem
execution
list
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2000590015A
Other languages
English (en)
Other versions
JP2002533795A5 (ja
JP2002533795A (ja
Inventor
ビビアーニ、ガリー、エル
パリシ、ニック、エー
キャラハン、ウイリアム、ジー
Original Assignee
バリアン・セミコンダクター・エクイップメント・アソシエイツ・インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by バリアン・セミコンダクター・エクイップメント・アソシエイツ・インコーポレイテッド filed Critical バリアン・セミコンダクター・エクイップメント・アソシエイツ・インコーポレイテッド
Publication of JP2002533795A publication Critical patent/JP2002533795A/ja
Publication of JP2002533795A5 publication Critical patent/JP2002533795A5/ja
Application granted granted Critical
Publication of JP4693142B2 publication Critical patent/JP4693142B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/045Programme control other than numerical control, i.e. in sequence controllers or logic controllers using logic state machines, consisting only of a memory or a programmable logic device containing the logic for the controlled machine and in which the state of its outputs is dependent on the state of its inputs or part of its own output states, e.g. binary decision controllers, finite state controllers
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B11/00Automatic controllers
    • G05B11/01Automatic controllers electric
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B15/00Systems controlled by a computer
    • G05B15/02Systems controlled by a computer electric

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • General Engineering & Computer Science (AREA)
  • Stored Programmes (AREA)
  • Programmable Controllers (AREA)
  • Control By Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

【0001】
発明の分野
本発明は概して制御システムに関し、特に状態機械を使って複雑なシステムを制御するための装置及び方法に関する。
【0002】
発明の背景
典型的に多くの製造システムは、所望の生産量を与えるように制御された方法で多くの独立の動作を実行する。そのような製造システムの一例がイオン注入システムである。イオン注入システムは、ウエハが所望の導電率特性に一致するのを保証するために半導体ウエハ内へイオン化された原子若しくは分子を注入するために使用される。イオン注入装置は、イオンビームジェネレータ及び真空ポンプのような多くの機械的コンポーネントを含み、それぞれは個々に制御される。機械的コンポーネント間の相互作用はものになる生産物がシステムから出力されることを保証するために注意深く制御されなければならない。
【0003】
処理システムの機械的コンポーネント間の相互作用は制御システムによって管理される。歴史的に、1940年代及び1950年代には、制御システムは完全に電気機械的であり、それらはソフトウエアを含まなかった。この後、低コストコンピュータの出現に伴って、ソフトウエアは"エンドレス"な柔軟性を与えるために利用された。ソフトウエア制御システムにおいて、処理システムの各機械的コンポーネントはソフトウエアプログラムを通じて制御される。各ソフトウエアプログラムは情報の伝達をサポートするべくインターフェースを含む。機械的コンポーネントが相互作用するにしたがい、相互作用の効果はインターフェースを通じてソフトウエアプログラム間で渡される。メインソフトウエアプログラムが、システム内で異なる機械的コンポーネント間の相互作用を同期させるべく異なるソフトウエアプログラムによって実行される動作を順に並べるために与えられても良い。
【0004】
典型的な制御システムは、コントロール・システム・アーキテクチャー(CSA)、コントロール・システム・オブザーバビリティ・コンポーネント(CSO)及びコントロール・システム・コントローラビリティ(CSC)コンポーネントによって定義される。CSAは処理システムのサブシステムを制御されるべき物理的システムと論理的に一致する構造にまとめる。CSOコンポーネントは物理的システムの状態を決定するために知覚信号をモニターする。CSOコンポーネントは、コンポーネントの動作を制御するために各コンポーネントと関連するところのアクチェータへの信号の状態をモニターしかつ修正する。信号は連続測定若しくは真/偽測定を表す。CSCコンポーネントはモニターされた信号内に検出された変更に基づいてどの制御アクションをとるべきかを決定する。
【0005】
典型的な制御システムに対して、ハードウエア及びCSAから成るソフトウエアの組合せは、物理的システムの動作に関連する新しい条件及び要求に適応するよう単純に構成を変更されない。制御システムが典型的に単純に構成変更できないひとつの理由は制御システムのハードウエア及びソフトウエア要素の統合された性質のためである。新しいエレメントをサポートするために現存の制御システムへ新しい制御命令を加えることは、システム内のコンポーネントの現存する相互作用のタイミングに影響を及ぼし、それによって通常の動作を実行するための制御システムの能力を脅かす。したがって、ひとたびシステムが設計されると、全システムを改訂することなく新しいエレメントを組み入れることは困難である。例えば、それぞれのソフトウエアプログラムによって動作のシーケンスを適正に並べるために、メインソフトウエアプログラムはソフトウエアプログラム間のすべの相関を収容するよう設計されている。結果として、メインソフトウエアプログラムは非常に多くの例外条件を管理することができなければならない。例えば、例外条件の一つは、もしソフトウエアプログラムBが状態Yにあるか若しくはソフトウエアプログラムCが状態Zにあるなら、ソフトウエアプログラムAは状態Xに転移することができるというようなものである。したがって、メインソフトウエアプログラムの設計はしばしば複雑であり、メインソフトウエアプログラム及びしたがってシステム全体の性能を低下させ、メインソフトウエアプログラムに対して多くの修正なくして要素を付加若しくは削除することを困難にしている。
【0006】
したがって、たとえシステムが改訂なしで新しい要素を組み込むようどうにかして適応され得たとしても、システム内のコンポーネント間の制御及びタイミング依存性のために、新しい要素を有する制御システムの動作の正確さに関して重大な疑念が存在する。結果として、新しい製品に現存の動作を適応するか若しくは現存の能力を再使用しようとするのは困難である。したがって、ソフトウエア制御システムはエンドレスな柔軟性を真に与えることはなく、与えられる柔軟性はしばしば信頼性を擬制にしている。
【0007】
さらに、多くの個々のソフトウエアプログラムを含む制御システム内のエラーの適切な扱いは困難である。決定されたエラー取扱い方法はシステム全体に対して最適な方法ではないため、もし個々のソフトウエアプログラムがエラーを取り扱うための適当な方法を決定することが許されたら、エラー取扱い処理は統一性がなくなる。エラー取扱いへの集中アプローチはメインプログラム内でエラー取扱いを実行することによって与えられる。しかし、メインプログラムへ詳細なシステム知識を付加することは逆に複雑さを増加し、したがって、システム全体のすべての柔軟性を減少させる。
【0008】
現在、オブジェクト指向方法論が制御システム挙動を解析し及び設計するために存在する。しかし、典型的にそれらは現存のソフトウエア及びハードウエア制御システムのトップの開発環境のみ与え、複雑さを抑制しない。
【0009】
したがって、従来のシステムより実行が比較的複雑でない複雑な処理システムを制御する択一的方法を与えることが所望される。該システムは新しいコンポーネントの付加若しくは除去を容易にすることができ、インテリジェントエラー取扱い処理に対してサポートを許す。
【0010】
発明の要旨
階層的に並べられたサブシステムから成るコントロール・システム・アーキテクチャー(CSA)が複雑な処理を制御する柔軟で信頼できる手段を与えるのに採用される。各サブシステムは、サブシステムをモニターし制御する一つ若しくはそれ以上の状態機械及び一つ若しくはそれ以上のデジタル信号処理及び条件付け装置(DSPCU)によって表される。DSPCUは制御システム信号を状態機械によってさらに処理するための状態へ変換し、及び/または、状態機械から制御システムアクチュエータへ送るためコマンド入力を変換する。各サブシステムのDSPCUに関連付けられるのは、データフロー図であって、データフロー図は、DSPCU間のデータフロー及びDSPCUの実行順を命令する。コントロール・システム・オブザーバビリティ(CSO)及びコントロール・システム・コントローラビリティ(CSC)は階層での子状態機械のセットの間の相互接続を通じて可能となる。子の状態は、階層のレベルが一つ上位の前記親状態機械可視である。データフローは、一つのサブシステムまたは一つのレベルの上下において明示的なパス(path)によって行う。
【0011】
ひとつの実施例において、制御システムの動作の各サイクルは、第1データフロー実行位相、上行状態機械実行位相、下行状態機械実行位相及び第2データフロー実行位相の4つの位相から成る並べられたプロトコルに従って動かされる。これらの位相の各々で実行されるサブシステム内の各コンポーネントの順序はスケジュールリスト内で維持される。実行位相の各々の動作及び状態機械及びデータフロー図の実行を予定するための方法及び装置が以下に詳細に説明される。
【0012】
ひとつの実施例において、データ収集がシステムにより受信された入力信号の実行、システムによって与えられた出力信号の実行及びシステムに関連するユーザーインターフェースからのコマンドの受け容れを含むところの、データ収集は上記プロトコルの実行中に固定ポイントで起こるよう同期化される。プロトコルの実行中に固定ポイントでデータを収集することは、階層を覆い及び状態の一貫性を保証する方法で入力信号及び出力信号が制御されることを可能にする。
【0013】
上記したように、プロトコルの4つの位相はひとつの動作サイクル内で起こる。ひとつの実施例において、実行のすべての位相は所定の実行期間内で実行される。したがって、与えられた階層及びプロトコルに対して、すべてのサブシステムに関連するすべてのタスクの実行を完了する時間は知られる。サブシステム内のコンポーネント若しくは測定された実行時間が変更されると、プロトコルの各位相の全実行時間、スケジュールリスト及び/またはデータ収集時間は自動的に改訂される。
【0014】
上記方法で状態機械を階層的に結合することは、すべてのデータフローコンポーネント結合が明瞭に定義されるため、継ぎ目なしの組み込み若しくは制御システムからのコンポーネントの除去を容易にする。システムにコンポーネントを付加するために、該コンポーネントとシステム内の他のコンポーネントを表すデータフロー図と状態機械との間に適当な接続が為される。実行位相の間、新しく付加されたコンポーネントは階層内の所望のレベルに付加されたため、コンポーネントの適当な実行及びコンポーネントに関連する信号のタイミングは保証される。システムからコンポーネントを除去することは階層からコンポーネントに関連するサブシステムを単に除去することによって実行される。したがって、制御システムを修正するためにソフトウエアの大きな改訂は必要ない。結果として、本発明の制御システムは最小量の複雑さをもって柔軟性及び信頼性の両方を与える。要求される改訂は階層内の単一の親に局所化される。
【0015】
状態機械の階層的結合により、例外取扱いは、階層内でより低い状態機械で起きる例外を適当に取り扱うために階層内でより高い状態機械内にプログラムされることができる。監視レベルにおけるサブシステムが各例外の取扱いに関するインテリジェントな決定をするための適当な情報を有するところで、階層内で適当な監視レベルが選択される。結果として、階層内のサブシステムはエラー状態をどのように扱うかに関しては独自の判定をするのに要求されず、付加的にエラー状態は効果的に取り扱われるべき階層のトップへ伝播してはならない。
【0016】
発明のひとつの特徴にしたがって、相互接続された制御システムソフトウエアコンポーネントを有する装置の複雑なシステムを制御するためのシステムが与えられる。相互接続された制御システムソフトウエアコンポーネントは、階層内で結合されたひとつ若しくはそれ以上のサブシステムを含み、該階層のすぐ上のレベルで制御システムソフトウエアコンポーネント内に含まれる階層内で与えられたレベルでより低いレベル制御システムソフトウエアコンポーネントを有する。システムは複数の階層的に結合された状態機械を含み、階層的に結合された各々のサブシステムと関連する少なくともひとつの状態機械及び階層によって定義された順序で階層的に結合された各々のサブシステムに対する状態機械の状態を評価するための手段を有する。そのような整理されたデータ構造を有する制御システムを与えることによって、サブシステムは制御システムに対し大きな修正を要求することなく付加または装置から除去されることができる。
【0017】
発明の他の特徴にしたがって、複数の相互接続されたサブシステムを有するシステムを解析するための方法が与えられる。相互接続されたサブシステムは階層内で結合され、階層内の付与のレベルでのサブシステムは階層のすぐ上のレベルにおいてサブシステム内に含まれ、相互接続されたサブシステムの各々は複数の階層的に結合された状態機械の対応するひとつと関連付けられる。方法は各サブシステムに対して関連する状態機械の状態を評価する工程を含み、関連する状態機械の評価の順序はひとつ若しくはそれ以上の相互接続されたサブシステムの階層によって定義された順序に応答して決定される。
【0018】
発明の他の特徴に従って、装置を制御するための制御システムは装置に結合されたプロセッサを含む。プロセッサは装置に関連した信号を保存するためのメモリを含み、該信号は装置から受信され装置の動作中に装置に送られる。プロセッサはさらに、装置の作動機能を表す複数の階層的に相互接続されたサブシステム、階層的データ構造に信号を送るための手段、及び該信号に応答して制御された方法によって階層的データ構造内で状態を更新するための手段を含む。
【0019】
発明の他の特徴にしたがって、イオン注入装置はシステムによる材料のイオン注入を制御するための制御システムを含む。制御装置は装置に関連する信号を保存するためのメモリを含み、そこでは信号は装置の動作中に装置から受信され及び装置に送られ、装置の作動機能を表す複数の階層的に相互接続したサブシステムから成る階層的データ、階層的データ構造に信号を送るための手段、信号に応答して制御された方法によって階層的データ内で状態を更新するための手段を含む。
【0020】
イオン注入システムは発明の例として使用されるが、発明はあらゆる特定のタイプのシステムの制御に制限されない。
【0021】
詳細な説明
本発明のさまざまな実施例は添付する図面を参照して説明され、そこでは異なる図面においても同じエレメントは同じ番号で参照される。
【0022】
発明のひとつの特徴にしたがって、装置の作動機能を表す階層的に結合されたサブシステムのコントロール・システム・アーキテクチャー(CSA)が与えられる。CSAによって表された装置を制御する方法は実行プロトコルに従ってサブシステムの実行をスケジュールに入れる。実行プロトコルは、装置のすべての実行サイクルに対してサブシステムの各々の上方及び下方実行を実行する。そのような処理に関して、複雑なシステムの動作はサブシステムにモジュール化され、サブシステム間の相関は階層にしたがって制御される方法で取り扱われる。
【0023】
本発明の制御システムアーキテクチャーによって制御されるひとつの装置は、イオン注入システムである。イオン注入は半導体ウエハ内に導電率を変化させる不純物を導入するための標準的で商業的に受け容れらた技術となった。所望の不純物材料はイオンソース内でイオン化され、該イオンは半導体ウエハの表面に方向付けられた指定エネルギーのイオンビームを形成するべく加速される。ビーム内の強力なイオンは半導体材料のバルク内に侵入し、所望の導電率の領域を形成するために半導体材料の結晶格子内に埋め込まれる。
【0024】
イオン注入器の性能は単位時間あたりに処理されるウエハによって計られる。ウエハ移送時間、注入時間及びダウンタイムはすべて総合処理時間に寄与し、したがって、高いスループットを達成するためにこれらの時間を最小化することが所望される。イオン注入器の性能はまたイオンのドーズの正確さ及びウエハ表面全体にわたったドーズの均一性によって計られる。多くの半導体素子はイオン注入システムによって製造されるため、素子が制御可能で繰り返し可能な動作特性を有することを保証するためにウエハからウエハへドーズの正確性及び均一性を与えることが極めて重要である。
【0025】
したがって、性能が最大化されながら正確性が維持されることを保証するために、適当な注入が負所望な遅れを受けることなく適当な時間に起こるように、イオン注入システムの要素の動作は注意深く整合される。
【0026】
イオン注入システム100の一例が図1に示される。図1のイオン注入システムは、ここに参考文献として組み込むWhiteらによって1994年9月27日に発行された題名"Compact High Current Broad Beam Implanter"なる米国特許第5,350,926号に説明されている。概してイオン注入システム100は以下のように動作する。
【0027】
図1において、イオン注入システム100はイオンソース2によって生成されるイオンビーム1とともに動作する。3つのスロットグリッド11、12、13の配列はソースからのイオンを制限し、抽出し及び加速するように働く。イオンビーム1はイオンビーム1を分解スリット4の方へ偏向させる分析電磁石3のポールの間に入る。異なる運動量を有する負所望のイオンは磁場によって異なる角度で偏向され、その結果それらは分解スリットの片方の側面上で遮られる。イオンビーム1は分解アパーチャ4を通過後再び発散し、第2電磁石5のポール間を通過して、平行イオン軌道を有する出力ビーム6を与える。注入位置において、ターゲット7はステージ7a上で制御された速度で上下に移動される。均一なイオン注入は出力ビーム6を通じてターゲット7を速度の垂直成分が一定の状態で移動することによって達成される。ターゲットの注入が完了したとき、ステージ7aはコンベアベルト若しくはそのようなものの上にターゲットを置き、処理のために次のターゲットを持ってくる。
【0028】
イオン注入システム100の正確なタイミング、ドーズ量及びエレメントの制御は、制御システム200によって維持される。発明のひとつの実施例にしたがって、イオン注入システム100の制御システム200は一対の中央演算処理装置CPU60及びCPU70で実行するソフトウエアアプリケーションによって実装される。発明の一つの実施例にしたがって、CPU60及び70で実装される制御システムは周期制御システムであって、イオン注入システムの動作は、階層的に配置された多数のサブシステムへモジュール化されるものである。イオン注入システム100の各サブシステムに関連付けられるのはひとつ若しくはそれ以上の状態機械及びデータフロー図であり、各データフロー図は状態機械に関連付けられたデジタル信号処理及び条件付け装置(DSPCU)からのデータのフロー特定する。概して、状態機械はデジタル信号処理及び条件付けオブジェクトから状態情報を受信し、デジタル信号処理及び条件付けオブジェクトへコマンド情報を送信し加えて状態機械は、デジタルアナログ入力及び数値入力を読み取り及び処理し、信号を信号線120に転送する。選択されたコマンドはグラフィカル・ユーザー・インターフェース(GUI)80を通じて制御システム200へ入力される。
【0029】
図2は制御システム200による周期的制御を与えるのに使用されるハードウエア及びソフトウエアコンポーネントのひとつの実施例を示したハイレベルのブロック図である。特定的に、制御システム200はインフォメーション・アプリカント・ネットワーク(IAN)コンピュータ101、ニュー・コントロール・システム・コンピュータ(NCS)102及び入力/出力(I/O)ハードウエア104を含む。有利なことに制御システム200はまたシステム改訂及び制御を容易にするために入力及び出力信号の許容セットに対する制約条件及びサブシステムの各々の状態を識別するテーブル(D5)を含む。テーブルD5は、制御システム200内のあらゆるアクセス可能な位置に置くことが可能であるが、CPU70内に示されている。IAN、NCS及びI/Oは以下で詳細に説明される。
【0030】
IAN101及びI/O104はともに制御システム200用のデータ及びコマンド収集を与える。データ収集を2つの成分、すなわち、ひとつはイオン注入システムと制御システムとの間で信号データを転送し、ひとつはGUIと制御システムとの間でコマンドを転送する2つの成分に分離することによって、各機能は矛盾する状態に対するポテンシャルを減少させるために独立にスケジュールに入れられ得る。
【0031】
I/O104はイオン注入システム100の各動作を適当に整合させるために信号120を受信し及び送信するためのデータ収集手段(D4a)を与えるハードウエアから成る。I/O104はNCS102によってモニターされ若しくは駆動されるべきイオン注入装置100内のさまざまな制御信号と接続される信号ライン120を受け取る。制御データ信号はループマスターハードウエア122によって検索される。ループマスターハードウエアは二重孔メモリ128の一部内にデジタルデータ値として保存される代表デジタル信号を与えるべく受信された制御信号をサンプリングする。
【0032】
プロセッサ130は二重孔メモリ128へ接続される。プロセッサ130によって実行されるひとつの機能はメモリからデジタルデータ値を読み取ることであり、そのデータをニュー・コントロール・システム(NCS)102ソフトウエアだけでなくライン132上でCPU70へ転送することである。NCS102はメモリ内に保存され及びデジタル信号処理及び条件付けオブジェクトによって処理されたデジタルデータ値を使用し状態情報をイオン注入システム内の各サブシステムを制御しかつ監視する各状態機械へ与える。ひとつの実施例において、IAN101は、制御システム200とGUI80との間でのデータ及びコマンドの転送を制御するソフトウエアデータ収集アプリケーション(D4a)である。IAN101は例えばGUI80においてユーザーにイオン注入システムの動作に影響を及ぼすようNCS102へさまざまなコマンド及びデータを入力することによってイオン注入システム100の動作をカスタマイズすることを許容するユーザーインターフェースから成る。ユーザー入力コマンドは受信され及びIAN101によって処理され、イオン注入システムの各実行サイクルの間の所定の時間でNSC102へ伝播される。IAN101とNCS102との間でのコマンドの転送に対する制御はプロセッサ150及び130によって与えられる。
【0033】
NCS102はイオン注入システムの作動機能を表すサブシステムの階層的制御構造(D1)を含むソフトウェアアプリケーションである。各サブシステムはひとつ若しくはそれ以上のタスクを実行し、下位の階層にあるサブシステムの状態は、一つ上位の階層のサブシステムがモニターし制御することに利用可能である。NCS102はまた階層内でサブシステムの実行の順序を決定するためのプロトコル制御(D2)を含む。さらにNCS102はプロトコルによって、及び関連するサブシステムの各々により実行されるタスクのタイミングによって定期的に、階層内のサブシステムのタスクを実行するためのスケジューラ(D3)を含む。
【0034】
構造D1〜D5は、ハードウエア、ソフトウエア若しくはそれらの組合せで実行される機能単位である。異なる機能単位D1〜D5がCPU60及び70のひとつによって実行されるように図2に示されているが、本発明はあらゆる特定の数のCPU若しくはCPU内の機能のあらゆる特定の分布に制限されない。しかし、制御システムの機能性を異なるCPUに分離することの利点は、それによって2つの異なるオペレーティングシステム若しくは各CPUに対して最適化された構成を有するひとつのオペレーティングシステムがNCS及びIANソフトウエアプログラムとともに使用され得るということである。このアプローチはデータをモニターし集めるための最適なオペレーティングシステム(若しくは、オペレーティングシステム構成)はIANに対して利用され、一方NCSは制御目的用の最適なオペレーティングシステム(若しくはオペレーティングシステム構成)に頼ることを保証する。
【0035】
階層を確立するために、イオン注入装置内の各サブシステムはサブ−サブシステムに分解される。同様に、サブ−サブシステムはサブ−サブ−サブシステムに分解され、それは与えられたサブ−サブシステムの成分を識別する。サブシステムをそれらの成分のサブ−サブシステムに分解することはある基本のサブシステムが識別されるまで続く。NCS102の階層サブシステム構造の作成及び評価は以下により詳細に与えられる。
【0036】
多くのサブ−サブシステムに分割された各サブシステムはサブ−サブシステムに関して親と呼ばれ、一方サブ−サブシステムは親サブシステムに関して子と呼ばれる。サブシステム、サブ−サブシステム等の各々の作動機能は、サブシステム、サブ−サブシステム等に関連付けられる状態機械及びDSPCUのデータフロー図の組合せによって定義される。
【0037】
NCS102は自動若しくは手動モードのいずれかで動作する。さらに、システム階層内で各サブシステムは自動若しくは手動モードのいずれかで動作する。自動モードにおいて、GUI80からのコマンドはサブシステムの階層内の最も上位レベルのサブシステムにのみ送られる。GUI80からの階層内でより低いレベルのサブシステムへのコマンドは、最も上位のサブシステムと目的のサブシステムの親との間(親チェーンと呼ばれる)の階層内のすべてのサブシステムが手動モードに切り替えられた後にのみ実行される。手動モードの際、親サブシステムは子サブシステムに命令せず、それは子サブシステムがその親サブシステム及び同時にGUI80からの両方によって命令されないことを保証する。したがって、手動モードへの切り替えは最上位レベルのサブシステムから最初に始めなければならない。さらに、子サブシステムへ送られるコマンドは自動的にNCS102ソフトウエアに親チェーンを上から下へ手動モードに命令させる。NCS102ソフトウエアに対する手動モードはシステムのすべての状態を含み、そこでは少なくとも最上位レベルのサブシステムが手動モードである。
【0038】
したがって、相互接続されたデータ構造D1は制御システムによって並べられた、コヒーレントな決定をするためにフレームワークを与える。並べられた決定及びサブシステム実行はプロトコル制御器D2及びスケジューラD3によって実施される。プロトコル制御器D2及び階層データ構造のサブシステム内の決定及び実行をスケジュールに入れるためのスケジューラD3によって使用される方法は以下に詳細に説明される。最初に、階層的データ構造のひとつの実施例の基本的構造及び階層的データ構造を構築するための方法が説明される。
【0039】
D1:データフロー構造
上記したように、イオン注入システムの作動機能はサブシステムの階層を使って表され、その各々はひとつ若しくはそれ以上の状態機械及びDSPCUへ及びからのデータのフローを識別するデータフロー図から成る。
【0040】
各サブシステムを離散的状態機械及びDSPCU成分に分離することは、しばしば実行中に信号処理動作は制御の決定作成アスペクトと大きく異なるため設計を単純化しかつより粗野な性能へ導く。
【0041】
例えば、図3に示されるように、親及び2つの子サブシステムは状態機械170〜172及びDSPCU370a、370b及び370cのデータフロー図のセットによって定義される。もしNCS102が図1のイオン注入システム100を制御するのに使用されたら、状態機械170〜172及びDSPCU370a、370b及び370cに対するデータフロー図はシステム100の作動機能性を与える。サブシステム階層は各レベルにおいて親データフロー図内に含まれる子サブシステムによって定義される。
【0042】
例えば、状態機械170及びデータフロー図270から作られるサブシステムはイオン注入システムに関連し、状態機械171及びデータフロー図271はトリマ及び制御要素36に関連し、及び状態機械172及びデータフロー図272は移動スキャン制御要素27に関連する。同様に、階層内の同じ若しくはより低いレベルの他のサブシステムはイオン注入システムの他の部品と関連する。状態機械171及び172は状態機械170の直接制御の下にある。データフロー成分271、272及びDSPCU370a、370b及び370cはサブシステム間で相互接続され、階層によって制約されない。
【0043】
階層的方法で状態機械を配列することのひとつの利点は制御下のシステム内のエラーの取扱いを容易にするということである。各サブシステムは検出する責任を負い、エラー状態に応答する。多くの場合、サブシステムはエラー状態に対して適当な応答を決定することができない。この場合、サブシステムはエラーをその親のサブシステムに伝播し、その後それはエラーに応答するか若しくはさらにエラーを上の親チェーン伝播するかのいずれかに対して責任がある。これはエラーを"バブリングアップする"と呼ばれる。設計による親サブシステムはシステム全体にわたって制御を有し、エラーに対する適当な応答を決定するための情報のより大きなセットを有する。結果として、エラー状態は階層のトップレベルへ伝播される必要がないが、より適当なレベルで取り扱われる。もしエラーが解決されずにトップサブシステムへ伝播すると、それはユーザーによる応答に対してIAN100へ伝播される。この方法でエラー取扱いを分配することによって、インテリジェントエラー取扱い戦略は最小の複雑さで実行される。
【0044】
図4を参照して、各サブシステム内に潜在的に含まれたコンポーネントを表す例がマスター状態機械300及びデータフロー図310を含む。データフロー図310は関連する単一のDSPCU及びDSPCUの挙動を形成する他のコンポーネントを識別する。図4に示されるように、各サブシステムはオブザーバー状態機械302のようなひとつ若しくはそれ以上の付加的レベルの状態機械を含み、それはマスター有限状態機械300の評価の前に実行中に評価される。状態機械は状態及び入力信号に応答して状態機械サブシステムで取られた関連する遷移を識別する。
【0045】
図4において状態機械300及び302によって表されたサブシステムはインジケータサブシステムである。インジケータサブシステムによって入力され得る3つの異なる状態が存在する。エラー状態、遷移状態及び停止状態である。エラー状態は(状態303のような)円によって示され、遷移状態は(状態304のような)角の丸い多角形によって示され、及び停止状態は状態305のような8角形によって示される。
【0046】
ひとつの実施例において、状態機械302はインジケータサブシステムで(二重孔メモリ128若しくは子サブシステムのいずれかから)受信された入力信号をサンプリングするのに使用されるオブザーバー状態機械である。デジタル入力は状態ON、OFF若しくはUNKNOWNである。入力信号は遷移状態ON*OK、OFF*OK若しくはエラー状態であるI/O*ERRORのいずれかへ遷移するインジケータを生じさせる。
【0047】
マスター状態機械300は入力FSM.Observer.On*OK及びFSM.Observer.Off*OKとして遷移状態の状況を受信するように示されている。これらの入力のひとつが主張される(オブザーバーFSMがそれらの状態の一つに入力する)ときはいつでも、マスター有限状態機械はON若しくはOFFのいずれかのターミナル状態に移行する。もし、FSM.Observer.I/O*ERROR入力が主張されることになると、インジケータはターミナルSHUTDOWN状態へ移行する。
【0048】
データ構造(D1)の構築
サブシステム図と呼ばれる(図4に示されるような)状態機械/データフロー図は、ユーザーによって各サブシステムに対して手動で構成される。図が形成された後、それはゼロ若しくはそれ以上のコマンドのセット、ひとつ若しくはそれ以上の状態のセット、ゼロ若しくはそれ以上のデータフロー入力のセット及びゼロ若しくはそれ以上のデータフロー出力のセットによって定義されるインターフェースによって説明される。ひとつ若しくはそれ以上のサブシステムが親サブシステム内に含まれているとき、子サブシステムの各例への参照がサブシステムインターフェースを表す要素を通じて親データフローダイアグラム内に与えられる。この要素はDSPCUと同じインターフェースを有するが、実際には子サブシステムの閉じ込められた挙動を表す。
【0049】
ひとつの実施例において、VISIOTMグラフィカル設計ツールが強化され、図の形式でサブシステム設計を作成するのに使用される。NCS102の全体の階層構造が形成されるにしたがって、VISIOツールは子サブシステムの状態機械/データフロー図からのデータに対し親サブシステムとリンクすることを許容する。グラフィカル要素間の接続及び外部プログラム制御に対するサポートを与える他のグラフィカルツールは択一的に使用され、したがって発明はVISIOツールの使用に限定されない。
【0050】
上記したように、各親サブシステムに対する子サブシステムは親システムのデータフロー図内で表される。与えられたサブシステム図は状態機械、DSPCU及び親にリンクされた子サブシステムを記述する。階層は最上位のサブシステム図で開始し子サブシステムの各々を通じてリンクを作成することによって完全に定義(及び決定)される。ひとたびすべてのサブシステム図状態が手動で入力されると、状態機械、DSPCU及びそれらの相互接続を読み取り及び形成するのに必要なすべての要素を記述する階層データ構造へサブシステム図を変換するよう構築が開始される。以下、VISIOTMを通じて与えられたサブシステムをNCS102による処理が可能なフォーマットへ変換するのに使用されるひとつの方法が図5を参照して説明される。
【0051】
工程220において、上記したように、ユーザーはシステム内で表されるべきサブシステムの各々に対してサブシステム図を準備する。階層データ構造内に含まれる状態機械/データフロー図の各々を含む図の完全なセット222が与えられる。工程224で構築ファイルがコンパイルされる。コンパイル処理の間、階層内のサブシステム間の未結合の入力及び出力が識別される。あらゆる未結合の入力及び出力が修正された後、構成ファイル226が作成される。構成ファイルは構築ファイルと類似している。しかし、親/子サブシステムのすべての入力及び出力が決定され、したがって親及び子サブシステムの上方及び下方実行を解析するための情報が与えられた。
【0052】
構成ファイル226はCPU60及びCPU70の両方によって使用される。CPU70はIAN100総称ユーザーインターフェース229を構築するために工程228において構成ファイル226を使用する。総称ユーザーインターフェース229はユーザーに対してサブシステムが実際にNCS102内に含まれる特定の知識無しでNCS102を制御することを許可する。CPU60はNCS102を実行するソフトウエア231を構築するためのテンプレートとして工程230において構成ファイル226を使用する。構成ファイル226に加えて、CPU60は構成ファイル内のいずれのサブシステムがイオン注入システムの各実行サイクル中に評価されるべきかを識別するためにスケジューラD3(以下で詳細に説明される)を使用する。
【0053】
DSPCUの実行のスケジューリング(D3)
ひとたび制御されるシステムの作動機能性を表す階層データ構造が生成されると、制御されたシステムの処理中にサブシステムの各々がどのように相互作用するかのスケジュールが与えられる。スケジュールは、各々のサブシステムの動作が所望の結果に達するために適当な時間で実行されることを保証するよう選択される。
【0054】
ひとつの実施例において、制御されたシステムの動作の総時間は総動作時間と呼ばれる。総動作時間は多くの実行サイクルに配分され、その時間中制御されたシステムの状態が評価される。ひとつの実行サイクル中に、階層データ構造は階層の昇順及び階層の降順の両方で解析される。さらに各実行サイクルは多くの基本時間間隔に配分される。スケジューラは制御されたシステムの総動作時間内で各々の実行サイクルに対し、実行サイクル中に適当な基本時間間隔でサブシステムの実行をスケジュールに入れる。
【0055】
したがって、スケジューラD3は制御システム階層から成る状態機械及びデータフロー図の実行を並べる。スケジューラによって決定された実行の順序は階層内でのサブシステムのそれぞれの位置及びサブシステムが解析される選択された周波数に基づいている。例えば、サブシステムは実行サイクル毎若しくは10回実行サイクル毎に解析される。
【0056】
状態機械及びデータフロー図の実行のスケジューリングは、制御されたシステムの性能を最大化するために制御されたシステムの実際の動作前に実行される。ひとつの実施例において、各状態機械及びDSPCUはオブジェクトとして表され、スケジューリングはオブジェクト指向プログラミング方法を使って実行される。各オブジェクトは実行サイクル内で基本時間間隔に割当てられる。オブジェクトが実行用に選択される頻度が小さいと、そのオブジェクトに関連するオーバーヘッドの処理も低下する。ひとつの実施例において、異なる基本時間間隔へのオブジェクトの割当ては制御要求に基づいてシステム設計者によって実行される。ひとたびシステム設計者がオブジェクトが実行されるべき時間間隔を選択したら、一連のスケジュールリストが生成される。上記したように、制御されたシステムの動作の実行サイクル毎に、上方及び下方実行の両方が実行される。したがって、各実行サイクルに対して一連のリストは、実行の上行位相内で実行されるDSPCUオブジェクトを識別するリスト及び実行の下行位相内で実行されるDSPCUオブジェクトを識別するリストを含む。
【0057】
一連のリストが生成される前に、階層データ構造は制御されたシステムの最悪の場合の実行時間状態、すなわち、階層データ構造内のDSPCU毎の上方及び下方実行の両方を実行するのにかかる最大量の時間を決定するべく評価される。最悪の場合の実行時間は制御システムの各サイクルの実行を許すべく時間の長さを決定するために使用される。決定された最悪ケースの実行時間は基本時間間隔を決定するべく選択された数の処理サイクルによって分割される。
【0058】
図6を参照して、最悪ケースの実行時間を計算するために生成されたリスト及び処理サイクル中サブシステムの実行をスケジューリングするためのスケジューラによって生成されるリストを表すためにブロック図が与えられる。
【0059】
DSPCUオブジェクト及び状態機械オブジェクトは、既知の帰納的階層ツリー検索技術を使ってリスト250及び253を形成するべく階層データ構造から検索される。リスト253は状態機械オブジェクトへのすべてのポインタのリストである。ポインタは、階層データ構造の底でのサブシステムの状態機械オブジェクトを指すポインタから階層データ構造の頂上でのサブシステムの状態機械オブジェクトを指すポインタへ並べられる。リスト250はDSPCUオブジェクトへのすべてのポインタのリストである。DSPCUオブジェクトへのポインタは、階層データ構造の底においてサブシステムに関連するDSPCUオブジェクトから階層データ構造の頂上においてサブシステムに関連するDSPCUオブジェクトへの順に、関連するデータフロー図によって定義された順序で並べられる。
【0060】
状態機械オブジェクトへのポインタのリスト253を使って、2つの新しいリスト、すなわち更新アップ(上方実行)リスト261及び更新ダウン(下方実行)リスト256が生成される。更新アップ(上方実行)リスト261はDSPCUオブジェクトリスト250そのあとに続く状態機械オブジェクトリスト253の組合せである。更新ダウン(下方実行)リスト256は状態機械オブジェクトポインタリスト253の逆順(すなわち、リスト253の下から上の順)とそのあとに続くDSPCUオブジェクトのポインタリスト250の組合せである。
【0061】
更新アップリスト261及び更新ダウンリスト256は階層的実行プロトコルにしたがって並べられたオブジェクトへのポインタを含む。しかし、リスト内のオブジェクトはそれらの実行に関連した異なるタイミング要求を有する。すなわち、各オブジェクトは制御されたシステムの実行サイクル中に異なる基本時間間隔で解析される。ひとつの実施例において、オブジェクト実行に有効な時間インターバルは、実行サイクル内の基本時間間隔の総数の因数であるインターバルのセットに制限される。例えば、もし上方若しくは下方実行のいずれかに対して要求される基本時間間隔の総数が8だったら、オブジェクト実行に有効な時間インターバルは8の因数である時間インターバル、すなわち1、2、4及び8である。選択された時間インターバルへオブジェクトの実行を制限することは、実行時間間隔を通じて制御システム内のオブジェクトの実行のバランス若しくは広がりを容易にする。
【0062】
すべてのオブジェクトはセットのひとつの時間インターバルに関連するため、オリジナルの更新アップ及び更新ダウンリストは、それぞれのリストの多重検索を使って存在するセット(すなわち、総時間インターバルの因数)と同数のリストに分配される。例えば、図6に示されるように、制御されたシステムのひとつの実行サイクル内の基本時間間隔の数が8に等しいと仮定すると、8の4つの因数、1、2、4及び8が存在する。更新アップリスト261及び更新ダウンリスト256はそれぞれ基本間隔の1、2、4及び8倍の実行時間インターバルに関連したオブジェクトから完全に構成されていることが仮定されている。各オブジェクトに関連した時間インターバルに基づく検索技術を使用して、更新アップリスト261及び更新ダウンリスト256はそれぞれ図7を参照して説明される方法を使って、4つの異なったリスト262〜265及び266〜269に配分される。
【0063】
工程700において、各グループリストは最小公倍数によって割り算されたグループに関連する時間インターバルと等しい値を割り当てられる。図6の例において、最小公倍数が1である場合、グループの各々262/266、263/267、264/268及び265/269に対して割り当てられた値はそれぞれ8、4、2及び1に等しい。割り当てられた値は、グループ内の各オブジェクトが制御されたシステムの実行のひとつのサイクル中に解析されるところの基本時間間隔の数を決定する。したがって、グループ262内の各オブジェクトは8基本時間間隔の間に解析され、一方グループ265内の各オブジェクトは1基本時間間隔の間に実行される。
【0064】
ひとたび各グループが値を割り当てられると、工程702において、各グループはオブジェクトの平衡数のサブグループに配分される。グループの各対内のサブグループの数は一対のグループ内のすべてのオブジェクトに対して総許可実行時間を計算し、及びこの総許可実行時間を一対のグループに関する基本時間間隔の数で割り算することによって決定される。したがって、グループ262に対して、総許可実行時間は8基本時間間隔であり、一方基本時間間隔の数は8であるので、ひとつのサブグループが存在する。グループ264に対して、総許可実行時間は2基本時間間隔であり、一方基本時間間隔の総数は8であるので、2基本時間間隔の4つのサブグループが存在する。したがって、図6において、グループ262及び266はひとつのサブグループを有し、グループ263及び267は2つのサブグループを有し、グループ264及び268は4つのサブグループを有し、及びグループ265及び269は8つのサブグループを有する。
【0065】
ひとたび各グループ内のサブグループの数が決定されると、オブジェクトは更新アップリスト261及び更新ダウンリスト256から各グループのサブグループへ分配される。オブジェクトが割り当てられるグループはオブジェクトの関連時間インターバル(1、2、4若しくは8)に応答して決定される。オブジェクトが配置されるサブグループは各オブジェクトを実行させるのにかかる時間及びサブグループに割り当てられた時間に応答して決定される。
【0066】
ひとつの実施例において、各グループに対する総時間配分は特定のグループに関連する基本間隔の数を付加することによって決定される(例えば、更新アップリスト及び更新ダウンリストから2つの時間インターバルに関連したオブジェクトの実行のための総時間間隔を加算する)。これは本発明の限定ではないが、各グループに対して、オブジェクトが更新ダウンサブグループ内の配置のために更新ダウンリストから検索される前に、更新アップリストからのすべてのオブジェクトは更新アップサブグループ内に満たされる。ひとたび更新アップリスト261からのオブジェクトがサブグループに割り当てられると、グループに割り当てられた残りの時間を使って、更新ダウンリスト256からのオブジェクトがサブグループへ割り当てられる。したがって、工程704において、グループ用の更新アップリストが空いているか否かが決定される。もし空いていなければ、処理は工程706に進み、そこでグループに対する次の連続オブジェクトが更新アップリスト261から選択される。
【0067】
上記したように、各サブグループは基本時間間隔のある倍数である割り当てられた時間間隔と関連していた。サブグループに対して割り当てられた時間間隔が一致するまで、オブジェクトはサブグループ内に配置され、その後オブジェクトはグループに対する次の連続サブグループ内に配置される。したがって、工程708において、オブジェクトに対する実行時間(例えば、オブジェクトの特性として保存される)は総サブグループ実行時間に付加され、及び割り当てられたサブグループ時間と比較される。もし和が割り当てられたサブグループ時間を超えると、工程710において次のサブグループが検索される。もし工程708において和が割り当てられたサブグループ時間を超えないか若しくは新しいサブグループが工程710で検索されると、工程712において、オブジェクトはサブグループ内に配置され、総時間及びサブグループ時間は増分される。工程714において、最大割り当てグループ時間と比較がなされる。もしグループを解析するための時間が残っていれば、処理は工程704に戻る。
【0068】
更新アップリストが空いていると決定されたとき、工程714においてグループに割り当てられたすべての時間が一致したことが決定されるまで、オブジェクトは工程716から722を通じて更新ダウンリスト256からグループに対する関連した更新ダウンサブグループへ移動される。
【0069】
したがって、図7に示された処理を使って、オブジェクトは関連する時間インターバル(1、2、4若しくは8)にしたがって特定のグループ内へ配置するためにそれぞれの更新アップ及び更新ダウンリストから選択される。グループ対262及び266において、ひとつのサブグループしか存在しないので、すべてのオブジェクトはサブグループA1内にある。グループ対263及び267に対して、オブジェクトはサブグループB1若しくはB2のいずれか内にある。
【0070】
図7に記述された処理の結果は一連の時間間隔ベースのリストであり、その各々は状態機械及び階層データ構造からのDSPCUオブジェクトに対するポインタを含み、また関連するオブジェクトが制御されたシステムのひとつの実行サイクル中に解析されるところの基本時間間隔を識別する。時間間隔ベースリストは実行時間実行リスト274〜289(図6)を生成するのに使用され、それはサブグループに対するポインタのリストである。実行時間実行リストは、制御されたシステムのひとつの上方及び下方実行において、基本サイクルの各々に対してオブジェクトのサブグループの各々の実行の順序を識別する。図6の例を使用して、制御されたシステムの実行が8基本時間間隔を含む場合、更新アップ実行時間実行リストは8実行時間実行上方実行リスト274〜281からなり、更新ダウン実行時間実行リストは8実行時間実行下方実行リスト282〜289から成る。各基本時間間隔に対して、実行時間実行リストの上方及び下方対が実行され、実行時間実行リスト内の指示されたサブグループの各々内のオブジェクトは順に実行される。
【0071】
実行時間実行リストは以下のようにして形成される。各基本時間間隔に対して、時間間隔ベースリストの各々からのひとつのサブグループは実行時間実行リスト内に含まれる。グループ内の次の連続サブグループの各々は連続サイクルで実行するよう選択される。サブグループを異なる基本時間間隔に分離することは実行サイクルを横切って動作を分配し、それによって与えられた時間間隔内で処理されるオブジェクトの数を管理可能な量に制限する。
【0072】
実行時間実行リストは更新アップリスト290及び更新ダウンリスト291を生成するのに使用され、その各々はリスト274〜289のような実行時間実行リストに対するポインタのリストである。したがって、リスト274〜281のような8リストのひとつのセットが制御されたシステムの各実行サイクルに対して与えられる。ひとつの実施例において、タイマー(ソフトウエア若しくはハードウエアのいずれかで実行される)がゼロから制御された装置の実行サイクルの総数まで増分される。各タイマー増分に対して、実行時間リストの各々から更新アップリスト290及び更新ダウンリスト291へポインタをコピーすることによってそれぞれのリスト内でひとつのリストが生成される。例えば、もし制御されたシステムのひとつの動作サイクル内に1000実行サイクルが存在したら、更新アップリスト290は1000個の実行時間実行リストを含む。更新アップリスト290及び更新ダウンリスト291は制御されたシステムの実行サイクルの各々に対して動作のスケジューリングを与える。制御されたシステムの実際の実行時間の前にオブジェクトの各々の実行をスケジュールに入れることは実行時間オーバーヘッドを減少させ、したがって制御されたシステムの性能を強化する。
【0073】
階層データ構造からのオブジェクトの実行をスケジュールに入れる上記方法は所望の実行間隔にわたって実行動作を分配するという利点を有するが、本発明は上記した工程に限定されない。むしろ、オブジェクトの階層構造が維持されるのを許すオブジェクトの実行をスケジュールに入れるあらゆる方法が択一的に使用される。
【0074】
D2:プロトコル制御
プロトコル制御器D2は制御されたシステムの各実行サイクルの間にDSPCU及び子/親サブシステムの状態機械要素の実行プロトコルを実施する。プロトコルは図8のフロー図内に示されるようにスレッドと呼ばれる2つの別個の実行プログラムから成る。ひとつのプログラムであるメインスレッド400は、きつく制御された周期的時間フレーム内でDSPCU及び状態機械の状態評価及びコマンド評価用である。他のプログラムである二次スレッド500はDSPCUによる出来る限り長い個別計算の実行用である。2つのスレッドは独自に動作し、そこでは二次スレッド500がメインスレッド400内のDSPCUの制御下にある。
【0075】
メインスレッド400は実行の7つの位相を有し、図2を参照して上述したIAN101、NCS102及びI/O104コンポーネントを含む。プロトコル制御器の動作は図2に示された制御システム200の要素を参照しながら図8を参照して説明される。
【0076】
第1工程402は各実行サイクルの動作に周期性を与えるための同期化用である。周期的タイマーが経過したら、動作は工程404へ進む。
【0077】
工程404において、実行プロトコルの位相Iが開始される。I/O104においてデータ収集が実行され、新しい出力信号値がメモリ128内に保存され及び新しい入力信号値がメモリ128から読み出される。工程406の位相II及び工程412の位相Vの間にDSPCUによって計算された出力信号は、サブシステムの各々に関連する物理的ハードウエアを制御するために数値フォーマットでI/O104の二重孔メモリ内に保存される。物理的ハードウエアからの入力信号値はI/O104の二重孔メモリから読み出され、次の位相での評価のためにNCS102内のメモリ内に保存される。
【0078】
工程406において、実行プロトコルの位相IIが開始される。位相IIの間、NCS102はサブシステムのDSPCUの状態評価機能を実行する。実行順序はすべてのサブシステムの組み合わされたデータフロー図によって、左から右へ、データフロー矢印によって定義された順序で、階層内の最年少の子サブシステムから階層内の最年長の親へ指示される。
【0079】
工程408において、実行プロトコルの位相IIIが開始される。位相IIIの間に、NCS102は階層内の状態機械の各々の状態評価機能を実行する。実行は階層内で最低の状態機械から階層内で最上の状態機械へ順になされる。したがって、子サブ−サブシステムに関連する状態機械はそれらの親サブシステムに関連する状態機械の前に解析される。
【0080】
位相II及び位相IIIはともに上方実行位相内の状態評価から成る。上方状態評価を実行するとき、子サブシステムからのみ受信された入力(若しくは、I/O104から直接に受信された入力)は状態機械及び親サブシステムのDSPCUを評価するのに使用される。
【0081】
工程410、位相IVにおいて、NCS102は階層内の状態機械の各々のコマンド評価機能を実行する。実行順序は最年長の親から最年少の子の順である。
【0082】
工程412、位相Vにおいて、NCS102はDSPCUの各々のコマンド評価関数を実行する。実行順序は位相IIと同じ順序であり、すなわちデータフロー順である。
【0083】
もしDSPCUによって新しい要求が二次スレッド新要求リスト450へ付加されたら、これらの要求は工程414の位相VIにおいて二次スレッド500へ送られる。
【0084】
上述した実行の位相が完了したとき、IAN100内のソフトウエアは工程416、位相VIIにおいて更新される。工程416において、NCS102からのデータがIAN101へ送られる。その後IAN101はIANアプリケーションからグラフィカルユーザーインターフェースにより受信されたコマンド及び前のサイクルのデータ収集工程404から収集されたデータをNCS102へ送る。実行の下行位相が完了した後、状態機械によって与えられた出力信号はデジタルフォーマットでI/O104の二重孔メモリに保存される。デジタル出力は、サブシステムの各々の物理的ハードウエアを制御するために検索され必要によりアナログ信号に変換される。処理は次の周期的タイマーチックを待つために工程402へ戻り、そこで次の実行サイクルの開始まで待ち状態が入力される。
【0085】
ひとつ若しくはそれ以上のDSPCUが要求を付加したとき二次スレッド500動作が開始する。DSPCUは工程414、位相VI動作中に二次スレッド新要求リスト450へ実行要求を付加する。新要求が二次スレッド500によって受信されると、新実行要求は新要求リスト450から除去され、かつ工程504において二次スレッド要求リスト501へ付加される。二次スレッド500は前の要求が完了した後工程506で与えられた順序で各要求を実行する。各要求の実行はメインスレッド400の多くの周期的サイクルの間実行してもよい。これによってDSPCUはメインスレッド400の周期性と干渉することなくより長い計算を実行することができる。工程508において要求の実行が二次スレッドによって完了するまで、DSPCUは後続の位相II状態評価(工程406)の各々の間に実行要求の状態を評価する。二次スレッド500はリストが空くまで要求を実行しつづける。二次スレッド500はメインスレッド400がより多くの要求を生成するまで工程502で待機する。
【0086】
上記されたアップ/ダウン実行環境によって高度に整合された制御がイオン注入システム100内のサブシステムに対して及ぼされる。ハードウエアから与えられた入力信号の効果をユーザーによって与えられるコマンドの効果から分離することによって、イオン注入システムの動作の状態はその状態に影響を及ぼすコマンドが発行される前に最初に評価される。さらに、状態機械及びDSPCUの2つの位相の実行を果たすことによって、各サブシステムの真の状態が決定され、それは2つの異なるタイプの入力によって影響されるためである。
【0087】
したがって、複雑なシステムを制御するための改良された方法及び装置が与えられ、それは制御システム内のサブシステムに関連する動作の制御を反映する複数の階層的に結合された状態機械を含む。新しい制御システムの第1の特徴はそれが周期的であることである。状態機械は与えられた解析時間間隔内で周期的インターバルで評価されるため、あらゆる時間におけるサブシステムの状態の正確な表示が与えられる。制御システムの第2の特徴は、それがユーザーインターフェースからのユーザーコマンドに対してばかりでなく入力/出力信号の両方に対しても同期したインターフェースを有することである。信号の実行をコマンドの実行から分離したことによって、コマンドの影響が制御されるべきシステムの実際の状態と同期することが保証される。さらに、制御システムが階層的な状態機械の配置に基づいているため、制御システム内の要素の付加若しくは削除は、親及び子サブシステム内の適当な通信リンクを与えるか若しくは除去することによて簡単に適応できる。したがって、システムコンポーネントの要求される再設計は、制御システム内の現存のサブシステムへ付加されるか及びそこから削除されるサブシステムに対して付加及び削除するために要求されない。さらに制御システムの階層的性質のために、エラー状態は制御システムないの適当な監視レベルまでしか伝播しない。結果として、エラーの取り扱いは制御システム内へ分配されそれによって、既知のエラー取り扱いを許してあらゆるひとつのサブシステムでの取り扱いの全体的な複雑性を減少させる。
【0088】
上記制御システムはイオン注入システムと関連して説明されてきたが、本発明はそのような使用に限定されるものではなく、むしろサブシステムにモジュール化されるあらゆる複雑なシステムの制御をカバーするものである。したがって、上記制御システムは適応性を最大化するよう相互接続された階層的状態機械によって定義される階層的サブシステムを使用し、及びエラーの取り扱いは他のシステムにおける使用のために拡張される。
【0089】
発明のいくつかの実施例が説明されてきたが、上記したものは単に図示したに過ぎず限定せず例としてのみ与えられたことは当業者にとって明白である。さまざまな修正及び他の実施例は当業者の態様内にあり及び発明の態様内に落ちるように予期される。
【図面の簡単な説明】
【図1】 図1は、本発明の制御システムによって制御されるイオン注入器を示す略示ブロック図である。
【図2】 図2は、本発明の制御システム内で採用され及び図1のイオン注入器を制御するために使用されるシステムコンポーネントのハイレベルなブロック図である。
【図3】 図3は、状態機械及び図1のイオン注入器を制御するのに使用されるデジタル信号処理及び条件付けユニットの階層的データ構造の例を表すブロック図である。
【図4】 図4は、制御システム階層の典型的要素を表すデータフロー図及び有限状態機械を表す、図3のデータ構造によって表されるサブシステムの例のブロック図である。
【図5】 図5は、図3のようなデータ構造を構築するのに使用される方法のひとつの実施例を示すフロー図である。
【図6】 図6は、図2の制御システム内のサブシステムの動作を計画するのに使用されるスケジューラのコンポーネントのブロック図である。
【図7】 図7は、図6のスケジューラによって採用されるスケジュールの方法のひとつの実施例のフロー図である。
【図8】 図8は、図2の制御システム内で使用される実行プロトコルを示すためのフロー図である。

Claims (28)

  1. 装置を制御するシステムであり、相互に接続し、階層的に結合する複数のサブシステムを有し、所定レベルの階層サブシステムが、一つ上位のレベルの階層サブシステムに包含されるところのシステムであって、
    複数の状態機械であって、少なくともひとつの状態機械が各サブシステムに関連付けられることにより、複数の状態機械が階層的に結合する状態機械と、
    階層によって定義された順序に従い前記階層的に結合する複数のサブシステムの各々状態機械の状態を評価する手段と、
    前記装置の制御動作の間に複数のサブシステムの実行の順序をスケジューリングするための、及び各サブシステムの総実行時間、及び前記装置の実行のため選択されたサイクル数に応じて、階層にあるサブシステムの実行の順序を決定するためのスケジューラと、を含み、
    前記装置の制御動作の間に関連するサブシステムがどのくらいの頻度で評価されるべきかを示すために時間間隔が各々のサブシステムに関連付けられ、
    各サブシステムに関連する時間間隔に応じて、サブシステムの実行の順序が決定され、
    前記状態機械の状態を評価するための手段は相対的に上位の階層の状態機械の評価の前に相対的に下位の階層の状態機械を評価するよう動作し、前記状態機械の状態を評価するための手段は相対的に下位の階層状態機械のみから受信した状態データを使って当該状態機械の状態を評価する手段である、
    ことを特徴とするシステム。
  2. 請求項1に記載のシステムであって、
    少なくともひとつの状態機械に結合し、信号を関連するサブシステムへ及びそこから転送するためのデジタル信号処理及び条件付けオブジェクトと、
    前記階層的に結合する状態機械に結合し、前記階層的に結合する状態機械にコマンドを転送するためのユーザーインターフェースとを、
    前記階層的に結合する複数のサブシステムの各々に対して含む、
    ことを特徴とするシステム。
  3. 請求項1に記載のシステムであって、
    ひとつ若しくはそれ以上の状態機械の状態を評価するための手段は、さらに、相対的に上位の階層の状態機械のみから受信したコマンドデータを使用することを特徴とする、システム。
  4. 請求項2に記載のシステムであって、さらに
    複数のサブシステムの各々に関連付けられる信号を保存するためのメモリと、
    前記メモリ内に保存された信号に応答して階層的に結合する複数の状態機械を評価するための手段であって、
    相対的に上位の階層の状態機械より前に、相対的に下位の階層の状態機械が評価され、相対的に下位の階層の状態機械のみから受信した状態データを用いて、及びデジタル信号処理及び条件付けオブジェクトに流入するデータから、状態機械の状態を評価するところの手段と、
    外部ユーザーからコマンドを受信するための手段と、
    外部ユーザーからのコマンドに応答して階層的に結合する複数の状態機械を評価するための手段であって、相対的に上位の階層の状態機械は相対的に下位の階層の状態機械より前に評価され、前記状態機械は前記相対的に上位の階層の状態機械のみから受信したコマンドデータ用いて評価されるところの手段と、
    を含むシステム。
  5. 請求項1に記載のシステムであって、前記階層的に結合する複数の状態機械の各々は、関連付けられるサブシステムエラーを識別するための少なくとも一つのエラー状態を含む、ところのシステム。
  6. 請求項1に記載のシステムであって、前記階層的に結合する複数の状態機械の各々は、さらに関連付けられるサブシステムの状態変化を識別するための少なくとも一つの遷移状態を含む、ところのシステム。
  7. 請求項1に記載のシステムであって、前記階層的に結合する複数の状態機械の各々は、さらに関連付けられるサブシステムの固定された状態を示すための少なくとも一つの停止状態を含む、ところのシステム。
  8. 請求項に記載のシステムであって、前記階層的に結合する複数のサブシステムの各々は、さらにデータフロー図を含み、少なくとも一つの状態機械及びデータフロー図は関連するサブシステムの動作状態を示すよう提供される、ところのシステム。
  9. 請求項に記載のシステムであって、
    スケジューラはさらに、
    前記階層的に結合するサブシステムの状態機械状態機械ポインタの第1順序リストであって、状態機械ポインタは関連するサブシステムの階層の昇順に配列されるところの第1リストと、
    前記階層的に結合するサブシステムのデータフロー図データフローポインタの第2順序リストであって、前記データフローポインタはデータフロー順及び関連するサブシステムの階層の昇順に配列されるところの第2リストと、
    前記第2リストの後に前記第1リストが続いてなる上方実行リストと、
    逆順で配列された前記第1リストの後に前記第2リストが続いてなる下方実行リストと、
    を含む、システム。
  10. 請求項に記載のシステムであって、前記各サブシステムに関連する時間間隔の各々は前記装置の実行に使用される時間間隔の総数の因数である有効時間間隔のセットから選択される、ところのシステム。
  11. 請求項10に記載のシステムであって、さらに
    複数のエントリーを有する上方更新リストの複数のセットであって、
    数は有効時間間隔のセット内の時間間隔の数に対応し、前記上方更新リストのセットの各エントリーは上方実行リスト内のひとつのエントリーポインタを保存するところのセットと、
    複数のエントリーを有する下方更新リストの複数のセットであって、
    数は有効時間間隔のセット内の時間間隔の数に対応し、前記下方更新リストのセットの前記各エントリーは下方実行リスト内のひとつのエントリーポインタを保存するところのセットと、
    ポインタに関連するサブシステムの実行のために割当てられた時間間隔に応答して、状態機械ポインタ及びデータフローポインタを上方実行リスト及び下方実行リストからひとつ若しくはそれ以上の複数の上方更新リスト及び下方更新リストへそれぞれコピーするための手段と、
    を含むシステム。
  12. 請求項11に記載のシステムであって、さらに
    複数のエントリーを有する複数の上方スケジュールリストであって、数は装置の実行に使用される時間間隔の総数に対応し、上方スケジュールリストのエントリーの各々は上方更新リストポインタを保存するところのリストと、
    複数のエントリーを有する複数の下方スケジュールリストであって、数は装置の実行に使用される時間間隔の総数に対応し、下方スケジュールリストのエントリーの各々は下方更新リストポインタを保存するところのリストと、
    複数の上方更新リストから複数の上方スケジュールリストへポインタをコピーするための、及び複数の下方更新リストから複数の下方スケジュールリストへポインタをコピーするための手段であって、ポインタはそれらの関連するサブシステムの時間間隔にしたがって複数のスケジュールリストの関連するひとつにコピーするために選択されるところの手段と、
    を含むシステム。
  13. 請求項12に記載のシステムであって、さらに
    数が装置の実行用の時間間隔の総数に対応する複数のエントリーを含むマスター上方リストであって、各関連する時間間隔において解析されるサブシステムポインタを保存するためのリストと、
    数が装置の実行用の時間間隔の総数に対応する複数のエントリーを含むマスター下方リストであって、関連する時間間隔中に実行されるサブシステムポインタを保存するためのリストと、
    時間間隔を測定しかつ制御するためのタイマーと、
    タイマー、マスター上方リスト、マスター下方リスト、複数の上方スケジュールリスト及び複数の下方スケジュールリストに結合され、測定されかつ制御された時間間隔に応答してマスター上方リスト内の複数の上方スケジュールリストポインタを保存するための及びマスター下方リスト内の複数の下方スケジュールリストポインタを保存するための手段と、
    を含むシステム。
  14. 階層的に結合し、相互に接続する複数のサブシステムを有するシステムを解析するための方法であり、所定レベルの階層サブシステムはひとつ上位のレベルの階層サブシステムに包含され、前記相互に接続する複数のサブシステムの各々は階層的に結合する複数の状態機械の対応するひとつと関連付けられるところの方法であって、
    各サブシステムに対して関連する状態機械の状態を評価する工程であって、関連する状態機械の評価の順序は相互に接続する複数のサブシステムの階層のレベルによって定義された順序に対応して決定され、状態機械の状態を評価する順序は相対的に下位の階層サブシステムに関連付けられた状態機械から相対的に上位の階層サブシステムに関連付けられた状態機械への順である、ところの工程と、
    状態機械の階層内のサブシステムの実行をスケジュールする工程と
    を含み、
    前記各サブシステムは、どのくらいしばしば関連するサブシステムが評価されるべきかを示すための時間間隔に関連付けられ、
    スケジューリングの工程は、各サブシステムの各々の時間間隔に応答してサブシステムの実行の順序を決定する工程を含み、
    さらに前記実行の順序を決定するための工程は、システムの総実行時間に応答して実行される、方法。
  15. 請求項14に記載の方法であり、サブシステムの各々に関連するのはデジタル信号処理及び条件付けオブジェクトから成るデータフロー図であるところの方法であって、さらに
    階層間で結合する複数のサブシステムの各々内へ及びそこから選択された外部信号を転送する工程であって、各サブシステム内へ及びそこから転送された外部信号は各状態機械より比較的下位の階層内にあるデジタル信号処理及び条件付けオブジェクトに関連する外部信号であるところの工程と、
    階層間で結合する複数の状態機械の各々内へコマンドを転送する工程であって、状態機械の各々内へ転送されるコマンドは各状態機械より比較的上位の階層にあるサブシステムから各状態機械において受信されるコマンドであるところの工程と、
    から成る方法。
  16. 請求項15に記載の方法であって、階層によって定義された順序で関連する状態機械の状態を評価する工程は、比較的上位の階層内にあるデジタル信号処理及び条件付けオブジェクトに関連する状態機械の評価の前に、比較的下位の階層内にあるデジタル信号処理及び条件付けオブジェクトに関連する状態機械を評価する、ところの方法。
  17. 請求項14に記載の方法であって、階層によって定義された順序で関連する状態機械の状態を評価する工程がさらに、
    システムの複数のサブシステムから受信された信号をメモリ内に保存する工程と、
    メモリ内に保存された信号に応答して上方向に状態機械を評価する工程であって、比較的上位の階層内にあるサブシステムに関連する状態機械の前に比較的下位の階層内にあるサブシステムに関連する状態機械が評価され、当該状態機械は当該状態機械より比較的下位の階層内にあるサブシステムに関連する状態機械から受信した状態データのみを使って評価されるところの工程と、
    外部ユーザーからコマンドを受信する工程と、
    外部ユーザーからのコマンドに応答して下方向へ状態機械を評価する工程であって、比較的下位の階層内にあるサブシステムに関連する状態機械の前に比較的上位の階層内にあるサブシステムに関連する状態機械が評価され、当該状態機械は当該状態機械より比較的上位の階層内にあるサブシステムに関連する状態機械から受信したコマンドのみを使って評価されるところの工程と、
    から成るところの方法。
  18. 請求項14に記載の方法であって、状態機械の各々は関連するサブシステムにおいてエラーを識別するための少なくともひとつのエラー状態から成るところの方法。
  19. 請求項14に記載の方法であって、状態機械の各々はさらに関連するサブシステムの変化状態を識別するための少なくともひとつの遷移状態から成るところの方法。
  20. 請求項14に記載の方法であって、状態機械の各々はさらに関連するサブシステムの固定された状態を示すための少なくともひとつの停止状態から成るところの方法。
  21. 請求項14に記載の方法であって
    前記状態機械の各々に関連づけられるエラー状態は、関連するサブシステムのエラーを示し、関連するサブシステムの各々エラーは、サブシステムの所定のレベルの階層に送信される、ことを特徴とする方法。
  22. 請求項17に記載の方法であって、
    サブシステムの各々はデータフロー図に関連づけられ
    上方向へ状態機械を評価する工程は階層の昇順に関連するサブシステムの状態機械を評価する前に階層の昇順にサブシステムのデータフロー図を評価する工程を含む、ところの方法。
  23. 請求項22に記載の方法であって、
    下方向へ状態機械を評価する工程は階層の降順に関連するサブシステムの状態機械を評価した後に階層の降順にサブシステムのデータフロー図を評価する工程を含む、ところの方法。
  24. 装置を制御するための制御システムであって、
    前記装置に結合されたプロセッサを含み
    前記プロセッサは、
    前記装置に関連した信号を保存するためのメモリであって、前記信号は前記装置の動作の間、前記装置から受信され及び装置へ送られる、ところのメモリと、
    前記装置の作動機能を表す階層的に結合し相互接続する複数のサブシステムを含む階層的なデータ構造であって、相互接続するサブシステムのそれぞれが少なくとも一つのオブジェクトによって表されるところの階層的データ構造と、
    前記階層データ構造へ信号を送るための手段と、
    前記信号に応答して制御された方法で階層データ構造内の状態を更新するための手段であって、実行サイクルの間に、オブジェクトの状態を階層の昇順及び降順に評価する手段を含む、ところの手段と、
    装置の動作の間に階層データ構造のオブジェクトの各々の実行をスケジューリングするためのスケジューラであって、スケジューリングは制御システムの実行プロトコルに応答して行われる、ところのスケジューラ、を含み
    少なくとも一つのオブジェクトの各々は少なくとも一つの状態機械若しくはデータフロー図のいずれかを含み、制御システムの実行プロトコルは、前記状態機械及び階層データ構造のデータフロー図の実行の順序を指令する、
    ことを特徴とする制御システム。
  25. 請求項24に記載の制御システムであって、階層の昇順でオブジェクトの状態を評価するための手段は各オブジェクトより階層データ構造内で比較的下位であるオブジェクトからの情報を使用してオブジェクトの各々の状態を評価する、ところの制御システム。
  26. 請求項24に記載の制御システムであって、階層の降順でオブジェクトの状態を評価するための手段は各オブジェクトより階層データ構造内で比較的上位であるオブジェクトからの情報を使用してオブジェクトの各々の状態を評価する、ところの制御システム。
  27. 請求項24に記載の制御システムであって、
    実行プロトコルは実行の4つの位相を含み、
    それは上方データフロー実行位相、上方状態機械実行位相、下方状態機械実行位相及び下方データフロー実行位相から成る、
    ところの制御システム。
  28. 請求項24に記載の制御システムであって、装置はイオン注入システムである、ところの制御システム。
JP2000590015A 1998-12-22 1999-12-10 階層的状態機械を使ってシステムを制御するための方法及び装置 Expired - Lifetime JP4693142B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/219,584 US6374144B1 (en) 1998-12-22 1998-12-22 Method and apparatus for controlling a system using hierarchical state machines
US09/219,584 1998-12-22
PCT/US1999/029264 WO2000038022A1 (en) 1998-12-22 1999-12-10 Method and apparatus for controlling a system using hierarchical state machines

Publications (3)

Publication Number Publication Date
JP2002533795A JP2002533795A (ja) 2002-10-08
JP2002533795A5 JP2002533795A5 (ja) 2006-12-28
JP4693142B2 true JP4693142B2 (ja) 2011-06-01

Family

ID=22819877

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000590015A Expired - Lifetime JP4693142B2 (ja) 1998-12-22 1999-12-10 階層的状態機械を使ってシステムを制御するための方法及び装置

Country Status (9)

Country Link
US (1) US6374144B1 (ja)
EP (1) EP1141793B1 (ja)
JP (1) JP4693142B2 (ja)
KR (1) KR100623109B1 (ja)
CN (1) CN1124530C (ja)
AU (1) AU3117000A (ja)
DE (1) DE69913201T2 (ja)
TW (1) TW466387B (ja)
WO (1) WO2000038022A1 (ja)

Families Citing this family (87)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6889110B1 (en) * 1999-10-01 2005-05-03 Novellus Systems, Inc. Operational lists for simultaneous wafer scheduling and system event scheduling
US6986146B2 (en) * 2001-05-30 2006-01-10 Siemens Communications, Inc. Method and apparatus for providing a state machine operating on a real-time operating system
GB2377285A (en) * 2001-07-02 2003-01-08 Ubinetics Ltd State machine
US6823220B2 (en) * 2001-10-10 2004-11-23 Ge Medical Systems Global Technology Company, Llc Design and implementation device for real-time controllers
US6907305B2 (en) 2002-04-30 2005-06-14 Advanced Micro Devices, Inc. Agent reactive scheduling in an automated manufacturing environment
US7512454B1 (en) 2002-05-31 2009-03-31 Advanced Micro Devices, Inc. Display unit with processor and communication controller
US20030225474A1 (en) * 2002-05-31 2003-12-04 Gustavo Mata Specialization of active software agents in an automated manufacturing environment
US6782302B1 (en) 2002-08-30 2004-08-24 Advanced Micro Devices, Inc. Method and apparatus for scheduling workpieces with compatible processing requirements
US6904329B1 (en) 2002-08-30 2005-06-07 Advanced Micro Devices, Inc. Method and apparatus for generating a multi-dimensional cost function
US7813993B1 (en) 2002-08-30 2010-10-12 Advanced Micro Devices, Inc. Method and apparatus for scheduling a resource
US7069097B1 (en) 2002-08-30 2006-06-27 Advanced Micro Devices, Inc. Method and apparatus for reducing scheduling conflicts for a resource
US6801819B1 (en) 2002-08-30 2004-10-05 Advanced Micro Devices, Inc. Method and apparatus for evaluating bids for scheduling a resource
US7127310B1 (en) 2002-08-30 2006-10-24 Advanced Micro Devices, Inc. Method and apparatus for determining cost functions using parameterized components
US7319907B2 (en) * 2002-11-18 2008-01-15 International Remote Imaging Systems, Inc. Multi-level controller system
US7027885B1 (en) 2002-12-30 2006-04-11 Advanced Micro Devices, Inc. Determining batch start versus delay
US7135789B2 (en) * 2003-05-12 2006-11-14 Potentia Semiconductor, Inc. Controlling devices using cascaded control units
CN100396061C (zh) * 2003-07-05 2008-06-18 华为技术有限公司 一种用状态机对异步操作进行控制的方法
US10086511B2 (en) 2003-11-10 2018-10-02 Brooks Automation, Inc. Semiconductor manufacturing systems
US20070269297A1 (en) 2003-11-10 2007-11-22 Meulen Peter V D Semiconductor wafer handling and transport
US8639489B2 (en) * 2003-11-10 2014-01-28 Brooks Automation, Inc. Methods and systems for controlling a semiconductor fabrication process
US20070282480A1 (en) * 2003-11-10 2007-12-06 Pannese Patrick D Methods and systems for controlling a semiconductor fabrication process
US8639365B2 (en) * 2003-11-10 2014-01-28 Brooks Automation, Inc. Methods and systems for controlling a semiconductor fabrication process
US20060200744A1 (en) * 2003-12-08 2006-09-07 Adrian Bourke Distributing and displaying still photos in a multimedia distribution system
US8472792B2 (en) 2003-12-08 2013-06-25 Divx, Llc Multimedia distribution system
US7519274B2 (en) 2003-12-08 2009-04-14 Divx, Inc. File format for multiple track digital data
US20060031355A1 (en) * 2004-05-21 2006-02-09 Bea Systems, Inc. Programmable service oriented architecture
US20060007918A1 (en) * 2004-05-21 2006-01-12 Bea Systems, Inc. Scaleable service oriented architecture
US20060080419A1 (en) * 2004-05-21 2006-04-13 Bea Systems, Inc. Reliable updating for a service oriented architecture
US20060031353A1 (en) * 2004-05-21 2006-02-09 Bea Systems, Inc. Dynamic publishing in a service oriented architecture
US20050273502A1 (en) * 2004-05-21 2005-12-08 Patrick Paul B Service oriented architecture with message processing stages
US7310684B2 (en) * 2004-05-21 2007-12-18 Bea Systems, Inc. Message processing in a service oriented architecture
US7653008B2 (en) * 2004-05-21 2010-01-26 Bea Systems, Inc. Dynamically configurable service oriented architecture
US20060031354A1 (en) * 2004-05-21 2006-02-09 Bea Systems, Inc. Service oriented architecture
US20060069791A1 (en) * 2004-05-21 2006-03-30 Bea Systems, Inc. Service oriented architecture with interchangeable transport protocols
US20050273520A1 (en) * 2004-05-21 2005-12-08 Bea Systems, Inc. Service oriented architecture with file transport protocol
US20050278335A1 (en) * 2004-05-21 2005-12-15 Bea Systems, Inc. Service oriented architecture with alerts
US20050273516A1 (en) * 2004-05-21 2005-12-08 Bea Systems, Inc. Dynamic routing in a service oriented architecture
US20050270970A1 (en) * 2004-05-21 2005-12-08 Bea Systems, Inc. Failsafe service oriented architecture
US20050267947A1 (en) * 2004-05-21 2005-12-01 Bea Systems, Inc. Service oriented architecture with message processing pipelines
US20050278374A1 (en) * 2004-05-21 2005-12-15 Bea Systems, Inc. Dynamic program modification
US20060031433A1 (en) * 2004-05-21 2006-02-09 Bea Systems, Inc. Batch updating for a service oriented architecture
US20060031481A1 (en) * 2004-05-21 2006-02-09 Bea Systems, Inc. Service oriented architecture with monitoring
US20060031432A1 (en) * 2004-05-21 2006-02-09 Bea Systens, Inc. Service oriented architecture with message processing pipelines
US20050273497A1 (en) * 2004-05-21 2005-12-08 Bea Systems, Inc. Service oriented architecture with electronic mail transport protocol
US20060031930A1 (en) * 2004-05-21 2006-02-09 Bea Systems, Inc. Dynamically configurable service oriented architecture
US7774485B2 (en) * 2004-05-21 2010-08-10 Bea Systems, Inc. Dynamic service composition and orchestration
US20050264581A1 (en) * 2004-05-21 2005-12-01 Bea Systems, Inc. Dynamic program modification
US20050273517A1 (en) * 2004-05-21 2005-12-08 Bea Systems, Inc. Service oriented architecture with credential management
US20050267892A1 (en) * 2004-05-21 2005-12-01 Patrick Paul B Service proxy definition
US20060005063A1 (en) * 2004-05-21 2006-01-05 Bea Systems, Inc. Error handling for a service oriented architecture
US20060031431A1 (en) * 2004-05-21 2006-02-09 Bea Systems, Inc. Reliable updating for a service oriented architecture
US20050273521A1 (en) * 2004-05-21 2005-12-08 Bea Systems, Inc. Dynamically configurable service oriented architecture
US7337032B1 (en) 2004-10-04 2008-02-26 Advanced Micro Devices, Inc. Scheduling ahead for various processes
US20060080331A1 (en) * 2004-10-12 2006-04-13 International Business Machines Corporation Common interface system administration service library
US7463939B1 (en) 2004-11-18 2008-12-09 Advanced Micro Devices, Inc. Scheduling tools with queue time constraints
US20080275582A1 (en) * 2004-11-19 2008-11-06 Nettles Steven C Scheduling AMHS pickup and delivery ahead of schedule
US8806490B1 (en) * 2004-12-08 2014-08-12 Cadence Design Systems, Inc. Method and apparatus for managing workflow failures by retrying child and parent elements
US20070022126A1 (en) * 2005-07-21 2007-01-25 Caterpillar Inc. Method and apparatus for updating an asset catalog
US7515710B2 (en) 2006-03-14 2009-04-07 Divx, Inc. Federated digital rights management scheme including trusted systems
DE102006021767A1 (de) * 2006-05-10 2007-11-15 Siemens Ag Bediengerät zum Informationsaustausch mit einem Feldgerät in einem Automatisierungssystem
US7877727B2 (en) * 2006-08-18 2011-01-25 Bitrouter Hierarchical state programming with a markup language
DE102006046108A1 (de) * 2006-09-28 2008-04-17 Pcs Systemtechnik Gmbh Programmierbare Steuerung zum Betreiben einer maschinellen Einrichtung
US8950998B2 (en) * 2007-02-27 2015-02-10 Brooks Automation, Inc. Batch substrate handling
US8996394B2 (en) * 2007-05-18 2015-03-31 Oracle International Corporation System and method for enabling decision activities in a process management and design environment
US8185916B2 (en) 2007-06-28 2012-05-22 Oracle International Corporation System and method for integrating a business process management system with an enterprise service bus
WO2009065137A1 (en) 2007-11-16 2009-05-22 Divx, Inc. Hierarchical and reduced index structures for multimedia files
US8510303B2 (en) 2009-01-07 2013-08-13 Divx, Llc Singular, collective and automated creation of a media guide for online content
JP5723888B2 (ja) 2009-12-04 2015-05-27 ソニック アイピー, インコーポレイテッド 基本ビットストリーム暗号材料伝送システムおよび方法
US9247312B2 (en) 2011-01-05 2016-01-26 Sonic Ip, Inc. Systems and methods for encoding source media in matroska container files for adaptive bitrate streaming using hypertext transfer protocol
US9165029B2 (en) * 2011-04-12 2015-10-20 Microsoft Technology Licensing, Llc Navigating performance data from different subsystems
KR102074148B1 (ko) 2011-08-30 2020-03-17 엔엘디 엘엘씨 복수의 최대 비트레이트 레벨들을 사용하여 인코딩된 비디오를 인코딩하고 스트리밍하기 위한 시스템들 및 방법들
US9467708B2 (en) 2011-08-30 2016-10-11 Sonic Ip, Inc. Selection of resolutions for seamless resolution switching of multimedia content
US8818171B2 (en) 2011-08-30 2014-08-26 Kourosh Soroushian Systems and methods for encoding alternative streams of video for playback on playback devices having predetermined display aspect ratios and network connection maximum data rates
US8964977B2 (en) 2011-09-01 2015-02-24 Sonic Ip, Inc. Systems and methods for saving encoded media streamed using adaptive bitrate streaming
US8909922B2 (en) 2011-09-01 2014-12-09 Sonic Ip, Inc. Systems and methods for playing back alternative streams of protected content protected using common cryptographic information
US10452715B2 (en) 2012-06-30 2019-10-22 Divx, Llc Systems and methods for compressing geotagged video
US9191457B2 (en) 2012-12-31 2015-11-17 Sonic Ip, Inc. Systems, methods, and media for controlling delivery of content
US9313510B2 (en) 2012-12-31 2016-04-12 Sonic Ip, Inc. Use of objective quality measures of streamed content to reduce streaming bandwidth
EP2770431B1 (en) * 2013-02-25 2017-01-04 Telefonica S.A. System and method to trigger cross-layer optimizations in a network
US10397292B2 (en) 2013-03-15 2019-08-27 Divx, Llc Systems, methods, and media for delivery of content
US9906785B2 (en) 2013-03-15 2018-02-27 Sonic Ip, Inc. Systems, methods, and media for transcoding video data according to encoding parameters indicated by received metadata
US9094737B2 (en) 2013-05-30 2015-07-28 Sonic Ip, Inc. Network video streaming with trick play based on separate trick play files
US9967305B2 (en) 2013-06-28 2018-05-08 Divx, Llc Systems, methods, and media for streaming media content
US9866878B2 (en) 2014-04-05 2018-01-09 Sonic Ip, Inc. Systems and methods for encoding and playing back video at different frame rates using enhancement layers
US10148989B2 (en) 2016-06-15 2018-12-04 Divx, Llc Systems and methods for encoding video content
US10498795B2 (en) 2017-02-17 2019-12-03 Divx, Llc Systems and methods for adaptive switching between multiple content delivery networks during adaptive bitrate streaming
CN114200899A (zh) * 2021-11-16 2022-03-18 中国航空工业集团公司雷华电子技术研究所 一种多子系统控制方法及其系统电子设备、可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4551815A (en) * 1983-12-12 1985-11-05 Aerojet-General Corporation Functionally redundant logic network architectures with logic selection means
US5469553A (en) * 1992-04-16 1995-11-21 Quantum Corporation Event driven power reducing software state machine
US5689702A (en) * 1995-06-07 1997-11-18 Microtec Research, Inc. Flexible data structure layout for data structure including bit-field data members
JPH10505179A (ja) * 1994-09-02 1998-05-19 スクウエアー ディー カンパニー パラメータ事前リンク構成のマシン/プロセス制御装置用図形プログラミングインタフェイス
JP2001507490A (ja) * 1996-12-25 2001-06-05 エマルテック・リミテッド 階層的状態チャートを実現するデバイス及び方法及びそれに有用な装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL78542A0 (en) * 1986-04-18 1986-08-31 Yeda Res & Dev Electronic controller based on the use of statecharts as an abstract model
EP0397924B1 (en) * 1989-05-17 1995-11-29 Koninklijke Philips Electronics N.V. Work station controller module
FR2686175B1 (fr) * 1992-01-14 1996-12-20 Andre Thepaut Systeme de traitement de donnees multiprocesseur.
US5432352A (en) * 1993-09-20 1995-07-11 Eaton Corporation Ion beam scan control
US5504896A (en) * 1993-12-29 1996-04-02 At&T Corp. Method and apparatus for controlling program sources in an interactive television system using hierarchies of finite state machines
EP0795148B1 (en) 1995-09-28 2002-02-27 Koninklijke Philips Electronics N.V. A method for specifying a system comprising a plurality of interconnected functional modules each representing a respective abstract-state based machine, and a system so specified
US5691895A (en) * 1995-12-18 1997-11-25 International Business Machines Corporation Mechanism and architecture for manufacturing control and optimization
US5710700A (en) * 1995-12-18 1998-01-20 International Business Machines Corporation Optimizing functional operation in manufacturing control

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4551815A (en) * 1983-12-12 1985-11-05 Aerojet-General Corporation Functionally redundant logic network architectures with logic selection means
US5469553A (en) * 1992-04-16 1995-11-21 Quantum Corporation Event driven power reducing software state machine
JPH10505179A (ja) * 1994-09-02 1998-05-19 スクウエアー ディー カンパニー パラメータ事前リンク構成のマシン/プロセス制御装置用図形プログラミングインタフェイス
US5689702A (en) * 1995-06-07 1997-11-18 Microtec Research, Inc. Flexible data structure layout for data structure including bit-field data members
JP2001507490A (ja) * 1996-12-25 2001-06-05 エマルテック・リミテッド 階層的状態チャートを実現するデバイス及び方法及びそれに有用な装置

Also Published As

Publication number Publication date
KR100623109B1 (ko) 2006-09-13
AU3117000A (en) 2000-07-12
DE69913201D1 (de) 2004-01-08
DE69913201T2 (de) 2004-08-12
CN1331813A (zh) 2002-01-16
KR20010089671A (ko) 2001-10-08
US6374144B1 (en) 2002-04-16
JP2002533795A (ja) 2002-10-08
TW466387B (en) 2001-12-01
EP1141793A1 (en) 2001-10-10
EP1141793B1 (en) 2003-11-26
CN1124530C (zh) 2003-10-15
WO2000038022A1 (en) 2000-06-29

Similar Documents

Publication Publication Date Title
JP4693142B2 (ja) 階層的状態機械を使ってシステムを制御するための方法及び装置
EP0423287B1 (en) Batch process control using expert systems
US4884217A (en) Expert system with three classes of rules
Glassey et al. Closed-loop job release control for VLSI circuit manufacturing
KR100932563B1 (ko) 통계적으로 반복가능한 응답 시간을 갖는 다목적 반도체제조 제어기
US5006992A (en) Process control system with reconfigurable expert rules and control modules
EP0335957B1 (en) Expert system with process control
CN101652838B (zh) 配方和元件控制模块及其方法
Saygin et al. Real-time manipulation of alternative routeings in flexible manufacturing systems: a simulation study
Kremer-Herman et al. A lightweight model for right-sizing master-worker applications
Peng et al. Real-time control and scheduling of flexible manufacturing systems: an ordinal optimisation based approach
Agre et al. A taxonomy of distributed real-time control systems
Neill et al. On the benefits of work stealing in shared-memory multiprocessors
Badr An agent-based scheduling framework for flexible manufacturing systems
Dufaud et al. Design of data management for multi SPMD workflow programming model
Tudruj et al. Load balancing with migration based on synchronizers in PS-GRADE graphical tool
Korbaa et al. Solving transient scheduling problems with constraint programming
Féret et al. An architecture for real-time diagnostics systems
Reich et al. Symbolic Simulation Based Techniques for Debugging Discrete Control Programs
JPH03253965A (ja) コントローラによるマルチタスク処理方式
Restrepo et al. PC BASED CELL CONTROLLER FOR INTELLIGENT ROBOT SCHEDULING
JP2722851B2 (ja) プロセス制御装置
Mehra et al. Learning load-balancing strategies using artificial neural networks
Mitchell et al. Clustering module dependency graphs of software systems using the bunch tool
Hassapis Simulation of embedded VME multiprocessors

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061107

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061107

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080515

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090526

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090818

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090825

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20091020

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20091027

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100315

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100506

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100513

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100713

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100721

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100816

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100823

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100915

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110221

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110221

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140304

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4693142

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term