Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7657618B2 - CONTROL DEVICE, SYSTEM, SUBSTRATE PROCESSING APPARATUS, PRODUCT MANUFACTURING METHOD, AND PROGRAM - Google Patents
[go: Go Back, main page]

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 PDF

Info

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
Application number
JP2021036298A
Other languages
Japanese (ja)
Other versions
JP2022136603A (en
Inventor
啓文 小向
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2021036298A priority Critical patent/JP7657618B2/en
Publication of JP2022136603A publication Critical patent/JP2022136603A/en
Application granted granted Critical
Publication of JP7657618B2 publication Critical patent/JP7657618B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total 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). Patent Document 1 discloses a control device that includes a first calculation unit for executing a first task in a first control cycle, a second calculation unit for executing the first task in a second control cycle, and a third calculation unit for executing a third task that is executed depending on the situation. In other words, Patent Document 1 discloses that the first and second tasks that are processed periodically and the third task that is processed non-periodically are each executed by different calculation units.

特開2020-86481号公報JP 2020-86481 A

マスタ装置とスレーブ装置との間で通信を行うシステムでは、マスタ装置と接続するスレーブ装置の数が増加することにより、マスタ装置の処理部において実行される周期処理に係るタスク(周期タスク)の実行に要する時間(実行時間)が増加する。また、スレーブ装置を制御するための処理の複雑度が増加することによっても、マスタ装置の処理部において実行される周期タスクの実行時間が増加する。また、周期処理は周期内で完了させる必要があることから非周期的に実行される非周期処理よりも高い優先度で実行される。その結果、非周期処理に係るタスク(非周期タスク)が実行される処理部に周期タスクが割り当てられることがある。そのことにより、周期タスクが完了するまで非周期タスクが処理待ちの状態になり、非周期タスクの完了が遅延する可能性がある。 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.

システムの構成を示す図である。FIG. 1 is a diagram illustrating a system configuration. マスタ装置の構成を示す図である。FIG. 2 is a diagram illustrating a configuration of a master device. 処理部の構成を示す図である。FIG. 2 is a diagram showing a configuration of a processing unit. タスクの実行処理を示すフローチャートである。13 is a flowchart showing a task execution process. タスクを実行するプロセッサの決定処理を示すフローチャートである。11 is a flowchart showing a process for determining a processor that executes a task. 第1実施形態に係るタスクの割り当て処理の例を示した図である。FIG. 4 is a diagram illustrating an example of a task allocation process according to the first embodiment. 第1実施形態に係るタスクの実行スケジュールの例を示した図である。FIG. 2 is a diagram showing an example of a task execution schedule according to the first embodiment. 第1実施形態に係るタスクの割り当て処理の他の例を示した図である。FIG. 11 is a diagram illustrating another example of the task allocation process according to the first embodiment. 第2実施形態に係るタスクの割り当て処理の例を示した図である。FIG. 11 is a diagram illustrating an example of a task allocation process according to the second embodiment. 第2実施形態に係るタスクの実行スケジュールの例を示した図である。FIG. 11 is a diagram showing an example of a task execution schedule according to the second embodiment. 露光装置の構成を示す図である。FIG. 1 is a diagram showing a configuration of an exposure apparatus.

以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。更に、添付図面においては、同一もしくは同様の構成に同一の参照番号を付し、重複した説明は省略する。 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 system 100. The system 100 includes a master device 110 (control device), a plurality of slave devices 120 communicatively connected to the master device 110, and units 131, 132, and 133 communicatively connected to the slave devices 121, 122, and 123, respectively. Hereinafter, the slave devices 121, 122, and 123 may be collectively referred to simply as the slave device 120. Similarly, in the following description, the units 131, 132, and 133 may be collectively referred to simply as the unit 130.

システム100において、マスタ装置110は、スレーブ装置120を制御し、スレーブ装置120は、ユニット130を制御する。ここで、図1では、マスタ装置110およびスレーブ装置120は、通信可能に接続されたコンピュータ(情報処理装置)によって実現されうるが、ボードコンピュータで構成されてもよいし、ボードコンピュータと兼用するように構成されてもよい。また、ユニット130は、例えば入力リレーや各種センサ、サーボモータ、その他任意のアクチュエータ等の機構であり、スレーブ装置120によって制御されうる。 In the system 100, the master device 110 controls the slave device 120, and the slave device 120 controls the unit 130. Here, in FIG. 1, the master device 110 and the slave device 120 can be realized by computers (information processing devices) connected to each other so as to be able to communicate with each other, but they may also be configured as a board computer or be configured to double as a board computer. The unit 130 is, for example, a mechanism such as an input relay, various sensors, a servo motor, or any other actuator, and can be controlled by the slave device 120.

スレーブ装置120は、ディジーチェーン方式でマスタ装置110に通信可能に接続されている。マスタ装置110は、ネットワーク140を介して、一定周期ごとに、スレーブ装置120とデータの通信(周期通信)を行う。また、スレーブ装置120は、マスタ装置110から受信したデータに基づいて、ユニット130をそれぞれ制御する。 The slave device 120 is communicatively connected to the master device 110 in a daisy chain manner. The master device 110 communicates data with the slave device 120 at regular intervals (periodic communication) via the network 140. The slave devices 120 each control the units 130 based on the data received from the master device 110.

次に、ネットワーク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 network 140. In EtherCAT (registered trademark), a master device connected via a network transmits a data frame to multiple slave devices, and writes data on the fly to the data frame received by the multiple slave devices. In this case, PDO communication and SDO communication are used for communication between the master device and the multiple slave devices. PDO communication is a communication method in which communication is performed at a fixed cycle using data called a process data object (PDO). SDO communication is a communication method in which communication is performed in response to a request from a master device using data called a service data object (SDO). In PDO communication, communication of a data frame is completed at a fixed cycle (for example, 1 ms), so the arrival time of the data is guaranteed. On the other hand, in SDO communication, communication is not necessarily completed within one cycle, so the arrival time of the data is not guaranteed.

