Control device, control method, and control program

The control device dynamically adjusts virtual computing resources to meet changing time constraints in manufacturing equipment, addressing inefficiencies and malfunctions by selecting optimal images from an image library, ensuring efficient resource allocation and compliance with communication response times.

WO2025210736A1PCT designated stage Publication Date: 2025-10-09MITSUBISHI ELECTRIC CORP
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2024/013603
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-04-02
Publication Date
2025-10-09

AI Technical Summary

Technical Problem

Existing control system configurations fail to efficiently allocate computational resources to satisfy changing time constraints in manufacturing equipment, leading to inefficiencies or malfunctions due to unsatisfied communication response times during scaling up or down.

Method used

A control device with a scaling determination unit, image selection unit, and reconfiguration unit dynamically adjusts virtual computing resources to meet time constraints by selecting an appropriate image from an image library that satisfies the changed requirements, ensuring efficient resource allocation and communication response times.

Benefits of technology

The solution enables efficient allocation of computing resources to meet changing time constraints, ensuring compliance with communication response times, thereby preventing equipment malfunctions and optimizing resource utilization during scaling operations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2024013603_09102025_PF_FP_ABST
    Figure JP2024013603_09102025_PF_FP_ABST
Patent Text Reader

Abstract

A control device (10) is provided with a scaling determination unit (142), an image selection unit (143), and a reconfiguration unit (144). When a time constraint corresponding to each of at least one of one or more manufacturing facilities (40) has been changed, the scaling determination unit (142) determines, on the basis of the time constraint corresponding to each of the one or more manufacturing facilities (40) after the change, whether to execute scaling processing for changing a calculation resource to be allocated to a virtual calculation environment. When it is determined that the scaling processing is to be executed, the image selection unit (143) selects, as the selection image, an image of the virtual calculation environment that satisfies the time constraint corresponding to each of the one or more manufacturing facilities (40) after the change, said selection being made on the basis of the amount of the calculation resources allocated to the virtual calculation environment. The reconfiguration unit (144) reconfigures the virtual calculation environment on the basis of the selection image.
Need to check novelty before this filing date? Find Prior Art

Description

Control device, control method, and control program

[0001] The present disclosure relates to a control device, a control method, and a control program.

[0002] In recent years, control system configurations have been proposed in which the control and arithmetic functions of control devices used to control manufacturing equipment are virtualized using hypervisor technology, container technology, or the like. Scaling techniques, particularly techniques called scale-up / scale-down, are used to flexibly adapt to changes in load, etc., by dynamically increasing or decreasing the amount of resources, such as a central processing unit (CPU), allocated to the virtualized functions. Patent Document 1 discloses a technique for scaling CPU resources (changing resource allocation) on a virtualization platform without affecting applications.

[0003] International Publication No. 2020-234917

[0004] Consider one control system configuration in which input / output devices, which control input / output signals such as status signals and command signals for sensors and actuators in manufacturing equipment, are controlled via a network from a virtualized control and arithmetic function on a control device. In such a configuration, a time constraint is often required for the time from when the input / output device sends a sensor status signal to when the control device receives the status signal and performs control arithmetic, generates and transmits a command signal for the actuator, and receives the command signal from the input / output device (referred to as the communication response time). If the communication response time exceeds the time constraint, it may lead to malfunction of the manufacturing equipment. While Patent Document 1 considers the impact on the operation of applications (corresponding to the control and arithmetic function) after scaling, it does not anticipate application to the above-mentioned control system configuration. Therefore, the method disclosed in Patent Document 1 fails to consider the impact of time constraints on the communication response time. As a specific example, consider the case of increasing the operating speed of machinery (e.g., conveyor belts) in a manufacturing facility to respond to a temporary increase in demand for a specific product. In this case, the time constraint may be changed to a stricter constraint. However, the method disclosed in Patent Document 1 has a problem in that it is not possible to satisfy the changed time constraints while scaling up. Furthermore, although it is possible that the time constraints may be satisfied accidentally by allocating excess resources, it has a problem in that resource utilization becomes inefficient. Similarly, when it is necessary to slow down the operating speed of machinery and equipment in response to a temporary drop in demand for a specific product, the time constraints may be changed to be more lenient. However, the method disclosed in Patent Document 1 has a problem in that it is not possible to satisfy the new time constraints while scaling down to ensure efficient resource utilization.

[0005] The present disclosure aims to change the computational resources so as to allocate them efficiently in a technology for increasing or decreasing the computational resources allocated to a virtualized control calculation function, in response to changes in time constraints corresponding to each piece of manufacturing equipment, while communicating with each piece of manufacturing equipment so as to satisfy the time constraints corresponding to each piece of manufacturing equipment after the changes.

[0006] The control device according to the present disclosure is a control device comprising: a virtual controller that executes control calculation processing corresponding to each of one or more manufacturing facilities using a virtual computing environment; and that communicates with each of one or more input / output devices that perform input / output control for each of the one or more manufacturing facilities so that time constraints corresponding to each of the one or more manufacturing facilities are satisfied; and is equipped with: a scaling determination unit that, when the time constraint corresponding to at least one of the one or more manufacturing facilities is changed, determines whether to perform a scaling process to change the computational resources to be allocated to the virtual computing environment based on the time constraint corresponding to each of the one or more manufacturing facilities after the change; an image selection unit that, when it is determined that the scaling process should be performed, selects, as a selected image, an image of the virtual computing environment that satisfies the time constraints corresponding to each of the one or more manufacturing facilities after the change based on the amount of computational resources allocated to the virtual computing environment; and a reconfiguration unit that reconfigures the virtual computing environment based on the selected image.

[0007] According to the present disclosure, when a time constraint corresponding to at least one of the one or more manufacturing facilities is changed, a scaling determination unit determines whether to execute a scaling process to change the computing resources allocated to the virtual computing environment based on the changed time constraint corresponding to each of the one or more manufacturing facilities. Furthermore, an image selection unit selects an image of the virtual computing environment that satisfies the changed time constraint corresponding to each of the one or more manufacturing facilities based on the amount of computing resources allocated to the virtual computing environment. Therefore, according to the present disclosure, in a technology for increasing or decreasing the computing resources allocated to a virtualized control operation function, in response to a change in the time constraint corresponding to each of the manufacturing facilities, the computing resources can be changed to efficiently allocate the computing resources while communicating with each of the manufacturing facilities so as to satisfy the changed time constraint corresponding to each of the manufacturing facilities.

