CONTROL DEVICE, CONTROL METHOD, PROGRAM, CONTROL SYSTEM, LITHOGRAPHIC APPARATUS, AND ARTICLE MANUFACTURING METHOD

By dynamically allocating data areas in data frames to include command and response data with separate periods for state data, the control device optimizes data transmission and reception, reducing cycle time and suppressing delays in systems with increased data volumes.

JP7738603B2Active Publication Date: 2025-09-12CANON KK
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2023100268
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2023-06-19
Publication Date
2025-09-12
Estimated Expiration
2043-06-19

AI Technical Summary

Technical Problem

In systems where data is transmitted and received between a main control device and a controlled device at fixed intervals, the increased amount of data per cycle can lead to delays due to incomplete data transmission and reception over multiple cycles, particularly when unit information is required.

Method used

A control device that allocates data areas in data frames to include command data for nodes and response data from nodes in one period, with state data allocated in a separate period, utilizing both free and unused spaces in data frames to accommodate status data, thereby optimizing data transmission and reception.

Benefits of technology

This approach reduces cycle time and suppresses delays in data transmission and reception between the main control device and controlled devices, allowing for efficient and timely control processes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007738603000001
    Figure 0007738603000001
  • Figure 0007738603000002
    Figure 0007738603000002
  • Figure 0007738603000003
    Figure 0007738603000003
Patent Text Reader

Abstract

To provide a technique advantageous for controlling a delay in transmission and reception of data between a main control device and a device to be controlled.SOLUTION: A control device controls a plurality of nodes connected with a network, and has: a communication unit that transmits and receives a data frame including a plurality of data areas each assigned to any one of the nodes at a constant period via the network; and a setting unit that, when a first data area having been scheduled as a data area of a first node, of the plurality of data areas, is not used in a first period, assigns the first data area in the first period as a data area of a second node different from the first node.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a control device, a control method, a program, a control system, a lithography apparatus, and an article manufacturing method. [Background technology]

[0002] Patent document 1 discloses a technology for transmitting and receiving data regarding abnormalities in units controlled by controlled devices without causing delays while reliably transmitting and receiving control data between a main control device and a controlled device. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Publication No. 2022-108621 Summary of the Invention [Problem to be solved by the invention]

[0004] In a system in which data is transmitted and received between a main control device and a controlled device at a fixed interval, there are cases in which it is necessary to obtain information about a unit controlled by the controlled device. In such a case, however, in addition to control data, unit information data must be transmitted and received between the main control device and the controlled device, which increases the amount of data transmitted and received per cycle.

[0005] When the amount of data transmitted and received per cycle increases, the transmission and reception of data may not be completed in one cycle (one communication cycle) and may take place over multiple cycles. In this case, the processing of the controlled device that should be executed within one cycle ends up being executed over multiple cycles, causing delays in system operation.

[0006] The present invention provides a technique that is advantageous for suppressing delays in sending and receiving data between a main control device and a controlled device. [Means for solving the problem]

[0007] According to one aspect of the present invention, there is provided a control device for controlling a plurality of nodes connected to a network, the control device comprising: a communication unit for transmitting and receiving data frames, each of the data frames including a plurality of data areas assigned to one of the nodes, via the network at a constant cycle; a setting unit that sets definitions of the plurality of data areas, wherein the plurality of nodes include a first node and a second node, and the second node is a control node that controls the first unit; Among the plurality of data areas No. 1 data area 、 In the first period teeth Unused and in a second period before or after the first period, the data area is scheduled as a data area into which command data for the first node and response data from the first node are written. If The setting unit In the first period Can The first data area No. 2 nodes The state in which the state data indicating the state of the first unit is written by Allocate as data area ,child A control device is provided, characterized in that [Effects of the Invention]

[0008] According to the present invention, it is possible to provide a technique that is advantageous in suppressing delays in sending and receiving data between a main control device and a controlled device. [Brief explanation of the drawings]

[0009] [Figure 1] FIG. 1 is a diagram illustrating an example of a system configuration. [Figure 2] FIG. 2 is a diagram illustrating the configuration of a main control device. [Figure 3] FIG. 2 is a diagram illustrating the functional configuration of a processing unit of the main control device. [Figure 4] FIG. 2 is a diagram illustrating a configuration of a controlled device. [Figure 5] FIG. 2 is a diagram illustrating an example of the functional configuration of a processing unit of a controlled device. [Figure 6] FIG. 2 is a diagram illustrating an example of the flow of data between a main control device and a plurality of controlled devices. [Figure 7] FIG. 2 is a diagram illustrating a data area of ​​a data frame. [Figure 8] FIG. 10 is a diagram illustrating an example of the data flow when acquiring the status of a unit. [Figure 9]FIG. 10 is a diagram for explaining an example in which state data is written to a free area. [Figure 10] FIG. 10 is a diagram illustrating an example of the data flow when acquiring the status of a unit. [Figure 11] 10 is a flowchart illustrating a process in which the main control device sets a data frame. [Figure 12] FIG. 10 is a diagram for explaining an example in which status data is written to an unused area and a free area. [Figure 13] 10 is a flowchart illustrating a process in which a controlled device writes status data to a data frame. [Figure 14] FIG. 10 is a diagram illustrating an example of the data flow when acquiring the status of a unit. [Figure 15] 10 is a flowchart illustrating a process in which a main control device changes the processing of a unit in accordance with status data of a controlled device. [Figure 16] FIG. 1 is a diagram illustrating the configuration of an exposure apparatus. DETAILED DESCRIPTION OF THE INVENTION

[0010] Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. Note that the following embodiments do not limit the scope of the invention claimed. Although multiple features are described in the embodiments, not all of these multiple features are necessarily essential to the invention, and multiple features may be combined arbitrarily. Furthermore, in the accompanying drawings, the same reference numerals are used to designate the same or similar components, and redundant explanations will be omitted.

[0011] First Embodiment (system) FIG. 1 illustrates an example of the configuration of a control system 100 according to one aspect of the present invention. The control system 100 may include a main control device 110, a plurality of controlled devices (a plurality of nodes), and a plurality of units. In the example illustrated in FIG. 1, the plurality of controlled devices may include a first control device 121, a second control device 122, and a third control device 123, and the plurality of units may include a unit 131, a unit 132, and a unit 133. However, the number of the plurality of controlled devices and the plurality of units is not limited to a specific number. There may also be a configuration in which one controlled device controls two or more units. Therefore, the number of the plurality of units may be equal to or greater than the number of the plurality of control devices.

[0012] The first control device 121, the second control device 122, and the third control device 123 are control devices (control nodes) that control the units 131, 132, and 133, respectively. The main control device 110, the first control device 121, the second control device 122, and the third control device 123 are connected to one another via a network 140. The main control device 110 controls the first control device 121, the second control device 122, and the third control device 123 via the network 140. As described above, the first control device 121, the second control device 122, and the third control device 123 are control devices that control the units 131, 132, and 133, respectively. On the other hand, from the perspective of the main control device 110, the first control device 121, the second control device 122, and the third control device 123 are controlled devices controlled by the main control device 110.

[0013] The main control device 110 and each of the multiple controlled devices may be configured, for example, by a general-purpose or dedicated computer with a built-in program. Alternatively, the main control device 110 and each of the multiple controlled devices may be configured by a PLD (Programmable Logic Device) such as an FPGA (Field Programmable Gate Array) or an ASIC (Application Specific Integrated Circuit). Alternatively, the main control device 110 and each of the multiple controlled devices may be configured by a full or partial combination of a computer, a PLD, and an ASIC. Each of the multiple units (unit 131, unit 132, unit 133) may be, for example, an element or component (e.g., a relay, a sensor, a servo motor, an actuator). Alternatively, each of the multiple units may be a module (e.g., a positioning mechanism) composed of multiple elements or components, or a device composed of multiple modules. The controlled device and the units controlled by it may be integrated.

[0014] The main control device 110 and the multiple controlled devices can be connected to form a daisy chain via the network 140. The first control device 121 is disposed between the main control device 110 and the second control device 122 in the daisy chain. The second control device 122 is disposed between the first control device 121 and the third control device 123 in the daisy chain.

[0015] 2 illustrates an example of the configuration of the main control device 110. The main control device 110 may include a processing unit (processor) 200, a ROM 210, a RAM 220, a storage device 230, an input device 240, a display device 250, and a communication device 260. The processing unit 200 includes a central processing unit (CPU) that operates based on an operating system and an application program. In addition to the central processing unit (CPU), the processing unit 200 may include additional devices such as a microprocessing unit (MPU), a graphics processing unit (GPU), an application specific integrated circuit (ASIC), etc.

[0016] The ROM 210, RAM 220, and storage device 230 are each a form of memory. The ROM 210 stores, for example, programs executed by the processing unit 200 and fixed data among data used for calculations. The RAM 220 provides a working area for the processing unit 200 and a temporary data storage area. The ROM 210 and RAM 220 are connected to the processing unit 200 via a bus 270. The input device 240 includes a pointing device such as a mouse and a keyboard. The display device 250 provides a function for displaying information. All or part of the input device 240 and the display device 250 may be configured as an integrated device such as a touch panel. The storage device 230 may be, for example, one or more of a hard disk drive, a CD, a DVD, a memory card, etc. The storage device 230 stores programs, data, etc. The input device 240, the display device 250, and the storage device 230 are each connected to the bus 270 via an interface (not shown). The communication device 260 functions as a transmitting unit that transmits data and a receiving unit that receives data, and for example, receives response data from a transmitting unit (not shown) in the controlled device and stores it in a receiving buffer defined in the processing unit 200, RAM 220, or storage device 230.

[0017] 3 illustrates an example of the functional configuration of the processing unit 200 of the main control unit 110. The processing unit 200 includes a control unit 201, a communication unit 202, a setting unit 203, and a determination unit 204. The control unit 201 executes a read process to read response data from the controllable device from a receive buffer. The control unit 201 also executes a control process to generate command data for controlling the controllable device based on the response data read from the receive buffer. The control unit 201 also executes a write process to write the command data for controlling the controllable device into a transmit buffer.

[0018] The communication unit 202 is configured to periodically transmit and receive data frames, each including a plurality of data areas assigned to each of a plurality of controlled devices (nodes), via the network 140. The communication unit 202 controls a transmission process for transmitting command data to the controlled devices and a reception process for receiving data such as response data and status data from the controlled devices. The communication unit 202 transfers data extracted from a data frame transmitted from the controlled device to the main control device 110 and received by the communication device 260 to a reception buffer. The communication unit 202 also transfers data to be transmitted from the main control device 110 to the controlled device from the transmission buffer to the communication device 260, causing the data to be written into the data frame. The reception buffer and transmission buffer are areas for temporarily storing data, and may be defined in a memory space included in the processing unit 200, or in a memory space of the RAM 220 or the storage device 230.

[0019] The setting unit 203 is configured to set definitions of multiple data areas that make up a data frame based on network configuration information. The network configuration information is, for example, created in advance by a user in the main control device 110 or another information processing device, and stored in the ROM 210 or the storage device 230 of the main control device 110.

[0020] The determination unit 204 determines whether the data received from the communication unit 202 satisfies a preset condition. If it is determined that the received data satisfies the condition, a process for changing the control of the controlled device is performed. An example of the change process will be described later.