ネットワーク140としてEtherCAT(登録商標)を採用する場合には、ネットワーク140に接続されるノードのうち、少なくとも1つのノードがマスタ装置110として機能し、その他のノードがスレーブ装置120として機能しうる。マスタ装置110として機能するノードは、ネットワーク140におけるデータフレームの通信タイミングなどを管理(制御)する。 When EtherCAT (registered trademark) is used as the network 140, at least one of the nodes connected to the network 140 can function as a master device 110, and the other nodes can function as slave devices 120. The node functioning as the master device 110 manages (controls) the communication timing of data frames in the network 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つのスレーブ装置が制御するユニットは複数になりうる。 Here, the system 100 has three slave devices 121, 122, and 123 as slave devices 120 communicatively connected to the master device 110, but the number of slave devices 120 is not limited to three. The system 100 also has three units 131, 132, and 133 as units 130 controlled by the slave devices 120. Unit 131 is controlled by slave device 121, unit 132 is controlled by slave device 122, and unit 133 is controlled by slave device 123. In this embodiment, each unit 130 corresponds to one slave device 120, but one slave device can control multiple units.

また、ユニット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 processing unit 1101 is a central processing unit (CPU) that executes an OS (operating system) and various application programs. The processing unit 1101 is, for example, a multi-CPU having multiple CPUs, or a multi-core CPU having multiple cores, and has processors 1111, 1112, and 1113 that can process tasks in parallel. In FIG. 2, three processors 1111, 1112, and 1113 are illustrated, but the number of processors is not limited to three, and may be two or more. The processing unit 1101 may be composed of not only a central processing unit (CPU), but also a combination of processors or circuits such as a microprocessing unit (MPU), a graphics processing unit (GPU), and an application-specific integrated circuit (ASIC). Here, in the following description, the processors 1111, 1112, and 1113 may be collectively referred to simply as the processor 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に記憶する。 ROM 1102 is a memory that stores fixed data among the programs executed by the processing unit 1101 and parameters for calculation. RAM 1103 is a memory that provides a working area and a temporary storage area for data for the processing unit 1101. ROM 1102 and RAM 1103 are connected to the processing unit 1101 via a bus 1108. 1105 is an input device (input device) including a mouse, a keyboard, etc., and 1106 is a display device (display device) such as a CRT or a liquid crystal display. In addition, the input device 1105 and the display device 1106 may be integrated devices such as a touch panel. In addition, the input device 1105 and the display device 1106 may be configured as devices separate from the computer. 1104 is a storage device such as a hard disk device, CD, DVD, memory card, etc., which stores various programs, various data, etc. The input device 1105, the display device 1106, and the storage device 1104 are each connected to the bus 1108 via an interface not shown. A communication device 1107 for communicating via a network is also connected to the bus 1108. The communication device 1107 is used, for example, to connect to a LAN and perform data communication using a communication protocol such as TCP/IP, and to communicate with other communication devices. The communication device 1107 functions as a data transmitter and receiver, and, for example, receives response data from a transmitter (not shown) in the slave device 120 and stores it in the RAM 1103 or the storage device 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 processing unit 1101. The processing unit 1101 has a generation unit 112, a communication unit 113, an acquisition unit 114, and a determination unit 115. The generation unit 112 generates command data for controlling each slave device 120. The communication unit 113 communicates data such as command data with each slave device 120. The acquisition unit 114 acquires information such as the time required to execute a task (execution time) executed by the generation unit 112, the communication unit 113, etc. Here, a task is a unit of processing executed by the generation unit 112, the communication unit 113, etc., and each task is executed by one of the processors of the processing unit 1101. The determination unit 115 determines the processor that will execute the task.

マスタ装置110は、生成部112に生成タスク1120を実行させて、各スレーブ装置120を制御するための指令データを生成させる。また、マスタ装置110は、通信部113に通信タスク1130を実行させて、ネットワーク140を介して、指令データをスレーブ装置120に送信して、スレーブ装置120からの応答データを受信させる。また、マスタ装置110がスレーブ装置120との間で周期通信を行うために周期的に実行される生成タスク1120及び通信タスク1130を周期タスクとする。また、マスタ装置110は、周期通信以外の処理を実行するための非周期タスク1160を実行させることもある。例えば、非周期タスク1160が行う処理には、任意のタイミングで通信を行い他の装置を制御するための処理や、マスタ装置110と接続する上位の装置(例えば、ホストコンピュータなど)からの任意のタイミングで指令を受けて行う処理などがある。 The master device 110 causes the generation unit 112 to execute the generation task 1120 to generate command data for controlling each slave device 120. The master device 110 also causes the communication unit 113 to execute the communication task 1130 to transmit command data to the slave device 120 via the network 140 and receive response data from the slave device 120. The generation task 1120 and the communication task 1130, which are executed periodically so that the master device 110 can perform periodic communication with the slave device 120, are considered to be periodic tasks. The master device 110 may also execute a non-periodic task 1160 to perform processing other than periodic communication. For example, the processing performed by the non-periodic task 1160 includes processing for communicating at any timing to control other devices, and processing performed in response to commands at any timing from a higher-level device (e.g., a host computer) connected to the master device 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とは必ずしも同数である必要はない。 The generated tasks 1120 are provided corresponding to the slave devices 120 to be controlled. In this embodiment, for example, three generated tasks 1121, 1122, and 1123 are provided to control the three slave devices 121, 122, and 123, respectively. The generated task 1121 controls the slave device 121, and generates command data for controlling the processing in the slave device 121. The generated task 1122 controls the slave device 122, and generates command data for controlling the processing in the slave device 122. The generated task 1123 controls the slave device 123, and generates command data for controlling the processing in the slave device 123. In this embodiment, the generated tasks 1120 and the slave devices 120 are the same in number, but it is sufficient that there is one or more generated tasks 1120 for one slave device 120, and the generated tasks 1120 and the slave devices 120 do not necessarily have to be the same in number.

次に、本実施形態に係るタスクの実行処理について説明する。図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 acquisition unit 114 acquires information such as the number of processors in the processing unit 1101 and the period in periodic communication from the storage device 1104, and notifies the determination unit 115 of the acquired information.

S102において、取得部114は、生成タスク1120及び通信タスク1130が処理部1101において実行される実行時間を記憶装置1104から取得して、決定部115に通知する。ここで、タスクの実行時間は、例えば、タスクが実行されたときの実行時間を予め計測されることにより取得される。また、タスクの実行時間は、タスクを構成するプログラムのステップ数と処理部1101の演算能力(クロック周波数等の処理部1101の演算能力の指標となる数値等)から実行時間を予め算出することにより取得されてもよい。 In S102, the acquisition unit 114 acquires from the storage device 1104 the execution time during which the generation task 1120 and the communication task 1130 are executed in the processing unit 1101, and notifies the determination unit 115. Here, the execution time of the task is acquired, for example, by measuring in advance the execution time when the task is executed. Alternatively, the execution time of the task may be acquired by calculating in advance the execution time from the number of steps of the program constituting the task and the computing power of the processing unit 1101 (e.g., a numerical value that is an index of the computing power of the processing unit 1101, such as a clock frequency).