[0008] 1 is a diagram showing an example of the configuration of a control system 1 according to the first embodiment. A diagram showing a specific example of an image library 147 according to the first embodiment. A diagram showing a specific example of a communication response time management table 146. A diagram showing an example of the hardware configuration of a control device 10 according to the first embodiment. A diagram showing an example of the hardware configuration of an input / output device 30 according to the first embodiment. A flowchart showing the operation of a scaling execution process according to the first embodiment. A flowchart showing the operation of a scaling determination process and an image selection process according to the first embodiment. A flowchart showing the operation of a reconfiguration process according to the first embodiment. A diagram explaining a communication response time according to the first embodiment. A diagram explaining a communication response time according to the first embodiment. A diagram explaining a communication response time according to the first embodiment. A diagram showing an example of the configuration of a control system 1 according to the first embodiment. A diagram explaining the operation during scale-up according to the first embodiment. A diagram explaining the operation during scale-up according to the first embodiment. A diagram explaining the operation during scale-up according to the first embodiment. A diagram explaining the operation during scale-up according to the first embodiment. A diagram explaining the operation during scale-down according to the first embodiment. A diagram explaining the operation during scale-down according to the first embodiment. FIG. 10 is a diagram showing an example of a hardware configuration of a control device 10 according to a modification of the first embodiment.

[0009] In the description of the embodiments and the drawings, the same elements and corresponding elements are given the same reference numerals. The description of elements given the same reference numerals will be omitted or simplified as appropriate. Arrows in the drawings mainly indicate the flow of data or the flow of processing. Furthermore, "unit" may be read as "circuit," "step," "procedure," "process," or "circuitry" as appropriate.

[0010] First Embodiment Hereinafter, the present embodiment will be described in detail with reference to the drawings.

[0011] *** Description of Configuration *** Figure 1 shows an example configuration of a control system 1 according to this embodiment. The control system 1 comprises a control device 10, a network 20, input / output devices 30, manufacturing equipment 40, and a manufacturing management system 9. Note that letters at the end of the reference numerals are added to distinguish between multiple equivalent elements. The network 20 is a communications network. The number of input / output devices 30 and the number of manufacturing equipment 40 need only be one or more, and are not limited to three.

[0012] The control device 10 comprises a virtualization management unit 110, a virtual controller 120, a virtual information device 150, and a scaling management unit 140. The control device 10 communicates with each of one or more input / output devices 30 so that time constraints corresponding to each of one or more manufacturing facilities 40 are satisfied.

[0013] The virtualization management unit 110 has a function of managing the virtual controller 120 and the virtual information device 150. As a specific example, the virtualization management unit 110 manages computing resources such as a central processing unit (CPU) core in a processor allocated to the managed device, and manages the startup and shutdown of the managed device. As a specific example, each of the virtual controller 120 and the virtual information device 150 is realized by a hypervisor technology or a combination of an operating system (OS) and a container runtime technology.

[0014] The virtual controller 120 is a virtual controller for controlling each input / output device 30 that controls input / output for each manufacturing facility 40 via the network 20. The virtual controller 120 executes control arithmetic processing corresponding to each of one or more manufacturing facilities 40 in a virtual computing environment. In this example, the description focuses on one virtual controller 120 controlling the input / output devices 30a, 30b, and 30c. The other virtual controllers 120 control other input / output devices 30 (not shown). The virtual controller 120 is composed of a virtual control arithmetic unit 121 and a communication control unit 122.

[0015] The virtual control calculation unit 121 has a function of acquiring status signals 50a, 50b, and 50c stored in the receiving buffer of the communication control unit 122 at a fixed calculation period, and performing control calculation based on each acquired status signal 50. The virtual control calculation unit 121 generates command signals 60a, 60b, and 60c based on the results of the control calculation, and notifies the communication control unit 122 of each generated command signal 60. Each command signal 60 is stored in the transmission buffer of the communication control unit 122. The virtual control calculation unit 121 is realized by a virtual computing environment, and for specific examples, is realized by a virtual machine or a container. Each status signal 50 indicates the measurement result of a sensor provided in each manufacturing facility 40.

[0016] The communication control unit 122 transmits the command signals 60a, 60b, and 60c stored in the transmission buffer to the input / output devices 30a, 30b, and 30c, respectively, at a fixed communication cycle. The communication control unit 122 also stores the status signals 50a, 50b, and 50c received from the input / output devices 30a, 30b, and 30c, respectively, in the reception buffer. The communication control unit 122 may be realized by a virtual machine or a container, or may be realized as a process or thread on an OS.

[0017] The virtual information device 150 has necessary functions other than the control of the manufacturing facilities 40a, 40b, and 40c, and incorporates multiple functions realized by virtual machines, containers, etc. As a specific example, the virtual information device 150 has a function of collecting data from within each manufacturing facility 40 and a function of analyzing the collected data.

[0018] The scaling management unit 140 comprises a scaling execution unit 141, a scaling determination unit 142, an image selection unit 143, a reconfiguration unit 144, a communication information collection unit 145, a communication response time management table 146, and an image library 147. The scaling determination unit 142 is also called a scaling necessity determination unit. The image selection unit 143 is also called a virtual control operation image selection unit. The reconfiguration unit 144 is also called a virtual control operation unit reconfiguration unit. The communication information collection unit 145 is also called a communication response time information collection unit. The image library 147 is also called a virtual control operation image library.

[0019] The scaling execution unit 141 has a function of managing the execution of scaling processing.