[0021] 4 illustrates the configurations of the first control device 121, the second control device 122, and the third control device 123 (controlled devices). The controlled devices may include a processing unit (processor) 300, a ROM 310, a RAM 320, a storage device 330, and a communication device 360. The processing unit 300 includes a central processing unit (CPU) that operates based on an operating system and an application program. In addition to the central processing unit (CPU), the processing unit 300 may include additional devices such as a microprocessing unit (MPU), a graphics processing unit (GPU), an application specific integrated circuit (ASIC), etc.

[0022] The ROM 310, RAM 320, and storage device 330 are each a form of memory. The ROM 310 stores, for example, programs executed by the processing unit 300 and fixed data among data used for calculations. The RAM 320 provides a working area for the processing unit 300 and a temporary storage area for data. The ROM 310 and RAM 320 are connected to the processing unit 300 via a bus 370. The storage device 330 may be, for example, one or more of a hard disk drive, a CD, a DVD, a memory card, etc. The storage device 330 stores programs, data, etc. The storage device 230 is connected to the bus 370 via an interface (not shown). The communication device 360 ​​functions as a transmitter that transmits data and a receiver that receives data.

[0023] FIG. 5 illustrates the configuration of the processing unit 300 of the first control unit 121, the second control unit 122, and the third control unit 123 (controlled devices). The processing unit 300 may include a communication unit 301, a unit control unit 302, and a determination unit 303. The communication unit 301 is configured to transmit and receive data frames including multiple data fields at regular intervals. The communication unit 301 transmits and receives data such as command data, response data, and status data to and from the main control unit 110 via these data frames. The communication unit 301 also transmits command data received from the main control unit 110 to the unit control unit 302. The communication unit 301 also writes data received from the unit control unit 302 into the data frame, thereby transmitting the data to the main control unit 110. The unit control unit 302 controls the corresponding unit (for example, unit 131 in the case of the unit control unit 302 of the first control unit 121) according to the data received from the communication unit 301. The determination unit 303 determines whether its own status data field is set in the data frame.

[0024] Here, EtherCAT (registered trademark), one of the industrial Ethernet (registered trademark), will be described as an example of the network 140 shown in FIG. 1 . A main control device 110 connected to an EtherCAT-compliant network transmits data frames to multiple controlled devices, and the multiple controlled devices read and write data on the fly from the data frames received from the main control device. In this case, PDO communication (process data object communication) and SDO communication (service data object communication) are used for communication between the main control device and the multiple controlled devices. PDO communication is communication performed at a predetermined fixed cycle using data called process data objects (PDOs). SDO communication is communication performed in response to a request from the main control device to the controlled devices using data called service data objects (SDOs). In PDO communication, data frames are communicated at a predetermined fixed cycle (e.g., 1 millisecond), so the data arrival time is guaranteed. In contrast, in SDO communication, communication is not necessarily completed within one cycle, so the data arrival time is not guaranteed.

[0025] When EtherCAT (registered trademark) is adopted as the network 140, at least one of the nodes connected to the network 140 functions as the main control device 110, and the other nodes function as controlled devices. The node functioning as the main control device 110 manages (controls) the timing of communication of data frames on the network 140.

[0026] In the control system 100 shown in FIG. 1, the main control device 110 writes command data for the first control device 121, the second control device 122, and the third control device 123 into a data frame for PDO communication and transmits the data frame to the first control device 121. Upon receiving the data frame from the main control device 110, the first control device 121 reads the command data assigned to the first control device 121 from the command data written in the data frame and writes response data to the command data into the data frame. The first control device 121 then transmits the data frame into which the response data to the command data assigned to the first control device 121 has been written to the second control device 122. Upon receiving the data frame from the first control device 121, the second control device 122 reads the command data assigned to the second control device 122 from the command data written in the data frame and writes response data to the command data into the data frame. The second control device 122 then reads the command data assigned to the second control device 122 and writes response data to the command data into the data frame. The second control device 122 then transmits a data frame in which response data for the command data assigned to the second control device 122 is written to the third control device 123. Upon receiving the data frame from the second control device 122, the third control device 123 reads the command data assigned to the third control device 123 from the command data written in the data frame and writes response data for that command data into the data frame. The third control device 123 then transmits the data frame in which the response data for the command data assigned to the third control device 123 is written to the main control device 110 via the second control device 122 and the first control device 121.

[0027] In such a control system 100, in which data is transmitted and received between a main control device and multiple controlled devices at regular intervals, the number of controlled devices and units tends to increase due to the emergence of multi-axis industrial robots with many joints. In this case, large amounts of data (command data and response data) must be transmitted and received between the main control device 110 and the multiple controlled devices, resulting in an increase in the amount of data transmitted and received per cycle. Furthermore, to obtain the status of a unit controlled by a controlled device, status data indicating information about the status of the unit must be transmitted and received between the main control device 110 and the multiple controlled devices in addition to the command data and response data. However, there is generally a limit to the amount of data that can be transmitted and received per cycle. Therefore, if the amount of data transmitted and received per cycle increases, data transmission and reception cannot be completed in one cycle (one communication cycle), and data transmission and reception must occur over multiple cycles. In this case, the control process of the controlled device that should be executed in one cycle is executed over multiple cycles (i.e., one command data is divided and transmitted over multiple cycles), resulting in a delay in the operation of the control system 100. Such delays in the operation of the control system 100 become noticeable, particularly when it is desired to obtain the status of a unit and status data indicating information about that status must be sent from the controlled device to the main control device 110.

[0028] (Utilizing free space) A control method for controlling a plurality of controlled devices (a plurality of nodes) by the main control device 110 will be described with reference to Fig. 6. Fig. 6 illustrates an example of the flow of data for communication between the main control device 110 and a plurality of controlled devices. In the example of Fig. 6, five controlled devices (a first control device 121, a second control device 122, a third control device 123, a fourth control device 124, and a fifth control device 125) are illustrated as controlled devices communicatively connected to the main control device 110. Note that the number of controlled devices is not limited to five, and may be, for example, six or more.

[0029] First, the communication between the main control device and multiple controlled devices will be described. This communication process is a process of periodically transmitting and receiving data frames, each containing multiple data areas assigned to one of the controlled devices (nodes), via network 140.

[0030] In the first periodic process, the control unit 201 of the main control unit 110 transmits command data for the first control unit 121, the second control unit 122, the third control unit 123, the fourth control unit 124, and the fifth control unit 125 to the communication unit 202. The communication unit 202 of the main control unit 110 transmits a data frame to the first control unit 121 via the network 140 (S101). The communication unit 301 of the first control unit 121 reads command data assigned to itself from the command data written in the data frame, receives response data for the command data from the unit control unit 302, and writes the response data in the data frame. The communication unit 301 of the first control unit 121 then transmits a data frame in which the response data for the command data assigned to itself has been written to the second control unit 122 (S102). The communication unit 301 of the first control unit 121 then transmits the command data to the unit control unit 302.

[0031] The communication unit 301 of the second control device 122, which has received the data frame from the first control device 121, reads the command data assigned to itself from the command data written in the data frame. Thereafter, the communication unit 301 of the second control device 122 receives response data for the read command data from the unit control unit 302 and writes the response data in the data frame. The communication unit 301 of the second control device 122 then transmits the data frame, in which the response data for the command data assigned to itself has been written, to the third control device 123 (S103). Furthermore, the communication unit 301 of the second control device 122 transmits the command data to the unit control unit 302.

[0032] The communication unit 301 of the third control device 123, which has received the data frame from the second control device 122, reads the command data assigned to itself from the command data written in the data frame. Thereafter, the communication unit 301 of the third control device 123 receives response data for the read command data from the unit control unit 302 and writes the response data in the data frame. Then, the communication unit 301 of the third control device 123 transmits the data frame in which the response data for the command data assigned to itself has been written to the fourth control device 124 (S104). Furthermore, the communication unit 301 of the third control device 123 transmits the command data to the unit control unit 302.

[0033] The communication unit 301 of the fourth control unit 124 receives the data frame from the third control unit 123 and reads the command data assigned to itself from the command data written in the data frame. Thereafter, the communication unit 301 of the fourth control unit 124 receives response data for the read command data from the unit control unit 302 and writes the response data to the data frame. The communication unit 301 of the fourth control unit 124 then transmits the data frame in which the response data for the command data assigned to itself has been written to the fifth control unit 125 (S105). Furthermore, the communication unit 301 of the fourth control unit 124 transmits the command data to the unit control unit 302.

[0034] The communication unit 301 of the fifth control device 125 receives the data frame from the fourth control device 124 and reads the command data assigned to it from the command data written in the data frame. Thereafter, the communication unit 301 of the fifth control device 125 receives response data for the read command data from the unit control unit 302 and writes the response data to the data frame. The communication unit 301 of the fifth control device 125 then transmits the data frame, in which the response data for the command data assigned to it has been written, to the main control device 110. This transmission is performed via the fourth control device 124, the third control device 123, the second control device 122, and the first control device 121 (S106, S107, S108, S109, S110). Furthermore, the communication unit 301 of the fifth control device 125 transmits the command data to the unit control unit 302.

[0035] The communication unit 202 of the main control unit 110 reads the response data of the first control unit 121, the second control unit 122, the third control unit 123, the fourth control unit 124, and the fifth control unit 125 written in the data frame and transmits it to the control unit 201.

[0036] Thereafter, the second periodic process is executed. Steps S111 to S120 in the second periodic process are the same as steps S101 to S110 in the first periodic process, and therefore a description thereof will be omitted.

[0037] Referring to FIG. 7, data frames transmitted and received via the network 140 will be described. FIG. 7 illustrates data areas of data frames transmitted from the main control device 110 to the first control device 121, the second control device 122, the third control device 123, the fourth control device 124, and the fifth control device 125. As illustrated in FIG. 7, data areas for the first control device 121, the second control device 122, and the third control device 123 are allocated to the data frames of the first cycle. Data areas for the fourth control device 124 and the fifth control device 125 are not allocated to the data frames of the first cycle. Similarly, data areas for the first control device 121, the second control device 122, and the third control device 123 are allocated to the data frames of the second cycle and the third cycle, respectively. However, data areas for the fourth control device 124 and the fifth control device 125 are not allocated to the data frames of the second cycle and the third cycle. However, free area 1 is reserved in advance in each of the data frames of the first cycle, second cycle, and third cycle.

[0038] Next, a control method for controlling multiple nodes will be described with reference to FIG. 8. Here, communication for acquiring the status of a unit will be described. FIG. 8 illustrates an example of the data flow of communication for acquiring the status of a unit controlled by the fourth control device 124 and the status of a unit controlled by the fifth control device 125. The data flow of communication between the main control device and multiple controlled devices is the same as that shown in FIG. 6, so a detailed description will be omitted. FIG. 9 illustrates an example of the data area of ​​a data frame for acquiring the status of a unit. In the first cycle processing, status data of the fourth control device 124 (second node) and status data of the fifth control device 125 (third node) are transmitted to the main control device 110. In this case, it is desirable that the status data of the fourth control device 124 and the status data of the fifth control device 125 are each written to the free area 1 of the data frame. However, as shown in FIG. 9, the total size of the status data of the fourth control device 124 and the status data of the fifth control device 125 is larger than the size of the free area 1 of the data frame for the first cycle, so both sets of data cannot be written to the free area 1 within one cycle. Therefore, in the first periodic process, only the fourth control device 124 writes its own status data in the free space 1 of the data frame. Then, the communication unit 301 of the fourth control device 124 transmits the data frame in which its own status data has been written to the main control device 110 via the third control device 123, the second control device 122, and the first control device 121 (S107, S108, S109, S110). Thereafter, in the second periodic process, the fifth control device 125 writes its own status data in the free space 1 of the data frame. Then, the communication unit 301 of the fifth control device 125 transmits the data frame in which its own status data has been written to the main control device 110. This transmission is performed via the fourth control device 124, the third control device 123, the second control device 122, and the first control device 121 (S116, S117, S118, S119, S120).

[0039] In this way, free space 1 of the data frame can be used to acquire the status of the unit. However, if the size of the status data to be acquired is larger than the size of free space 1, communication will not be completed within one cycle and will require multiple cycles.

[0040] (Utilizing unused space in the data area) FIG. 10 illustrates an example of the data flow in communication when the main control device 110 acquires the status of units in the first embodiment. Note that the data flow in communication between the main control device 110 and multiple controlled devices is the same as that in FIG. 6, and therefore a detailed description thereof will be omitted. Here, it is assumed that the main control device 110 controls the first control device 121 and the third control device 123 in the first cycle and acquires status data of the fourth control device 124 and the fifth control device 125, and controls the second control device 122 in the second cycle. FIG. 10 illustrates an example of the data flow in this case. As will be described in detail below, in the first cycle, the status data of the fifth control device 125 is written to the free area 1 (S106), and the status data of the fourth control device 124 is written to an unused area different from the free area 1 (S107).

[0041] FIG. 11 is a flowchart illustrating a process in which the main control device 110 sets a data frame in the communication process shown in FIG. 10. Each step of the flowchart in FIG. 11 is executed by (each unit of) the processing unit 200. In S11, the control unit 201 determines whether to control the controlled device, i.e., whether to transmit command data to the controlled device. This determination is made, for example, by determining whether it is time to transmit command data to the controlled device. If it is determined in S11 that it is time to transmit command data to the controlled device, the process proceeds to S12. In S12, the control unit 201 writes command data for controlling the controlled device into the transmission buffer. Thereafter, the process returns to S11. On the other hand, if it is determined in S11 that it is not time to transmit command data to the controlled device, the process proceeds to S13. In S13, the setting unit 203 sets the data area of ​​the controlled device in the data frame as a status data area of ​​another controlled device from which the status of the unit is acquired. Thereafter, the process returns to S11.

[0042] In S13, the setting unit 203 may determine which state data area of ​​the controlled device to set the data area of ​​the data frame to, based on the sampling rate of the state data of each control node (controlled device) that controls the unit. Here, the sampling rate refers to the sampling period of the sensor when, for example, a sensor value is acquired as the state data. For example, the setting unit 203 can preferentially set a controlled device that acquires a sensor value with a high sampling rate as the target of the state data area.

[0043] Furthermore, the setting unit 203 may determine, based on the operating states of each of a plurality of controlled devices (a plurality of nodes), which controlled device's status data area the data area of ​​the data frame should be set in. For example, the setting unit 203 may preferentially set an operating controlled device as the target of the status data area.

[0044] Furthermore, the setting unit 203 may determine which status data area of ​​the controlled device the data area of ​​the data frame should be set to, based on command data transmitted by the main control device 110. For example, the setting unit 203 can preferentially set the controlled device that transmits operation command data as the target of the status data area.

[0045] Referring to Fig. 12, a description will be given of data frames transmitted and received via the network 140. Fig. 12 illustrates an example of data fields in data frames transmitted from the main control device 110 to the first control device 121, the second control device 122, the third control device 123, the fourth control device 124, and the fifth control device 125 in each period. Here, it is assumed that the main control device 110 controls the first control device 121 and the third control device 123 in the first period, the second control device 122 in the second period, and the second control device 122 and the third control device 123 in the third period.

[0046] Originally, in the data frame of the first cycle, data areas are allocated to each of the first control device 121, the second control device 122, and the third control device 123, and there is an empty area 1. However, in this example, since the main control device 110 does not control the second control device 122 in the first cycle, the data area of ​​the second control device 122 in the data frame becomes unused, and there is an unused area 1, as shown in FIG.

[0047] Furthermore, originally, data areas for the first control device 121, the second control device 122, and the third control device 123 were allocated to the data frame for the second cycle, and there was an empty area 1. However, in this example, the main control device 110 does not control the first control device 121 or the third control device 123 in the second cycle. Therefore, the data areas for the first control device 121 and the third control device 123 in the data frame are unused, and there are unused areas 1 and 2, as shown in FIG.

[0048] Similarly, originally, the data frame for the third cycle was allocated data areas for each of the first control device 121, the second control device 122, and the third control device 123, and there was an empty area 1. However, in this example, the main control device 110 does not control the first control device 121 in the third cycle, so the data area for the first control device 121 in the data frame becomes unused, and there is an unused area 1.

[0049] In the first periodic process, the main control unit 110 allocates unused area 1, which was originally the data area of ​​the second control unit 122, and free area 1 as data areas for the fourth control unit 124 and the fifth control unit 125, respectively. In accordance with this allocation, the fourth control unit 124 writes status data to unused area 1, and the fifth control unit 125 writes status data to free area 1.

[0050] In the second periodic process, the main control unit 110 allocates unused areas 1 and 2, which were originally data areas for the first control unit 121 and the third control unit 123, as data areas for the fourth control unit 124 and the fifth control unit 125, respectively. In accordance with this allocation, the fourth control unit 124 writes status data to unused area 1, and the fifth control unit 125 writes status data to unused area 2.

[0051] In the third periodic process, the main control unit 110 allocates unused area 1 and free area 1, which were originally data areas of the first control unit 121, as data areas for the fourth control unit 124 and the fifth control unit 125, respectively. In accordance with this allocation, the fourth control unit 124 writes status data to unused area 1, and the fifth control unit 125 writes status data to free area 1.