S200において、決定部115は、マスタ装置110と各スレーブ装置120との間で行われる周期通信の1周期の時間(周期)と各タスクの実行時間とに基づいて、タスクを実行するプロセッサを決定する。具体的には、各タスクをプロセッサ1111、1112、及び1113のうちいずれのプロセッサで、どのような順番で実行させるかを決定する。 In S200, the determination unit 115 determines a processor to execute a task based on the duration (period) of one cycle of periodic communication between the master device 110 and each slave device 120 and the execution time of each task. Specifically, it determines which of processors 1111, 1112, and 1113 will execute each task and in what order.

ここで、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 determination unit 115 obtains the free time for executing the generated task 1120 within the period in each processor of the processing unit 1101 from the period of the periodic communication obtained by the obtaining unit 114 and the execution time of the communication task 1130. Specifically, when the period obtained in S101 is Tc and the execution time of the communication task 1130 obtained in S102 is Tio, the free time Tb in each processor of the processing unit 1101 is calculated as Tb=Tc-Tio.

ここで、通信タスク1130の動作について説明する。通信タスク1130は、ネットワーク140を介して、ある周期の最初にスレーブ装置120と周期通信を行う。例えば、通信タスク1130は、ネットワーク140を介して、前の周期において生成タスク1120により生成された指令データを、スレーブ装置120に送信するとともに、スレーブ装置120から応答データを受信する。応答データとは、例えば、指令データによって指令された処理が完了したか否かを示すデータである。そして、通信タスク1130により受信された応答データを入力データとして、生成タスク1120が次にスレーブ装置に送信する指令データを生成する。そのため、その周期における通信タスク1130の受信処理が完了しないと、生成タスク1120が処理を開始することができないという制約がある。よって、空き時間Tbは周期Tcから通信タスクの実行時間Tioを減じた時間になる。つまり、空き時間Tbは、処理部1101の各プロセッサにおいて生成タスク1120が周期内に処理を完了することができる最大時間である。 Here, the operation of the communication task 1130 will be described. The communication task 1130 performs periodic communication with the slave device 120 via the network 140 at the beginning of a certain period. For example, the communication task 1130 transmits command data generated by the generation task 1120 in the previous period to the slave device 120 via the network 140, and receives response data from the slave device 120. The response data is, for example, data indicating whether or not the processing commanded by the command data has been completed. Then, the generation task 1120 generates command data to be transmitted to the slave device next using the response data received by the communication task 1130 as input data. Therefore, there is a restriction that the generation task 1120 cannot start processing unless the reception processing of the communication task 1130 in that period is completed. Therefore, the free time Tb is the time obtained by subtracting the execution time Tio of the communication task from the period Tc. In other words, the free time Tb is the maximum time that the generation task 1120 can complete processing within a period in each processor of the processing unit 1101.

ここで、決定部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 determination unit 115 prepares groups corresponding to the processors of the processing unit 1101 by the number of processors of the processing unit 1101, and assigns the generated task 1120 to each group. The generated task 1120 assigned to a group is executed by the processor of the processing unit 1101 corresponding to the assigned group. Therefore, if the generated task 1120 is assigned to a group so that the execution time of the generated task 1120 falls within the free time Tb of the processor corresponding to the group, the generated task 1120 can complete processing within the period. Also, if the total execution time of the multiple generated tasks 1120 falls within the free time Tb, it is possible to assign multiple generated tasks 1120 to one group. In the following, the free time of the processor corresponding to a group may be referred to as the free time of the group. Also, if there are n processors (n is a natural number equal to or greater than 2) of the processing unit 1101 and there are also n corresponding groups, the respective free times are referred to as Tb1 to Tbn. Note that before the task is assigned to the group, the values of Tb1 to Tbn are equal to Tb.

次に、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 determination unit 115 repeats the process up to n times (first repeat process) and assigns the generated task 1120 to the group. Here, as an example, in the process from S202 to S208, the determination unit 115 assigns a task to the Xth group (group X) (X is a natural number such that 1≦X≦n) and the free time of group X is Tbx.

次に、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 determination unit 115 performs the repetitive process (second repetitive process) the number of times equal to the number of generated tasks 1120 that are not assigned to a group, and determines the allocation of the generated tasks 1120 to group X. Here, if there are m generated tasks 1120 (m is a natural number equal to or greater than 1) that are not assigned to a group, the determination unit 115 performs the repetitive process up to m times, and determines the allocation of the generated tasks 1120 to group X. Furthermore, when assigning the generated tasks 1120 to group X, the determination unit 115 performs the repetitive process for each generated task 1120 that is not assigned to a group. Furthermore, the determination unit 115 performs the repetitive process for the generated tasks 1120 in the order of the longest execution time corresponding to the generated tasks 1120.

ここで、m個の生成タスク1120が存在して、それぞれの生成タスク1120に対応する実行時間をTt1~Ttmとする。また、以下では、処理対象の生成タスク1120を生成タスクYとし、生成タスクYの実行時間をTtyとする。 Here, there are m generated tasks 1120, and the execution times corresponding to the generated tasks 1120 are Tt1 to Ttm. In the following, the generated task 1120 to be processed is called generated task Y, and the execution time of generated task Y is called 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繰り返し処理を実行する。 Next, in S204, the determination unit 115 determines whether the generated task Y can be executed in the free time Tbx of group X. Specifically, the determination unit 115 determines whether Tbx≧Tty is true. If it is determined that the generated task Y can be executed in the free time Tbx of group X (Tbx≧Tty is true, S204 is Yes), the determination unit 115 proceeds to S205. On the other hand, if it is determined that the generated task Y cannot be executed in the free time Tbx of group X (Tbx≧Tty is not true, S204 is No), the determination unit 115 returns the process to S203. Then, the determination unit 115 executes the next second iteration process with the task with the next longest execution time as the generated task Y to be processed.

S205において、決定部115は、生成タスクYをグループXに割り当てる。そして、S206において、決定部115は、グループXの空き時間Tbxから、割り当てた生成タスクYの実行時間Ttyを減算し、グループXの空き時間Tbxを更新する。具体的には、グループXの空き時間Tbxは、Tbx-Ttyにより更新される。 In S205, the determination unit 115 assigns the generated task Y to the group X. Then, in S206, the determination unit 115 subtracts the execution time Tty of the assigned generated task Y from the free time Tbx of the group X, and updates the free time Tbx of the group X. Specifically, the free time Tbx of the group X is updated by Tbx-Tty.

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 tasks 1120 that are not assigned to a group, the determination unit 115 returns the process to S203 and performs processing from S203 to S207 for the next generated task 1120. In addition, if processing has been performed for all of the generated tasks 1120 that are not assigned to a group, the determination unit 115 ends the processing from S203 to S207.

S208において、すべてのグループに対して処理が行われていない場合、決定部115は、S202に処理を戻して、次のグループについてS202からS208の処理を行う。す。また、すべてのグループに対して処理が行われた場合、決定部115は、S202からS208の処理を終了させる。 If processing has not been performed for all groups in S208, the determination unit 115 returns the process to S202 and performs processing from S202 to S208 for the next group. If processing has been performed for all groups, the determination unit 115 ends processing from S202 to 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)
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 communication task 1130, and the execution times Tt1, Tt2, and Tt3 of the generated tasks 1121, 1122, and 1123 are as shown in the following formulas (1) to (5).
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 acquisition unit 114 acquires these execution times and notifies the determination unit 115 (S102).

次に、決定部115は、割り当てるグループの空き時間Tbを取得する(S201)。空き時間Tb=Tc-Tioであるため、Tb=800[μsec]となる。また、処理部1101のプロセッサの数が3個であることから、割り当てるグループも3個となる。そして、各グループにタスクを割り当てる前の時点では、それぞれのグループの空き時間Tb1、Tb2、Tb3は、Tb=Tb1=Tb2=Tb3=800[μsec]である。 Next, the determination unit 115 obtains the free time Tb of the group to be assigned (S201). Since the free time Tb = Tc - Tio, Tb = 800 [μsec]. Also, since the number of processors in the processing unit 1101 is three, there will also be three groups to be assigned. And, before the tasks are assigned to each group, the free times Tb1, Tb2, and Tb3 of each group are 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]となる。 Next, the determination unit 115 assigns the generated task 1120 to the group (S202 to S208). First, as shown in S301, the determination unit 115 assigns tasks to group 1 in order of longest execution time. The execution time Tt2 of the generated task 1122 is 700 [μsec], which is the longest among the three generated tasks. Here, since Tb1≧Tt2, the determination unit 115 assigns the generated task 1122 to group 1. The determination unit 115 then updates Tb1 with the value obtained by subtracting Tt2 from the free time Tb1 of group 1 (S206). The updated free time Tb1 becomes Tb1-Tt2=100 [μsec].

次に、決定部115は、グループ1の空き時間Tb1で他の生成タスクが実行可能か否かを判定する(S204)。ここで、グループに割り当てられていない生成タスクの中で、最も実行時間の長いタスクは生成タスク1121である。生成タスク1121の実行時間はTt1=400[μsec]であり、グループ1の空き時間Tb1は100[μsec]である。よって、決定部115は、グループ1の空き時間Tb1で生成タスク1121は実行可能ではないと判定する。 Next, the determination unit 115 determines whether other generated tasks can be executed during the free time Tb1 of group 1 (S204). Here, among the generated tasks not assigned to a group, the task with the longest execution time is generated task 1121. The execution time of generated task 1121 is Tt1 = 400 [μsec], and the free time Tb1 of group 1 is 100 [μsec]. Therefore, the determination unit 115 determines that generated task 1121 cannot be executed during the free time Tb1 of group 1.

そして、決定部115は、次に実行時間の長い生成タスク1123についても、実行可能か否かを判定する(S204)。生成タスク1123の実行時間Tt3=300[μsec]であるため、決定部115は、グループ1の空き時間Tb1で生成タスク1123も実行可能ではないと判定する。グループ1に対して割り当て可能な生成タスクはもう存在しないため、決定部115は、グループ1に対して生成タスクを割り当てる処理は終了し、グループ2に対して生成タスクを割り当てる処理へ進む。 Then, the determination unit 115 also determines whether the generated task 1123, which has the next longest execution time, is executable (S204). Because the execution time Tt3 of the generated task 1123 is 300 [μsec], the determination unit 115 determines that the generated task 1123 is also not executable in the free time Tb1 of group 1. Because there are no more generated tasks that can be assigned to group 1, the determination unit 115 ends the process of assigning the generated task to group 1 and proceeds to the process of assigning the generated task to group 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]となる。 Next, as shown in S302, the determination unit 115 assigns the generated task not assigned to the group to group 2. The determination unit 115 determines whether the generated task not assigned to the group can be executed in the free time Tb2 of group 2 (S204). Here, among the generated tasks not assigned to the group, the task with the longest execution time is the generated task 1121. The execution time of the generated task 1121 is Tt1=400 [μsec], and the free time Tb1 of group 1 is 800 [μsec]. Therefore, since Tb2≧Tt1, the determination unit 115 assigns the generated task 1121 to group 2. Then, the determination unit 115 updates Tb2 with a value obtained by subtracting Tt1 from the free time Tb2 of group 2 (S206). The free time Tb2 after the update becomes 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の処理を終了させる。 Next, as shown in S303, the determination unit 115 further assigns the generated task not assigned to the group to group 2. The determination unit 115 determines whether the generated task not assigned to the group can be executed in the free time Tb2 of group 2 (S204). Here, among the generated tasks not assigned to the group, the task with the longest execution time is generated task 1123. The execution time of generated task 1123 is Tt3 = 300 [μsec], and the free time Tb2 of group 2 is 400 [μsec]. Therefore, since Tb2 ≧ Tt3, the determination unit 115 assigns generated task 1123 to group 2. Then, the determination unit 115 updates Tb2 with a value obtained by subtracting Tt3 from the free time Tb2 of group 2 (S206). The free time Tb2 after the update becomes Tb2 - Tt3 = 100 [μsec]. In the example of FIG. 6B, no generated tasks are assigned to group 3. Since the process up to this point has completed the assignment of all generated tasks to groups, the determination unit 115 ends the process from S202 to S208.

次に、図4に戻り、S103からの処理について説明する。S103において、決定部115は、所定の条件を満たすか否かを判定する。所定の条件を満たす場合、決定部115はS104に処理を進める。また、所定の条件を満たさない場合、決定部115はS105に処理を進める。 Next, returning to FIG. 4, the process from S103 will be described. In S103, the determination unit 115 determines whether or not a predetermined condition is satisfied. If the predetermined condition is satisfied, the determination unit 115 advances the process to S104. If the predetermined condition is not satisfied, the determination unit 115 advances the process to S105.

ここで、所定の条件は、プロセッサ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 processing unit 1101 can be the sum of the free times of each of a plurality of processors (in the example of FIG. 2, processors 1111, 1112, and 1113). The predetermined time, which is the criterion for determining the predetermined condition, can be set to, for example, the time of one cycle of periodic processing. The predetermined time can also be set to, for example, a time arbitrarily set by the user.

また、所定の条件は、複数のプロセッサのうち、少なくとも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 tasks 1120 are assigned to groups in S200, the number of groups to which the generated tasks 1120 are not assigned is equal to or greater than a predetermined number. For example, the condition may be satisfied if the number of groups to which the generated tasks 1120 are not assigned is 1 or greater, and in the example of FIG. 6(b), the condition is satisfied.

また、所定の条件は、S200において全ての生成タスク1120がグループに割り当てられたこととすることができる。つまり、グループに割り当てられなかった生成タスク1120が1つでもあれば条件を満たさないとすることができる。 The specified condition may be that all generated tasks 1120 have been assigned to a group in S200. In other words, if there is even one generated task 1120 that has not been assigned to a group, the condition may not be satisfied.

また、上記のような複数の条件を組み合わせて、所定の条件とすることもできる。このとき、複数の条件のうち少なくとも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 determination unit 115 causes the processing unit 1101 corresponding to each group to execute the generated tasks 1120 assigned to each group. Here, the process of causing the processing unit 1101 to execute the generated tasks 1120 assigned to the groups will be described with reference to FIG. 7. FIG. 7 is a diagram showing an example of a task execution schedule according to this embodiment. The vertical axis represents time, and the periods of the first to third periodic communications are illustrated, showing a schedule for executing processing for each task. FIG. 7 illustrates a case in which the tasks executed by the processing unit 1101 include a communication task 1130, generated tasks 1121, 1122, and 1123, and a non-periodic task 1160.

非周期タスク1160は、図7において図示された第1の通信周期よりも以前から、プロセッサ1113において実行されている(1)。また、通信タスク1130は、第1の通信周期の最初に、プロセッサ1111おいて実行される(2)。 The non-periodic task 1160 is executed by the processor 1113 prior to the first communication cycle illustrated in FIG. 7 (1). The communication task 1130 is executed by the processor 1111 at the beginning of the first communication cycle (2).

ここで、通信タスク1130と生成タスク1120の処理について説明する。生成タスク1120は、スレーブ装置120を制御するための指令データを生成する。そして、生成タスク1120は、生成された指令データをデータフレームに書き込む。具体的には、生成タスク1121、1122、及び1123により、それぞれスレーブ装置121、122、及び123に対する指令データが生成され、データフレームにおいて、スレーブ装置121、122、及び123に割り当てられた領域に書き込まれる。 The processing of communication task 1130 and generation task 1120 will now be described. Generation task 1120 generates command data for controlling slave device 120. Generation task 1120 then writes the generated command data into a data frame. Specifically, generation tasks 1121, 1122, and 1123 generate command data for slave devices 121, 122, and 123, respectively, and write the command data into areas in the data frame allocated to slave devices 121, 122, and 123.

通信タスク1130は、指令データが書き込まれたデータフレームをスレーブ装置121へ送信する。送信されたデータフレームを受信したスレーブ装置121は、データフレームに書き込まれた指令データのうち自身に割り当てられた指令データを読み出し、かかる指令データに対する応答データをデータフレームに書き込む。そして、スレーブ装置121は、応答データを書き込んだデータフレームを次のスレーブ装置122へ送信する。次に、スレーブ装置121からデータフレームを受信したスレーブ装置122は、データフレームに書き込まれた指令データのうち自身に割り当てられた指令データを読み出し、かかる指令データに対する応答データをデータフレームに書き込む。そして、スレーブ装置122は、応答データを書き込んだデータフレームを次のスレーブ装置123へ送信する。次に、スレーブ装置122からデータフレームを受信したスレーブ装置123は、データフレームに書き込まれた指令データのうち自身に割り当てられた指令データを読み出し、かかる指令データに対する応答データをデータフレームに書き込む。そして、スレーブ装置123は応答データを書き込んだデータフレームを、スレーブ装置122、及び121を介して、マスタ装置110に送信する。 The communication task 1130 transmits a data frame in which command data is written to the slave device 121. The slave device 121, which receives the transmitted data frame, reads out the command data assigned to itself from the command data written in the data frame, and writes response data to the command data in the data frame. The slave device 121 then transmits the data frame in which the response data is written to the next slave device 122. Next, the slave device 122, which receives the data frame from the slave device 121, reads out the command data assigned to itself from the command data written in the data frame, and writes response data to the command data in the data frame. The slave device 122 then transmits the data frame in which the response data is written to the next slave device 123. Next, the slave device 123, which receives the data frame from the slave device 122, reads out the command data assigned to itself from the command data written in the data frame, and writes response data to the command data in the data frame. Slave device 123 then transmits the data frame containing the response data to master device 110 via slave devices 122 and 121.

マスタ装置110に送信されたデータフレームは、通信タスク1130によって読み出され、マスタ装置110が持つ記憶装置(不図示)に記憶される。ここで、記憶装置は、データフレームなどのデータを格納するバッファとして機能して、例えば、CPUの作業領域やデータの一時記憶領域を提供するメモリであるRAMや、ハードディスク装置、CD、DVD、メモリカード等の記憶装置などでありうる。そして、データフレームが記憶装置に記憶されることにより、生成タスク1120がスレーブ装置120から送信された応答データを参照することができる状態となる。また、通信タスク1130がデータフレームをスレーブ装置120に送信し、そのデータフレームがマスタ装置110に戻ってくるまでの一連の処理は、1回の通信タスクの実行中に行われる。 The data frame transmitted to the master device 110 is read by the communication task 1130 and stored in a storage device (not shown) possessed by the master device 110. Here, the storage device functions as a buffer for storing data such as the data frame, and can be, for example, a RAM, which is a memory that provides a working area for the CPU and a temporary storage area for data, or a storage device such as a hard disk drive, CD, DVD, or memory card. Then, by storing the data frame in the storage device, the generation task 1120 is placed in a state in which it can refer to the response data transmitted from the slave device 120. Also, a series of processes from when the communication task 1130 transmits the data frame to the slave device 120 until the data frame returns to the master device 110 is performed during the execution of one communication task.

ここで、図7の説明に戻る。通信タスク1130は、第1の通信周期の前の通信周期において生成タスク1120により生成された指令データを含むデータフレームを、第1の通信周期において、スレーブ装置120に送信する。その後、通信タスク1130は、第1の通信周期において、スレーブ装置120からの送信された応答データのデータフレームを受信する。そして、通信タスク1130は、受信した応答データを生成タスク1120により参照可能な状態にして、生成タスク1120に通知する。このように、通信タスク1130は、各通信周期の最初に実行され、前の通信周期において生成された指令データをスレーブ装置120に送信して、スレーブ装置120から応答データを受信して、生成タスクに通知をする。 Now, returning to the explanation of FIG. 7, the communication task 1130 transmits a data frame including command data generated by the generation task 1120 in the communication cycle preceding the first communication cycle to the slave device 120 in the first communication cycle. After that, the communication task 1130 receives a data frame of response data transmitted from the slave device 120 in the first communication cycle. Then, the communication task 1130 makes the received response data available for reference by the generation task 1120 and notifies the generation task 1120. In this way, the communication task 1130 is executed at the beginning of each communication cycle, transmits command data generated in the previous communication cycle to the slave device 120, receives response data from the slave device 120, and notifies the generation task.

次に、通信タスク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 communication task 1130, each of the generated tasks 1120 is executed. Specifically, the generated task 1121 is executed in the processor 1112 (3), the generated task 1123 is executed in the processor 1113 (4), and the generated task 1123 is executed in the processor 1112 (5). Here, the generated task 1121 is assigned to the same group (group 2), and is therefore executed in the same processor 1112. Also, in the first communication cycle, the generated task 1123 is executed after the generated task 1121 is completed, but the order may be reversed. In other words, the execution order of the generated tasks 1121 and 1123 is not limited to the example in FIG. 7. Also, it is sufficient that the generated tasks 1121 and 1123 are executed in the same processor, and they are not limited to being executed in the processor 1112. In other words, the processor that executes the communication task 1130 and the generated task 1120 is not limited to the example in FIG. 7.

このように、通信タスク1130はプロセッサ1111で、生成タスク1120はプロセッサ1111及び1112で実行される。そのため、通信タスク1130及び生成タスク1120の実行は、プロセッサ1113で実行されている非周期タスク1160の実行には影響を及ぼさない。 In this way, the communication task 1130 is executed by processor 1111, and the generation task 1120 is executed by processors 1111 and 1112. Therefore, the execution of the communication task 1130 and the generation task 1120 does not affect the execution of the non-periodic task 1160 executed by processor 1113.

第2の通信周期以降も、通信タスク1130及び生成タスク1120は、同様にプロセッサ1111、及び1112で実行されるため、通信タスク1130及び生成タスク1120の実行は、非周期タスク1160の実行には影響を及ぼさない。つまり、通信タスク1130及び生成タスク1120の実行により、非周期タスク1160の実行が遅延することはない。このように、マスタ装置110が周期通信以外の非周期処理を行う場合であっても、非周期処理を遅延させることなく、周期通信の処理を行うことができる。 Even after the second communication cycle, the communication task 1130 and the generated task 1120 are similarly executed by the processors 1111 and 1112, and therefore the execution of the communication task 1130 and the generated task 1120 does not affect the execution of the non-periodic task 1160. In other words, the execution of the communication task 1130 and the generated task 1120 does not delay the execution of the non-periodic task 1160. In this way, even when the master device 110 performs non-periodic processing other than periodic communication, it is possible to perform periodic communication processing without delaying the non-periodic processing.

ここで、図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 determination unit 115 executes an alternative process. As an alternative process, for example, the determination unit 115 can control the display device 1106 to display an error. As an alternative process, for example, the determination unit 115 can interrupt the process of periodic communication. As an alternative process, for example, the determination unit 115 can extend the period and continue the process. In addition, in S103, the determination unit 115 may determine a plurality of conditions, and in S105, different alternative processes may be executed according to the determination results of each of the plurality of conditions. For example, if all the generated tasks 1120 are not assigned to a group in S200, the process of periodic communication may be interrupted. In addition, if all the generated tasks 1120 are assigned to a group, but the free time of the processing unit 1101 is equal to or less than a predetermined time, the process of periodic communication may not be interrupted, and an error may be displayed on the display device 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)
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 communication task 1130, and the execution times Tt1, Tt2, and Tt3 of the generated tasks 1121, 1122, and 1123 are as shown in the following formulas (6) to (10).
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 determination unit 115 assigns task 1122 to group 1. The determination unit 115 then updates the free time Tb1 of group 1 to 100 [μsec]. The determination unit 115 also determines that the generated tasks 1121 and 1123 are not executable during the free time Tb1 of group 1.

S402において、決定部115は、生成タスク1121をグループ2に割り当てる。そして、決定部115は、グループ2の空き時間Tb2を300[μsec]に更新する。また、Tb2≦Tt3であるため、決定部115は、グループ2の空き時間Tb2で生成タスク1123は実行可能ではないと判定する。 In S402, the determination unit 115 assigns the generated task 1121 to group 2. The determination unit 115 then updates the free time Tb2 of group 2 to 300 [μsec]. Furthermore, since Tb2≦Tt3, the determination unit 115 determines that the generated task 1123 cannot be executed during the free time Tb2 of group 2.

S403において、決定部115は、生成タスク1123をグループ3に割り当てる。そして、決定部115は、グループ3の空き時間Tb3を400[μsec]に更新する。 In S403, the determination unit 115 assigns the generated task 1123 to group 3. The determination unit 115 then updates the free time Tb3 of group 3 to 400 [μsec].

ここまでの処理で、すべての生成タスクについて、グループへの割り当てが完了したため、決定部115は、S202からS208の処理を終了させる。 Since the processing up to this point has completed the assignment of all generated tasks to groups, the determination unit 115 ends the processing from S202 to S208.

ここで、各グループの空き時間の合計時間は、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 processing unit 1101 is equal to or greater than the period of periodic communication, then the example in FIG. 8 does not satisfy the specified condition in S103.

また、すべてのグループに対して生成タスク1120が割り当てられたため、生成タスク1120が割り当てられていないグループの数は0である。S103における所定の条件を、生成タスク1120が割り当てられていないグループの数が1以上であることとすると、図8の例は、S103において所定の条件を満たさないことになる。 In addition, because the generation task 1120 has been assigned to all groups, the number of groups to which the generation task 1120 has not been assigned is 0. If the predetermined condition in S103 is that the number of groups to which the generation task 1120 has not been assigned is 1 or more, then the example in FIG. 8 does not satisfy the predetermined condition in S103.