[0020] When a time constraint corresponding to at least one of the one or more manufacturing facilities 40 is changed, the scaling determination unit 142 determines whether to execute a scaling process to change the computing resources allocated to the virtual computing environment based on the changed time constraint corresponding to each of the one or more manufacturing facilities. The scaling determination unit 142 determines to execute a scale-up process as a scaling process when an actual measurement value of a communication response time corresponding to a first target manufacturing facility does not satisfy the time constraint corresponding to the first target manufacturing facility. The first target manufacturing facility is any one of the one or more manufacturing facilities 40. Furthermore, the scaling determination unit 142 determines to execute a scale-down process as a scaling process when, for any second target manufacturing facility, the sum of the actual measurement value of the communication response time corresponding to the second target manufacturing facility and a scale-down parameter satisfies the time constraint corresponding to the second target manufacturing facility. The second target manufacturing facility is each of the one or more manufacturing facilities 40. As a specific example, the scaling determination unit 142 has a function of determining whether a scale-up or scale-down is necessary in response to a "constraint change request," which is one of the messages 80 notified from the manufacturing management system 9. The “constraint change request” is also called a “communication response time constraint change request.” Note that, in this specification, scaling up and scaling down refer to reducing and increasing the feasible communication response time, respectively, by reconfiguring the virtual control and calculation unit 121 based on the image library 147 so as to satisfy the time constraint on the required communication response time.

[0021] When the scaling determination unit 142 determines that scaling processing is to be performed, the image selection unit 143 selects, as the selected image, an image of a virtual computing environment that satisfies the time constraint corresponding to each of the one or more pieces of manufacturing equipment 40 after the change, based on the amount of computing resources allocated to the virtual computing environment. The image selection unit 143 may select the selected image from an image library 147 that indicates multiple types of images. Each of the multiple types of images is an image of a virtual computing environment. For each of the multiple types of images, the image selection unit 143 may determine whether the time constraint corresponding to each of the one or more pieces of manufacturing equipment 40 after the change is satisfied, based on the maximum calculation time corresponding to each of the multiple types of images. The image selection unit 143 may select, as the selected image, an image that has the smallest number of corresponding cores, from among images that satisfy the time constraint corresponding to each of the one or more pieces of manufacturing equipment 40 after the change. As a specific example, the image selection unit 143 has a function of selecting, from the image library 147, an image that requires the minimum number of CPU core resources while satisfying the required time constraint. Each image is realized, for example, by a virtual machine image or a container image.

[0022] The image library 147 is data stored for each virtual controller 120 and stores images of multiple implementation patterns of the virtual control and calculation unit 121. The image library 147 may indicate the maximum calculation time corresponding to each of the multiple types of images. For each of the multiple types of images, the image library 147 may indicate the number of processor cores allocated to the virtual calculation environment as the calculation resources allocated to the virtual calculation environment. When the same control and calculation logic is executed between multiple implementation patterns, the required CPU core resources and the maximum calculation time are not the same due to differences in the corresponding architectures. Each image is prepared by a user who designs the control and calculation logic of the virtual controller 120. Furthermore, each image may be a statically created image or an image that is dynamically updated during system operation.

[0023] FIG. 2 shows a specific example of the image library 147. This example is composed of image α, image β, and image γ, which execute control tasks with different degrees of parallelism. In image α, a single control task executes control operations sequentially for each of the manufacturing facilities 40a, 40b, and 40c. In image α, one CPU core is required, and the maximum calculation time is 7 ms. The maximum calculation time is also called the maximum execution time. In image β, two parallel control tasks execute control operations for the manufacturing facility 40a and control operations for the manufacturing facility 40b and 40c in parallel. Here, it is assumed that the execution and completion of the two parallel control tasks are synchronized. In image β, two CPU cores are required, and the maximum calculation time is 4 ms. In image γ, three parallel control tasks execute control operations for the manufacturing facility 40a, 40b, and 40c in parallel. In image γ, three parallel control tasks execute control operations for the manufacturing facility 40a, 40b, and 40c in parallel. In image γ, three CPU cores are required, and the maximum calculation time is 2 ms.

[0024] The reconfiguration unit 144 has a function of reconfiguring a new virtual control calculation unit 121 based on the image selected by the image selection unit 143 .

[0025] The communication information collection unit 145 periodically collects communication response time information 70, 70b, and 70c measured by the input / output device 30a, the input / output device 30b, and the input / output device 30c, respectively. The communication information collection unit 145 stores the maximum value of the communication response time indicated by the collected communication response time information 70 for each manufacturing facility 40 in the "actual measurement value" column of the communication response time management table 146. The communication response time management table 146 is generated with a "time constraint" column for each virtual controller 120, and is data having entries with "estimated value" and "actual measurement value" of the communication response time for each image that serves as the basis for the virtual control calculation unit 121. FIG. 3 shows a specific example of the communication response time management table 146.

[0026] Each input / output device 30 is made up of an input / output control unit 320, a communication control unit 310, and a communication response time measurement unit 330. One or more input / output devices 30 perform input / output control for one or more pieces of manufacturing equipment 40, respectively.

[0027] The input / output control unit 320 receives a status signal 50 from the manufacturing equipment 40 and stores the received status signal 50 in a transmission buffer of the communication control unit 310. The input / output control unit 320 also outputs a command signal 60 in the reception buffer of the communication control unit 310 to an actuator in the manufacturing equipment 40.

[0028] The communication control unit 310 transmits the status signal 50 stored in the transmission buffer to the virtual controller 120 at a fixed communication cycle. The communication control unit 310 also stores the status signal 50 received from the virtual controller 120 in the reception buffer.

[0029] The communication response time measurement unit 330 measures the time from when a status signal 50 is transmitted to when a command signal 60 corresponding to the transmitted status signal 50 is received as the communication response time, and transmits communication response time information 70 indicating the measured communication response time. The correspondence between each status signal 50 and each command signal 60 is managed by assigning a sequence number, for example.

[0030] Real-time performance is required in communications regarding the status signal 50 and the command signal 60 over the network 20. Therefore, the communication control unit 122 and the communication control unit 310 each adjust the transmission timing of these data so that real-time performance is guaranteed.

[0031] The manufacturing management system 9 is a system for managing the operation of the manufacturing equipment 40. The manufacturing management system 9 communicates messages 80 and 90 with the scaling execution unit 141. The message 80 is data notified from the manufacturing management system 9. The message 90 is data indicating the notification content regarding scaling.

[0032] 4 shows an example of the hardware configuration of the control device 10 according to this embodiment. The control device 10 is made up of a computer. The control device 10 may be made up of multiple computers.

[0033] As shown in the figure, the control device 10 is a general computer that includes hardware such as a processor 101, a memory 102, a storage 103, and a communication interface 104. These pieces of hardware are connected appropriately via signal lines.

