JP7657618B2 - CONTROL DEVICE, SYSTEM, SUBSTRATE PROCESSING APPARATUS, PRODUCT MANUFACTURING METHOD, AND PROGRAM - Google Patents
CONTROL DEVICE, SYSTEM, SUBSTRATE PROCESSING APPARATUS, PRODUCT MANUFACTURING METHOD, AND PROGRAM Download PDFInfo
- Publication number
- JP7657618B2 JP7657618B2 JP2021036298A JP2021036298A JP7657618B2 JP 7657618 B2 JP7657618 B2 JP 7657618B2 JP 2021036298 A JP2021036298 A JP 2021036298A JP 2021036298 A JP2021036298 A JP 2021036298A JP 7657618 B2 JP7657618 B2 JP 7657618B2
- Authority
- JP
- Japan
- Prior art keywords
- task
- periodic
- communication
- processor
- generated
- 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.)
- Active
Links
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)
Description
本発明は、制御装置、システム、基板処理装置、物品の製造方法、制御方法及びプログラムに関する。 The present invention relates to a control device, a system, a substrate processing device, an article manufacturing method, a control method, and a program.
マスタ装置とスレーブ装置との間でデータの送受信(通信)を行うシステムでは、一定の周期ごとに通信(周期通信)を行うものがある。特許文献1では、第1のタスクを第1の制御周期で実行するための第1の演算部と、第2の制御周期で実行するための第2の演算部と、状況に応じて実行される第3のタスクを実行するための第3の演算部と、を含む制御装置が開示されている。つまり、特許文献1では、周期的に処理される第1、2のタスクと非周期的に処理される第3のタスクとが、それぞれ異なる演算部で実行されることが開示されている。
Some systems transmit and receive data (communicate) between a master device and a slave device, and communicate at regular intervals (periodic communication).
マスタ装置とスレーブ装置との間で通信を行うシステムでは、マスタ装置と接続するスレーブ装置の数が増加することにより、マスタ装置の処理部において実行される周期処理に係るタスク(周期タスク)の実行に要する時間(実行時間)が増加する。また、スレーブ装置を制御するための処理の複雑度が増加することによっても、マスタ装置の処理部において実行される周期タスクの実行時間が増加する。また、周期処理は周期内で完了させる必要があることから非周期的に実行される非周期処理よりも高い優先度で実行される。その結果、非周期処理に係るタスク(非周期タスク)が実行される処理部に周期タスクが割り当てられることがある。そのことにより、周期タスクが完了するまで非周期タスクが処理待ちの状態になり、非周期タスクの完了が遅延する可能性がある。 In a system in which communication takes place between a master device and slave devices, an increase in the number of slave devices connected to the master device increases the time (execution time) required to execute tasks related to periodic processing (periodic tasks) executed in the processing unit of the master device. In addition, an increase in the complexity of the processing for controlling the slave devices also increases the execution time of periodic tasks executed in the processing unit of the master device. Furthermore, because periodic processing must be completed within a period, it is executed with a higher priority than non-periodic processing that is executed aperiodically. As a result, periodic tasks may be assigned to the processing unit where tasks related to non-periodic processing (non-periodic tasks) are executed. This may result in the non-periodic tasks being put into a waiting state until the periodic tasks are completed, resulting in a delay in the completion of the non-periodic tasks.
そこで、本発明は、一定の周期でスレーブ装置と通信を行うための周期処理を行いながら、非周期処理の遅延を抑制することができる制御装置、システム、基板処理装置等を提供することを目的とする。 The present invention aims to provide a control device, system, substrate processing device, etc. that can suppress delays in non-periodic processing while performing periodic processing to communicate with slave devices at a constant cycle.
上記課題を解決する本発明の一側面としての制御装置は、タスクを実行する複数のプロセッサを有し、ネットワークを介して接続されたスレーブ装置を制御する制御装置であって、前記スレーブ装置を制御するための指令データ又は前記スレーブ装置からの応答データを含むデータフレームの周期通信に係る周期処理を実行する周期タスクの実行に要する実行時間を取得する取得部と、前記周期通信の周期と前記実行時間とに基づき前記周期タスクを実行するプロセッサを前記複数のプロセッサのうちから決定する決定部と、を有し、前記周期タスクには、前記データフレームを通信する通信タスクと、前記スレーブ装置を制御するための指令データを生成する生成タスクと、が含まれ、前記取得部は、前記通信タスクの実行に要する第1実行時間を取得し、前記決定部は、前記通信タスクを実行するプロセッサを決定した後に、前記周期と前記第1実行時間とに基づき前記生成タスクを実行するプロセッサを決定し、決定された前記プロセッサにおいて前記周期タスクが実行されることを特徴とする。
A control device as one aspect of the present invention that solves the above-mentioned problems is a control device having a plurality of processors that execute tasks, and controlling slave devices connected via a network, the control device having an acquisition unit that acquires an execution time required to execute a periodic task that executes periodic processing related to periodic communication of a data frame including command data for controlling the slave devices or response data from the slave devices, and a determination unit that determines a processor from among the plurality of processors that will execute the periodic task based on a period of the periodic communication and the execution time, the periodic tasks including a communication task that communicates the data frames, and a generation task that generates command data for controlling the slave devices, the acquisition unit acquires a first execution time required to execute the communication task, and after determining a processor that will execute the communication task, the determination unit determines a processor that will execute the generation task based on the period and the first execution time, and the periodic task is executed in the determined processor .
本発明の更なる目的又はその他の側面は、以下、添付図面を参照して説明される実施形態によって明らかにされるであろう。 Further objects and other aspects of the present invention will become apparent from the embodiments described below with reference to the accompanying drawings.
本発明によれば、一定の周期でスレーブ装置と通信を行うための周期処理を行いながら、非周期処理の遅延を抑制することができる制御装置、システム、基板処理装置等が提供される。 The present invention provides a control device, system, substrate processing device, etc. that can suppress delays in non-periodic processing while performing periodic processing to communicate with a slave device at a constant cycle.
以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。更に、添付図面においては、同一もしくは同様の構成に同一の参照番号を付し、重複した説明は省略する。 The following embodiments are described in detail with reference to the attached drawings. Note that the following embodiments do not limit the invention according to the claims. Although the embodiments describe multiple features, not all of these multiple features are necessarily essential to the invention, and multiple features may be combined in any manner. Furthermore, in the attached drawings, the same reference numbers are used for the same or similar configurations, and duplicate explanations are omitted.
<第1実施形態>
図1は、システム100の構成を示す図である。システム100は、マスタ装置110(制御装置)と、マスタ装置110に通信可能に接続される複数のスレーブ装置120と、スレーブ装置121、122、及び123のそれぞれに通信可能に接続されるユニット131、132、及び133とを有する。ここで、以降の記載では、スレーブ装置121、122、及び123を総称して、単にスレーブ装置120と称することがある。また、同様に以降の記載では、ユニット131、132、及び133を総称して、単にユニット130と称することがある。
First Embodiment
1 is a diagram showing the configuration of a
システム100において、マスタ装置110は、スレーブ装置120を制御し、スレーブ装置120は、ユニット130を制御する。ここで、図1では、マスタ装置110およびスレーブ装置120は、通信可能に接続されたコンピュータ(情報処理装置)によって実現されうるが、ボードコンピュータで構成されてもよいし、ボードコンピュータと兼用するように構成されてもよい。また、ユニット130は、例えば入力リレーや各種センサ、サーボモータ、その他任意のアクチュエータ等の機構であり、スレーブ装置120によって制御されうる。
In the
スレーブ装置120は、ディジーチェーン方式でマスタ装置110に通信可能に接続されている。マスタ装置110は、ネットワーク140を介して、一定周期ごとに、スレーブ装置120とデータの通信(周期通信)を行う。また、スレーブ装置120は、マスタ装置110から受信したデータに基づいて、ユニット130をそれぞれ制御する。
The slave device 120 is communicatively connected to the
次に、ネットワーク140の一例として、産業用イーサネット(登録商標)の1つであるEtherCAT(登録商標)について説明する。EtherCAT(登録商標)において、ネットワークを介して接続されたマスタ装置は、複数のスレーブ装置に対してデータフレームを送信し、複数のスレーブ装置が受信したデータフレームにオンザフライでデータを書き込む。この際、マスタ装置と複数のスレーブ装置との間の通信には、PDO通信と、SDO通信とが用いられる。PDO通信とは、プロセスデータオブジェクト(PDO:Process Data Object)と呼ばれるデータを使用して一定周期で通信を行う通信方式である。また、SDO通信とは、サービスデータオブジェクト(SDO:Service Data Object)と呼ばれるデータを使用してマスタ装置からの要求に応じて通信を行う通信方式である。PDO通信では、一定周期(例えば、1m秒)でデータフレームの通信が完了するため、データの到達時間が保証される。一方、SDO通信では、一周期内で通信が完了するとは限らないため、データの到達時間が保証されない。
Next, EtherCAT (registered trademark), which is one of industrial Ethernet (registered trademark), will be described as an example of the
ネットワーク140としてEtherCAT(登録商標)を採用する場合には、ネットワーク140に接続されるノードのうち、少なくとも1つのノードがマスタ装置110として機能し、その他のノードがスレーブ装置120として機能しうる。マスタ装置110として機能するノードは、ネットワーク140におけるデータフレームの通信タイミングなどを管理(制御)する。
When EtherCAT (registered trademark) is used as the
ここで、システム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つのスレーブ装置が制御するユニットは複数になりうる。
Here, the
また、ユニット130は、例えば、物体を駆動するためのサーボモータとすることができる。サーボモータは、高い制御精度が要求されるため、周期的な制御が必要とされる。周期的な制御を実現するための通信が遅延した場合、サーボモータの動作が遅延するという問題が発生する可能性がある。また、駆動対象の物体を目標位置に精度よく位置決めできないという問題や駆動対象の物体が物理的な干渉を起こすという問題が発生する可能性もある。 The unit 130 can also be, for example, a servo motor for driving an object. Servo motors require high control precision and therefore require periodic control. If there is a delay in communication for achieving periodic control, there is a possibility that the operation of the servo motor will be delayed. There is also a possibility that there will be a problem in that the object to be driven cannot be positioned accurately at the target position, or that the object to be driven will cause physical interference.
図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と称することがある。
2 is a diagram showing the configuration of the master device. In FIG. 2, the
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は、タスクを実行するプロセッサを決定する。
Figure 3 is a diagram showing the configuration of the
マスタ装置110は、生成部112に生成タスク1120を実行させて、各スレーブ装置120を制御するための指令データを生成させる。また、マスタ装置110は、通信部113に通信タスク1130を実行させて、ネットワーク140を介して、指令データをスレーブ装置120に送信して、スレーブ装置120からの応答データを受信させる。また、マスタ装置110がスレーブ装置120との間で周期通信を行うために周期的に実行される生成タスク1120及び通信タスク1130を周期タスクとする。また、マスタ装置110は、周期通信以外の処理を実行するための非周期タスク1160を実行させることもある。例えば、非周期タスク1160が行う処理には、任意のタイミングで通信を行い他の装置を制御するための処理や、マスタ装置110と接続する上位の装置(例えば、ホストコンピュータなど)からの任意のタイミングで指令を受けて行う処理などがある。
The
生成タスク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とは必ずしも同数である必要はない。
The generated
次に、本実施形態に係るタスクの実行処理について説明する。図4は、タスクの実行処理を示すフローチャートである。まず、図4における処理について説明する。S101において、取得部114は、処理部1101のプロセッサの数、周期通信における周期などの情報を記憶装置1104から取得し、取得した情報を決定部115に通知する。
Next, the task execution process according to this embodiment will be described. FIG. 4 is a flowchart showing the task execution process. First, the process in FIG. 4 will be described. In S101, the
S102において、取得部114は、生成タスク1120及び通信タスク1130が処理部1101において実行される実行時間を記憶装置1104から取得して、決定部115に通知する。ここで、タスクの実行時間は、例えば、タスクが実行されたときの実行時間を予め計測されることにより取得される。また、タスクの実行時間は、タスクを構成するプログラムのステップ数と処理部1101の演算能力(クロック周波数等の処理部1101の演算能力の指標となる数値等)から実行時間を予め算出することにより取得されてもよい。
In S102, the
S200において、決定部115は、マスタ装置110と各スレーブ装置120との間で行われる周期通信の1周期の時間(周期)と各タスクの実行時間とに基づいて、タスクを実行するプロセッサを決定する。具体的には、各タスクをプロセッサ1111、1112、及び1113のうちいずれのプロセッサで、どのような順番で実行させるかを決定する。
In S200, the
ここで、S200における処理を、図5を用いて詳細に説明する。図5は、タスクを実行するプロセッサの決定処理を示すフローチャートである。S201において、決定部115は、取得部114により取得された周期通信の周期と、通信タスク1130の実行時間から、処理部1101の各プロセッサにおいて周期内に生成タスク1120の実行のための空き時間を取得する。具体的には、S101で取得された周期をTc、S102で取得された通信タスク1130の実行時間をTioとしたとき、処理部1101の各プロセッサにおける空き時間Tbは、Tb=Tc-Tioと算出される。
The process in S200 will now be described in detail with reference to FIG. 5. FIG. 5 is a flowchart showing the process of determining the processor that will execute the task. In S201, the
ここで、通信タスク1130の動作について説明する。通信タスク1130は、ネットワーク140を介して、ある周期の最初にスレーブ装置120と周期通信を行う。例えば、通信タスク1130は、ネットワーク140を介して、前の周期において生成タスク1120により生成された指令データを、スレーブ装置120に送信するとともに、スレーブ装置120から応答データを受信する。応答データとは、例えば、指令データによって指令された処理が完了したか否かを示すデータである。そして、通信タスク1130により受信された応答データを入力データとして、生成タスク1120が次にスレーブ装置に送信する指令データを生成する。そのため、その周期における通信タスク1130の受信処理が完了しないと、生成タスク1120が処理を開始することができないという制約がある。よって、空き時間Tbは周期Tcから通信タスクの実行時間Tioを減じた時間になる。つまり、空き時間Tbは、処理部1101の各プロセッサにおいて生成タスク1120が周期内に処理を完了することができる最大時間である。
Here, the operation of the
ここで、決定部115は、処理部1101のプロセッサに対応するグループを処理部1101のプロセッサの数だけ用意し、各グループに生成タスク1120を割り当てる。そして、グループに割り当てられた生成タスク1120は、割り当てられたグループに対応する、処理部1101のプロセッサにおいて実行される。よって、生成タスク1120の実行時間がグループに対応するプロセッサの空き時間Tbに収まるように生成タスク1120がグループに割り当てられれば、生成タスク1120は周期内に処理を完了することができる。また、複数の生成タスク1120の実行時間の合計が空き時間Tbに収まれば、1つのグループに複数の生成タスク1120を割り当てることも可能である。以下では、グループに対応するプロセッサの空き時間を、グループの空き時間とすることもある。また、処理部1101のプロセッサがn個(nは2以上の自然数)存在して、対応するグループもn個存在する場合、それぞれの空き時間をTb1~Tbnとする。なお、グループにタスクを割り当てる前は、Tb1~Tbnのそれぞれの値はTbと等しい。
Here, the
次に、S202からS208の処理において、決定部115は、最大でn回の繰り返し処理(第1繰り返し処理)を行い、グループへ生成タスク1120を割り当てる。ここでは、一例として、S202からS208の処理において、決定部115は、X番目(Xは、1≦X≦nの自然数)のグループ(グループX)にタスクを割り当てることとし、グループXの空き時間をTbxとした場合の処理について説明する。
Next, in the process from S202 to S208, the
次に、S203からS207の処理において、決定部115は、グループに割り当てられていない生成タスク1120の数だけ繰り返し処理(第2繰り返し処理)を行い、グループXへの生成タスク1120の割り当てを決定する。ここで、グループに割り当てられていない生成タスク1120がm個(mは1以上の自然数)存在する場合、決定部115は、最大でm回の繰り返し処理を行い、グループXへの生成タスク1120の割り当てを決定する。また、決定部115は、グループXに生成タスク1120を割り当てるにあたり、グループに割り当てられていない生成タスク1120のそれぞれについて繰り返し処理を行う。また、決定部115は、生成タスク1120に対応する実行時間が長い順に生成タスク1120についての繰り返し処理を行う。
Next, in the process from S203 to S207, the
ここで、m個の生成タスク1120が存在して、それぞれの生成タスク1120に対応する実行時間をTt1~Ttmとする。また、以下では、処理対象の生成タスク1120を生成タスクYとし、生成タスクYの実行時間をTtyとする。
Here, there are m generated
次に、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繰り返し処理を実行する。
Next, in S204, the
S205において、決定部115は、生成タスクYをグループXに割り当てる。そして、S206において、決定部115は、グループXの空き時間Tbxから、割り当てた生成タスクYの実行時間Ttyを減算し、グループXの空き時間Tbxを更新する。具体的には、グループXの空き時間Tbxは、Tbx-Ttyにより更新される。
In S205, the
S207において、グループに割り当てられていない生成タスク1120のうちすべての生成タスク1120に対して処理を行っていない場合は、決定部115は、S203に処理を戻して、次の生成タスク1120についてS203からS207の処理を行う。また、グループに割り当てられていない生成タスク1120のうちすべての生成タスク1120に対して処理を行った場合は、決定部115は、S203からS207の処理を終了させる。
In S207, if processing has not been performed for all of the generated
S208において、すべてのグループに対して処理が行われていない場合、決定部115は、S202に処理を戻して、次のグループについてS202からS208の処理を行う。す。また、すべてのグループに対して処理が行われた場合、決定部115は、S202からS208の処理を終了させる。
If processing has not been performed for all groups in S208, the
ここで、図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)
Here, the process of allocating tasks to groups will be described with reference to Fig. 6. Fig. 6 is a diagram showing an example of the task allocation process according to this embodiment. First, the period of periodic communication and the execution time of each task will be described with reference to Fig. 6(a). In the example of Fig. 6(a), the period Tc of periodic communication, the execution time Tio of the
Tc=1[msec]...(1)
Tio=200[μsec]...(2)
Tt1=400[μsec]...(3)
Tt2=700[μsec]...(4)
Tt3=300[μsec]...(5)
また、前述の通り、取得部114は、これらの実行時間を取得して、決定部115に通知するものとする(S102)。
As described above, the
次に、決定部115は、割り当てるグループの空き時間Tbを取得する(S201)。空き時間Tb=Tc-Tioであるため、Tb=800[μsec]となる。また、処理部1101のプロセッサの数が3個であることから、割り当てるグループも3個となる。そして、各グループにタスクを割り当てる前の時点では、それぞれのグループの空き時間Tb1、Tb2、Tb3は、Tb=Tb1=Tb2=Tb3=800[μsec]である。
Next, the
次に、決定部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]となる。
Next, the
次に、決定部115は、グループ1の空き時間Tb1で他の生成タスクが実行可能か否かを判定する(S204)。ここで、グループに割り当てられていない生成タスクの中で、最も実行時間の長いタスクは生成タスク1121である。生成タスク1121の実行時間はTt1=400[μsec]であり、グループ1の空き時間Tb1は100[μsec]である。よって、決定部115は、グループ1の空き時間Tb1で生成タスク1121は実行可能ではないと判定する。
Next, the
そして、決定部115は、次に実行時間の長い生成タスク1123についても、実行可能か否かを判定する(S204)。生成タスク1123の実行時間Tt3=300[μsec]であるため、決定部115は、グループ1の空き時間Tb1で生成タスク1123も実行可能ではないと判定する。グループ1に対して割り当て可能な生成タスクはもう存在しないため、決定部115は、グループ1に対して生成タスクを割り当てる処理は終了し、グループ2に対して生成タスクを割り当てる処理へ進む。
Then, the
次に、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]となる。
Next, as shown in S302, the
次に、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の処理を終了させる。
Next, as shown in S303, the
次に、図4に戻り、S103からの処理について説明する。S103において、決定部115は、所定の条件を満たすか否かを判定する。所定の条件を満たす場合、決定部115はS104に処理を進める。また、所定の条件を満たさない場合、決定部115はS105に処理を進める。
Next, returning to FIG. 4, the process from S103 will be described. In S103, the
ここで、所定の条件は、プロセッサ1110に対応するグループの空き時間(処理部1101の空き時間)が予め定められた時間以上であることとすることができる。ここで、処理部1101の空き時間は、複数のプロセッサ(図2の例では、プロセッサ1111、1112、及び1113)のそれぞれの空き時間の合計とすることができる。また、所定の条件の判定基準である予め定められた時間は、例えば、周期的な処理の1周期の時間に設定することができる。また、例えば、予め定められた時間は、ユーザによって任意に設定された時間とすることができる。
The predetermined condition here can be that the free time of the group corresponding to processor 1110 (free time of processing unit 1101) is equal to or longer than a predetermined time. Here, the free time of
また、所定の条件は、複数のプロセッサのうち、少なくとも1つのプロセッサの空き時間が予め定められた時間以上であることとすることができる。予め定められた時間は上記と同様に、周期的な処理の1周期の時間としてもよいし、ユーザによって任意に設定された時間としてしてもよい。 The specified condition may be that the free time of at least one of the multiple processors is equal to or longer than a predetermined time. As above, the predetermined time may be the time of one cycle of a periodic process, or may be a time arbitrarily set by the user.
また、所定の条件は、S200において全ての生成タスク1120がグループに割り当てられた状態で、生成タスク1120が割り当てられていないグループの数が所定の数以上であることとすることができる。例えば、生成タスク1120が割り当てられていないグループの数が1以上あれば条件を満たすこととすることができ、図6(b)の例では、その条件を満たす。
The predetermined condition may be that, when all of the generated
また、所定の条件は、S200において全ての生成タスク1120がグループに割り当てられたこととすることができる。つまり、グループに割り当てられなかった生成タスク1120が1つでもあれば条件を満たさないとすることができる。
The specified condition may be that all generated
また、上記のような複数の条件を組み合わせて、所定の条件とすることもできる。このとき、複数の条件のうち少なくとも1つの条件を満たす場合に所定の条件を満たすとしてもよいし、複数の条件のうちすべての条件を満たす場合に所定の条件を満たすとしてもよい。 The above multiple conditions can also be combined to form a predetermined condition. In this case, the predetermined condition may be satisfied when at least one of the multiple conditions is satisfied, or the predetermined condition may be satisfied when all of the multiple conditions are satisfied.
S104において、決定部115は、各グループに割り当てられた生成タスク1120を、各グループに対応する処理部1101に実行させる。ここで、図7を用いて、グループに割り当てられた生成タスク1120を処理部1101に実行させる処理について説明する。図7は、本実施形態に係るタスクの実行スケジュールの例を示した図である。縦軸が時間を表し第1~3の周期通信の期間が図示されており、タスク毎に処理が実行されるスケジュールが示されている。図7においては、処理部1101において実行されるタスクとして、通信タスク1130と、生成タスク1121、1122、1123と、非周期タスク1160とが存在する場合を例示している。
In S104, the
非周期タスク1160は、図7において図示された第1の通信周期よりも以前から、プロセッサ1113において実行されている(1)。また、通信タスク1130は、第1の通信周期の最初に、プロセッサ1111おいて実行される(2)。
The
ここで、通信タスク1130と生成タスク1120の処理について説明する。生成タスク1120は、スレーブ装置120を制御するための指令データを生成する。そして、生成タスク1120は、生成された指令データをデータフレームに書き込む。具体的には、生成タスク1121、1122、及び1123により、それぞれスレーブ装置121、122、及び123に対する指令データが生成され、データフレームにおいて、スレーブ装置121、122、及び123に割り当てられた領域に書き込まれる。
The processing of
通信タスク1130は、指令データが書き込まれたデータフレームをスレーブ装置121へ送信する。送信されたデータフレームを受信したスレーブ装置121は、データフレームに書き込まれた指令データのうち自身に割り当てられた指令データを読み出し、かかる指令データに対する応答データをデータフレームに書き込む。そして、スレーブ装置121は、応答データを書き込んだデータフレームを次のスレーブ装置122へ送信する。次に、スレーブ装置121からデータフレームを受信したスレーブ装置122は、データフレームに書き込まれた指令データのうち自身に割り当てられた指令データを読み出し、かかる指令データに対する応答データをデータフレームに書き込む。そして、スレーブ装置122は、応答データを書き込んだデータフレームを次のスレーブ装置123へ送信する。次に、スレーブ装置122からデータフレームを受信したスレーブ装置123は、データフレームに書き込まれた指令データのうち自身に割り当てられた指令データを読み出し、かかる指令データに対する応答データをデータフレームに書き込む。そして、スレーブ装置123は応答データを書き込んだデータフレームを、スレーブ装置122、及び121を介して、マスタ装置110に送信する。
The
マスタ装置110に送信されたデータフレームは、通信タスク1130によって読み出され、マスタ装置110が持つ記憶装置(不図示)に記憶される。ここで、記憶装置は、データフレームなどのデータを格納するバッファとして機能して、例えば、CPUの作業領域やデータの一時記憶領域を提供するメモリであるRAMや、ハードディスク装置、CD、DVD、メモリカード等の記憶装置などでありうる。そして、データフレームが記憶装置に記憶されることにより、生成タスク1120がスレーブ装置120から送信された応答データを参照することができる状態となる。また、通信タスク1130がデータフレームをスレーブ装置120に送信し、そのデータフレームがマスタ装置110に戻ってくるまでの一連の処理は、1回の通信タスクの実行中に行われる。
The data frame transmitted to the
ここで、図7の説明に戻る。通信タスク1130は、第1の通信周期の前の通信周期において生成タスク1120により生成された指令データを含むデータフレームを、第1の通信周期において、スレーブ装置120に送信する。その後、通信タスク1130は、第1の通信周期において、スレーブ装置120からの送信された応答データのデータフレームを受信する。そして、通信タスク1130は、受信した応答データを生成タスク1120により参照可能な状態にして、生成タスク1120に通知する。このように、通信タスク1130は、各通信周期の最初に実行され、前の通信周期において生成された指令データをスレーブ装置120に送信して、スレーブ装置120から応答データを受信して、生成タスクに通知をする。
Now, returning to the explanation of FIG. 7, the
次に、通信タスク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の例に限られるものではない。
Next, after receiving a notification from the
このように、通信タスク1130はプロセッサ1111で、生成タスク1120はプロセッサ1111及び1112で実行される。そのため、通信タスク1130及び生成タスク1120の実行は、プロセッサ1113で実行されている非周期タスク1160の実行には影響を及ぼさない。
In this way, the
第2の通信周期以降も、通信タスク1130及び生成タスク1120は、同様にプロセッサ1111、及び1112で実行されるため、通信タスク1130及び生成タスク1120の実行は、非周期タスク1160の実行には影響を及ぼさない。つまり、通信タスク1130及び生成タスク1120の実行により、非周期タスク1160の実行が遅延することはない。このように、マスタ装置110が周期通信以外の非周期処理を行う場合であっても、非周期処理を遅延させることなく、周期通信の処理を行うことができる。
Even after the second communication cycle, the
ここで、図4の説明に戻る。S105において、決定部115は、代替処理を実行する。代替処理として、例えば、決定部115は、エラーを表示装置1106に表示するように制御することができる。また、代替処理として、例えば、決定部115は、周期通信の処理を中断することができる。また、代替処理として、例えば、決定部115は、周期を延長して処理を継続することができる。また、S103において決定部115は複数の条件を判定して、複数の条件のそれぞれの判定結果に応じてS105において異なる代替処理が実行されてもよい。例えば、S200において全ての生成タスク1120がグループに割り当てられない場合は周期通信の処理を中断することとしてもよい。また、全ての生成タスク1120がグループに割り当てらたが、処理部1101の空き時間が予め定められた時間以下である場合は周期通信の処理を中断せずエラーを表示装置1106に表示することとしてもよい。
Now, let us return to the description of FIG. 4. In S105, the
ここで、図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)
Here, an example of a process for allocating tasks to a group when it is determined in S103 that the predetermined condition is not satisfied will be described with reference to Fig. 8. Fig. 8 is a diagram showing another example of a task allocation process according to this embodiment. First, the period of periodic communication and the execution time of each task will be described with reference to Fig. 8(a). In the example of Fig. 8(a), the period Tc of periodic communication, the execution time Tio of the
Tc=1 [msec]...(6)
Tio=200[μsec]...(7)
Tt1=500[μsec]...(8)
Tt2=700[μsec]...(9)
Tt3=400[μsec]...(10)
ここで、図6に関する説明と重複する説明については省略する。 Here, any explanation that overlaps with the explanation for Figure 6 will be omitted.
S401において、決定部115は、タスク1122をグループ1に割り当てる。そして、決定部115は、グループ1の空き時間Tb1を100[μsec]に更新する。また、決定部115は、グループ1の空き時間Tb1で生成タスク1121、及び1123は実行可能ではないと判定する。
In S401, the
S402において、決定部115は、生成タスク1121をグループ2に割り当てる。そして、決定部115は、グループ2の空き時間Tb2を300[μsec]に更新する。また、Tb2≦Tt3であるため、決定部115は、グループ2の空き時間Tb2で生成タスク1123は実行可能ではないと判定する。
In S402, the
S403において、決定部115は、生成タスク1123をグループ3に割り当てる。そして、決定部115は、グループ3の空き時間Tb3を400[μsec]に更新する。
In S403, the
ここまでの処理で、すべての生成タスクについて、グループへの割り当てが完了したため、決定部115は、S202からS208の処理を終了させる。
Since the processing up to this point has completed the assignment of all generated tasks to groups, the
ここで、各グループの空き時間の合計時間は、Tb1+Tb2+Tb3=800[μsec]であり、予め定められた時間を周期通信の周期Tcとすると、Tb1+Tb2+Tb3<Tcとなる。S103における所定の条件を、処理部1101の空き時間が周期通信の周期以上であることとすると、図8の例は、S103において所定の条件を満たさないことになる。
Here, the total free time of each group is Tb1 + Tb2 + Tb3 = 800 [μsec], and if the predetermined time is the period Tc of periodic communication, then Tb1 + Tb2 + Tb3 < Tc. If the specified condition in S103 is that the free time of the
また、すべてのグループに対して生成タスク1120が割り当てられたため、生成タスク1120が割り当てられていないグループの数は0である。S103における所定の条件を、生成タスク1120が割り当てられていないグループの数が1以上であることとすると、図8の例は、S103において所定の条件を満たさないことになる。
In addition, because the
周期処理は周期内に処理を完了させる必要があるため、通信タスク1130及び生成タスク1120は非周期タスク1160よりも優先的に実行される。そのため、S103において所定の条件を満たさない場合、非周期タスク1160の処理は、処理部1101のプロセッサの空き時間が発生するまで中断され、遅延する可能性がある。
Since periodic processing must be completed within the period, the
前述の通り、S103において所定の条件が満たされない場合、S105において、エラー表示、周期通信の処理の中止、周期の延長などの代替処理が実行される。 As mentioned above, if the specified conditions are not met in S103, alternative processing such as displaying an error, stopping the periodic communication processing, or extending the period is performed in S105.
以上、本実施形態に係る制御装置によれば、通信タスク及び生成タスクの処理により非周期タスクの処理が中断されることが抑制されるので、他の装置との間で周期的に通信を行いながら、非周期的な処理の遅延を抑制することができる。 As described above, the control device according to this embodiment prevents the processing of non-periodic tasks from being interrupted by the processing of communication tasks and generation tasks, so that it is possible to suppress delays in non-periodic processing while periodically communicating with other devices.
<第2実施形態>
次に、第2実施形態に係る情報処理部について説明する。なお、ここで言及しない事項は、第1実施形態に従いうる。第2実施形態においては、マスタ装置110の処理部1101が4つのプロセッサを有し、システム100は6つのスレーブ装置120を有している例について説明する。また、処理部1101においては、スレーブ装置120の数と同じ4つの生成タスク1120と1つの通信タスク1130が実行されるものとする。
Second Embodiment
Next, an information processing unit according to the second embodiment will be described. Note that matters not mentioned here may follow the first embodiment. In the second embodiment, an example will be described in which the
図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)
The process of allocating tasks to groups will be described with reference to Fig. 9. Fig. 9 is a diagram showing an example of the task allocation process according to this embodiment. First, the period of periodic communication and the execution time of each task will be described with reference to Fig. 9(a). In the example of Fig. 9(a), the period of periodic communication Tc, the execution time Tio of the
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も存在しない。
The process of allocating the generated
ここで、図9(b)に示すように生成タスク1120がグループに割り当てられた場合、S103において所定の条件が満たすと判定されたものと説明を続ける。ここで、図10を用いて、グループに割り当てられた生成タスク1120を処理部1101に実行させる処理について説明する。図10は、本実施形態に係るタスクの実行スケジュールの例を示した図である。タスクの実行スケジュールについては、第1実施形態と同様であるため詳細な説明は省略する。図10に示すように、通信タスク1130及び生成タスク1120の実行は、非周期タスク1160の実行には影響を及ぼさない。つまり、通信タスク1130及び生成タスク1120の実行を行いながら、非周期タスク1160の実行が遅延することを抑制することができる。
Here, as shown in FIG. 9B, when the generated
以上、本実施形態に係る制御装置によれば、通信タスク及び生成タスクの処理により、非周期タスクの処理が中断されることが抑制されるので、他の装置との間で周期通信を行いながら、非周期的な処理の遅延を抑制することができる。 As described above, the control device according to this embodiment prevents the processing of non-periodic tasks from being interrupted by the processing of communication tasks and generation tasks, so that it is possible to suppress delays in non-periodic processing while performing periodic communication with other devices.
<基板処理装置の実施形態>
システム100を適用した基板処理装置の実施形態について説明する。本実施形態では、システム100を適用した基板処理装置として、基板を露光して基板上にパターンを形成する露光装置を例示して説明するが、それに限られるものではない。例えば、モールドを用いて基板上にインプリント材のパターンを形成するインプリント装置や、荷電粒子線を基板に照射して当該基板にパターンを形成する描画装置などの基板処理装置においても、システム100を適用することができる。また、システム100を適用した基板処理装置として、感光媒体を基板の表面上に塗布する塗布装置、パターンが転写された基板を現像する現像装置などの基板処理装置においても、システム100を適用することができる。また、システム100を適用した基板処理装置として、成膜装置(CVD装置等)、加工装置(レーザー加工装置等)、検査装置(オーバーレイ検査装置等)などの基板処理装置においても、システム100を適用することができる。
<Embodiment of Substrate Processing Apparatus>
An embodiment of a substrate processing apparatus to which the
図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の各部)を制御する。
Figure 11 is a diagram showing the configuration of the
光源11は、露光光を射出する。照明光学系12は、光源11から射出された光を用いてマスクMを照明する。マスクステージ13は、マスクMを保持するとともに、第1駆動部21によって例えばXY方向に移動可能に構成されうる。投影光学系14は、照明光学系12により照明されたマスクMのパターンを基板上に投影する。投影光学系14は、第2駆動部22によって例えばX方向に移動可能なレンズ14aを含む。基板ステージ15は、基板Wを保持するとともに、第3駆動部51によって例えばXY方向に移動可能に構成されうる。
The
図11に示す露光装置10において、システム100を適用する場合、主制御部16がマスタ装置110として構成されうる。また、マスクステージ制御部31および投影制御部32がそれぞれスレーブ装置120として構成されうる。第1駆動部21および第2駆動部22がそれぞれユニット130として構成されうる。主制御部16、マスクステージ制御部31および投影制御部32との間における通信が、ネットワーク140を介して一定周期ごとに行われることとなる。
When the
そして、露光装置10において、基板ステージ制御部41および、第3駆動部51は、システム100におけるマスタ装置110の処理部を兼用する、システム100とは別系統の制御系として構成されうる。主制御部16と基板ステージ制御部41は、ネットワーク140とは必ずしも同一ではない、例えばフィールドバスによって接続されうる。
In the
ここで、システム100を露光装置10に適用する場合の例として、マスタ装置110がマスクステージ制御部31、投影制御部32、及び基板ステージ制御部41と通信を行う場合について説明する。マスタ装置110の処理部1101において、例えば、通信タスク1130、生成タスク1121、1122、及び非周期タスク1160が実行されうる。ここで、生成タスク1121は、マスクステージ制御部31に対して送信してマスクステージ13を制御するための指令データを生成するタスクである。また、生成タスク1122は、投影制御部32に対して送信して投影光学系14のレンズ14aを制御するための指令データを生成するタスクである。また、非周期タスク1160は、基板ステージ制御部41に対して送信して基板ステージ15を制御するための指令データを生成して、基板ステージ制御部41と通信を行うタスクである。
Here, as an example of applying the
また、マスタ装置110(主制御部16)は、露光装置を動作させ、基板に微細なパターンを形成するにあたり、第1駆動部21、第2駆動部22、及び第3駆動部51を高い精度で同期させながら制御を行う必要がある。そのために、マスクステージ制御部31及び投影制御部32に対しては、一定周期で実行される生成タスク1121、1122により制御のための指令データを生成し、通信タスク1130により、ネットワーク140を介してデータを送信して制御を行う。
In addition, when operating the exposure apparatus and forming a fine pattern on the substrate, the master device 110 (main control unit 16) needs to control the
一方、基板ステージ制御部41に対しては、非周期タスク1160を実行して第3駆動部51の制御のための指令データを生成し、フィールドバスを通じて基板ステージ制御部41にデータを送信して制御を行う。典型的には、特に高い制御精度を求められる基板ステージ15の制御には、高負荷な演算が必要であり、かつ露光装置として高い生産性を達成するために、速やかにその演算を終える必要がある。このように、露光装置は複数の制御系で構成されており、主制御部16の処理部を複数の制御系で兼用する場合がありうる。
On the other hand, for the substrate
このような状況において、それぞれのタスクが主制御部16の処理部1101を共有して実行される場合、生成タスク1120および通信タスク1130が周期的に実行されると、非周期タスク1160の実行終了までの時間が遅延してしまう。すると、基板ステージ15の制御が遅延し、装置としての生産性が低下するばかりでなく、タイミングのずれによって制御精度が低下してしまうおそれがある。
In such a situation, if each task is executed by sharing the
そこで、決定部115が、通信タスク及び生成タスクの処理により、非周期タスクの処理が中断されることが抑制されるようにグループに対して各タスクを割り当てる。その結果に従って処理部1101のプロセッサ1110でタスクを実行することにより、周期通信に用いる処理部1101のプロセッサ1110の個数を最小限にすることができるため、基板ステージ15の制御のための処理の遅延を抑制することができる。
The
以上、本実施形態に係る制御装置によれば、マスクステージ制御部及び投影制御部との間で周期通信を行いながら、基板ステージを制御するための非周期処理の遅延を抑制することができる。 As described above, the control device according to this embodiment can suppress delays in non-periodic processing for controlling the substrate stage while performing periodic communication between the mask stage control unit and the projection control unit.
<物品の製造方法の実施形態>
本発明の実施形態にかかる物品の製造方法は、例えば、半導体デバイス等のマイクロデバイスや微細構造を有する素子等の物品を製造するのに好適である。本実施形態の物品の製造方法は、上述した基板処理装置を用いて基板を処理する工程と、かかる工程で処理された基板から物品を製造する工程とを含む。更に、かかる製造方法は、周知の工程(露光、酸化、成膜、蒸着、ドーピング、平坦化、エッチング、レジスト剥離、ダイシング、ボンディング、パッケージング等)を含みうる。本実施形態の物品の製造方法は、従来の方法に比べて、物品の性能・品質・生産性・生産コストの少なくとも1つにおいて有利である。
<Embodiments of a method for manufacturing an article>
The method for manufacturing an article according to an embodiment of the present invention is suitable for manufacturing an article such as a microdevice such as a semiconductor device or an element having a microstructure. The method for manufacturing an article according to the present embodiment includes a step of processing a substrate using the above-mentioned substrate processing apparatus, and a step of manufacturing an article from the substrate processed in the above step. Furthermore, the manufacturing method may include well-known steps (exposure, oxidation, film formation, deposition, doping, planarization, etching, resist stripping, dicing, bonding, packaging, etc.). The method for manufacturing an article according to the present embodiment is advantageous in at least one of the performance, quality, productivity, and production cost of the article compared to conventional methods.
<その他の実施形態>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
<Other embodiments>
The present invention can also be realized by a process in which a program for implementing one or more of the functions of the above-described embodiments is supplied to a system or device via a network or a storage medium, and one or more processors in a computer of the system or device read and execute the program. The present invention can also be realized by a circuit (e.g., ASIC) that implements one or more of the functions.
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されないことはいうまでもなく、その要旨の範囲内で種々の変形及び変更が可能である。 The above describes preferred embodiments of the present invention, but it goes without saying that the present invention is not limited to these embodiments, and various modifications and variations are possible within the scope of the gist of the invention.
また、それぞれの実施形態は、単独で実施するだけでなく、すべての実施形態のうちのいずれの組合せで実施することができる。 Furthermore, each embodiment can be implemented not only alone, but also in any combination of all the embodiments.
Claims (11)
前記スレーブ装置を制御するための指令データ又は前記スレーブ装置からの応答データを含むデータフレームの周期通信に係る周期処理を実行する周期タスクの実行に要する実行時間を取得する取得部と、
前記周期通信の周期と前記実行時間とに基づき前記周期タスクを実行するプロセッサを前記複数のプロセッサのうちから決定する決定部と、を有し、
前記周期タスクには、前記データフレームを通信する通信タスクと、前記スレーブ装置を制御するための指令データを生成する生成タスクと、が含まれ、
前記取得部は、前記通信タスクの実行に要する第1実行時間を取得し、
前記決定部は、前記通信タスクを実行するプロセッサを決定した後に、前記周期と前記第1実行時間とに基づき前記生成タスクを実行するプロセッサを決定し、
決定された前記プロセッサにおいて前記周期タスクが実行されることを特徴とする制御装置。 A control device having a plurality of processors for executing tasks and controlling slave devices connected via a network,
an acquisition unit that acquires an execution time required for execution of a periodic task that executes periodic processing related to periodic communication of a data frame including command data for controlling the slave device or response data from the slave device;
a determination unit that determines a processor that will execute the periodic task from among the plurality of processors based on a period of the periodic communication and the execution time,
the periodic tasks include a communication task for communicating the data frame and a generation task for generating command data for controlling the slave device;
The acquisition unit acquires a first execution time required for execution of the communication task,
the determination unit determines a processor that will execute the communication task, and then determines a processor that will execute the creation task based on the period and the first execution time;
A control device, characterized in that the periodic task is executed in the determined processor.
前記所定の条件を満たしている場合、前記周期タスクが決定された前記プロセッサにおいて実行され、
前記所定の条件は、決定された前記プロセッサで前記周期タスクを実行した場合の前記複数のプロセッサの空き時間の合計が所定の時間以上であること、前記複数のプロセッサのうち前記周期タスクが実行されないプロセッサの数が所定の数以上であること、及び実行されるプロセッサが決定されていない前記周期タスクが存在していないことのうち少なくとも1つである
ことを特徴とする請求項1に記載の制御装置。 The determination unit determines whether a predetermined condition is satisfied,
If the predetermined condition is satisfied, the periodic task is executed on the determined processor;
2. The control device according to claim 1, wherein the specified condition is at least one of: a total free time of the plurality of processors when the periodic task is executed on the determined processor is equal to or greater than a specified time; a number of processors among the plurality of processors on which the periodic task is not executed is equal to or greater than a specified number; and there is no periodic task on which a processor to be executed has not been determined.
前記所定の処理は、エラーを表示装置に表示するように制御する処理、前記周期を延長する処理、前記データフレームの通信を中断する処理のうち少なくとも1つである
ことを特徴とする請求項2に記載の制御装置。 If the predetermined condition is not satisfied, the determination unit executes a predetermined process,
3. The control device according to claim 2, wherein the predetermined process is at least one of a process of controlling a display device to display an error, a process of extending the period, and a process of interrupting communication of the data frame.
前記生成タスクは、前記複数のスレーブ装置のそれぞれに対応した複数の生成タスクを含み、
前記取得部は、前記複数の生成タスクのそれぞれの実行に要する第2実行時間を取得し、
前記決定部は、前記取得部により取得された前記第2実行時間の長い順で前記複数の生成タスクを実行するプロセッサを決定する
ことを特徴とする請求項1乃至3のうちいずれか1項に記載の制御装置。 the slave device includes a plurality of slave devices;
the generated task includes a plurality of generated tasks corresponding to the plurality of slave devices,
The acquisition unit acquires a second execution time required for executing each of the plurality of generated tasks;
The control device according to claim 1 , wherein the determination unit determines the processors that will execute the plurality of generated tasks in descending order of the second execution times acquired by the acquisition unit.
ことを特徴とする請求項4に記載の制御装置。 5. The control device according to claim 4, wherein, when there is a first generated task for which a processor for execution has already been determined and a second generated task for which a processor for execution has not yet been determined, the determination unit determines a processor for executing the second generated task based on the period, the first execution time, and the second execution time for which the second generated task is to be executed.
前記マスタ装置は、
前記スレーブ装置を制御するための指令データ又は前記スレーブ装置からの応答データを含むデータフレームの周期通信に係る周期処理を実行する周期タスクの実行に要する実行時間を取得する取得部と、
前記周期通信の周期と前記実行時間とに基づき前記周期タスクを実行するプロセッサを前記複数のプロセッサのうちから決定する決定部と、を有し、
前記周期タスクには、前記データフレームを通信する通信タスクと、前記スレーブ装置を制御するための指令データを生成する生成タスクと、が含まれ、
前記取得部は、前記通信タスクの実行に要する第1実行時間を取得し、
前記決定部は、前記通信タスクを実行するプロセッサを決定した後に、前記周期と前記第1実行時間とに基づき前記生成タスクを実行するプロセッサを決定し、
決定された前記プロセッサにおいて前記周期タスクが実行されることを特徴とするシステム。 A system including a slave device connected via a network, and a master device having a plurality of processors for executing tasks and controlling the slave devices,
The master device
an acquisition unit that acquires an execution time required for execution of a periodic task that executes periodic processing related to periodic communication of a data frame including command data for controlling the slave device or response data from the slave device;
a determination unit that determines a processor that will execute the periodic task from among the plurality of processors based on a period of the periodic communication and the execution time,
the periodic tasks include a communication task for communicating the data frame and a generation task for generating command data for controlling the slave device;
The acquisition unit acquires a first execution time required for execution of the communication task,
the determination unit determines a processor that will execute the communication task, and then determines a processor that will execute the creation task based on the period and the first execution time;
The system further comprises a processor that is configured to execute the periodic task.
請求項7に記載のシステムを有し、
前記システムが有するスレーブ装置は、前記半導体基板の処理の少なくとも一部を行うユニットを制御する
ことを特徴とする基板処理装置。 A substrate processing apparatus for processing semiconductor substrates,
A system according to claim 7 ,
The substrate processing apparatus, wherein a slave device of the system controls a unit that performs at least a part of the processing of the semiconductor substrate.
処理された前記半導体基板から物品を製造する工程と、を有する
ことを特徴とする物品の製造方法。 Processing the semiconductor substrate using the substrate processing apparatus according to claim 8 ;
and producing an article from the processed semiconductor substrate.
前記スレーブ装置を制御するための指令データ又は前記スレーブ装置からの応答データを含むデータフレームの周期通信に係る周期処理を実行する周期タスクの実行に要する実行時間を取得する取得工程と、
前記周期通信の周期と前記実行時間とに基づき前記周期タスクを実行するプロセッサを前記複数のプロセッサのうちから決定する決定工程と、を有し、
前記周期タスクには、前記データフレームを通信する通信タスクと、前記スレーブ装置を制御するための指令データを生成する生成タスクと、が含まれ、
前記取得工程は、前記通信タスクの実行に要する第1実行時間を取得し、
前記決定工程は、前記通信タスクを実行するプロセッサを決定した後に、前記周期と前記第1実行時間とに基づき前記生成タスクを実行するプロセッサを決定し、
決定された前記プロセッサにおいて前記周期タスクが実行されることを特徴とする制御方法。 A control method for controlling slave devices connected via a network by a master device having a plurality of processors for executing tasks, comprising the steps of:
acquiring an execution time required for executing a periodic task that executes periodic processing related to periodic communication of a data frame including command data for controlling the slave device or response data from the slave device;
determining a processor that will execute the periodic task from among the plurality of processors based on the period of the periodic communication and the execution time;
the periodic tasks include a communication task for communicating the data frame and a generation task for generating command data for controlling the slave device;
The acquiring step acquires a first execution time required for executing the communication task,
the determining step determines a processor that will execute the communication task, and then determines a processor that will execute the creation task based on the period and the first execution time;
The control method comprises the step of executing the periodic task in the determined processor.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2021036298A JP7657618B2 (en) | 2021-03-08 | 2021-03-08 | CONTROL DEVICE, SYSTEM, SUBSTRATE PROCESSING APPARATUS, PRODUCT MANUFACTURING METHOD, AND PROGRAM |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2021036298A JP7657618B2 (en) | 2021-03-08 | 2021-03-08 | CONTROL DEVICE, SYSTEM, SUBSTRATE PROCESSING APPARATUS, PRODUCT MANUFACTURING METHOD, AND PROGRAM |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2022136603A JP2022136603A (en) | 2022-09-21 |
| JP7657618B2 true JP7657618B2 (en) | 2025-04-07 |
Family
ID=83311769
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2021036298A Active JP7657618B2 (en) | 2021-03-08 | 2021-03-08 | CONTROL DEVICE, SYSTEM, SUBSTRATE PROCESSING APPARATUS, PRODUCT MANUFACTURING METHOD, AND PROGRAM |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7657618B2 (en) |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2017002353A (en) | 2015-06-09 | 2017-01-05 | 株式会社日立国際電気 | Substrate treatment apparatus, and production method of semiconductor device |
| JP2019036313A (en) | 2017-08-21 | 2019-03-07 | フィッシャー−ローズマウント システムズ,インコーポレイテッド | High performance control server system |
| JP2019061466A (en) | 2017-09-26 | 2019-04-18 | オムロン株式会社 | Control device |
| JP2019153144A (en) | 2018-03-05 | 2019-09-12 | オムロン株式会社 | Control device, system program, and control method |
-
2021
- 2021-03-08 JP JP2021036298A patent/JP7657618B2/en active Active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2017002353A (en) | 2015-06-09 | 2017-01-05 | 株式会社日立国際電気 | Substrate treatment apparatus, and production method of semiconductor device |
| JP2019036313A (en) | 2017-08-21 | 2019-03-07 | フィッシャー−ローズマウント システムズ,インコーポレイテッド | High performance control server system |
| JP2019061466A (en) | 2017-09-26 | 2019-04-18 | オムロン株式会社 | Control device |
| JP2019153144A (en) | 2018-03-05 | 2019-09-12 | オムロン株式会社 | Control device, system program, and control method |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2022136603A (en) | 2022-09-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10761884B2 (en) | Control device for operating multiple types of programs in different execution formats | |
| US10761515B2 (en) | Control system for controlling control object and control device for linking control applications in control system | |
| CN109388107B (en) | Control device | |
| JP6406466B1 (en) | Control device, control method, and control program | |
| US11416293B2 (en) | Control unit having a scheduler for scheduling a plurality of virtual machines, and methods for scheduling a plurality of virtual machines | |
| CN111052012B (en) | Control devices and control systems | |
| CN110192159A (en) | Control device | |
| WO2018186358A1 (en) | Control device, control method, and control program | |
| WO2021002059A1 (en) | Control system, setting device, and computer program | |
| WO2021181799A1 (en) | Robot control system and control method | |
| JP7657618B2 (en) | CONTROL DEVICE, SYSTEM, SUBSTRATE PROCESSING APPARATUS, PRODUCT MANUFACTURING METHOD, AND PROGRAM | |
| TWI861447B (en) | Control device, system, photolithography device, manufacturing method of article, control method and program | |
| JP7738603B2 (en) | CONTROL DEVICE, CONTROL METHOD, PROGRAM, CONTROL SYSTEM, LITHOGRAPHIC APPARATUS, AND ARTICLE MANUFACTURING METHOD | |
| TW202307918A (en) | Control device, system, substrate processing device, method for manufacturing article, control method, and program | |
| JP2023065129A (en) | Control device, system, substrate processing apparatus, product manufacturing method, control method, and program | |
| JP2024040913A (en) | System, its control method and program | |
| US12621219B2 (en) | Control apparatus, control method, storage medium, control system, lithography apparatus, and method of manufacturing article | |
| WO2022254927A1 (en) | Information processing device, control system, and program for developing control program | |
| WO2020255486A1 (en) | Controller | |
| JP2022048289A (en) | Control device and control system | |
| Obreja et al. | Proposal of Architectural Alternatives using ARTIC within the Imaging Control Rack |
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 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20241129 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20241217 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20250213 |
|
| 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: 20250225 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20250326 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7657618 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |