Control device, control method, program, control system, lithographic device, and article manufacturing method
By dynamically reallocating unused data areas to different nodes, the control device addresses the issue of delayed data transmission and reception, enhancing system efficiency in data communication.
Patent Information
- Application Number
- JP2023100268
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-06-19
- Publication Date
- 2025-01-07
- Estimated Expiration
- 2043-06-19
AI Technical Summary
In systems where data is transmitted and received at regular intervals between a main control device and a controlled device, the increased amount of data per cycle can lead to incomplete data transmission and reception, causing delays in the operation of the system, especially when obtaining status information from controlled units.
A control device that dynamically allocates unused data areas in one cycle to different nodes, allowing status data to be transmitted in subsequent cycles, thereby reducing the required period for communication and suppressing delays.
This approach effectively reduces communication delays by utilizing free and unused data areas for status data transmission, ensuring timely operation of the control system.
Smart Images

Figure 2025000424000001_ABST
Abstract
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 technique for transmitting and receiving data regarding abnormalities in units controlled by a controlled device 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] JP 2022-108621 A 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 cycle, there are cases where it is necessary to obtain information on a unit controlled by the controlled device. In such a case, however, in addition to control data, information data for the unit 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, data transmission and reception 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 that controls a plurality of nodes connected to a network, the control device comprising: a communication unit that transmits and receives data frames including a plurality of data areas each assigned to one of the nodes via the network at a fixed period; and a setting unit that, if a first data area among the plurality of data areas that was scheduled as a data area for a first node is unused in the first period, assigns the first data area as a data area for a second node different from the first node in the first period. Effect of the Invention
[0008] According to the present invention, it is possible to provide a technique that is advantageous for suppressing delays in sending and receiving data between a main control device and a controlled device. [Brief description of the drawings]
[0009] [Figure 1] FIG. 1 is a diagram illustrating an example of a system configuration. [Diagram 2] FIG. 2 is a diagram illustrating the configuration of a main control device. [Diagram 3] FIG. 2 is a diagram illustrating an example of 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. [Diagram 5] FIG. 2 is a diagram illustrating a functional configuration of a processing unit of a controlled device. [Figure 6] FIG. 2 is a diagram illustrating an example of data flow between a main control device and a plurality of controlled devices. [Figure 7] FIG. 4 is a diagram illustrating a data area of a data frame. [Figure 8] FIG. 4 is a diagram illustrating an example of a data flow when acquiring a unit status. [Figure 9] FIG. 13 is a diagram for explaining an example in which state data is written to a free area. [Figure 10] FIG. 4 is a diagram illustrating an example of a data flow when acquiring a unit status. [Figure 11] 11 is a flowchart illustrating a process in which the main control device sets a data frame. [Figure 12] 11A and 11B are diagrams for explaining an example in which state 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. 4 is a diagram illustrating an example of a data flow when acquiring a unit status. [Figure 15] 10 is a flowchart illustrating a process in which a main control device changes the process of a unit according to status data of a controlled device. [Figure 16] FIG. 1 is a diagram illustrating the configuration of an exposure apparatus. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0010] Hereinafter, the embodiments will be 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 a number of features, not all of these features are essential to the invention, and the 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 duplicated descriptions are omitted.
[0011] First Embodiment (system) FIG. 1 illustrates an example of a 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 form 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 each other 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, respectively.
[0013] The main control device 110 and each of the controlled devices are, for example, configured by a general-purpose or dedicated computer in which a program is embedded. Alternatively, the main control device 110 and each of the controlled devices are configured by a PLD (abbreviation of Programmable Logic Device) such as an FPGA (abbreviation of Field Programmable Gate Array), or an ASIC (abbreviation of Application Specific Integrated Circuit). Alternatively, the main control device 110 and each of the controlled devices are configured by a combination of all or part 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 part (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) consisting of multiple elements or parts, or a device consisting of multiple modules. The controlled device and the unit controlled by it may be integrated.
[0014] The main control device 110 and the multiple controlled devices can be connected to configure a daisy chain by 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), and an application specific integrated circuit (ASIC).
[0016] The ROM 210, the RAM 220, and the storage device 230 are each a form of memory. The ROM 210 stores, for example, a program executed by the processing unit 200 and fixed data among data for calculation. The RAM 220 provides a working area for the processing unit 200 and a temporary storage area for data. The ROM 210 and the 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, a keyboard, and the like. The display device 250 provides a function of displaying information. All or a 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 device, a CD, a DVD, a memory card, and the like. The storage device 230 stores programs, data, and the like. 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 a 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 controlled device from a receive buffer. The control unit 201 also executes a control process to generate command data for controlling the controlled device based on the response data read from the receive buffer. The control unit 201 also executes a write process to write command data for controlling the controlled device into a transmit buffer.
[0018] The communication unit 202 is configured to transmit and receive data frames including a plurality of data areas assigned to each of a plurality of controlled devices (nodes) at a constant period via the network 140. The communication unit 202 controls a transmission process for transmitting command data to the controlled device and a reception process for receiving data such as response data and status data from the controlled device. 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 and writes it in the data frame. The reception buffer and the transmission buffer are areas for temporarily storing data, and may be defined in a memory space of the processing unit 200, or may be defined in a memory space of the RAM 220 or the storage device 230.
[0019] The setting unit 203 is configured to set definitions of a plurality of data areas constituting 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 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), and an application specific integrated circuit (ASIC).
[0022] The ROM 310, the RAM 320, and the storage device 330 are each a form of memory. The ROM 310 stores, for example, a program executed by the processing unit 300 and fixed data among data for calculation. The RAM 320 provides a working area for the processing unit 300 and a temporary storage area for data. The ROM 310 and the RAM 320 are connected to the processing unit 300 via a bus 370. The storage device 330 can be, for example, one or more of a hard disk device, 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 transmitting unit that transmits data and a receiving unit that receives data.
[0023] FIG. 5 illustrates the configuration of the processing unit 300 of the first control device 121, the second control device 122, and the third control device 123 (controlled device). 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 a data frame including a plurality of data areas at a constant cycle. The communication unit 301 transmits and receives data such as command data, response data, and status data to and from the main control device 110 via the data frame. The communication unit 301 also transmits command data received from the main control device 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 device 110. The unit control unit 302 controls a corresponding unit (for example, the unit 131 in the case of the unit control unit 302 of the first control device 121) according to the data received from the communication unit 301. The determination unit 303 determines whether or not its own status data area is set in the data frame.
[0024] Here, EtherCAT (registered trademark), which is one of industrial Ethernet (registered trademark), will be described as an example of the network 140 shown in FIG. 1. A master control device 110 connected to a network conforming to EtherCAT transmits a data frame to a plurality of controlled devices, and the controlled devices read and write data on the fly from the data frame received from the master control device. At this time, PDO communication (process data object communication) and SDO communication (service data object communication) are used for communication between the master control device and the plurality of controlled devices. PDO communication is communication performed at a predetermined fixed cycle using data called a process data object (PDO). SDO communication is communication performed in response to a request from the master control device to the controlled device using data called a service data object (SDO). In PDO communication, data frames are communicated at a predetermined fixed cycle (for example, 1 millisecond), so the data arrival time is guaranteed. On the other hand, 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 in 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 of PDO communication, and transmits the data frame to the first control device 121. The first control device 121, which has received the data frame from the main control device 110, reads 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. Then, the first control device 121 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. The second control device 122, which has received the data frame from the first control device 121, reads 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. Then, the second control device 122 reads command data assigned to the second control device 122, and writes response data to the command data into the data frame. Then, the second control device 122 transmits a data frame in which response data to the command data assigned to the second control device 122 is written to the third control device 123. The third control device 123, which has received the data frame from the second control device 122, reads the command data assigned to the third control device 123 from the command data written in the data frame, and writes response data to the command data in the data frame. The third control device 123 then transmits the data frame in which the response data to 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 the control system 100 in which data is transmitted and received between the 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 multiple control devices, and the amount of data transmitted and received per cycle increases. In addition, when it is desired to obtain the state of a unit controlled by a controlled device, state data indicating information regarding the state of the unit must be transmitted and received between the main control device 110 and 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, when the amount of data transmitted and received per cycle increases, data transmission and reception is not completed in one cycle (one communication cycle), and data transmission and reception is performed 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), and the operation of the control system 100 is delayed. Such a delay in the operation of the control system 100 becomes noticeable, particularly when it is desired to obtain the status of a unit, and status data indicating information regarding that status must be transmitted 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 data flow 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 transmitting and receiving data frames, each of which includes multiple data areas assigned to one of the controlled devices (nodes), via the network 140 at a fixed period.
[0030] In the first period processing, 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 to the command data from the unit control unit 302, and writes the response data in the data frame. Then, the communication unit 301 of the first control unit 121 transmits a data frame in which the response data to the command data assigned to itself is written to the second control unit 122 (S102). Furthermore, the communication unit 301 of the first control unit 121 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 out 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 to the read command data from the unit control unit 302 and writes it in the data frame. Then, the communication unit 301 of the second control device 122 transmits the data frame in which the response data to 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 out 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 to the read command data from the unit control unit 302 and writes it in the data frame. Then, the communication unit 301 of the third control device 123 transmits the data frame in which the response data to 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 device 124, which has received the data frame from the third control device 123, reads out the command data assigned to itself from the command data written in the data frame. Thereafter, the communication unit 301 of the fourth control device 124 receives response data to the read command data from the unit control unit 302 and writes it in the data frame. Then, the communication unit 301 of the fourth control device 124 transmits the data frame in which the response data to the command data assigned to itself has been written to the fifth control device 125 (S105). Furthermore, the communication unit 301 of the fourth control device 124 transmits the command data to the unit control unit 302.
[0034] The communication unit 301 of the fifth control device 125, which has received the data frame from the fourth control device 124, reads out the command data assigned to itself from the command data written in the data frame. After that, the communication unit 301 of the fifth control device 125 receives response data to the read command data from the unit control unit 302 and writes it in the data frame. Then, the communication unit 301 of the fifth control device 125 transmits the data frame in which the response data to the command data assigned to itself is 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] With reference to FIG. 7, the 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, the data frames of the first period are assigned data areas of the first control device 121, the second control device 122, and the third control device 123. The data frames of the first period are not assigned data areas of the fourth control device 124 and the fifth control device 125. Similarly, the data frames of the second period and the data frames of the third period are assigned data areas of the first control device 121, the second control device 122, and the third control device 123. However, the data frames of the second period and the data frames of the third period are not assigned data areas of the fourth control device 124 and the fifth control device 125. However, free area 1 is secured in advance in each of the data frames of the first period, the second period, and the third period.
[0038] Next, a control method for controlling a plurality of 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 a 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 a plurality of controlled devices is the same as that in FIG. 6, and therefore a detailed description will be omitted. FIG. 9 illustrates an example of a data area of a data frame for acquiring the status of a unit. In the first period processing, the status data of the fourth control device 124 (second node) and the status data of the fifth control device 125 (third node) are transmitted to the main control device 110. In this case, it is desired that the status data of the fourth control device 124 and the status data of the fifth control device 125 are each written in 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 in the first period, so that both data cannot be written in the free area 1 within one period. Therefore, in the first periodic process, only the fourth control device 124 writes its own status data in the free area 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). After that, in the second periodic process, the fifth control device 125 writes its own status data in the free area 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, the 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 the free space 1, the communication will not be completed within one cycle, but will require multiple cycles.
[0040] (Utilizing unused space in the data area) FIG. 10 illustrates an example of data flow in communication when the main control device 110 acquires the status of the unit in the first embodiment. The data flow of communication between the main control device 110 and a plurality of controlled devices is the same as that in FIG. 6, so a detailed description 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 period, 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 period. FIG. 10 illustrates an example of the data flow in this case. As will be described in detail below, in the first period, 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 judges whether to control the controlled device, that is, whether to transmit command data to the controlled device. This judgment is made, for example, by judging whether it is time to transmit command data to the controlled device. If it is judged 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 judged 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 that acquires the status of the unit. 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 indicates 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 the controlled device that acquires the sensor value with a high sampling rate as the target of the state data area.
[0043] The setting unit 203 may also determine which controlled device's status data area the data area of the data frame should be set to, based on the operation states of each of the multiple controlled devices (multiple nodes). For example, the setting unit 203 can preferentially set the controlled device in operation as the target of the status data area.
[0044] The setting unit 203 may also determine which controlled device's status data area 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 the operation command data as the target of the status data area.
[0045] A data frame transmitted and received via the network 140 will be described with reference to Fig. 12. Fig. 12 illustrates data fields 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 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] Also, originally, in the data frame of the second cycle, data areas for each of the first control device 121, the second control device 122, and the third control device 123 are allocated, and there is a free area 1. However, in this example, in the second cycle, the main control device 110 does not control the first control device 121 and the third control device 123. Therefore, the data areas of the first control device 121 and the third control device 123 in the data frame become unused, and there are unused areas 1 and 2 as shown in FIG.
[0048] Similarly, originally, in the data frame of the third cycle, data areas for each of the first control device 121, the second control device 122, and the third control device 123 are allocated, and there is a free area 1. However, in this example, since the main control device 110 does not control the first control device 121 in the third cycle, 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 assigns the unused area 1, which was originally the data area of the second control unit 122, and the free area 1 as data areas for the fourth control unit 124 and the fifth control unit 125, respectively. In accordance with this assignment, the fourth control unit 124 writes status data to the unused area 1, and the fifth control unit 125 writes status data to the free area 1.
[0050] In the second periodic process, the main control device 110 allocates unused areas 1 and 2, which were originally data areas of the first control device 121 and the third control device 123, as data areas of the fourth control device 124 and the fifth control device 125, respectively. In accordance with this allocation, the fourth control device 124 writes status data to the unused area 1, and the fifth control device 125 writes status data to the unused area 2.
[0051] In the third periodic process, the main control unit 110 assigns the unused area 1, which was originally the data area of the first control unit 121, and the free area 1 as data areas for the fourth control unit 124 and the fifth control unit 125, respectively. In accordance with this assignment, the fourth control unit 124 writes status data to the unused area 1, and the fifth control unit 125 writes status data to the free area 1.
[0052] Thus, in this embodiment, when a first data area (unused areas 1 and 2) that was scheduled as a data area of a first node (any controlled device) among a plurality of data areas is unused in a first period, the setting unit 203 performs dynamic allocation. Specifically, in the first period, the setting unit 203 allocates the first data area as a data area of a second node (e.g., a fourth control device) different from the first node (e.g., a second control device). At this time, the setting unit 203 can also allocate the free area 1 as a data area of 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 the 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 is 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 is 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 is not set in the data frame. If it is determined in S21 that its own status data area is set in the received data frame, the process proceeds to S22. In S22, the unit control unit 302 acquires the status data of the unit and writes the status data in its own status data area set in the data frame. After that, the process returns to S21. On the other hand, if it is determined in S21 that the own status data area is not set in the received data frame, the process returns to S21.
[0054] As described above, according to this embodiment, in communication between a main control device and multiple controlled devices, not only the free space of the data frame but also the unused space in the data area can be allocated as the data area of the controlled device whose status is to be acquired. This can reduce the cycle required for communication. Therefore, this embodiment is advantageous in suppressing delays in sending and receiving data between the main control device 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 device 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 the unit in the second embodiment. The data flow of communication between the main control device 110 and a plurality of controlled devices is the same as that in FIG. 6, so a detailed description is omitted. The following control process is assumed here. First, in the first period, 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 period, 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 period. FIG. 14 illustrates the data flow in this case. In FIG. 14, similar to FIG. 10, in the first period, 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 process in this embodiment when the main control device 110 changes the process of the unit of the controlled device according to 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 the area allocated as the data area of the controlled device from the data frame received from the controlled device.
[0058] In S32, the judgment unit 204 judges whether or not the status data of the controlled device read in S31 satisfies a preset condition. If it is judged 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 judged 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 out the status data written in the area allocated as the status data area of the fourth control unit 124 and the fifth control unit 125 from the data frame received from the first control unit 121. Then, the communication unit 202 transmits the status data to the determination unit 204. The determination unit 204 determines whether or not the status data satisfies the preset condition. In the example of FIG. 14, since the determination unit 204 determines that the status data satisfies the preset condition, the determination unit 204 transmits the preset control data to the control unit 201. Then, the control unit 201 executes a control process to generate command data for controlling the first control unit 121 based on the preset control data. Also, the control unit 201 writes the command data for controlling the first control unit 121 in the transmission buffer. In this way, the main control unit 110 can transmit command data for changing the control of the unit according to the status data read out from the status data area.
[0060] In the first control device 121, the communication section 301 transmits the command data received from the main control device 110 to the unit control section 302. The unit control section 302 changes the processing of the corresponding unit according to the data received from the communication section 301.
[0061] Furthermore, the unit control section 302 may stop the operation of the controlled device including the unit as a control process. Furthermore, the unit control section 302 may cause the display device 250 of the main control device 110 to display information about the abnormality that has occurred as an abnormality process. Here, the information about the abnormality may include a message notifying the occurrence of the abnormality, and information about the content, cause, or countermeasure of 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 the 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 makes it possible to reduce the cycle 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. In addition, it is possible to quickly change the control of other controlled devices according to the status data of the controlled devices.
[0063] <Embodiments 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 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 control 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 control 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.).
[0064] 16 is a diagram showing a 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 a 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 storage device, and controls the mask stage control unit 31, the projection control unit 32, and the substrate stage control unit 33, thereby controlling the entire exposure apparatus 10 (each part of the exposure apparatus 10).
[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 XY 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 a substrate. The projection optical system 14 includes a lens 14a that can be moved, for example, in the XY 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 XY directions, by a third drive unit 23.
[0066] 16, when the control system 100 is applied, the main control unit 16 can be configured as the main control device 110. Also, the mask stage control unit 31, the projection control unit 32, the substrate stage control unit 33, and the substrate stage monitoring unit 34 can be configured as controlled devices. The first driving unit 21, the second driving unit 22, and the third driving unit 23 can be configured as units (corresponding to the above-mentioned units 131, 132, and 133). Communication between the main control unit 16, the mask stage control unit 31, the projection control unit 32, the substrate stage control unit 33, and the substrate stage monitoring unit 34 is performed at a predetermined cycle via the network 140.
[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 and the like 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 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 further receives status data of the substrate stage 15 from the substrate stage monitoring unit 34.
[0069] Furthermore, the determination unit 204 of the main controller 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 controller 110 quickly changes the control of the substrate stage in response to 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 the article manufacturing method> The article manufacturing method according to the embodiment of the present invention is suitable for manufacturing articles such as microdevices such as semiconductor devices and elements having a fine structure. The article manufacturing method of the present embodiment includes a step of forming a latent image pattern on a photosensitive agent applied to a substrate using the above-mentioned exposure apparatus (a step of exposing the substrate), and a step of developing the substrate on which the latent image pattern has been formed in the step. Furthermore, the manufacturing method includes other well-known steps (oxidation, film formation, deposition, doping, planarization, etching, resist stripping, dicing, bonding, packaging, etc.). The article manufacturing method of the present embodiment is advantageous in at least one of the performance, quality, productivity, and production cost of the article compared to conventional methods.
[0072] <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) for implementing one or more of the functions.
[0073] The disclosure of this specification includes at least the following control device, control method, program, control system, lithography apparatus, and article manufacturing method. (Item 1) A control device for controlling a plurality of nodes connected to a network, a communication unit that transmits and receives data frames, each of which includes a plurality of data areas assigned to one of the nodes, via the network at a constant cycle; 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, assigns 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, further comprising: a control device that transmits command data for changing control over the unit in accordance with the status data read from the status data area. (Item 5) 5. The control device according to item 3 or 4, characterized in that 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 an operation 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 in 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 a total size of the state data of the second node and the state data of the third node is greater than a 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 method for controlling a plurality of nodes connected to a network, comprising the steps of: a communication step of transmitting and receiving data frames, each of which includes a plurality of data areas assigned to one of the nodes, via the network at a constant cycle; the communication step includes a step of, when a first data area among 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 for causing a computer to execute each step of the control method according to claim 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 includes: a communication unit that transmits and receives data frames, each of which includes a plurality of data areas assigned to one of the nodes, via the network at a constant cycle; 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, assigns the first data area as a data area of a second node different from the first node in the first cycle; having the second node reads out 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 a 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 for forming a pattern on the substrate. 13. A lithography apparatus comprising: (Item 15) forming a pattern on a substrate using the lithographic apparatus according to item 14; processing the substrate on which the pattern is formed; producing 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 modifications and variations are possible 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 for controlling a plurality of nodes connected to a network, a communication unit that transmits and receives data frames, each of which includes a plurality of data areas assigned to one of the nodes, via the network at a constant cycle; 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, assigns 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:
2. 2 . The control device according to claim 1 , wherein the communication unit reads out response data written in the first data area by the second node in the first period.
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 claim 2.
4. 4. The control device according to claim 3, further comprising: command data for changing control over said unit in response to said status data read from said status data area.
5. 4. The control device according to claim 3, 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.
6. The control device according to claim 1 , wherein the setting unit determines the second node from among the plurality of nodes based on an operation state of each of the plurality of nodes.
7. 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.
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 in 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.
4. The control device according to claim 3.
9. 9. The control device according to claim 8, 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.
10. 2. The control device according to claim 1, wherein the network is a network conforming to EtherCAT (registered trademark).
11. A method for controlling a plurality of nodes connected to a network, comprising the steps of: a communication step of transmitting and receiving data frames, each of which includes a plurality of data areas assigned to one of the nodes, via the network at a constant cycle; the communication step includes a step of, when a first data area among 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:
12. A program causing a computer to execute each step of the control method according to claim 11.
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 includes: a communication unit that transmits and receives data frames, each of which includes a plurality of data areas assigned to one of the nodes, via the network at a constant cycle; 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, assigns the first data area as a data area of a second node different from the first node in the first cycle; having the second node reads out 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:
14. 1. A lithographic apparatus for forming a pattern on a substrate, comprising: A control system according to claim 13, Each of the plurality of nodes included in the control system controls a unit that performs at least a part of a process for forming a pattern on the substrate.
13. A lithography apparatus comprising:
15. forming a pattern on a substrate using a lithographic apparatus according to claim 14; processing the substrate on which the pattern is formed; producing 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