[0034] The processor 101 is an integrated circuit (IC) that performs arithmetic processing and controls the hardware of a computer. Specific examples of the processor 101 include a CPU, a digital signal processor (DSP), or a graphics processing unit (GPU). The processor 101 has N_total cores. The control device 10 may include multiple processors that replace the processor 101. The multiple processors share the role of the processor 101.

[0035] The memory 102 is typically a volatile storage device, and a specific example is RAM (Random Access Memory). The memory 102 is also called a primary storage device or main memory. Data stored in the memory 102 is saved in the storage 103 as needed.

[0036] The storage 103 is typically a non-volatile storage device, and specific examples thereof include a read-only memory (ROM), a hard disk drive (HDD), or a flash memory. Data stored in the storage 103 is loaded into the memory 102 as needed. The memory 102 and the storage 103 may be configured integrally.

[0037] The communication interface 104 is a receiver and a transmitter. A specific example of the communication interface 104 is a communication chip or a NIC (Network Interface Card). The communication interface 104 is used for communication with other devices via the network 20.

[0038] Each part of the control device 10 may use the communication interface 104 as appropriate when communicating with other devices.

[0039] The storage 103 stores a control program. The control program is a program that causes a computer to realize the functions of each unit included in the control device 10. The control program is loaded into the memory 102 and executed by the processor 101. The functions of each unit included in the control device 10 are realized by software.

[0040] Data used when executing a control program and data obtained by executing a control program are stored in a storage device as appropriate. Each part of the control device 10 uses a storage device as appropriate. Specific examples of the storage device include at least one of a memory 102, a storage 103, a register in the processor 101, and a cache memory in the processor 101. Note that the terms "data" and "information" may have the same meaning. The storage device may be independent of the computer. The functions of the memory 102 and the storage 103 may be realized by other storage devices.

[0041] The control program may be recorded on a computer-readable non-volatile recording medium. Specific examples of the non-volatile recording medium include an optical disk and a flash memory. The control program may be provided as a program product.

[0042] 5 shows an example of the hardware configuration of the input / output device 30. The input / output device 30 includes a processor 301, a memory 302, a storage 303, a communication interface 304, and an input / output interface 305. The processor 301 is similar to the processor 101. The memory 302 is similar to the memory 102. The storage 303 is similar to the storage 103. The communication interface 304 is similar to the communication interface 104.

[0043] The input / output interface 305 is a port to which an input device and an output device are connected. A specific example of the input / output interface 305 is a USB (Universal Serial Bus) terminal. Specific examples of the input device are a keyboard and a mouse. A specific example of the output device is a display. The input / output interface 305 is used for signal input / output with each manufacturing facility 40.

[0044] ***Explanation of Operation*** The operating procedures of the devices constituting the control system 1 are collectively called control methods. Also, the programs that realize the operations of the devices constituting the control system 1 are collectively called control programs.

[0045] 6 is a flowchart showing an example of the operation flow of the scaling execution process according to this embodiment. The scaling execution process will be described with reference to FIG.

[0046] (Step S101) The scaling execution unit 141 receives a "constraint change request" as a message 80 from the manufacturing control system 9. The "constraint change request" is a message including content related to changes to the "time constraint" column shown in FIG.

[0047] (Step S102) The scaling execution unit 141 executes a scaling determination process and an image selection process using the scaling determination unit 142 and the image selection unit 143. Fig. 7 is a flowchart showing an example of the operation flow of these processes. These processes will be described using Fig. 7.

[0048] (Step S201) The scaling determining unit 142 updates the communication response time management table 146 based on the change value of the time constraint indicated by the "constraint change request."

[0049] (Step S202) The scaling determination unit 142 refers to the communication response time management table 146, and proceeds to step S204 if the actual measurement value is greater than the time constraint for the communication response time of at least one of the manufacturing facilities 40. Proceeding from step S202 to step S204 means that scale-up is to be performed. If this is not the case, the scaling determination unit 142 proceeds to step S203.

[0050] (Step S203) The scaling determination unit 142 proceeds to step S204 if (actual measurement value) + d_scale < (time constraint) holds for the communication response times of all the manufacturing equipment 40. Proceeding from step S203 to step S204 means that scaling down is to be performed. Here, d_scale is a parameter indicating the possibility of scaling down, and is also called the scale down parameter. If this is not the case, the scaling determination unit 142 ends the processing of this flowchart and returns to the operation flow shown in FIG. 6. Returning to the operation flow shown in FIG. 6 in this step means that neither scaling up nor scaling down is necessary.

[0051] (Step S204) The image selection unit 143 estimates a communication response time corresponding to each image from the image library 147 other than the image currently being used by the virtual control and calculation unit 121. The method for estimating the communication response time depends on the specifications of the virtual control and calculation unit 121, the communication control unit 122, and the network 20. For simplicity, in this embodiment, it is assumed that the start of the calculation cycle of the virtual control and calculation unit 121 and the start of the communication cycle of the communication control unit 122 are synchronized, and that (calculation cycle) = ceiling((maximum calculation time) / (communication cycle))*(communication cycle). In this case, it is assumed that the communication response time can be estimated by "(communication response time) = 2*(communication cycle) + (calculation cycle) = 2*(communication cycle) + ceiling((maximum calculation time) / (communication cycle))*(communication cycle)." In this embodiment, assuming that (communication cycle) = 5 ms remains unchanged, an example of an estimated communication response time corresponding to image α is as shown in FIG. 9, an example of an estimated communication response time corresponding to image β is as shown in FIG. 10, and an example of an estimated communication response time corresponding to image γ is as shown in FIG. 11.

[0052] (Step S205) The image selection unit 143 selects an image that minimizes the required resources while satisfying the time constraints. Regarding the N_total CPU cores of the processor 101, the number of CPU cores used by the virtual control and calculation unit 121 configured by the current image is defined as N_c. Furthermore, as of step S112 (described later), the number of CPU cores available for reconfiguring a new image is defined as N_u. Here, the N_u number of CPU cores may include not only the number of idle CPU cores but also the N_c CPU cores released as of step S112, and may include the number of CPU cores that can be temporarily borrowed due to temporary shutdowns of other virtual controllers 120 and virtual information devices 150. As a specific example, the image selection unit 143 acquires this information from the virtualization management unit 110. Here, the estimated communication response time for each image with respect to each manufacturing facility 40 is defined as d, the required number of CPU cores is defined as N_req, and the time constraint is defined as D_const. At this time, the image selection unit 143 selects an image that satisfies [Condition 1] and [Condition 2] and has the smallest N_req. The image selected in this step is called a selected image.