[0052] As described above, in this embodiment, the setting unit 203 performs dynamic allocation when a first data area (unused areas 1 and 2) among the multiple data areas that was scheduled as a data area for the first node (any controlled device) is unused in the first cycle. Specifically, the setting unit 203 allocates the first data area as a data area for a second node (e.g., a fourth control device) different from the first node (e.g., a second control device) in the first cycle. At this time, the setting unit 203 can also allocate the free area 1 as a data area for a third node (e.g., a fifth control device) different from the first node and the second node.

[0053] FIG. 13 is a flowchart illustrating a process in which a controlled device writes status data to a data frame in this embodiment. Each step of the flowchart in FIG. 13 is executed by (each unit of) the processing unit 300. In S21, the determination unit 303 determines whether or not its own status data area is set in the data frame received from the main control device 110. Specifically, a flag indicating that a status data area has been set for each controlled device is provided in the data frame. If the flag is set in the data frame, the determination unit 303 can determine that its own status data area has been set in the data frame. On the other hand, if the flag is not set in the data frame, the determination unit 303 can determine that its own status data area has not been set in the data frame. If it is determined in S21 that its own status data area has been set in the received data frame, the process proceeds to S22. In S22, the unit control unit 302 acquires the unit's status data and writes the status data to its own status data area set in the data frame. Thereafter, the process returns to S21. On the other hand, if it is determined in S21 that the received data frame does not have its own status data area set, the process returns to S21.

[0054] As described above, according to this embodiment, in communication between a main control unit and multiple controlled devices, not only free space in the data frame but also unused space in the data area can be allocated as the data area of ​​the controlled device whose status is to be acquired. This reduces the cycle time required for communication. Therefore, this embodiment is advantageous in suppressing delays in sending and receiving data between the main control unit and multiple controlled devices.

[0055] Second Embodiment Next, a second embodiment will be described. Note that matters not mentioned here may follow the first embodiment. In the second embodiment, the main control device 110 receives status data of the controlled devices and changes the processing of the units of the other controlled devices according to the status data.

[0056] FIG. 14 illustrates an example of the data flow of communication when the main control device 110 acquires the status of units in the second embodiment. The data flow of communication between the main control device 110 and multiple controlled devices is the same as that in FIG. 6 , and therefore will not be described in detail. The following control process is assumed here. First, in the first cycle, the main control device 110 controls the first control device 121 and the third control device 123, and acquires status data of the fourth control device 124 and the fifth control device 125. Next, in the second cycle, the main control device 110 controls the first control device 121 and the second control device 122 based on the status data acquired in the first cycle. FIG. 14 illustrates an example of the data flow in this case. In FIG. 14, similar to FIG. 10, in the first cycle, the status data of the fifth control device 125 is written to the free area 1 (S106), and the status data of the fourth control device 124 is written to an unused area different from the free area 1 (S107).

[0057] Fig. 15 is a flowchart showing the processing in this embodiment when the main control device 110 changes the processing of a unit of the controlled device in accordance with the status data of the controlled device. Each step of the flowchart in Fig. 15 is executed by (each part of) the processing unit 200. In S31, the communication unit 202 reads the status data of the controlled device written in an area allocated as the data area of ​​the controlled device from the data frame received from the controlled device.

[0058] In S32, the determination unit 204 determines whether the status data of the controlled device read in S31 satisfies a preset condition. If it is determined in S32 that the status data satisfies the condition, the process proceeds to S33. In S33, the control unit 201 transmits command data generated based on the preset control data to the controlled device that changes the control over the unit. Thereafter, the process returns to S31. On the other hand, if it is determined in S32 that the status data does not satisfy the condition, the process returns to S31.

[0059] In the first periodic process, the communication unit 202 of the main control unit 110 reads, from a data frame received from the first control unit 121, status data written in areas allocated as status data areas for the fourth control unit 124 and the fifth control unit 125. The communication unit 202 then transmits the status data to the determination unit 204. The determination unit 204 determines whether the status data satisfies a preset condition. In the example of FIG. 14 , the determination unit 204 determines that the status data satisfies the preset condition, so the determination unit 204 transmits preset control data to the control unit 201. The control unit 201 then executes a control process to generate command data for controlling the first control unit 121 based on the preset control data. The control unit 201 also writes the command data for controlling the first control unit 121 to a transmission buffer. In this way, the main control unit 110 can transmit command data for changing control of the units in accordance with the status data read from the status data area.

[0060] In first control device 121, communication section 301 transmits command data received from main control device 110 to unit control section 302. Unit control section 302 changes the processing of the corresponding unit in accordance with the data received from communication section 301.

[0061] Furthermore, as a control process, unit control unit 302 may stop the operation of the controlled device including the unit. Furthermore, as an abnormality process, unit control unit 302 may cause display device 250 of main control device 110 to display information about the abnormality that has occurred. Here, the information about the abnormality may include a message notifying the occurrence of the abnormality, and information about the content, cause, or how to deal with the abnormality that has occurred.

[0062] As described above, according to this embodiment, in communication between a main control device and multiple controlled devices, not only free space in the data frame but also unused space in the data area can be allocated as the data area of ​​the controlled device whose status is to be acquired. This reduces the cycle time required for communication. Therefore, this embodiment is advantageous in suppressing delays in sending and receiving data between the main control device and the controlled devices. Furthermore, control of other controlled devices can be quickly changed according to the status data of the controlled devices.