周期処理は周期内に処理を完了させる必要があるため、通信タスク1130及び生成タスク1120は非周期タスク1160よりも優先的に実行される。そのため、S103において所定の条件を満たさない場合、非周期タスク1160の処理は、処理部1101のプロセッサの空き時間が発生するまで中断され、遅延する可能性がある。 Since periodic processing must be completed within the period, the communication task 1130 and the generation task 1120 are executed with priority over the non-periodic task 1160. Therefore, if a specific condition is not met in S103, the processing of the non-periodic task 1160 may be interrupted and delayed until the processor of the processing unit 1101 has free time.

前述の通り、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 processing unit 1101 of the master device 110 has four processors, and the system 100 has six slave devices 120. Also, it is assumed that the processing unit 1101 executes four generation tasks 1120, the same number as the number of the slave devices 120, and one communication task 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)
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 communication task 1130, and the execution times Tt1 to Tt6 of the generated tasks 1121 to 1126 are as shown in the following expressions (11) to (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も存在しない。 The process of allocating the generated tasks 1120 to groups is the same as in the first embodiment, so a detailed description will be omitted. As shown in FIG. 9(b), the generated tasks 1120 are allocated to groups 1 to 3. Group 1 is assigned generated tasks 1124 and 1125, group 2 is assigned generated tasks 1123 and 1126, and group 3 is assigned generated tasks 1121 and 1122. Furthermore, none of the generated tasks 1120 are assigned to group 4. Furthermore, there are no generated tasks 1120 that are not assigned to a group.

ここで、図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 task 1120 is assigned to a group, it is determined in S103 that the predetermined condition is satisfied. Here, the process of having the processing unit 1101 execute the generated task 1120 assigned to a group will be described with reference to FIG. 10. FIG. 10 is a diagram showing an example of a task execution schedule according to this embodiment. The task execution schedule is similar to that of the first embodiment, so a detailed description will be omitted. As shown in FIG. 10, the execution of the communication task 1130 and the generated task 1120 does not affect the execution of the non-periodic task 1160. In other words, it is possible to suppress delays in the execution of the non-periodic task 1160 while executing the communication task 1130 and the generated task 1120.

以上、本実施形態に係る制御装置によれば、通信タスク及び生成タスクの処理により、非周期タスクの処理が中断されることが抑制されるので、他の装置との間で周期通信を行いながら、非周期的な処理の遅延を抑制することができる。 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 system 100 is applied will be described. In this embodiment, an exposure apparatus that exposes a substrate to light to form a pattern on the substrate will be described as an example of a substrate processing apparatus to which the system 100 is applied, but is not limited thereto. For example, the system 100 can be applied to substrate processing apparatuses such as an imprinting apparatus that uses a mold to form a pattern of an imprint material on a substrate, and a drawing apparatus that irradiates a substrate with a charged particle beam to form a pattern on the substrate. In addition, the system 100 can be applied to substrate processing apparatuses such as a coating apparatus that coats a photosensitive medium on a surface of a substrate and a developing apparatus that develops a substrate to which a pattern has been transferred. In addition, the system 100 can be applied to substrate processing apparatuses such as a film forming apparatus (CVD apparatus, etc.), a processing apparatus (laser processing apparatus, etc.), and an inspection apparatus (overlay inspection apparatus, etc.).

図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 exposure apparatus 10. The exposure apparatus 10 is an exposure apparatus that projects a pattern of a mask M onto a substrate W via a projection optical system 14 to expose the substrate W. The exposure apparatus 10 has a light source 11, an illumination optical system 12, a mask stage 13, a projection optical system 14, a substrate stage 15, and a main controller 16. The exposure apparatus 10 also has a first driver 21 that drives the mask stage 13, a second driver 22 that drives the lens 14a of the projection optical system 14, and a third driver 51 that drives the substrate stage 15. The first driver 21, the second driver 22, and the third driver 51 are mechanisms that perform at least a part of the process of forming a pattern on the substrate W, and are controlled by the mask stage controller 31, the projection controller 32, and the substrate stage controller 41, respectively. The main control unit 16 also has, for example, a CPU (processing unit) and a storage device, and controls the mask stage control unit 31, the projection control unit 32, and the substrate stage control unit 41, thereby controlling the entire exposure apparatus 10 (each part of the exposure apparatus 10).

光源11は、露光光を射出する。照明光学系12は、光源11から射出された光を用いてマスクMを照明する。マスクステージ13は、マスクMを保持するとともに、第1駆動部21によって例えばXY方向に移動可能に構成されうる。投影光学系14は、照明光学系12により照明されたマスクMのパターンを基板上に投影する。投影光学系14は、第2駆動部22によって例えばX方向に移動可能なレンズ14aを含む。基板ステージ15は、基板Wを保持するとともに、第3駆動部51によって例えばXY方向に移動可能に構成されうる。 The light source 11 emits exposure light. The illumination optical system 12 illuminates the mask M using the light emitted from the light source 11. The mask stage 13 holds the mask M and can be configured to be movable, for example, in the X and Y directions, by a first drive unit 21. The projection optical system 14 projects the pattern of the mask M illuminated by the illumination optical system 12 onto the substrate. The projection optical system 14 includes a lens 14a that can be moved, for example, in the X direction, by a second drive unit 22. The substrate stage 15 holds the substrate W and can be configured to be movable, for example, in the X and Y directions, by a third drive unit 51.

図11に示す露光装置10において、システム100を適用する場合、主制御部16がマスタ装置110として構成されうる。また、マスクステージ制御部31および投影制御部32がそれぞれスレーブ装置120として構成されうる。第1駆動部21および第2駆動部22がそれぞれユニット130として構成されうる。主制御部16、マスクステージ制御部31および投影制御部32との間における通信が、ネットワーク140を介して一定周期ごとに行われることとなる。 When the system 100 is applied to the exposure apparatus 10 shown in FIG. 11, the main controller 16 can be configured as the master device 110. The mask stage controller 31 and the projection controller 32 can each be configured as a slave device 120. The first driver 21 and the second driver 22 can each be configured as a unit 130. Communication between the main controller 16, the mask stage controller 31, and the projection controller 32 is performed periodically via the network 140.

そして、露光装置10において、基板ステージ制御部41および、第3駆動部51は、システム100におけるマスタ装置110の処理部を兼用する、システム100とは別系統の制御系として構成されうる。主制御部16と基板ステージ制御部41は、ネットワーク140とは必ずしも同一ではない、例えばフィールドバスによって接続されうる。 In the exposure apparatus 10, the substrate stage control unit 41 and the third drive unit 51 can be configured as a control system separate from the system 100, which also serves as the processing unit of the master device 110 in the system 100. The main control unit 16 and the substrate stage control unit 41 can be connected by, for example, a field bus that is not necessarily the same as the network 140.

ここで、システム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 system 100 to the exposure apparatus 10, a case where the master apparatus 110 communicates with the mask stage control unit 31, the projection control unit 32, and the substrate stage control unit 41 will be described. In the processing unit 1101 of the master apparatus 110, for example, a communication task 1130, generation tasks 1121 and 1122, and a non-periodic task 1160 can be executed. Here, the generation task 1121 is a task that generates command data to be sent to the mask stage control unit 31 to control the mask stage 13. The generation task 1122 is a task that generates command data to be sent to the projection control unit 32 to control the lens 14a of the projection optical system 14. The non-periodic task 1160 is a task that generates command data to be sent to the substrate stage control unit 41 to control the substrate stage 15, and communicates with the substrate stage control unit 41.

また、マスタ装置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 first drive unit 21, the second drive unit 22, and the third drive unit 51 while synchronizing them with high precision. To achieve this, command data for control is generated for the mask stage control unit 31 and the projection control unit 32 by generation tasks 1121 and 1122, which are executed at regular intervals, and data is transmitted via the network 140 by a communication task 1130 to perform control.

一方、基板ステージ制御部41に対しては、非周期タスク1160を実行して第3駆動部51の制御のための指令データを生成し、フィールドバスを通じて基板ステージ制御部41にデータを送信して制御を行う。典型的には、特に高い制御精度を求められる基板ステージ15の制御には、高負荷な演算が必要であり、かつ露光装置として高い生産性を達成するために、速やかにその演算を終える必要がある。このように、露光装置は複数の制御系で構成されており、主制御部16の処理部を複数の制御系で兼用する場合がありうる。 On the other hand, for the substrate stage control unit 41, the main control unit 16 executes a non-periodic task 1160 to generate command data for controlling the third drive unit 51, and transmits the data to the substrate stage control unit 41 via the field bus to perform control. Typically, high-load calculations are required to control the substrate stage 15, which requires particularly high control accuracy, and these calculations need to be completed quickly in order to achieve high productivity as an exposure apparatus. In this way, the exposure apparatus is made up of multiple control systems, and there may be cases where the processing unit of the main control unit 16 is shared by multiple control systems.

このような状況において、それぞれのタスクが主制御部16の処理部1101を共有して実行される場合、生成タスク1120および通信タスク1130が周期的に実行されると、非周期タスク1160の実行終了までの時間が遅延してしまう。すると、基板ステージ15の制御が遅延し、装置としての生産性が低下するばかりでなく、タイミングのずれによって制御精度が低下してしまうおそれがある。 In such a situation, if each task is executed by sharing the processing unit 1101 of the main control unit 16, and the generation task 1120 and the communication task 1130 are executed periodically, the time until the non-periodic task 1160 finishes execution will be delayed. This will not only delay the control of the substrate stage 15, reducing the productivity of the apparatus, but also may reduce the control accuracy due to timing discrepancies.

そこで、決定部115が、通信タスク及び生成タスクの処理により、非周期タスクの処理が中断されることが抑制されるようにグループに対して各タスクを割り当てる。その結果に従って処理部1101のプロセッサ1110でタスクを実行することにより、周期通信に用いる処理部1101のプロセッサ1110の個数を最小限にすることができるため、基板ステージ15の制御のための処理の遅延を抑制することができる。 The determination unit 115 assigns each task to a group so that the processing of the communication task and the generation task is prevented from interrupting the processing of the non-periodic task. By executing the task in the processor 1110 of the processing unit 1101 according to the result, it is possible to minimize the number of processors 1110 of the processing unit 1101 used for periodic communication, and therefore it is possible to suppress delays in processing for controlling the substrate stage 15.

以上、本実施形態に係る制御装置によれば、マスクステージ制御部及び投影制御部との間で周期通信を行いながら、基板ステージを制御するための非周期処理の遅延を抑制することができる。 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.
前記決定部は、前記複数の生成タスクのうち、既に実行するプロセッサが決定された第1生成タスクと未だ実行するプロセッサが決定されていない第2生成タスクとが存在する場合、前記周期、前記第1実行時間、及び前記第2生成タスクが実行される前記第2実行時間に基づき前記第2生成タスクを実行するプロセッサを決定する
ことを特徴とする請求項に記載の制御装置。
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項に記載の制御装置。 6. The control device according to claim 1 , further comprising a communication unit that communicates the data frame over the network at each of the cycles by executing the periodic task. ネットワークを介して接続されたスレーブ装置と、タスクを実行する複数のプロセッサを有し、前記スレーブ装置を制御するマスタ装置と、を有するシステムであって、
前記マスタ装置は、
前記スレーブ装置を制御するための指令データ又は前記スレーブ装置からの応答データを含むデータフレームの周期通信に係る周期処理を実行する周期タスクの実行に要する実行時間を取得する取得部と、
前記周期通信の周期と前記実行時間とに基づき前記周期タスクを実行するプロセッサを前記複数のプロセッサのうちから決定する決定部と、を有し、
前記周期タスクには、前記データフレームを通信する通信タスクと、前記スレーブ装置を制御するための指令データを生成する生成タスクと、が含まれ、
前記取得部は、前記通信タスクの実行に要する第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.
半導体基板処理する基板処理装置であって、
請求項に記載のシステムを有し、
前記システムが有するスレーブ装置は、前記半導体基板の処理の少なくとも一部を行うユニットを制御する
ことを特徴とする基板処理装置。
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.
請求項10に記載の制御方法の各工程を、マスタ装置としてのコンピュータに実行させるためのプログラム。 A program for causing a computer serving as a master device to execute each step of the control method according to claim 10 .
JP2021036298A 2021-03-08 2021-03-08 CONTROL DEVICE, SYSTEM, SUBSTRATE PROCESSING APPARATUS, PRODUCT MANUFACTURING METHOD, AND PROGRAM Active JP7657618B2 (en)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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