[0053] [Condition 1] N_req<=N_u. [Condition 2] d<=D_const for each manufacturing facility 40.

[0054] (Step S206) If the image selection unit 143 selects an image that satisfies each condition in step S205, the process proceeds to step S207. If not, the image selection unit 143 ends the process of this flowchart and returns to the operation flow shown in FIG.

[0055] (Step S207) The image selection unit 143 adds an entry corresponding to the selected image together with the communication response time estimated in step S204 to the communication response time management table 146. After that, the image selection unit 143 ends the processing of this flowchart and returns to the operation flow shown in FIG.

[0056] (Step S103) Returning to the operation flow shown in Fig. 6, step S103 and subsequent steps will be described. If it is not necessary to select a virtual control operation image, that is, if the process proceeds to the "NO" path in step S203, the scaling execution unit 141 proceeds to step S104. If not, the scaling execution unit 141 proceeds to step S105.

[0057] (Step S104) The scaling execution unit 141 sends a message 90 indicating "scaling not required" to the manufacturing control system 9, and ends the processing of this flowchart.

[0058] (Step S105) If it is not possible to select a virtual control operation image, that is, if the process proceeds to the "NO" path in step S206, the scaling execution unit 141 proceeds to step S106. Otherwise, the scaling execution unit 141 proceeds to step S107.

[0059] (Step S106) The scaling execution unit 141 sends a message 90 indicating "scaling not possible" to the manufacturing control system 9, and ends the process of this flowchart.

[0060] (Step S107) The scaling execution unit 141 executes a reconstruction process using the reconstruction unit 144. Fig. 8 is a flowchart showing an example of the reconstruction process. This process will be described with reference to Fig. 8.

[0061] (Step S301) The reconfiguration unit 144 requests the virtualization management unit 110 to generate and start a new virtual control and calculation unit 121. Here, N_req CPU core resources required for the selected image are secured. As a specific example, the secured CPU core resources are preferentially used, starting with unused CPU cores among the N_total CPU cores. If the number of unused CPU cores is less than N_req, the reconfiguration unit 144 may temporarily borrow CPU cores by temporarily stopping other virtual controllers 120 and virtual information devices 150, taking into account the N_c CPU cores released at step S112.

[0062] (Step S302) The virtual control and calculation unit 121 based on the selected image is started by the virtualization management unit 110. The reconfiguration unit 144 waits until the reconfiguration conditions are sorted out.

[0063] FIG. 12 shows an example of the state of the control system 1, representing a situation in which the virtual control calculation unit 121 based on a selected image is activated. In FIG. 12 , to distinguish between the virtual control calculation unit 121 and related data activated for the current image and the virtual control calculation unit 121 and related data activated for a new image, "(current)" or "(new)" is added to the end of each reference symbol as appropriate. Like the virtual control calculation unit 121 (current), the virtual control calculation unit 121 (new) acquires the status signals 50a (new), 50b (new), and 50c (new) stored in the reception buffer of the communication control unit 122 at regular calculation intervals and performs control calculations based on the acquired status signals 50a (new). The virtual control calculation unit 121 (new) then generates command signals 60a (new), 60b (new), and 60c (new) based on the results of the control calculations, and notifies the communication control unit 122 of the generated command signals 60a (new). Each command signal 60 (new) is stored in a transmission buffer of the communication control unit 122. The command signals 60a (new), 60b (new), and 60c (new) stored in the transmission buffer are transmitted to the input / output devices 30a, 30b, and 30c, respectively, in the same manner as the command signals 60a (current), 60b (current), and 60c (current). Note that the status signals 50a (new), 50b (new), and 50c (new) may be the same as the status signals 50a (current), 50b (current), and 50c (current), respectively. Furthermore, when a new virtual control calculation unit 121 is started, a status signal 50a (new), a status signal 50b (new), and a status signal 50c (new) may be set to be newly transmitted by the input / output device 30a, the input / output device 30b, and the input / output device 30c, respectively. When the input / output device 30 starts receiving the command signal 60 (new), the communication response time measurement unit 330 measures the communication response time related to the command signal 60 (new) and transmits communication response time information 70 (new) indicating the measured communication response time to the communication information collection unit 145. The communication information collection unit 145 reflects the maximum value of the communication response time indicated by each piece of communication response time information 70 (new) in the communication response time management table 146.However, the input / output device 30 uses the command signal 60 (current) instead of the command signal 60 (new) for input / output to each manufacturing facility 40 until the reception of the command signal 60 (current) ceases. Here, the reconfiguration conditions depend on the system specifications. Specific examples of the reconfiguration conditions include [Condition 3] and [Condition 4]. Note that if the reconfiguration conditions are not satisfied for a certain period of time, the reconfiguration unit 144 may detect a timeout and proceed to step S303.

[0064] [Condition 3] The calculation results of the virtual control calculation unit 121 (current) stored in the transmission buffer in the communication control unit 122 and the calculation results of the virtual control calculation unit 121 (new) stored in the transmission buffer must match for a certain period of time at the least common multiple period of their respective calculation periods. [Condition 4] In the communication response time management table 146, the communication response time for the virtual control calculation unit 121 (new) for each manufacturing facility 40 must be less than the time constraint for a certain period of time.

[0065] (Step S303) If the reconfiguration condition is met, the reconfiguration unit 144 ends the processing of this flowchart and returns to the operation flow shown in Fig. 6. If not, the reconfiguration unit 144 proceeds to step S304.

[0066] (Step S304) The reconfiguration unit 144 requests the virtualization management unit 110 to discard the virtual control and calculation unit 121 (new), ends the processing of this flowchart, and returns to the operation flow shown in FIG.

[0067] (Step S108) Returning to Fig. 6, step S108 and subsequent steps will be described. If the scaling execution unit 141 fails to reconstruct the image, that is, if the process proceeds along the "NO" path in step S303, the scaling execution unit 141 proceeds to step S109. If not, the scaling execution unit 141 proceeds to step S110.