[0063] <Embodiment of the Substrate Processing Apparatus> An embodiment of a substrate processing apparatus to which the control 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 control system 100 is applied, but the present invention is not limited thereto. For example, the control system 100 can also be applied to substrate processing apparatuses such as an imprinting apparatus that forms a pattern of an imprint material on a substrate using a mold, or a drawing apparatus that irradiates a substrate with a charged particle beam to form a pattern on the substrate. The control system 100 can also be applied to substrate processing apparatuses such as a coating apparatus that coats a photosensitive medium on the surface of a substrate, or a developing apparatus that develops a substrate to which a pattern has been transferred. The control system 100 can also 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.).

[0064] 16 is a diagram showing the configuration of an exposure apparatus 10 as a substrate processing apparatus. The exposure apparatus 10 is exemplified as 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 a lens 14a of the projection optical system 14, and a third driver 23 that drives the substrate stage 15. The first driver 21, the second driver 22, and the third driver 23 are mechanisms that perform at least part of the process of forming a pattern on the substrate W, and are controlled by a mask stage controller 31, a projection controller 32, and a substrate stage controller 33, respectively. In addition, the main control unit 16 has, for example, a CPU (processing unit) and a memory device, and controls the entire exposure apparatus 10 (each part of the exposure apparatus 10) by controlling the mask stage control unit 31, the projection control unit 32, and the substrate stage control unit 33.

[0065] 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 and Y directions, 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 23.

[0066] 16, when control system 100 is applied, main control unit 16 can be configured as main control device 110. Furthermore, mask stage control unit 31, projection control unit 32, substrate stage control unit 33, and substrate stage monitoring unit 34 can each be configured as controlled devices. First drive unit 21, second drive unit 22, and third drive unit 23 can each be configured as units (corresponding to units 131, 132, and 133 described above). Communication between main control unit 16, mask stage control unit 31, projection control unit 32, substrate stage control unit 33, and substrate stage monitoring unit 34 is performed via network 140 at predetermined intervals.

[0067] Here, as an example of applying control system 100 to exposure apparatus 10, a case will be described in which main controller 110 communicates with mask stage controller 31, projection controller 32, substrate stage controller 33, and substrate stage monitor 34. Controller 201 performs control processing, etc., to generate command data for controlling mask stage controller 31, projection controller 32, and substrate stage controller 33.

[0068] The communication unit 202 transmits, at a predetermined cycle, the command data written in the transmission buffer by the control unit 201 to the mask stage control unit 31, the projection control unit 32, and the substrate stage control unit 33. The communication unit 202 receives response data in response to the command data from the mask stage control unit 31, the projection control unit 32, and the substrate stage control unit 33. The communication unit 202 also receives status data of the substrate stage 15 from the substrate stage monitoring unit 34.

[0069] Furthermore, the determination unit 204 of the main control device 110 receives status data of the substrate stage 15 within one cycle via the substrate stage monitoring unit 34. The status data may include, for example, data indicating a state in which an abnormality has occurred in the substrate stage 15. The determination unit 204 of the main control device 110 quickly changes the control of the substrate stage in accordance with the status data of the substrate stage 15.

[0070] As described above, the control system 100 of the present disclosure is applied to a substrate processing apparatus such as an exposure apparatus, and thereby delays in data transmission and reception between a plurality of controlled devices in the substrate processing apparatus can be effectively suppressed.

[0071] <Embodiment of an article manufacturing method> The article manufacturing method according to an embodiment of the present invention is suitable for manufacturing articles such as microdevices, such as semiconductor devices, and elements having microstructures. The article manufacturing method according to this embodiment includes a step of forming a latent image pattern on a photosensitive agent applied to a substrate using the above-described exposure apparatus (a step of exposing the substrate), and a step of developing the substrate on which the latent image pattern has been formed. Furthermore, this manufacturing method includes other well-known steps (oxidation, film formation, vapor deposition, doping, planarization, etching, resist stripping, dicing, bonding, packaging, etc.). The article manufacturing method according to this embodiment is advantageous over conventional methods in at least one of article performance, quality, productivity, and production cost.

[0072] <Other embodiments> The present invention can also be realized by supplying a program that realizes one or more functions of the above-described embodiments to a system or device via a network or a storage medium, and having one or more processors in the computer of the system or device read and execute the program. It can also be realized by a circuit (e.g., ASIC) that realizes one or more functions.

