JP2022136603A - 制御装置、システム、基板処理装置、物品の製造方法、制御方法及びプログラム - Google Patents
制御装置、システム、基板処理装置、物品の製造方法、制御方法及びプログラム Download PDFInfo
- Publication number
- JP2022136603A JP2022136603A JP2021036298A JP2021036298A JP2022136603A JP 2022136603 A JP2022136603 A JP 2022136603A JP 2021036298 A JP2021036298 A JP 2021036298A JP 2021036298 A JP2021036298 A JP 2021036298A JP 2022136603 A JP2022136603 A JP 2022136603A
- Authority
- JP
- Japan
- Prior art keywords
- task
- periodic
- communication
- processing
- processor
- 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.)
- Pending
Links
- 239000000758 substrate Substances 0.000 title claims description 50
- 238000000034 method Methods 0.000 title claims description 41
- 238000004519 manufacturing process Methods 0.000 title claims description 15
- 238000012545 processing Methods 0.000 claims abstract description 155
- 238000004891 communication Methods 0.000 claims abstract description 120
- 230000000737 periodic effect Effects 0.000 claims abstract description 75
- 230000004044 response Effects 0.000 claims abstract description 22
- 230000008569 process Effects 0.000 claims description 30
- 125000002015 acyclic group Chemical group 0.000 abstract 1
- 125000004122 cyclic group Chemical group 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 15
- 230000003287 optical effect Effects 0.000 description 9
- 230000003111 delayed effect Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 3
- 238000005286 illumination Methods 0.000 description 3
- 230000010365 information processing Effects 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 239000011248 coating agent Substances 0.000 description 1
- 238000000576 coating method Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000005530 etching Methods 0.000 description 1
- 230000001678 irradiating effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003647 oxidation Effects 0.000 description 1
- 238000007254 oxidation reaction Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000007740 vapor deposition Methods 0.000 description 1
- 235000021419 vinegar Nutrition 0.000 description 1
- 239000000052 vinegar Substances 0.000 description 1
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Debugging And Monitoring (AREA)
Abstract
【課題】 周期処理を行いながら、非周期処理の遅延を抑制することができる制御装置を提供する。
【解決手段】 タスクを実行する複数のプロセッサを有し、ネットワークを介して接続されたスレーブ装置を制御する制御装置であって、前記スレーブ装置を制御するための指令データ又は前記スレーブ装置からの応答データを含むデータフレームの周期通信に係る周期処理を実行する周期タスクの実行に要する実行時間を取得する取得部と、前記周期通信の周期と前記実行時間とに基づき前記周期タスクを実行するプロセッサを前記複数のプロセッサのうちから決定する決定部と、を有し、決定された前記プロセッサにおいて前記周期タスクが実行される。
【選択図】 図4
【解決手段】 タスクを実行する複数のプロセッサを有し、ネットワークを介して接続されたスレーブ装置を制御する制御装置であって、前記スレーブ装置を制御するための指令データ又は前記スレーブ装置からの応答データを含むデータフレームの周期通信に係る周期処理を実行する周期タスクの実行に要する実行時間を取得する取得部と、前記周期通信の周期と前記実行時間とに基づき前記周期タスクを実行するプロセッサを前記複数のプロセッサのうちから決定する決定部と、を有し、決定された前記プロセッサにおいて前記周期タスクが実行される。
【選択図】 図4
Description
本発明は、制御装置、システム、基板処理装置、物品の製造方法、制御方法及びプログラムに関する。
マスタ装置とスレーブ装置との間でデータの送受信(通信)を行うシステムでは、一定の周期ごとに通信(周期通信)を行うものがある。特許文献1では、第1のタスクを第1の制御周期で実行するための第1の演算部と、第2の制御周期で実行するための第2の演算部と、状況に応じて実行される第3のタスクを実行するための第3の演算部と、を含む制御装置が開示されている。つまり、特許文献1では、周期的に処理される第1、2のタスクと非周期的に処理される第3のタスクとが、それぞれ異なる演算部で実行されることが開示されている。
マスタ装置とスレーブ装置との間で通信を行うシステムでは、マスタ装置と接続するスレーブ装置の数が増加することにより、マスタ装置の処理部において実行される周期処理に係るタスク(周期タスク)の実行に要する時間(実行時間)が増加する。また、スレーブ装置を制御するための処理の複雑度が増加することによっても、マスタ装置の処理部において実行される周期タスクの実行時間が増加する。また、周期処理は周期内で完了させる必要があることから非周期的に実行される非周期処理よりも高い優先度で実行される。その結果、非周期処理に係るタスク(非周期タスク)が実行される処理部に周期タスクが割り当てられることがある。そのことにより、周期タスクが完了するまで非周期タスクが処理待ちの状態になり、非周期タスクの完了が遅延する可能性がある。
そこで、本発明は、一定の周期でスレーブ装置と通信を行うための周期処理を行いながら、非周期処理の遅延を抑制することができる制御装置、システム、基板処理装置等を提供することを目的とする。
上記課題を解決する本発明の一側面としての制御装置は、タスクを実行する複数のプロセッサを有し、ネットワークを介して接続されたスレーブ装置を制御する制御装置であって、前記スレーブ装置を制御するための指令データ又は前記スレーブ装置からの応答データを含むデータフレームの周期通信に係る周期処理を実行する周期タスクの実行に要する実行時間を取得する取得部と、前記周期通信の周期と前記実行時間とに基づき前記周期タスクを実行するプロセッサを前記複数のプロセッサのうちから決定する決定部と、前記周期タスクが決定された前記プロセッサにおいて実行されることにより、前記ネットワークを介して前記周期ごとに前記データフレームを通信する通信部と、を有する。
本発明の更なる目的又はその他の側面は、以下、添付図面を参照して説明される実施形態によって明らかにされるであろう。
本発明によれば、一定の周期でスレーブ装置と通信を行うための周期処理を行いながら、非周期処理の遅延を抑制することができる制御装置、システム、基板処理装置等が提供される。
以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。更に、添付図面においては、同一もしくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
<第1実施形態>
図1は、システム100の構成を示す図である。システム100は、マスタ装置110(制御装置)と、マスタ装置110に通信可能に接続される複数のスレーブ装置120と、スレーブ装置121、122、及び123のそれぞれに通信可能に接続されるユニット131、132、及び133とを有する。ここで、以降の記載では、スレーブ装置121、122、及び123を総称して、単にスレーブ装置120と称することがある。また、同様に以降の記載では、ユニット131、132、及び133を総称して、単にユニット130と称することがある。
図1は、システム100の構成を示す図である。システム100は、マスタ装置110(制御装置)と、マスタ装置110に通信可能に接続される複数のスレーブ装置120と、スレーブ装置121、122、及び123のそれぞれに通信可能に接続されるユニット131、132、及び133とを有する。ここで、以降の記載では、スレーブ装置121、122、及び123を総称して、単にスレーブ装置120と称することがある。また、同様に以降の記載では、ユニット131、132、及び133を総称して、単にユニット130と称することがある。
システム100において、マスタ装置110は、スレーブ装置120を制御し、スレーブ装置120は、ユニット130を制御する。ここで、図1では、マスタ装置110およびスレーブ装置120は、通信可能に接続されたコンピュータ(情報処理装置)によって実現されうるが、ボードコンピュータで構成されてもよいし、ボードコンピュータと兼用するように構成されてもよい。また、ユニット130は、例えば入力リレーや各種センサ、サーボモータ、その他任意のアクチュエータ等の機構であり、スレーブ装置120によって制御されうる。
スレーブ装置120は、ディジーチェーン方式でマスタ装置110に通信可能に接続されている。マスタ装置110は、ネットワーク140を介して、一定周期ごとに、スレーブ装置120とデータの通信(周期通信)を行う。また、スレーブ装置120は、マスタ装置110から受信したデータに基づいて、ユニット130をそれぞれ制御する。
次に、ネットワーク140の一例として、産業用イーサネット(登録商標)の1つであるEtherCAT(登録商標)について説明する。EtherCAT(登録商標)において、ネットワークを介して接続されたマスタ装置は、複数のスレーブ装置に対してデータフレームを送信し、複数のスレーブ装置が受信したデータフレームにオンザフライでデータを書き込む。この際、マスタ装置と複数のスレーブ装置との間の通信には、PDO通信と、SDO通信とが用いられる。PDO通信とは、プロセスデータオブジェクト(PDO:Process Data Object)と呼ばれるデータを使用して一定周期で通信を行う通信方式である。また、SDO通信とは、サービスデータオブジェクト(SDO:Service Data Object)と呼ばれるデータを使用してマスタ装置からの要求に応じて通信を行う通信方式である。PDO通信では、一定周期(例えば、1m秒)でデータフレームの通信が完了するため、データの到達時間が保証される。一方、SDO通信では、一周期内で通信が完了するとは限らないため、データの到達時間が保証されない。
ネットワーク140としてEtherCAT(登録商標)を採用する場合には、ネットワーク140に接続されるノードのうち、少なくとも1つのノードがマスタ装置110として機能し、その他のノードがスレーブ装置120として機能しうる。マスタ装置110として機能するノードは、ネットワーク140におけるデータフレームの通信タイミングなどを管理(制御)する。
ここで、システム100は、マスタ装置110に通信可能に接続されるスレーブ装置120として3つのスレーブ装置121、122、及び123を有するが、スレーブ装置120の数は3つに限られるものではない。また、システム100は、スレーブ装置120により制御されるユニット130として3つのユニット131、132、及び133を有する。ユニット131はスレーブ装置121によって制御され、ユニット132はスレーブ装置122によって制御され、ユニット133はスレーブ装置123によって制御される。本実施形態では、それぞれのスレーブ装置120にそれぞれのユニット130が1つずつ対応しているが、1つのスレーブ装置が制御するユニットは複数になりうる。
また、ユニット130は、例えば、物体を駆動するためのサーボモータとすることができる。サーボモータは、高い制御精度が要求されるため、周期的な制御が必要とされる。周期的な制御を実現するための通信が遅延した場合、サーボモータの動作が遅延するという問題が発生する可能性がある。また、駆動対象の物体を目標位置に精度よく位置決めできないという問題や駆動対象の物体が物理的な干渉を起こすという問題が発生する可能性もある。
図2は、マスタ装置の構成を示す図である。図2において、処理部1101は、OS(Operating System)及び各種アプリケーションプログラムを実行する中央演算処理部(CPU)ある。また、処理部1101は、例えば、複数のCPUを有するマルチCPU、又は複数のコアを有するマルチコアCPUであり、並列にタスクを処理することができるプロセッサ1111、1112、及び1113を有する。図2では、3つのプロセッサ1111、1112、及び1113を例示しているが、プロセッサの数は3つに限られるものではなく、2つ以上であればよい。また、処理部1101は中央演算処理部(CPU)にだけでなく、マイクロプロセッシングユニット(MPU)、グラフィクスプロセッシングユニット(GPU)、特定用途向け集積回路(ASIC)等のプロセッサ又は回路の組合せから構成されてもよい。ここで、以降の記載では、プロセッサ1111、1112、及び1113を総称して単にプロセッサ1110と称することがある。
ROM1102は、処理部1101が実行するプログラムや演算用のパラメータのうちの固定的なデータを格納するメモリである。RAM1103は、処理部1101の作業領域やデータの一時記憶領域を提供するメモリである。ROM1102及びRAM1103は、バス1108を介して処理部1101に接続される。1105はマウス、キーボードなどを含む入力装置(入力装置)、1106はCRTや液晶ディスプレイなどの表示装置(表示装置)である。また、入力装置1105及び表示装置1106は、タッチパネル等の一体型の装置であってもよい。また、入力装置1105及び表示装置1106は、コンピュータとは別体の装置として構成されてもよい。1104は、ハードディスク装置、CD、DVD、メモリカード等の記憶装置であり、各種プログラムや各種データ等を記憶する。入力装置1105、表示装置1106、及び記憶装置1104はそれぞれ、不図示のインタフェースを介してバス1108に接続されている。また、ネットワークを介して通信を行うための通信装置1107も、バス1108に接続されている。通信装置1107は、例えばLANに接続してTCP/IP等の通信プロトコルによるデータ通信を行い、他の通信装置と相互に通信を行う場合に使用される。通信装置1107は、データの送信部および受信部として機能し、例えば、スレーブ装置120内の送信部(不図示)から応答データを受信して、RAM1103又は記憶装置1104に記憶する。
図3は処理部1101の構成を示す図である。処理部1101は、生成部112、通信部113、取得部114、及び決定部115を有する。生成部112は各スレーブ装置120を制御するための指令データを生成する。通信部113は各スレーブ装置120との間で指令データ等のデータを通信する。取得部114は、生成部112、通信部113等が実行するタスクの実行に要する時間(実行時間)などの情報を取得する。ここで、タスクとは、生成部112、通信部113等が実行する処理の単位であり、それぞれのタスクは処理部1101のいずれかのプロセッサで実行される。決定部115は、タスクを実行するプロセッサを決定する。
マスタ装置110は、生成部112に生成タスク1120を実行させて、各スレーブ装置120を制御するための指令データを生成させる。また、マスタ装置110は、通信部113に通信タスク1130を実行させて、ネットワーク140を介して、指令データをスレーブ装置120に送信して、スレーブ装置120からの応答データを受信させる。また、マスタ装置110がスレーブ装置120との間で周期通信を行うために周期的に実行される生成タスク1120及び通信タスク1130を周期タスクとする。また、マスタ装置110は、周期通信以外の処理を実行するための非周期タスク1160を実行させることもある。例えば、非周期タスク1160が行う処理には、任意のタイミングで通信を行い他の装置を制御するための処理や、マスタ装置110と接続する上位の装置(例えば、ホストコンピュータなど)からの任意のタイミングで指令を受けて行う処理などがある。
生成タスク1120は、制御対象とするスレーブ装置120に対応して設けられ、本実施形態では、例えば、3個のスレーブ装置121、122、及び123をそれぞれ制御対象とする3個の生成タスク1121、1122、及び1123が設けられている。生成タスク1121はスレーブ装置121を制御対象としており、スレーブ装置121での処理を制御するための指令データを生成する。また、生成タスク1122は、スレーブ装置122を制御対象としており、スレーブ装置122での処理を制御するための指令データを生成する。また、生成タスク1123は、スレーブ装置123を制御対象としており、スレーブ装置123での処理を制御するための指令データを生成する。本実施形態の例では、生成タスク1120とスレーブ装置120とは同数であるが、1つのスレーブ装置120に対して生成タスク1120の数が1つ以上であればよく、生成タスク1120とスレーブ装置120とは必ずしも同数である必要はない。
次に、本実施形態に係るタスクの実行処理について説明する。図4は、タスクの実行処理を示すフローチャートである。まず、図4における処理について説明する。S101において、取得部114は、処理部1101のプロセッサの数、周期通信における周期などの情報を記憶装置1104から取得し、取得した情報を決定部115に通知する。
S102において、取得部114は、生成タスク1120及び通信タスク1130が処理部1101において実行される実行時間を記憶装置1104から取得して、決定部115に通知する。ここで、タスクの実行時間は、例えば、タスクが実行されたときの実行時間を予め計測されることにより取得される。また、タスクの実行時間は、タスクを構成するプログラムのステップ数と処理部1101の演算能力(クロック周波数等の処理部1101の演算能力の指標となる数値等)から実行時間を予め算出することにより取得されてもよい。
S200において、決定部115は、マスタ装置110と各スレーブ装置120との間で行われる周期通信の1周期の時間(周期)と各タスクの実行時間とに基づいて、タスクを実行するプロセッサを決定する。具体的には、各タスクをプロセッサ1111、1112、及び1113のうちいずれのプロセッサで、どのような順番で実行させるかを決定する。
ここで、S200における処理を、図5を用いて詳細に説明する。図5は、タスクを実行するプロセッサの決定処理を示すフローチャートである。S201において、決定部115は、取得部114により取得された周期通信の周期と、通信タスク1130の実行時間から、処理部1101の各プロセッサにおいて周期内に生成タスク1120の実行のための空き時間を取得する。具体的には、S101で取得された周期をTc、S102で取得された通信タスク1130の実行時間をTioとしたとき、処理部1101の各プロセッサにおける空き時間Tbは、Tb=Tc-Tioと算出される。
ここで、通信タスク1130の動作について説明する。通信タスク1130は、ネットワーク140を介して、ある周期の最初にスレーブ装置120と周期通信を行う。例えば、通信タスク1130は、ネットワーク140を介して、前の周期において生成タスク1120により生成された指令データを、スレーブ装置120に送信するとともに、スレーブ装置120から応答データを受信する。応答データとは、例えば、指令データによって指令された処理が完了したか否かを示すデータである。そして、通信タスク1130により受信された応答データを入力データとして、生成タスク1120が次にスレーブ装置に送信する指令データを生成する。そのため、その周期における通信タスク1130の受信処理が完了しないと、生成タスク1120が処理を開始することができないという制約がある。よって、空き時間Tbは周期Tcから通信タスクの実行時間Tioを減じた時間になる。つまり、空き時間Tbは、処理部1101の各プロセッサにおいて生成タスク1120が周期内に処理を完了することができる最大時間である。
ここで、決定部115は、処理部1101のプロセッサに対応するグループを処理部1101のプロセッサの数だけ用意し、各グループに生成タスク1120を割り当てる。そして、グループに割り当てられた生成タスク1120は、割り当てられたグループに対応する、処理部1101のプロセッサにおいて実行される。よって、生成タスク1120の実行時間がグループに対応するプロセッサの空き時間Tbに収まるように生成タスク1120がグループに割り当てられれば、生成タスク1120は周期内に処理を完了することができる。また、複数の生成タスク1120の実行時間の合計が空き時間Tbに収まれば、1つのグループに複数の生成タスク1120を割り当てることも可能である。以下では、グループに対応するプロセッサの空き時間を、グループの空き時間とすることもある。また、処理部1101のプロセッサがn個(nは2以上の自然数)存在して、対応するグループもn個存在する場合、それぞれの空き時間をTb1~Tbnとする。なお、グループにタスクを割り当てる前は、Tb1~Tbnのそれぞれの値はTbと等しい。
次に、S202からS208の処理において、決定部115は、最大でn回の繰り返し処理(第1繰り返し処理)を行い、グループへ生成タスク1120を割り当てる。ここでは、一例として、S202からS208の処理において、決定部115は、X番目(Xは、1≦X≦nの自然数)のグループ(グループX)にタスクを割り当てることとし、グループXの空き時間をTbxとした場合の処理について説明する。
次に、S203からS207の処理において、決定部115は、グループに割り当てられていない生成タスク1120の数だけ繰り返し処理(第2繰り返し処理)を行い、グループXへの生成タスク1120の割り当てを決定する。ここで、グループに割り当てられていない生成タスク1120がm個(mは1以上の自然数)存在する場合、決定部115は、最大でm回の繰り返し処理を行い、グループXへの生成タスク1120の割り当てを決定する。また、決定部115は、グループXに生成タスク1120を割り当てるにあたり、グループに割り当てられていない生成タスク1120のそれぞれについて繰り返し処理を行う。また、決定部115は、生成タスク1120に対応する実行時間が長い順に生成タスク1120についての繰り返し処理を行う。
ここで、m個の生成タスク1120が存在して、それぞれの生成タスク1120に対応する実行時間をTt1~Ttmとする。また、以下では、処理対象の生成タスク1120を生成タスクYとし、生成タスクYの実行時間をTtyとする。
次に、S204において、決定部115は、生成タスクYがグループXの空き時間Tbxで実行可能か否かを判定する。具体的には、決定部115は、Tbx≧Ttyが真であるか否かを判定する。生成タスクYがグループXの空き時間Tbxで実行可能と判定された場合(Tbx≧Ttyが真、S204がYes)、決定部115はS205に処理を進める。また、生成タスクYがグループXの空き時間Tbxで実行可能でないと判定された場合(Tbx≧Ttyが真でない、S204がNo)、決定部115はS203に処理を戻す。そして、決定部115は、次に実行時間の長いタスクを処理対象の生成タスクYとして次の第2繰り返し処理を実行する。
S205において、決定部115は、生成タスクYをグループXに割り当てる。そして、S206において、決定部115は、グループXの空き時間Tbxから、割り当てた生成タスクYの実行時間Ttyを減算し、グループXの空き時間Tbxを更新する。具体的には、グループXの空き時間Tbxは、Tbx-Ttyにより更新される。
S207において、グループに割り当てられていない生成タスク1120のうちすべての生成タスク1120に対して処理を行っていない場合は、決定部115は、S203に処理を戻して、次の生成タスク1120についてS203からS207の処理を行う。また、グループに割り当てられていない生成タスク1120のうちすべての生成タスク1120に対して処理を行った場合は、決定部115は、S203からS207の処理を終了させる。
S208において、すべてのグループに対して処理が行われていない場合、決定部115は、S202に処理を戻して、次のグループについてS202からS208の処理を行う。す。また、すべてのグループに対して処理が行われた場合、決定部115は、S202からS208の処理を終了させる。
ここで、図6を用いて、グループにタスクを割り当てる処理について説明する。図6は、本実施形態に係るタスクの割り当て処理の例を示した図である。まず、図6(a)を参照して、周期通信の周期と各タスクの実行時間について説明する。図6(a)の例では、周期通信の周期Tc、通信タスク1130の実行時間Tio、生成タスク1121、1122、及び1123の実行時間Tt1、Tt2、及びTt3を以下の式(1)~(5)の通りとする。
Tc=1[msec] ・・・(1)
Tio=200[μsec]・・・(2)
Tt1=400[μsec]・・・(3)
Tt2=700[μsec]・・・(4)
Tt3=300[μsec]・・・(5)
Tc=1[msec] ・・・(1)
Tio=200[μsec]・・・(2)
Tt1=400[μsec]・・・(3)
Tt2=700[μsec]・・・(4)
Tt3=300[μsec]・・・(5)
また、前述の通り、取得部114は、これらの実行時間を取得して、決定部115に通知するものとする(S102)。
次に、決定部115は、割り当てるグループの空き時間Tbを取得する(S201)。空き時間Tb=Tc-Tioであるため、Tb=800[μsec]となる。また、処理部1101のプロセッサの数が3個であることから、割り当てるグループも3個となる。そして、各グループにタスクを割り当てる前の時点では、それぞれのグループの空き時間Tb1、Tb2、Tb3は、Tb=Tb1=Tb2=Tb3=800[μsec]である。
次に、決定部115は、グループへ生成タスク1120を割り当てる(S202~S208)。まず、S301に示すように、決定部115は、グループ1に対して、実行時間の長い順番にタスクを割り当てていく。生成タスク1122の実行時間Tt2が700[μsec]であり、3つの生成タスクのうちで最も長い。ここで、Tb1≧Tt2であるため、決定部115は、生成タスク1122をグループ1に割り当てる。そして、決定部115は、グループ1の空き時間Tb1からTt2を減算した値で、Tb1を更新する(S206)。更新後の空き時間Tb1は、Tb1-Tt2=100[μsec]となる。
次に、決定部115は、グループ1の空き時間Tb1で他の生成タスクが実行可能か否かを判定する(S204)。ここで、グループに割り当てられていない生成タスクの中で、最も実行時間の長いタスクは生成タスク1121である。生成タスク1121の実行時間はTt1=400[μsec]であり、グループ1の空き時間Tb1は100[μsec]である。よって、決定部115は、グループ1の空き時間Tb1で生成タスク1121は実行可能ではないと判定する。
そして、決定部115は、次に実行時間の長い生成タスク1123についても、実行可能か否かを判定する(S204)。生成タスク1123の実行時間Tt3=300[μsec]であるため、決定部115は、グループ1の空き時間Tb1で生成タスク1123も実行可能ではないと判定する。グループ1に対して割り当て可能な生成タスクはもう存在しないため、決定部115は、グループ1に対して生成タスクを割り当てる処理は終了し、グループ2に対して生成タスクを割り当てる処理へ進む。
次に、S302に示すように、決定部115は、グループ2に対して、グループに割り当てられていない生成タスクを割り当てる。決定部115は、グループ2の空き時間Tb2で、グループに割り当てられていない生成タスクが実行可能か否かを判定する(S204)。ここで、グループに割り当てられていない生成タスクの中で、最も実行時間の長いタスクは生成タスク1121である。生成タスク1121の実行時間はTt1=400[μsec]であり、グループ1の空き時間Tb1は800[μsec]である。よって、Tb2≧Tt1であるため、決定部115は、生成タスク1121をグループ2に割り当てる。そして、決定部115は、グループ2の空き時間Tb2からTt1を減算した値で、Tb2を更新する(S206)。更新後の空き時間Tb2は、Tb2-Tt1=400[μsec]となる。
次に、S303に示すように、決定部115は、更にグループ2に対して、グループに割り当てられていない生成タスクを割り当てる。決定部115は、グループ2の空き時間Tb2で、グループに割り当てられていない生成タスクが実行可能か否かを判定する(S204)。ここで、グループに割り当てられていない生成タスクの中で、最も実行時間の長いタスクは生成タスク1123である。生成タスク1123の実行時間はTt3=300[μsec]であり、グループ2の空き時間Tb2は400[μsec]である。よって、Tb2≧Tt3であるため、決定部115は、生成タスク1123をグループ2に割り当てる。そして、決定部115は、グループ2の空き時間Tb2からTt3を減算した値で、Tb2を更新する(S206)。更新後の空き時間Tb2は、Tb2-Tt3=100[μsec]となる。なお、図6(b)の例では、グループ3には、生成タスクが割り当てられていないこととなる。ここまでの処理で、すべての生成タスクについて、グループへの割り当てが完了したため、決定部115は、S202からS208の処理を終了させる。
次に、図4に戻り、S103からの処理について説明する。S103において、決定部115は、所定の条件を満たすか否かを判定する。所定の条件を満たす場合、決定部115はS104に処理を進める。また、所定の条件を満たさない場合、決定部115はS105に処理を進める。
ここで、所定の条件は、プロセッサ1110に対応するグループの空き時間(処理部1101の空き時間)が予め定められた時間以上であることとすることができる。ここで、処理部1101の空き時間は、複数のプロセッサ(図2の例では、プロセッサ1111、1112、及び1113)のそれぞれの空き時間の合計とすることができる。また、所定の条件の判定基準である予め定められた時間は、例えば、周期的な処理の1周期の時間に設定することができる。また、例えば、予め定められた時間は、ユーザによって任意に設定された時間とすることができる。
また、所定の条件は、複数のプロセッサのうち、少なくとも1つのプロセッサの空き時間が予め定められた時間以上であることとすることができる。予め定められた時間は上記と同様に、周期的な処理の1周期の時間としてもよいし、ユーザによって任意に設定された時間としてしてもよい。
また、所定の条件は、S200において全ての生成タスク1120がグループに割り当てられた状態で、生成タスク1120が割り当てられていないグループの数が所定の数以上であることとすることができる。例えば、生成タスク1120が割り当てられていないグループの数が1以上あれば条件を満たすこととすることができ、図6(b)の例では、その条件を満たす。
また、所定の条件は、S200において全ての生成タスク1120がグループに割り当てられたこととすることができる。つまり、グループに割り当てられなかった生成タスク1120が1つでもあれば条件を満たさないとすることができる。
また、上記のような複数の条件を組み合わせて、所定の条件とすることもできる。このとき、複数の条件のうち少なくとも1つの条件を満たす場合に所定の条件を満たすとしてもよいし、複数の条件のうちすべての条件を満たす場合に所定の条件を満たすとしてもよい。
S104において、決定部115は、各グループに割り当てられた生成タスク1120を、各グループに対応する処理部1101に実行させる。ここで、図7を用いて、グループに割り当てられた生成タスク1120を処理部1101に実行させる処理について説明する。図7は、本実施形態に係るタスクの実行スケジュールの例を示した図である。縦軸が時間を表し第1~3の周期通信の期間が図示されており、タスク毎に処理が実行されるスケジュールが示されている。図7においては、処理部1101において実行されるタスクとして、通信タスク1130と、生成タスク1121、1122、1123と、非周期タスク1160とが存在する場合を例示している。
非周期タスク1160は、図7において図示された第1の通信周期よりも以前から、プロセッサ1113において実行されている(1)。また、通信タスク1130は、第1の通信周期の最初に、プロセッサ1111おいて実行される(2)。
ここで、通信タスク1130と生成タスク1120の処理について説明する。生成タスク1120は、スレーブ装置120を制御するための指令データを生成する。そして、生成タスク1120は、生成された指令データをデータフレームに書き込む。具体的には、生成タスク1121、1122、及び1123により、それぞれスレーブ装置121、122、及び123に対する指令データが生成され、データフレームにおいて、スレーブ装置121、122、及び123に割り当てられた領域に書き込まれる。
通信タスク1130は、指令データが書き込まれたデータフレームをスレーブ装置121へ送信する。送信されたデータフレームを受信したスレーブ装置121は、データフレームに書き込まれた指令データのうち自身に割り当てられた指令データを読み出し、かかる指令データに対する応答データをデータフレームに書き込む。そして、スレーブ装置121は、応答データを書き込んだデータフレームを次のスレーブ装置122へ送信する。次に、スレーブ装置121からデータフレームを受信したスレーブ装置122は、データフレームに書き込まれた指令データのうち自身に割り当てられた指令データを読み出し、かかる指令データに対する応答データをデータフレームに書き込む。そして、スレーブ装置122は、応答データを書き込んだデータフレームを次のスレーブ装置123へ送信する。次に、スレーブ装置122からデータフレームを受信したスレーブ装置123は、データフレームに書き込まれた指令データのうち自身に割り当てられた指令データを読み出し、かかる指令データに対する応答データをデータフレームに書き込む。そして、スレーブ装置123は応答データを書き込んだデータフレームを、スレーブ装置122、及び121を介して、マスタ装置110に送信する。
マスタ装置110に送信されたデータフレームは、通信タスク1130によって読み出され、マスタ装置110が持つ記憶装置(不図示)に記憶される。ここで、記憶装置は、データフレームなどのデータを格納するバッファとして機能して、例えば、CPUの作業領域やデータの一時記憶領域を提供するメモリであるRAMや、ハードディスク装置、CD、DVD、メモリカード等の記憶装置などでありうる。そして、データフレームが記憶装置に記憶されることにより、生成タスク1120がスレーブ装置120から送信された応答データを参照することができる状態となる。また、通信タスク1130がデータフレームをスレーブ装置120に送信し、そのデータフレームがマスタ装置110に戻ってくるまでの一連の処理は、1回の通信タスクの実行中に行われる。
ここで、図7の説明に戻る。通信タスク1130は、第1の通信周期の前の通信周期において生成タスク1120により生成された指令データを含むデータフレームを、第1の通信周期において、スレーブ装置120に送信する。その後、通信タスク1130は、第1の通信周期において、スレーブ装置120からの送信された応答データのデータフレームを受信する。そして、通信タスク1130は、受信した応答データを生成タスク1120により参照可能な状態にして、生成タスク1120に通知する。このように、通信タスク1130は、各通信周期の最初に実行され、前の通信周期において生成された指令データをスレーブ装置120に送信して、スレーブ装置120から応答データを受信して、生成タスクに通知をする。
次に、通信タスク1130からの通知を受けた後に、それぞれの生成タスク1120が実行される。具体的には、生成タスク1121がプロセッサ1112において実行され(3)、生成タスク1123がプロセッサ1113において実行され(4)、生成タスク1123がプロセッサ1112において実行される(5)。ここで、生成タスク1121は同じグループ(グループ2)に割り当てられているため、同じプロセッサ1112において実行される。また、第1の通信周期では、生成タスク1123は生成タスク1121が終了してから実行されているが、順番は逆でもよい。つまり、生成タスク1121と生成タスク1123の実行順序は図7の例に限られるものではない。また、生成タスク1121と生成タスク1123が同じプロセッサで実行されればよく、プロセッサ1112で実行されることが限定されるものではない。つまり、通信タスク1130と生成タスク1120を実行するプロセッサは図7の例に限られるものではない。
このように、通信タスク1130はプロセッサ1111で、生成タスク1120はプロセッサ1111及び1112で実行される。そのため、通信タスク1130及び生成タスク1120の実行は、プロセッサ1113で実行されている非周期タスク1160の実行には影響を及ぼさない。
第2の通信周期以降も、通信タスク1130及び生成タスク1120は、同様にプロセッサ1111、及び1112で実行されるため、通信タスク1130及び生成タスク1120の実行は、非周期タスク1160の実行には影響を及ぼさない。つまり、通信タスク1130及び生成タスク1120の実行により、非周期タスク1160の実行が遅延することはない。このように、マスタ装置110が周期通信以外の非周期処理を行う場合であっても、非周期処理を遅延させることなく、周期通信の処理を行うことができる。
ここで、図4の説明に戻る。S105において、決定部115は、代替処理を実行する。代替処理として、例えば、決定部115は、エラーを表示装置1106に表示するように制御することができる。また、代替処理として、例えば、決定部115は、周期通信の処理を中断することができる。また、代替処理として、例えば、決定部115は、周期を延長して処理を継続することができる。また、S103において決定部115は複数の条件を判定して、複数の条件のそれぞれの判定結果に応じてS105において異なる代替処理が実行されてもよい。例えば、S200において全ての生成タスク1120がグループに割り当てられない場合は周期通信の処理を中断することとしてもよい。また、全ての生成タスク1120がグループに割り当てらたが、処理部1101の空き時間が予め定められた時間以下である場合は周期通信の処理を中断せずエラーを表示装置1106に表示することとしてもよい。
ここで、図8を用いて、S103において所定の条件を満たさないと判定される場合における、グループにタスクを割り当てる処理の例について説明する。図8は、本実施形態に係るタスクの割り当て処理の他の例を示した図である。まず、図8(a)を参照して、周期通信の周期と各タスクの実行時間について説明する。図8(a)の例では、周期通信の周期Tc、通信タスク1130の実行時間Tio、生成タスク1121、1122、及び1123の実行時間Tt1、Tt2、及びTt3を以下の式(6)~(10)の通りとする。
Tc=1[msec ]・・・(6)
Tio=200[μsec]・・・(7)
Tt1=500[μsec]・・・(8)
Tt2=700[μsec]・・・(9)
Tt3=400[μsec]・・・(10)
Tc=1[msec ]・・・(6)
Tio=200[μsec]・・・(7)
Tt1=500[μsec]・・・(8)
Tt2=700[μsec]・・・(9)
Tt3=400[μsec]・・・(10)
ここで、図6に関する説明と重複する説明については省略する。
S401において、決定部115は、タスク1122をグループ1に割り当てる。そして、決定部115は、グループ1の空き時間Tb1を100[μsec]に更新する。また、決定部115は、グループ1の空き時間Tb1で生成タスク1121、及び1123は実行可能ではないと判定する。
S402において、決定部115は、生成タスク1121をグループ2に割り当てる。そして、決定部115は、グループ2の空き時間Tb2を300[μsec]に更新する。また、Tb2≦Tt3であるため、決定部115は、グループ2の空き時間Tb2で生成タスク1123は実行可能ではないと判定する。
S403において、決定部115は、生成タスク1123をグループ3に割り当てる。そして、決定部115は、グループ3の空き時間Tb3を400[μsec]に更新する。
ここまでの処理で、すべての生成タスクについて、グループへの割り当てが完了したため、決定部115は、S202からS208の処理を終了させる。
ここで、各グループの空き時間の合計時間は、Tb1+Tb2+Tb3=800[μsec]であり、予め定められた時間を周期通信の周期Tcとすると、Tb1+Tb2+Tb3<Tcとなる。S103における所定の条件を、処理部1101の空き時間が周期通信の周期以上であることとすると、図8の例は、S103において所定の条件を満たさないことになる。
また、すべてのグループに対して生成タスク1120が割り当てられたため、生成タスク1120が割り当てられていないグループの数は0である。S103における所定の条件を、生成タスク1120が割り当てられていないグループの数が1以上であることとすると、図8の例は、S103において所定の条件を満たさないことになる。
周期処理は周期内に処理を完了させる必要があるため、通信タスク1130及び生成タスク1120は非周期タスク1160よりも優先的に実行される。そのため、S103において所定の条件を満たさない場合、非周期タスク1160の処理は、処理部1101のプロセッサの空き時間が発生するまで中断され、遅延する可能性がある。
前述の通り、S103において所定の条件が満たされない場合、S105において、エラー表示、周期通信の処理の中止、周期の延長などの代替処理が実行される。
以上、本実施形態に係る制御装置によれば、通信タスク及び生成タスクの処理により非周期タスクの処理が中断されることが抑制されるので、他の装置との間で周期的に通信を行いながら、非周期的な処理の遅延を抑制することができる。
<第2実施形態>
次に、第2実施形態に係る情報処理部について説明する。なお、ここで言及しない事項は、第1実施形態に従いうる。第2実施形態においては、マスタ装置110の処理部1101が4つのプロセッサを有し、システム100は6つのスレーブ装置120を有している例について説明する。また、処理部1101においては、スレーブ装置120の数と同じ4つの生成タスク1120と1つの通信タスク1130が実行されるものとする。
次に、第2実施形態に係る情報処理部について説明する。なお、ここで言及しない事項は、第1実施形態に従いうる。第2実施形態においては、マスタ装置110の処理部1101が4つのプロセッサを有し、システム100は6つのスレーブ装置120を有している例について説明する。また、処理部1101においては、スレーブ装置120の数と同じ4つの生成タスク1120と1つの通信タスク1130が実行されるものとする。
図9を用いて、グループにタスクを割り当てる処理について説明する。図9は、本実施形態に係るタスクの割り当て処理の例を示した図である。まず、図9(a)を参照して、周期通信の周期と各タスクの実行時間について説明する。図9(a)の例では、周期通信の周期Tc、通信タスク1130の実行時間Tio、生成タスク1121~1126の実行時間Tt1~Tt6を以下の式(11)~(18)の通りとする。
Tc=1[msec] ・・・(11)
Tio=200[μsec]・・・(12)
Tt1=500[μsec]・・・(13)
Tt2=200[μsec]・・・(14)
Tt3=230[μsec]・・・(15)
Tt4=100[μsec]・・・(16)
Tt5=650[μsec]・・・(17)
Tt6=550[μsec]・・・(18)
Tc=1[msec] ・・・(11)
Tio=200[μsec]・・・(12)
Tt1=500[μsec]・・・(13)
Tt2=200[μsec]・・・(14)
Tt3=230[μsec]・・・(15)
Tt4=100[μsec]・・・(16)
Tt5=650[μsec]・・・(17)
Tt6=550[μsec]・・・(18)
生成タスク1120のグループへの割り当て処理については、第1実施形態と同様であるため詳細な説明は省略する。図9(b)に示すように生成タスク1120はグループ1~3に割り当てられる。グループ1には生成タスク1124及び1125が、グループ2には生成タスク1123及び1126が、グループ3には生成タスク1121及び1122が、それぞれ割り当てられる。また、グループ4にはいずれの生成タスク1120も割り当てられない。また、グループに割り当てられない生成タスク1120も存在しない。
ここで、図9(b)に示すように生成タスク1120がグループに割り当てられた場合、S103において所定の条件が満たすと判定されたものと説明を続ける。ここで、図10を用いて、グループに割り当てられた生成タスク1120を処理部1101に実行させる処理について説明する。図10は、本実施形態に係るタスクの実行スケジュールの例を示した図である。タスクの実行スケジュールについては、第1実施形態と同様であるため詳細な説明は省略する。図10に示すように、通信タスク1130及び生成タスク1120の実行は、非周期タスク1160の実行には影響を及ぼさない。つまり、通信タスク1130及び生成タスク1120の実行を行いながら、非周期タスク1160の実行が遅延することを抑制することができる。
以上、本実施形態に係る制御装置によれば、通信タスク及び生成タスクの処理により、非周期タスクの処理が中断されることが抑制されるので、他の装置との間で周期通信を行いながら、非周期的な処理の遅延を抑制することができる。
<基板処理装置の実施形態>
システム100を適用した基板処理装置の実施形態について説明する。本実施形態では、システム100を適用した基板処理装置として、基板を露光して基板上にパターンを形成する露光装置を例示して説明するが、それに限られるものではない。例えば、モールドを用いて基板上にインプリント材のパターンを形成するインプリント装置や、荷電粒子線を基板に照射して当該基板にパターンを形成する描画装置などの基板処理装置においても、システム100を適用することができる。また、システム100を適用した基板処理装置として、感光媒体を基板の表面上に塗布する塗布装置、パターンが転写された基板を現像する現像装置などの基板処理装置においても、システム100を適用することができる。また、システム100を適用した基板処理装置として、成膜装置(CVD装置等)、加工装置(レーザー加工装置等)、検査装置(オーバーレイ検査装置等)などの基板処理装置においても、システム100を適用することができる。
システム100を適用した基板処理装置の実施形態について説明する。本実施形態では、システム100を適用した基板処理装置として、基板を露光して基板上にパターンを形成する露光装置を例示して説明するが、それに限られるものではない。例えば、モールドを用いて基板上にインプリント材のパターンを形成するインプリント装置や、荷電粒子線を基板に照射して当該基板にパターンを形成する描画装置などの基板処理装置においても、システム100を適用することができる。また、システム100を適用した基板処理装置として、感光媒体を基板の表面上に塗布する塗布装置、パターンが転写された基板を現像する現像装置などの基板処理装置においても、システム100を適用することができる。また、システム100を適用した基板処理装置として、成膜装置(CVD装置等)、加工装置(レーザー加工装置等)、検査装置(オーバーレイ検査装置等)などの基板処理装置においても、システム100を適用することができる。
図11は、露光装置10の構成を示す図である。露光装置10は、マスクMのパターンを投影光学系14を介して基板Wに投影して当該基板Wを露光する露光装置である。露光装置10は、光源11と、照明光学系12と、マスクステージ13と、投影光学系14と、基板ステージ15と、主制御部16とを有する。また、露光装置10は、マスクステージ13を駆動する第1駆動部21と、投影光学系14のレンズ14aを駆動する第2駆動部22と、基板ステージ15を駆動する第3駆動部51とを有する。第1駆動部21、第2駆動部22および第3駆動部51は、基板Wにパターンを形成する処理の少なくとも一部を行う機構であり、マスクステージ制御部31、投影制御部32および基板ステージ制御部41によってそれぞれ制御される。また、主制御部16は、例えばCPU(処理部)や記憶装置などを有し、マスクステージ制御部31、投影制御部32および基板ステージ制御部41を制御することにより、露光装置10の全体(露光装置10の各部)を制御する。
光源11は、露光光を射出する。照明光学系12は、光源11から射出された光を用いてマスクMを照明する。マスクステージ13は、マスクMを保持するとともに、第1駆動部21によって例えばXY方向に移動可能に構成されうる。投影光学系14は、照明光学系12により照明されたマスクMのパターンを基板上に投影する。投影光学系14は、第2駆動部22によって例えばX方向に移動可能なレンズ14aを含む。基板ステージ15は、基板Wを保持するとともに、第3駆動部51によって例えばXY方向に移動可能に構成されうる。
図11に示す露光装置10において、システム100を適用する場合、主制御部16がマスタ装置110として構成されうる。また、マスクステージ制御部31および投影制御部32がそれぞれスレーブ装置120として構成されうる。第1駆動部21および第2駆動部22がそれぞれユニット130として構成されうる。主制御部16、マスクステージ制御部31および投影制御部32との間における通信が、ネットワーク140を介して一定周期ごとに行われることとなる。
そして、露光装置10において、基板ステージ制御部41および、第3駆動部51は、システム100におけるマスタ装置110の処理部を兼用する、システム100とは別系統の制御系として構成されうる。主制御部16と基板ステージ制御部41は、ネットワーク140とは必ずしも同一ではない、例えばフィールドバスによって接続されうる。
ここで、システム100を露光装置10に適用する場合の例として、マスタ装置110がマスクステージ制御部31、投影制御部32、及び基板ステージ制御部41と通信を行う場合について説明する。マスタ装置110の処理部1101において、例えば、通信タスク1130、生成タスク1121、1122、及び非周期タスク1160が実行されうる。ここで、生成タスク1121は、マスクステージ制御部31に対して送信してマスクステージ13を制御するための指令データを生成するタスクである。また、生成タスク1122は、投影制御部32に対して送信して投影光学系14のレンズ14aを制御するための指令データを生成するタスクである。また、非周期タスク1160は、基板ステージ制御部41に対して送信して基板ステージ15を制御するための指令データを生成して、基板ステージ制御部41と通信を行うタスクである。
また、マスタ装置110(主制御部16)は、露光装置を動作させ、基板に微細なパターンを形成するにあたり、第1駆動部21、第2駆動部22、及び第3駆動部51を高い精度で同期させながら制御を行う必要がある。そのために、マスクステージ制御部31及び投影制御部32に対しては、一定周期で実行される生成タスク1121、1122により制御のための指令データを生成し、通信タスク1130により、ネットワーク140を介してデータを送信して制御を行う。
一方、基板ステージ制御部41に対しては、非周期タスク1160を実行して第3駆動部51の制御のための指令データを生成し、フィールドバスを通じて基板ステージ制御部41にデータを送信して制御を行う。典型的には、特に高い制御精度を求められる基板ステージ15の制御には、高負荷な演算が必要であり、かつ露光装置として高い生産性を達成するために、速やかにその演算を終える必要がある。このように、露光装置は複数の制御系で構成されており、主制御部16の処理部を複数の制御系で兼用する場合がありうる。
このような状況において、それぞれのタスクが主制御部16の処理部1101を共有して実行される場合、生成タスク1120および通信タスク1130が周期的に実行されると、非周期タスク1160の実行終了までの時間が遅延してしまう。すると、基板ステージ15の制御が遅延し、装置としての生産性が低下するばかりでなく、タイミングのずれによって制御精度が低下してしまうおそれがある。
そこで、決定部115が、通信タスク及び生成タスクの処理により、非周期タスクの処理が中断されることが抑制されるようにグループに対して各タスクを割り当てる。その結果に従って処理部1101のプロセッサ1110でタスクを実行することにより、周期通信に用いる処理部1101のプロセッサ1110の個数を最小限にすることができるため、基板ステージ15の制御のための処理の遅延を抑制することができる。
以上、本実施形態に係る制御装置によれば、マスクステージ制御部及び投影制御部との間で周期通信を行いながら、基板ステージを制御するための非周期処理の遅延を抑制することができる。
<物品の製造方法の実施形態>
本発明の実施形態にかかる物品の製造方法は、例えば、半導体デバイス等のマイクロデバイスや微細構造を有する素子等の物品を製造するのに好適である。本実施形態の物品の製造方法は、上述した基板処理装置を用いて基板を処理する工程と、かかる工程で処理された基板から物品を製造する工程とを含む。更に、かかる製造方法は、周知の工程(露光、酸化、成膜、蒸着、ドーピング、平坦化、エッチング、レジスト剥離、ダイシング、ボンディング、パッケージング等)を含みうる。本実施形態の物品の製造方法は、従来の方法に比べて、物品の性能・品質・生産性・生産コストの少なくとも1つにおいて有利である。
本発明の実施形態にかかる物品の製造方法は、例えば、半導体デバイス等のマイクロデバイスや微細構造を有する素子等の物品を製造するのに好適である。本実施形態の物品の製造方法は、上述した基板処理装置を用いて基板を処理する工程と、かかる工程で処理された基板から物品を製造する工程とを含む。更に、かかる製造方法は、周知の工程(露光、酸化、成膜、蒸着、ドーピング、平坦化、エッチング、レジスト剥離、ダイシング、ボンディング、パッケージング等)を含みうる。本実施形態の物品の製造方法は、従来の方法に比べて、物品の性能・品質・生産性・生産コストの少なくとも1つにおいて有利である。
<その他の実施形態>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されないことはいうまでもなく、その要旨の範囲内で種々の変形及び変更が可能である。
また、それぞれの実施形態は、単独で実施するだけでなく、すべての実施形態のうちのいずれの組合せで実施することができる。
Claims (13)
- タスクを実行する複数のプロセッサを有し、ネットワークを介して接続されたスレーブ装置を制御する制御装置であって、
前記スレーブ装置を制御するための指令データ又は前記スレーブ装置からの応答データを含むデータフレームの周期通信に係る周期処理を実行する周期タスクの実行に要する実行時間を取得する取得部と、
前記周期通信の周期と前記実行時間とに基づき前記周期タスクを実行するプロセッサを前記複数のプロセッサのうちから決定する決定部と、を有し、
決定された前記プロセッサにおいて前記周期タスクが実行される
ことを特徴とする制御装置。 - 前記決定部は、所定の条件を満たしているか判定し、
前記所定の条件を満たしている場合、前記周期タスクが決定された前記プロセッサにおいて実行され、
前記所定の条件は、決定された前記プロセッサで前記周期タスクを実行した場合の前記複数のプロセッサの空き時間の合計が所定の時間以上であること、前記複数のプロセッサのうち前記周期タスクが実行されないプロセッサの数が所定の数以上であること、及び実行されるプロセッサが決定されていない前記周期タスクが存在していないことのうち少なくとも1つである
ことを特徴とする請求項1に記載の制御装置。 - 前記所定の条件を満たしていない場合、前記決定部は所定の処理を実行して、
前記所定の処理は、エラーを表示装置に表示するように制御する処理、前記周期を延長する処理、前記データフレームの通信を中断する処理のうち少なくとも1つである
ことを特徴とする請求項2に記載の制御装置。 - 前記周期タスクには、前記データフレームを通信する通信タスクと、前記スレーブ装置を制御するための指令データを生成する生成タスクと、が含まれ、
前記決定部は、前記通信タスクを実行するプロセッサを決定した後に、前記生成タスクを実行するプロセッサを決定する
ことを特徴とする請求項1乃至3のうちいずれか1項に記載の制御装置。 - 前記取得部は、前記通信タスクの実行に要する第1実行時間を取得し、
前記決定部は、前記周期と前記第1実行時間とに基づき前記生成タスクを実行するプロセッサを決定する
ことを特徴とする請求項4に記載の制御装置。 - 前記スレーブ装置は複数のスレーブ装置を含み、
前記生成タスクは、前記複数のスレーブ装置のそれぞれに対応した複数の生成タスクを含み、
前記取得部は、前記複数の生成タスクのそれぞれの実行に要する第2実行時間を取得し、
前記決定部は、前記取得部により取得された前記第2実行時間の長い順で前記複数の生成タスクを実行するプロセッサを決定する
ことを特徴とする請求項5に記載の制御装置。 - 前記決定部は、前記複数の生成タスクのうち、既に実行するプロセッサが決定された第1生成タスクと未だ実行するプロセッサが決定されていない第2生成タスクとが存在する場合、前記周期、前記第1実行時間、及び前記第2生成タスクが実行される前記第2実行時間に基づき前記第2生成タスクを実行するプロセッサを決定する
ことを特徴とする請求項6に記載の制御装置。 - 前記周期タスクが実行されることにより、前記ネットワークを介して前記周期ごとに前記データフレームを通信する通信部を有することを特徴とする請求項1乃至7のいずれか1項に記載の制御装置。
- ネットワークを介して接続されたスレーブ装置と、タスクを実行する複数のプロセッサを有し、前記スレーブ装置を制御するマスタ装置と、を有するシステムであって、
前記マスタ装置は、
前記スレーブ装置を制御するための指令データ又は前記スレーブ装置からの応答データを含むデータフレームの周期通信に係る周期処理を実行する周期タスクの実行に要する実行時間を取得する取得部と、
前記周期通信の周期と前記実行時間とに基づき前記周期タスクを実行するプロセッサを前記複数のプロセッサのうちから決定する決定部と、を有し、
決定された前記プロセッサにおいて前記周期タスクが実行される
ことを特徴とするシステム。 - 基板に処理する基板処理装置であって、
請求項9に記載のシステムを有し、
前記システムが有するスレーブ装置は、前記基板の処理の少なくとも一部を行うユニットを制御する
ことを特徴とする基板処理装置。 - 請求項10に記載の基板処理装置を用いて基板を処理する工程と、
処理された前記基板から物品を製造する工程と、を有する
ことを特徴とする物品の製造方法。 - タスクを実行する複数のプロセッサを有するマスタ装置によりネットワークを介して接続されたスレーブ装置を制御する制御方法であって、
前記スレーブ装置を制御するための指令データ又は前記スレーブ装置からの応答データを含むデータフレームの周期通信に係る周期処理を実行する周期タスクの実行に要する実行時間を取得する取得工程と、
前記周期通信の周期と前記実行時間とに基づき前記周期タスクを実行するプロセッサを前記複数のプロセッサのうちから決定する決定工程と、を有し、
決定された前記プロセッサにおいて前記周期タスクが実行されることを特徴とする制御方法。 - 請求項12に記載の制御方法の各工程を、マスタ装置としてのコンピュータに実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021036298A JP2022136603A (ja) | 2021-03-08 | 2021-03-08 | 制御装置、システム、基板処理装置、物品の製造方法、制御方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021036298A JP2022136603A (ja) | 2021-03-08 | 2021-03-08 | 制御装置、システム、基板処理装置、物品の製造方法、制御方法及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022136603A true JP2022136603A (ja) | 2022-09-21 |
Family
ID=83311769
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021036298A Pending JP2022136603A (ja) | 2021-03-08 | 2021-03-08 | 制御装置、システム、基板処理装置、物品の製造方法、制御方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2022136603A (ja) |
-
2021
- 2021-03-08 JP JP2021036298A patent/JP2022136603A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10761884B2 (en) | Control device for operating multiple types of programs in different execution formats | |
US9618922B2 (en) | CPU of PLC, system program for PLC, and recording medium storing system program for PLC | |
CN109388107B (zh) | 控制装置 | |
JP3922070B2 (ja) | 分散制御方法及び装置 | |
US11416293B2 (en) | Control unit having a scheduler for scheduling a plurality of virtual machines, and methods for scheduling a plurality of virtual machines | |
JP6406466B1 (ja) | 制御装置、制御方法および制御プログラム | |
JP2019053459A (ja) | 制御装置および制御方法 | |
WO2018186358A1 (ja) | 制御装置、制御方法および制御プログラム | |
WO2021002059A1 (ja) | 制御システム、設定装置およびコンピュータプログラム | |
JP2019061467A (ja) | サポート装置およびサポートプログラム | |
McLean et al. | Configuring ADAS platforms for automotive applications using metaheuristics | |
JP2022136603A (ja) | 制御装置、システム、基板処理装置、物品の製造方法、制御方法及びプログラム | |
JP7020198B2 (ja) | 制御装置および制御システム | |
KR102079499B1 (ko) | Plc 위치 결정 시스템의 축별 제어주기 독립 할당 방법 | |
JP2023065129A (ja) | 制御装置、システム、基板処理装置、物品の製造方法、制御方法及びプログラム | |
EP4036670A1 (en) | Control device | |
WO2020255486A1 (ja) | 制御装置 | |
WO2022254927A1 (ja) | 情報処理装置、制御システム、および制御プログラムを開発するプログラム | |
WO2022209910A1 (ja) | 制御装置、システム、基板処理装置、物品の製造方法、制御方法及びプログラム | |
WO2022153655A1 (ja) | 制御装置、システム、リソグラフィ装置、物品の製造方法、制御方法及びプログラム | |
JP2024040913A (ja) | システム、その制御方法およびプログラム | |
JP2019179469A (ja) | 制御装置、制御方法、及び制御プログラム | |
JP7231073B2 (ja) | 制御装置および制御システム | |
US7392105B2 (en) | Method and system for improved performance of manufacturing processes | |
Park et al. | Resource-aware job scheduling and management system for semiconductor application |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20231213 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240304 |