[0068] (Step S109) The scaling execution unit 141 sends a message 90 indicating "scaling failed" to the manufacturing control system 9, and ends the process of this flowchart.

[0069] (Step S110) The scaling execution unit 141 sends a message 90 of "scale-up preparation complete" or "scale-down preparation complete" to the manufacturing control system 9 depending on the result of the processing shown in Fig. 7. Upon receiving the message of "scale-up preparation complete" or "scale-down preparation complete," the manufacturing control system 9 prepares to switch the manufacturing equipment 40, and when the preparation for switching the manufacturing equipment 40 is complete, sends a message 80 of "switching permission."

[0070] (Step S111) The scaling execution unit 141 waits until it receives a “switching permission” message 80 from the manufacturing control system 9.

[0071] (Step S112) In order to switch from control by the virtual control calculation unit 121 (current) to control by the virtual control calculation unit 121 (new), the scaling execution unit 141 requests the virtualization management unit 110 to terminate the virtual control calculation unit 121 (current), and deletes the entry corresponding to the image of the virtual control calculation unit 121 (current) in the communication response time management table 146. When the virtual control calculation unit 121 (current) is terminated, the N_c CPU cores assigned to the virtual control calculation unit 121 (current) are released. The input / output devices 30a, 30b, and 30c stop receiving the command signals 60a (current), 60b (current), and 60c (current), respectively, and begin to receive only the command signals 60a (new), 60b (new), and 60c (new). Therefore, each manufacturing facility 40 is modified to use each command signal 60 (new) to control input and output.

[0072] (Step S113) The scaling execution unit 141 notifies the manufacturing control system 9 of "scale-up completed" or "scale-down completed" as a message 90 depending on the result of the process shown in FIG.

[0073] (Example of Operation During Scale-Up) An example of operation during scale-up will be described using FIG. 6. First, assume that the virtual control calculation unit 121 is configured according to the image α shown in FIG. 2 and that N_c = 1. Assume that the time constraints for the communication response times of the manufacturing facilities 40a, 40b, and 40c are 23 ms, 23 ms, and 23 ms, respectively, the estimated communication response times are 20 ms, 20 ms, and 20 ms, and the maximum recorded actual measured values ​​are 20 ms, 20 ms, and 20 ms. Also assume that the communication response time management table 146 is configured as shown in FIG. 3.

[0074] At this time, in step S101, the scaling execution unit 141 receives data as a "constraint change request" indicating that the time constraints on the communication response times for manufacturing equipment 40a, manufacturing equipment 40b, and manufacturing equipment 40c, respectively, are to be changed from 23 ms, 23 ms, and 23 ms to 17 ms, 17 ms, and 17 ms.

[0075] In step S201, the "time constraint" column of the communication response time management table 146 is updated as shown in Fig. 13. The actual measured values ​​of the communication response times corresponding to the respective manufacturing facilities 40 are 20 ms, 20 ms, and 20 ms, while the communication response time constraints corresponding to the respective manufacturing facilities 40 are 17 ms, 17 ms, and 17 ms. Therefore, the YES condition in step S202 is met, and scale-up is executed.

[0076] Next, proceeding to step S204, since the current virtual control calculation unit 121 is configured by image α, the image selection unit 143 estimates the communication response time corresponding to each of image β and image γ. Estimating the communication response time for each of manufacturing equipment 40a, manufacturing equipment 40b, and manufacturing equipment 40c in the same manner as in Figures 9 to 11 results in 15 ms for image β and 15 ms for image γ. Assuming N_u = 10, for image β, N_req = 2, and for each of manufacturing equipment 40a, manufacturing equipment 40b, and manufacturing equipment 40c, d = 15 ms and D_const = 17 ms. Therefore, [Condition 1] and [Condition 2] are satisfied for image β as follows:

[0077] [Condition 1] N_req<=N_u⇔2<=10 [Condition 2] d<=D_const⇔15ms<=17ms, 15ms<=17ms, 15ms<=17ms for each of the manufacturing facilities 40a, 40b, and 40c

[0078] Similarly, assuming that N_u = 10, for image γ, N_req = 3, d = 15 ms, and D_const = 17 ms for each of manufacturing equipment 40a, 40b, and 40c. Therefore, [Condition 1] and [Condition 2] are satisfied for image γ as follows:

[0079] [Condition 1] N_req<=N_u⇔3<=10 [Condition 2] d<=D_const⇔15ms<=17ms, 15ms<=17ms, 15ms<=17ms for each of the manufacturing facilities 40a, 40b, and 40c

[0080] From the above, [Condition 1] and [Condition 2] are satisfied for both image β and image γ. Therefore, image β with the smallest N_req is selected in step S205. Then, in step S207, an entry corresponding to image β is added to the communication response time management table 146 as shown in FIG. 14.

[0081] Thereafter, in step S301, N_req=2 CPU core resources are secured, and a virtual control calculation unit 121 (new) is configured by the image β.

[0082] Thereafter, the reconfiguration unit 144 waits until the reconfiguration condition is met in step S302. At this time, the communication information collection unit 145 collects communication response time information 70a (new), communication response time information 70b (new), and communication response time information 70c (new) corresponding to the virtual control and arithmetic unit 121 (new). Furthermore, as shown in FIG. 15 , the communication information collection unit 145 records the maximum value of the communication response time indicated by the collected communication response time information 70 for each manufacturing facility 40 in the “actual measurement value” column of the entry corresponding to image β in the communication response time management table 146. Thereafter, the reconfiguration unit 144 waits until the reconfiguration condition is met in step S302. When the reconfiguration condition is met, the reconfiguration unit 144 switches from the virtual control and arithmetic unit 121 (current) configured using image α to the virtual control and arithmetic unit 121 (new) configured using image β in step S112. 16, when the image is switched, the entry corresponding to the image α is deleted from the communication response time management table 146. Also, N_c=1 CPU resources are released.