[0073] The disclosure of the present specification includes at least the following control device, control method, program, control system, lithography apparatus, and article manufacturing method. (Item 1) A control device that controls a plurality of nodes connected to a network, a communication unit that periodically transmits and receives data frames, each of which includes a plurality of data areas assigned to one of the nodes, via the network; a setting unit that, when a first data area of ​​the plurality of data areas that has been scheduled as a data area of ​​a first node is unused in a first cycle, allocates the first data area as a data area of ​​a second node different from the first node in the first cycle; A control device comprising: (Item 2) 2. The control device according to item 1, wherein the communication unit reads out response data written in the first data area by the second node in the first period. (Item 3) the second node is a control node that controls the unit; the setting unit allocates the first data area as a status data area into which status data indicating a status of the unit is written; 3. The control device according to item 2, (Item 4) 4. The control device according to item 3, wherein command data for changing control over the unit is transmitted in accordance with the status data read from the status data area. (Item 5) 5. The control device according to item 3 or 4, wherein the setting unit determines the second node from among the plurality of nodes based on a sampling rate of state data of each control node that controls a unit. (Item 6) 5. The control device according to any one of items 1 to 4, wherein the setting unit determines the second node from among the plurality of nodes based on the operating state of each of the plurality of nodes. (Item 7) 5. The control device according to any one of items 1 to 4, wherein the setting unit determines the second node from among the plurality of nodes based on command data to be transmitted. (Item 8) the data frame further includes a free area reserved in advance, the setting unit further allocates the free area as a status data area into which status data indicating a status of a unit controlled by a third node different from the first node and the second node is written. 6. The control device according to any one of items 3 to 5, (Item 9) 9. The control device according to item 8, wherein the total size of the state data of the second node and the state data of the third node is larger than the size of the free space. (Item 10) 10. The control device according to any one of items 1 to 9, wherein the network is a network conforming to EtherCAT (registered trademark). (Item 11) A control method for controlling a plurality of nodes connected to a network, comprising: a communication step of transmitting and receiving data frames, each including a plurality of data areas assigned to one of the nodes, via the network at a fixed cycle; the communication step includes a step of, when a first data area of ​​the plurality of data areas that has been scheduled as a data area of ​​a first node is unused in a first cycle, allocating the first data area as a data area of ​​a second node different from the first node in the first cycle; A control method comprising: (Item 12) 12. A program causing a computer to execute each step of the control method described in Item 11. (Item 13) A control system including a plurality of nodes connected to a network and a control device that controls the plurality of nodes, The control device a communication unit that periodically transmits and receives data frames, each of which includes a plurality of data areas assigned to one of the nodes, via the network; a setting unit that, when a first data area of ​​the plurality of data areas that has been scheduled as a data area of ​​a first node is unused in a first cycle, allocates the first data area as a data area of ​​a second node different from the first node in the first cycle; and the second node reads command data for the second node in the data frame, and writes response data for the command data into the first data area allocated as a data area for the second node; A control system comprising: (Item 14) 1. A lithographic apparatus for forming a pattern on a substrate, comprising: Item 14 has the control system according to item 13, each of the plurality of nodes included in the control system controls a unit that performs at least a part of a process of forming a pattern on the substrate; 1. A lithography apparatus comprising: (Item 15) forming a pattern on a substrate using the lithography apparatus according to item 14; processing the substrate on which the pattern is formed; manufacturing an article from the processed substrate; A method for manufacturing an article, comprising:

[0074] The invention is not limited to the above-described embodiments, and various changes and modifications can be made without departing from the spirit and scope of the invention. Accordingly, the following claims are appended to apprise the public of the scope of the invention. [Explanation of symbols]

[0075] 100: Control system, 110: Main control device, 121: First control device, 122: Second control device, 123: Third control device, 131, 132, 133: Units, 140: Network

Claims

1. A control device that controls a plurality of nodes connected to a network, a communication unit that periodically transmits and receives data frames, each of which includes a plurality of data areas assigned to one of the nodes, via the network; a setting unit that sets definitions of the plurality of data areas, the plurality of nodes include a first node and a second node, the second node being a control node that controls the first unit; When a first data area among the plurality of data areas is unused in a first cycle and is scheduled as a data area into which command data for the first node and response data from the first node are written in a second cycle before or after the first cycle, the setting unit allocates the first data area in the first cycle as a status data area into which status data indicating a status of the first unit is written by the second node. A control device characterized by:

2. 2. The control device according to claim 1, wherein command data for changing control over said first unit is transmitted in accordance with said status data read from said status data area.

3. 2. The control device according to claim 1, wherein the setting unit determines the second node from among the plurality of nodes based on a sampling rate at which the second node acquires the status data from the first unit.

4. The control device according to claim 1 , wherein the setting unit determines the second node from among the plurality of nodes based on an operating state of each of the plurality of nodes.

5. The control device according to claim 1 , wherein the setting unit determines the second node from among the plurality of nodes based on command data to be transmitted.

6. the data frame further includes a free area reserved in advance, the plurality of nodes further includes a third node that controls the second unit; the setting unit further allocates the free area as a status data area into which status data indicating a status of the second unit is written by the third node.

2. The control device according to claim 1.

7. 7. The control device according to claim 6, wherein a total size of the state data of the second node and the state data of the third node is larger than a size of the free area.

8. 2. The control device according to claim 1, wherein the network is a network conforming to EtherCAT (registered trademark).

9. A control method for controlling a plurality of nodes connected to a network, comprising: the plurality of nodes include a first node and a second node, the second node being a control node that controls the first unit; The control method includes: a communication step of transmitting and receiving data frames, each including a plurality of data areas assigned to one of the nodes, via the network at a fixed cycle; the communication step includes a step of allocating, when a first data area among the plurality of data areas is unused in a first cycle and is scheduled as a data area into which command data for the first node and response data from the first node are written in a second cycle before or after the first cycle, the first data area in the first cycle as a status data area into which status data indicating a status of the first unit is written by the second node; A control method comprising:

10. A program causing a computer to execute each step of the control method according to claim 9.

11. A control system including a plurality of nodes connected to a network and a control device that controls the plurality of nodes, the plurality of nodes include a first node and a second node, the second node being a control node that controls the first unit; The control device a communication unit that periodically transmits and receives data frames, each of which includes a plurality of data areas assigned to one of the nodes, via the network; a setting unit that sets definitions of the plurality of data areas, When a first data area among the plurality of data areas is unused in a first cycle and is scheduled as a data area into which command data for the first node and response data from the first node are written in a second cycle before or after the first cycle, the setting unit allocates the first data area in the first cycle as a status data area into which status data indicating a status of the first unit is written by the second node. having A control system comprising:

12. 1. A lithographic apparatus for forming a pattern on a substrate, comprising: A control system according to claim 11, each of the plurality of nodes included in the control system controls a unit that performs at least a part of a process of forming a pattern on the substrate; 1. A lithography apparatus comprising:

13. forming a pattern on a substrate using a lithographic apparatus according to claim 12; processing the substrate on which the pattern is formed; manufacturing an article from the processed substrate; A method for manufacturing an article, comprising:

Citation Information

Patent Citations

  • Time slot assigning system for loop communication system

    JP1988107251A

  • Communication device, control device, and communication method

    JP2018064245A

  • Control unit, system, lithography device, method for manufacturing article, control method, and program

    JP2022108621A

  • Communication control device

    WO2018105047A1