[0083] (Example of Operation During Scale-Down) An example of operation during scale-down will be described using Figure 6. Assume that after the above-mentioned scale-up, the virtual control calculation unit 121 is configured according to image β shown in Figure 2. Assume also that the state of the communication response time management table 146 is as shown in Figure 16, with N_c = 2. At this time, assume that in step S101, data is received as a "constraint change request" indicating that the communication response time constraints for each of the manufacturing facilities 40a, 40b, and 40c are to be changed from 17 ms, 17 ms, and 17 ms to 26 ms, 26 ms, and 26 ms.

[0084] In step S201, the "time constraint" column of the communication response time management table 146 is updated as shown in Fig. 17. The actual measured values ​​of the communication response times corresponding to the manufacturing facilities 40 are 15 ms, 15 ms, and 15 ms, while the time constraints of the communication response times corresponding to the manufacturing facilities 40 are 26 ms, 26 ms, and 26 ms. Therefore, the NO condition in step S202 is met, and the process of step S203 is executed.

[0085] In step S203, assuming that d_scale=5 ms, for each of manufacturing equipment 40a, 40b, and 40c, (actual measurement value of communication response time)+d_scale=15 ms+5 ms=20 ms<=26 ms. Therefore, the YES condition is met, and scaling down is performed.

[0086] Next, proceeding to step S204, since the current virtual control calculation unit 121 is configured by image β, the image selection unit 143 estimates the communication response times corresponding to images α and γ. Assuming that the communication response times can be estimated for manufacturing equipment 40a, 40b, and 40c as shown in Figures 9 to 11, the response times for image α are 20 ms and for image γ are 15 ms. Assuming that N_u = 9, N_req = 1 for image α, and d = 15 ms and D_const = 26 ms for each of manufacturing equipment 40a, 40b, and 40c. Therefore, [Condition 1] and [Condition 2] are satisfied for image α as follows:

[0087] [Condition 1] N_req<=N_u⇔1<=9 [Condition 2] d<=D_const⇔20 ms<=26 ms, 20 ms<=26 ms, 20 ms<=26 ms for each of the manufacturing facilities 40a, 40b, and 40c

[0088] Similarly, assuming that N_u = 9, for image γ, N_req = 3, d = 15 ms, and D_const = 26 ms for each of manufacturing equipment 40a, 40b, and 40c. Therefore, [Condition 1] and [Condition 2] are satisfied for image γ as follows:

[0089] [Condition 1] N_req<=N_u⇔3<=9 [Condition 2] d<=D_const⇔15ms<=26ms, 15ms<=26ms, 15ms<=26ms for each of the manufacturing facilities 40a, 40b, and 40c

[0090] From the above, [Condition 1] and [Condition 2] are satisfied for both image α and image γ. Therefore, image α, which has the smallest N_req, is selected in step S205. Then, in step S207, an entry corresponding to image α is added to the communication response time management table 146 as shown in FIG. 18.

[0091] Thereafter, in step S301, N_req=1 CPU core resources are secured, and a virtual control calculation unit 121 (new) is configured by the image α.

[0092] Thereafter, the reconfiguration unit 144 waits until the reconfiguration condition is met in step S302. At this time, the communication information collection unit 145 collects communication response time information 70a (new), communication response time information 70b (new), and communication response time information 70c (new) corresponding to the virtual control and arithmetic unit 121 (new). Furthermore, as shown in FIG. 19 , the communication information collection unit 145 records the maximum value of the communication response time indicated by the collected communication response time information 70 for each manufacturing facility 40 in the “actual measurement value” column of the entry corresponding to image α in the communication response time management table 146. Thereafter, the reconfiguration unit 144 waits until the reconfiguration condition is met in step S302. When the reconfiguration condition is met, the reconfiguration unit 144 switches from the virtual control and arithmetic unit 121 (current) configured using image β to the virtual control and arithmetic unit 121 (new) configured using image α in step S112. 20, when the image is switched, the entry corresponding to the image β is deleted from the communication response time management table 146. Also, N_c=2 CPU resources are released.

[0093] ***Description of Effects of First Embodiment*** As described above, according to the present embodiment, when there is a request to tighten the time constraint on the communication response time, such as due to a request to increase the operating speed of machinery and equipment in a manufacturing facility, the virtual control and arithmetic unit of the virtual controller is scaled up. At this time, according to the present embodiment, an image of the virtual control and arithmetic unit that minimizes the CPU core resources allocated while reducing the communication response time and satisfying the changed time constraint can be selected, and the virtual control and arithmetic unit can be reconfigured based on the selected image. On the other hand, according to the present embodiment, when there is a request to loosen the time constraint on the communication response time, such as due to a request to slow the operating speed of machinery and equipment in a manufacturing facility, the virtual control and arithmetic unit of the virtual controller is scaled down. At this time, according to the present embodiment, it is possible to select an image of the virtual control and arithmetic unit that minimizes the CPU core resources allocated while increasing the communication response time and satisfying the changed time constraint, and reconfigure the virtual control and arithmetic unit based on the selected image.

[0094] Furthermore, by utilizing this embodiment, surplus CPU core resources can be effectively utilized in the following specific examples: Adding functions by creating another virtual controller or a new virtual information device; Improving performance by allocating additional CPU core resources; Reducing power consumption by putting the CPU core resources to sleep until the next use.

[0095] ***Other Configurations*** <Modification 1> Fig. 21 shows an example of the hardware configuration of the control device 10 according to this modification. The control device 10 includes a processing circuit 108 instead of the processor 101, the processor 101 and memory 102, the processor 101 and storage 103, or the processor 101, memory 102, and storage 103. The processing circuit 108 is hardware that realizes at least a portion of the units included in the control device 10. The processing circuit 108 may be dedicated hardware, or may be a processor that executes a program stored in the memory 102.

[0096] When the processing circuit 108 is dedicated hardware, the processing circuit 108 may be, for example, a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or a combination thereof. The control device 10 may include multiple processing circuits that replace the processing circuit 108. The multiple processing circuits share the role of the processing circuit 108.

[0097] In the control device 10, some of the functions may be realized by dedicated hardware, and the remaining functions may be realized by software or firmware.

[0098] The processing circuitry 108 is realized by, for example, hardware, software, firmware, or a combination of these. The processor 101, memory 102, storage 103, and processing circuitry 108 are collectively referred to as "processing circuitry." In other words, the functions of each functional component of the control device 10 are realized by the processing circuitry. The input / output device 30 may be similar to this modification.

[0099] ***Other Embodiments*** Although the first embodiment has been described, it is possible to combine multiple parts of this embodiment and implement it. Alternatively, it is possible to implement this embodiment in part. In addition, various modifications may be made to this embodiment as necessary, and it is possible to implement it in any combination, either as a whole or in part. Note that the above-described embodiments are essentially preferred examples and are not intended to limit the scope of the present disclosure, its applications, and uses. The procedures described using flowcharts, etc. may be modified as appropriate.

[0100] 1 Control system, 9 Manufacturing management system, 10 Control device, 110 Virtualization management unit, 120 Virtual controller, 121 Virtual control calculation unit, 122 Communication control unit, 140 Scaling management unit, 141 Scaling execution unit, 142 Scaling determination unit, 143 Image selection unit, 144 Reconfiguration unit, 145 Communication information collection unit, 146 Communication response time management table, 147 Image library, 150 Virtual information device, 20 Network, 30, 30a, 30b, 30c Input / output device, 310, 310a, 310b, 310c Communication control unit, 320, 320a, 320b, 320c Input / output control unit, 330, 330a, 330b, 330c Communication response time measurement unit, 40, 40a, 40b, 40c Manufacturing equipment, 50, 50a, 50b, 50c Status signals, 60, 60a, 60b, 60c; command signals, 70, 70a, 70b, 70c; communication response time information, 80, 90; messages, 101, 301; processors, 102, 302; memories, 103, 303; storages, 104, 304; communication interfaces, 108; processing circuits, 305; input / output interfaces.

Claims

1. A control device comprising a virtual controller that executes control calculation processing corresponding to each of one or more pieces of manufacturing equipment using a virtual computing environment, and that communicates with each of one or more input / output devices that perform input / output control for each of the one or more pieces of manufacturing equipment so that time constraints corresponding to each of the one or more pieces of manufacturing equipment are satisfied, the control device comprising: a scaling determination unit that, when the time constraint corresponding to at least one of the one or more pieces of manufacturing equipment is changed, determines whether to perform a scaling process to change the computing resources to be allocated to the virtual computing environment based on the time constraint corresponding to each of the one or more pieces of manufacturing equipment after the change; an image selection unit that, when it is determined that the scaling process should be performed, selects, as a selected image, an image of the virtual computing environment that satisfies the time constraint corresponding to each of the one or more pieces of manufacturing equipment after the change based on the amount of computing resources allocated to the virtual computing environment; and a reconfiguration unit that reconfigures the virtual computing environment based on the selected image.

2. The control device described in claim 1, wherein the scaling determination unit determines that scale-up is to be performed as the scaling process when any of the one or more manufacturing facilities is designated as a first target manufacturing facility and the actual measured value of the communication response time corresponding to the first target manufacturing facility does not satisfy the time constraint corresponding to the first target manufacturing facility, and when each of the one or more manufacturing facilities is designated as a second target manufacturing facility and the sum of the actual measured value of the communication response time corresponding to the second target manufacturing facility and a scale-down parameter satisfies the time constraint corresponding to the second target manufacturing facility, determines that scale-down is to be performed as the scaling process.

3. The control device according to claim 1 or 2, wherein the image selection unit selects the selected image from an image library showing a plurality of types of images, each of which is an image of the virtual computing environment.

4. The control device described in claim 3, wherein the image library indicates a maximum calculation time corresponding to each of the multiple types of images, and the image selection unit determines, for each of the multiple types of images, whether or not the time constraint corresponding to each of the one or more manufacturing equipment after the change is satisfied based on the maximum calculation time corresponding to each of the multiple types of images.

5. A control device as described in claim 3 or 4, wherein the image library indicates the number of processor cores to be allocated to the virtual computing environment as the computing resources to be allocated to the virtual computing environment for each of the multiple types of images, and the image selection unit selects as the selected image the image with the smallest number of corresponding cores from among the images that satisfy the time constraints corresponding to each of the one or more manufacturing facilities after the change.

6. The control device according to any one of claims 1 to 5, wherein the virtual controller controls each of the one or more input / output devices via a communication network.

7. A control method executed by a control device which is a computer having a virtual controller that executes control calculation processing corresponding to each of one or more pieces of manufacturing equipment using a virtual computing environment, and which communicates with each of one or more input / output devices that perform input / output control for each of the one or more pieces of manufacturing equipment so that time constraints corresponding to each of the one or more pieces of manufacturing equipment are satisfied, wherein the control device, when the time constraint corresponding to at least one of the one or more pieces of manufacturing equipment is changed, determines whether to execute a scaling process that changes the computing resources to be allocated to the virtual computing environment based on the time constraint corresponding to each of the one or more pieces of manufacturing equipment after the change; when it is determined that the scaling process should be executed, the control device selects, as a selected image, an image of the virtual computing environment that satisfies the time constraint corresponding to each of the one or more pieces of manufacturing equipment after the change based on the amount of computing resources allocated to the virtual computing environment; and the control device reconfigures the virtual computing environment based on the selected image.

8. A control program executed by a control device which is a computer equipped with a virtual controller that executes control calculation processing corresponding to each of one or more pieces of manufacturing equipment using a virtual computing environment, and which communicates with one or more input / output devices that perform input / output control for each of the one or more pieces of manufacturing equipment so that time constraints corresponding to each of the one or more pieces of manufacturing equipment are satisfied, the control program causing the control device to execute the following: a scaling determination process for determining whether or not to execute a scaling process for changing the computing resources to be allocated to the virtual computing environment based on the time constraints corresponding to each of the one or more pieces of manufacturing equipment after the change, when the time constraint corresponding to at least one of the one or more pieces of manufacturing equipment is changed; an image selection process for selecting, as a selected image, an image of the virtual computing environment that satisfies the time constraints corresponding to each of the one or more pieces of manufacturing equipment after the change, based on the amount of computing resources allocated to the virtual computing environment; and a reconfiguration process for reconfiguring the virtual computing environment based on the selected image.

Citation Information

Patent Citations

  • Allocation method for computer resource and computer system

    JP2016103179A

  • Open Architecture Industrial Control Systems

    JP2020518921A

  • Control system, control method, control program, local device, remote device, signal processing method, packet processing method, signal processing program, and packet processing program

    WO2022176031A1