Control device, control method, and control program

JP7898652B2Active Publication Date: 2026-07-31MITSUBISHI ELECTRIC CORP
View PDF 5 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
MITSUBISHI ELECTRIC CORP
Filing Date
2024-04-02
Publication Date
2026-07-31

AI Technical Summary

Benefits of technology

【0007】 本開示によれば、スケーリング判定部が、1つ以上の製造設備の少なくとも1つの各々に対応する時間制約が変更された場合に、変更後における1つ以上の製造設備の各々に対応する時間制約に基づいて仮想計算環境に対して割り当てる計算リソースを変更するスケーリング処理を実行するか否かを判定する。また、イメージ選択部が、仮想計算環境に対して割り当てられる計算リソースの量に基づいて、変更後における1つ以上の製造設備の各々に対応する時間制約を満たす仮想計算環境のイメージを選択する。 従って、本開示によれば、仮想化した制御演算機能に対して割り当てる計算リソースを増減させる技術において、各製造設備に対応する時間制約の変更に対し、変更後における各製造設備に対応する時間制約を満たすように各製造設備と通信しつつ、計算リソースの割り当てが効率的となるように計算リソースを変更することができる。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007898652000001
    Figure 0007898652000001
  • Figure 0007898652000002
    Figure 0007898652000002
  • Figure 0007898652000003
    Figure 0007898652000003
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

Technical Field

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

Background Art

[0002] In recent years, a control system form has been proposed in which the control arithmetic function of a control device used for controlling manufacturing equipment is virtualized using hypervisor technology, container technology, or the like. Further, as a method of flexibly adapting to changes such as load by dynamically increasing or decreasing the amount of resources such as a CPU (Central Processing Unit) assigned to a virtualized function, there is a scaling method, particularly a method called scale-up / scale-down. Patent Document 1 discloses a method for realizing scaling (changing resource allocation) of CPU resources on a virtualization platform without affecting an application.

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] One possible control system configuration involves controlling input / output devices that perform input / output control of status signals and command signals to sensors and actuators within manufacturing equipment via a network, using virtualized control calculation functions on a control unit. In such a configuration, time constraints are often required for the time from when the input / output device transmits a status signal from a sensor, to when the control unit receives the status signal, performs control calculations, generates and transmits a command signal to the actuator, and when the input / output device receives the command signal (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 the application (corresponding to the control calculation function) after scaling, it does not envision its application to the aforementioned control system configuration. Therefore, the method disclosed in Patent Document 1 cannot consider the impact of time constraints on the communication response time. Here, as a concrete example, consider the case where the operating speed of machinery (such as a conveyor belt) within a manufacturing facility is increased to cope with 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 the problem that it cannot satisfy the changed time constraint and scale up. Furthermore, although the time constraint may be accidentally satisfied by allocating excessive resources, this presents the problem of inefficient resource utilization. Similarly, time constraints may be modified to be less restrictive in order to respond to a temporary decline in demand for a particular product and to reduce the operating speed of machinery and equipment. However, the method disclosed in Patent Document 1 has the problem that it is not possible to scale down in a way that satisfies the new time constraints while also enabling efficient resource utilization.

[0005] This disclosure relates to a technology for increasing or decreasing computing resources allocated to virtualized control calculation functions, and aims to change computing resources in an efficient manner while communicating with each manufacturing facility to satisfy the time constraints corresponding to each manufacturing facility after the change, in response to changes in the time constraints corresponding to each manufacturing facility. [Means for solving the problem]

[0006] The control device relating to this 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 one or more input / output devices that perform input / output control for each of the one or more manufacturing facilities, and that communicates with each of the one or more manufacturing facilities in such a way that time constraints corresponding to each of the one or more manufacturing facilities are satisfied, A scaling determination unit determines whether or not to perform a scaling process that changes the computing resources allocated to the virtual computing environment based on the time constraints corresponding to each of the one or more manufacturing facilities after the change, when the time constraints corresponding to each of the one or more manufacturing facilities are changed. When it is determined that the scaling process will be executed, an image selection unit selects 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 computing resources allocated to the virtual computing environment. A reconstruction unit that reconstructs the virtual computing environment based on the selected image. It is equipped with. [Effects of the Invention]

[0007] According to this disclosure, the scaling determination unit determines whether to perform a scaling process that changes the computing resources allocated to the virtual computing environment based on the time constraints corresponding to each of the one or more manufacturing facilities after the change, when the time constraints corresponding to each of the one or more manufacturing facilities are changed. The image selection unit selects 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 computing resources allocated to the virtual computing environment. Accordingly, according to this disclosure, in a technology for increasing or decreasing computing resources allocated to a virtualized control calculation function, it is possible to change computing resources in an efficient manner while communicating with each manufacturing facility to satisfy the time constraints corresponding to each manufacturing facility after the change, in response to changes in the time constraints corresponding to each manufacturing facility. [Brief explanation of the drawing]

[0008] [Figure 1] A diagram showing an example configuration of the control system 1 according to Embodiment 1. [Figure 2] A diagram showing a specific example of the image library 147 according to Embodiment 1. [Figure 3] A diagram showing a specific example of the communication response time management table 146. [Figure 4] A diagram showing an example of the hardware configuration of the control device 10 according to Embodiment 1. [Figure 5] A diagram showing an example of the hardware configuration of the input / output device 30 according to Embodiment 1. [Figure 6] A flowchart illustrating the operation of the scaling execution process according to Embodiment 1. [Figure 7] A flowchart illustrating the operation of the scaling determination process and image selection process according to Embodiment 1. [Figure 8] A flowchart illustrating the operation of the reconstruction process according to Embodiment 1. [Figure 9] A diagram illustrating the communication response time according to Embodiment 1. [Figure 10]Figure for explaining the communication response time according to Embodiment 1. [Figure 11] Figure for explaining the communication response time according to Embodiment 1. [Figure 12] Figure showing a configuration example of the control system 1 according to Embodiment 1. [Figure 13] Figure for explaining the operation during scale-up according to Embodiment 1. [Figure 14] Figure for explaining the operation during scale-up according to Embodiment 1. [Figure 15] Figure for explaining the operation during scale-up according to Embodiment 1. [Figure 16] Figure for explaining the operation during scale-up according to Embodiment 1. [Figure 17] Figure for explaining the operation during scale-down according to Embodiment 1. [Figure 18] Figure for explaining the operation during scale-down according to Embodiment 1. [Figure 19] Figure for explaining the operation during scale-down according to Embodiment 1. <已修正,原文重复标签,推测为 [Figure 20] Figure for explaining the operation during scale-down according to Embodiment 1. [Figure 21] Figure showing a hardware configuration example of the control device 10 according to a modification example of Embodiment 1.

Embodiments for Carrying Out the Invention

[0009] In the description of the embodiments and the drawings, the same elements and corresponding elements are denoted by the same reference numerals. The description of the elements denoted by the same reference numerals may be omitted or simplified as appropriate. The arrows in the figures mainly indicate the flow of data or the flow of processing. Also, "section" may be appropriately read as "circuit", "step", "procedure", "process", or "circuitry". <000****已修正,原文重复标签,推测为

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

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

[0012] The control device 10 consists of 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 the one or more input / output devices 30 and each of the one or more manufacturing equipment 40 to satisfy the corresponding time constraints.

[0013] The virtualization management unit 110 has the function of managing the virtual controller 120 and the virtual information device 150. Specifically, the virtualization management unit 110 manages computing resources such as CPU (Central Processing Unit) cores within the processor to be allocated to the managed device, as well as the startup and shutdown of the managed device. Each of the virtual controller 120 and the virtual information device 150 can be implemented, specifically, by hypervisor technology or a combination of OS (Operating System) and container runtime technology.

[0014] The virtual controller 120 is a virtual controller for controlling each input / output device 30 that performs input / output control for each manufacturing equipment 40, via the network 20. The virtual controller 120 executes control calculation processing corresponding to one or more manufacturing equipment 40 using a virtual computing environment. In this example, the description focuses on the fact that one virtual controller 120 controls input / output devices 30a, 30b, and 30c. Other virtual controllers 120 control other input / output devices 30 that are not shown. The virtual controller 120 consists of a virtual control calculation unit 121 and a communication control unit 122.

[0015] The virtual control calculation unit 121 has the function of acquiring status signals 50a, 50b, and 50c stored in the receiving buffer of the communication control unit 122 at a fixed calculation cycle, and performing control calculations based on each acquired status signal 50. Based on the result of the control calculation, the virtual control calculation unit 121 generates command signals 60a, 60b, and 60c, 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 implemented by a virtual computing environment, specifically by a virtual machine or a container. Each status signal 50 indicates the measurement result of the sensor installed in each manufacturing equipment 40.

[0016] The communication control unit 122 transmits the command signals 60a, 60b, and 60c stored in the transmit 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 receive buffer. The communication control unit 122 may be implemented as a virtual machine or container, or as a process or thread on the OS.

[0017] The virtual information device 150 has functions necessary for controlling manufacturing equipment 40a, manufacturing equipment 40b, and manufacturing equipment 40c, and incorporates multiple functions implemented by a virtual machine or container. Specifically, the virtual information device 150 has the function of collecting data from each manufacturing equipment 40 and the function of analyzing the collected data.

[0018] The scaling management unit 140 consists of a scaling execution unit 141, a scaling determination unit 142, an image selection unit 143, a reconstruction 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 the scaling necessity determination unit. The image selection unit 143 is also called the virtual control calculation image selection unit. The reconstruction unit 144 is also called the virtual control calculation unit reconstruction unit. The communication information collection unit 145 is also called the communication response time information collection unit. The image library 147 is also called the virtual control calculation image library.

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

[0020] The scaling determination unit 142 determines whether to perform a scaling process to change the computing resources allocated to the virtual computing environment based on the time constraints corresponding to each of the one or more manufacturing equipment 40 after the change, when the time constraint corresponding to each of the one or more manufacturing equipment 40 is changed. The scaling determination unit 142 determines to perform a scale-up as a scaling process if the measured value of the communication response time corresponding to the first target manufacturing equipment does not satisfy the time constraint corresponding to the first target manufacturing equipment. The first target manufacturing equipment is any of the one or more manufacturing equipment 40. The scaling determination unit 142 also determines to perform a scale-down as a scaling process if, for any of the second target manufacturing equipment, the sum of the measured value of the communication response time corresponding to the second target manufacturing equipment and the scale-down parameter satisfies the time constraint corresponding to the second target manufacturing equipment. The second target manufacturing equipment is each of the one or more manufacturing equipment 40. As a specific example, the scaling determination unit 142 has the function of determining whether or not to scale up or scale down 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." In this specification, scaling up and scaling down refer to reducing and increasing the achievable communication response time by reconfiguring the virtual control calculation unit 121 based on the image library 147 to satisfy the time constraint for the required communication response time, respectively.

[0021] The image selection unit 143, when the scaling determination unit 142 determines that scaling processing should be performed, selects an image of a virtual computing environment that satisfies the time constraints corresponding to each of the one or more 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 image from an image library 147 that shows 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 constraints corresponding to each of the one or more manufacturing equipment 40 after the change are satisfied, based on the maximum computation time corresponding to each of the multiple types of images. The image selection unit 143 may select the image with the minimum number of corresponding cores among the images that satisfy the time constraints corresponding to each of the one or more manufacturing equipment 40 after the change, as the selected image. As a specific example, the image selection unit 143 has the function of selecting an image from the image library 147 that satisfies the required time constraints while minimizing the necessary CPU core resources. Each image is implemented as a virtual machine image or a container image, for example.

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

[0023] Figure 2 shows a specific example of image library 147. This example consists of image α, image β, and image γ, which perform control tasks with different degrees of parallelism. In Image α, a single control task sequentially executes control calculations for manufacturing equipment 40a, manufacturing equipment 40b, and manufacturing equipment 40c. In Image α, the required number of CPU cores is 1, and the maximum calculation time is 7ms. The maximum calculation time is also called the maximum execution time. In Image β, two parallel control tasks execute control calculations for manufacturing equipment 40a and for manufacturing equipment 40b and 40c respectively in parallel. Here, it is assumed that the execution and completion of the two parallel control tasks are synchronized. In Image β, the required number of CPU cores is 2, and the maximum calculation time is 4ms. In Image γ, three parallel control tasks execute control calculations for manufacturing equipment 40a, manufacturing equipment 40b, and manufacturing equipment 40c in parallel. In Image γ, the required number of CPU cores is 3, and the maximum calculation time is 2ms.

[0024] The reconstruction unit 144 has the function of reconstructing 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, communication response time information 70b, and communication response time information 70c measured by input / output devices 30a, 30b, and 30c, respectively. For each manufacturing equipment 40, the communication information collection unit 145 stores the maximum value of the communication response time indicated by the collected communication response time information 70 in the "Measured Value" column of the communication response time management table 146. The communication response time management table 146 is generated for each virtual controller 120 with a "time constraint" column, and for each image that forms the basis of the virtual control calculation unit 121, it contains data with entries for the "estimated value" and "actual value" of the communication response time. Figure 3 shows a specific example of the communication response time management table 146.

[0026] Each input / output device 30 consists 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 each of the one or more manufacturing equipment 40.

[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 the transmission buffer of the communication control unit 310. Furthermore, the input / output control unit 320 outputs the command signal 60 in the receiving buffer of the communication control unit 310 to the 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. Furthermore, the communication control unit 310 stores the status signal 50 received from the virtual controller 120 in a receive buffer.

[0029] The communication response time measurement unit 330 measures the time from the time a status signal 50 is transmitted to the time 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 or the like, for example.

[0030] Real-time performance is required in the communication between the status signal 50 and the command signal 60 in the network 20. Therefore, the communication control unit 122 and the communication control unit 310 each adjust the transmission timing of this data to ensure real-time performance.

[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. Message 80 is data notified from the manufacturing management system 9. Message 90 is data that indicates the content of the notification regarding scaling.

[0032] Figure 4 shows an example of the hardware configuration of the control device 10 according to this embodiment. The control device 10 consists of a computer. The control device 10 may consist of multiple computers.

[0033] As shown in this figure, the control device 10 is a typical computer equipped with hardware such as a processor 101, memory 102, storage 103, and a communication interface 104. These hardware components are connected as appropriate via signal lines.

[0034] The processor 101 is an integrated circuit (IC) that performs arithmetic operations and controls the hardware of the 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] Memory 102 is typically a volatile storage device, specifically RAM (Random Access Memory). Memory 102 is also called main memory. Data stored in memory 102 is saved to storage 103 as needed.

[0036] Storage 103 is typically a non-volatile storage device, such as ROM (Read Only Memory), HDD (Hard Disk Drive), or flash memory. Data stored in storage 103 is loaded into memory 102 as needed. The memory 102 and storage 103 may be configured as a single unit.

[0037] The communication interface 104 consists of a receiver and a transmitter. Specifically, 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] Storage 103 stores the control program. The control program is a program that enables the computer to implement the functions of each part of the control device 10. The control program is loaded into memory 102 and executed by processor 101. The functions of each part of the control device 10 are implemented by software.

[0040] Data used when executing the control program, and data obtained by executing the control program, are appropriately stored in the memory device. Each part of the control device 10 utilizes the memory device as appropriate. The memory device consists of, specifically, memory 102, storage 103, registers in the processor 101, and at least one of the cache memory in the processor 101. Note that the terms data and information are sometimes synonymous. The memory device may be independent of the computer. The functions of memory 102 and storage 103 may be implemented by other storage devices.

[0041] The control program may be recorded on a computer-readable non-volatile recording medium. Specific examples of non-volatile recording media include optical discs or flash memory. The control program may also be provided as a program product.

[0042] Figure 5 shows an example of the hardware configuration of the input / output device 30. The input / output device 30 comprises a processor 301, memory 302, storage 303, communication interface 304, and input / output interface 305. Processor 301 is the same as processor 101. Memory 302 is the same as memory 102. Storage 303 is the same as storage 103. Communication interface 304 is the same as communication interface 104.

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

[0044] ***Explanation of operation*** The operating procedures for each device that constitutes control system 1 are collectively called the control method. Furthermore, the programs that implement the operation of each device that constitutes control system 1 are collectively called the control program.

[0045] Figure 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 explained using Figure 6.

[0046] (Step S101) The scaling execution unit 141 receives a "constraint change request" as message 80 from the manufacturing management system 9. The "constraint change request" is a message that includes information about changes to the "time constraint" column shown in Figure 3.

[0047] (Step S102) The scaling execution unit 141 uses the scaling determination unit 142 and the image selection unit 143 to perform scaling determination processing and image selection processing, respectively. Figure 7 is a flowchart illustrating an example of the operation flow of these processes. These processes will be explained using Figure 7.

[0048] (Step S201) The scaling determination unit 142 updates the communication response time management table 146 based on the time constraint change value 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 (measured value) > (time constraint) for the communication response time of at least one manufacturing equipment 40. Proceeding from step S202 to step S204 means that a scale-up is performed. The scaling determination unit 142 proceeds to step S203 if otherwise.

[0050] (Step S203) The scaling determination unit 142 proceeds to step S204 if (measured value) + d_scale < (time constraint) for the communication response time of all manufacturing equipment 40. Proceeding from step S203 to step S204 means that a scale-down will be performed. Here, d_scale is a parameter that indicates the possibility of a scale-down, and is also called the scale-down parameter. If the scaling determination unit 142 does not meet the criteria, it terminates the processing of this flowchart and returns to the operation flow shown in Figure 6. Returning to the operation flow shown in Figure 6 in this step means that neither scaling up nor scaling down is necessary.

[0051] (Step S204) The image selection unit 143 estimates the communication response time for each image from the image library 147 other than the image currently being used by the virtual control calculation unit 121. The method for estimating the communication response time depends on the specifications of the virtual control calculation unit 121, the communication control unit 122, and the network 20. In this embodiment, for simplicity, we assume that the beginning of the calculation cycle of the virtual control calculation unit 121 and the beginning of the communication cycle of the communication control unit 122 are synchronized, and that (calculation cycle) = ceiling((maximum calculation time) / (communication cycle))*(communication cycle). At this time, we assume 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 the (communication period) = 5ms remains constant, an example of the estimated communication response time corresponding to image α is shown in Figure 9, an example of the estimated communication response time corresponding to image β is shown in Figure 10, and an example of the estimated communication response time corresponding to image γ is shown in Figure 11.

[0052] (Step S205) The image selection unit 143 selects an image that satisfies the time constraint while minimizing the required resources. With respect to the N_total CPU cores of processor 101, let N_c be the number of CPU cores currently used by the virtual control arithmetic unit 121 configured with the current image. Also, let N_u be the number of CPU cores available when reconstructing a new image at step S112, as described later. Here, regarding the N_u CPU cores, in addition to the number of CPU cores that are currently free, we may also consider the N_c CPU cores that will be released at step S112, and add the number of CPU cores that can be temporarily borrowed by temporarily suspending other virtual controllers 120 and virtual information devices 150. As a specific example, the image selection unit 143 obtains this information from the virtualization management unit 110. Here, let d be the estimated communication response time for each manufacturing equipment 40 for each image, let N_req be the number of required CPU cores, and let D_const be the time constraint. At this time, the image selection unit 143 selects the image that satisfies [Condition 1] and [Condition 2] and has the smallest N_req. The image selected in this step is called the selected image.

[0053] [Condition 1] The condition is that N_req <= N_u. [Condition 2] For each manufacturing equipment 40, d <= D_const.

[0054] (Step S206) If the image selection unit 143 selects an image that satisfies the conditions in step S205, it proceeds to step S207. Otherwise, the image selection unit 143 terminates the processing in this flowchart and returns to the operation flow shown in Figure 6.

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

[0056] (Step S103) Returning to the operation flow shown in Figure 6, we will explain steps S103 and beyond. If the scaling execution unit 141 does not require the selection of a virtual control calculation image, that is, if it proceeds to the "NO" path in step S203, it proceeds to step S104. Otherwise, the scaling execution unit 141 proceeds to step S105.

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

[0058] (Step S105) If the scaling execution unit 141 determines that it is not possible to select a virtual control calculation image, i.e., if it proceeds to the "NO" path in step S206, it 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, "Scaling not possible," to the manufacturing management system 9, and terminates the processing of this flowchart.

[0060] (Step S107) The scaling execution unit 141 performs a reconstruction process using the reconstruction unit 144. Figure 8 is a flowchart showing an example of the reconstruction process. This process will be explained using Figure 8.

[0061] (Step S301) The reconfiguration unit 144 requests the virtualization management unit 110 to create and start a new virtual control arithmetic unit 121. At this point, N_req CPU core resources are allocated for the selected image. Specifically, the allocated CPU core resources are used preferentially from among the N_total CPU cores that are not currently in use. In this case, if the number of unused CPU cores is less than N_req, the reconfiguration unit 144 may consider the N_c CPU cores that will be released at step S112 and temporarily borrow CPU cores by temporarily stopping other virtual controllers 120 and virtual information devices 150.

[0062] (Step S302) The virtualization management unit 110 starts up the virtual control calculation unit 121 based on the selected image. The reconfiguration unit 144 waits until the reconfiguration conditions are finalized.

[0063] Figure 12 shows an example of the state of the control system 1, representing the situation in which the virtual control calculation unit 121 based on the selected image has been activated. In Figure 12, in order 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 the new image, "(current)" or "(new)" is appropriately added to the end of each symbol. The virtual control calculation unit 121 (new), similar to the virtual control calculation unit 121 (current), acquires the status signals 50a (new), 50b (new), and 50c (new) stored in the receiving buffer of the communication control unit 122 at a fixed calculation cycle, and performs control calculations based on each acquired status signal 50 (new). Subsequently, the virtual control calculation unit 121 (new) generates command signals 60a (new), 60b (new), and 60c (new) based on the results of each control calculation, and notifies the communication control unit 122 of each generated command signal 60 (new). Each command signal 60 (new) is stored in the 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 input / output devices 30a, 30b, and 30c, respectively, in the same way as the command signals 60a (current), 60b (current), and 60c (current). The status signals 50a (new), 50b (new), and 50c (new) may be identical to the status signals 50a (current), 50b (current), and 50c (current), respectively. Furthermore, when a new virtual control unit 121 is started, the status signals 50a (new), 50b (new), and 50c (new) may be configured to be transmitted anew by input / output devices 30a, 30b, and 30c, respectively. When the input / output device 30 begins 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 the measured communication response time information 70 (new) 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 communication response time information 70 (new) in the communication response time management table 146. However, with respect to input and output to each manufacturing equipment 40, the input / output device 30 uses the current command signal 60 instead of the new command signal 60 with respect to the current command signal 60 until the reception of the current command signal 60 is interrupted. Here, the reconfigurability conditions depend on the system specifications. The reconfigurability conditions consist of [Condition 3] and [Condition 4] as specific examples. If the reconfigurability conditions are not met for a certain period of time, the reconfiguration unit 144 may detect a timeout and proceed to step S303.

[0064] [Condition 3] The calculation result of the virtual control calculation unit 121 (current) stored in the transmission buffer within the communication control unit 122 and the calculation result of the virtual control calculation unit 121 (new) stored in the said transmission buffer coincide for a certain period of time equal to the least common multiple of their respective calculation cycles. [Condition 4] In the communication response time management table 146, for each manufacturing equipment 40, the communication response time related to the virtual control calculation unit 121 (new) must be less than or equal to the time constraint for a certain period of time.

[0065] (Step S303) If the reconfiguration conditions are met, the reconfiguration unit 144 terminates the processing in this flowchart and returns to the operation flow shown in Figure 6. Otherwise, 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 calculation unit 121 (new), terminates the processing of this flowchart, and returns to the operation flow shown in Figure 6.

[0067] (Step S108) Returning to Figure 6, we will explain steps S108 and beyond. If the scaling execution unit 141 fails to reconstruct the image, that is, if it proceeds to the "NO" path in step S303, it proceeds to step S109. Otherwise, the scaling execution unit 141 proceeds to step S110.

[0068] (Step S109) The scaling execution unit 141 sends a message 90, "Scaling failed," to the manufacturing management system 9, and terminates the processing of this flowchart.

[0069] (Step S110) The scaling execution unit 141 sends either "Ready to scale up" or "Ready to scale down" as message 90 to the manufacturing management system 9, depending on the result of the processing shown in Figure 7. When the manufacturing management system 9 receives "Ready to scale up" or "Ready to scale down," it prepares the manufacturing equipment 40 for switching over. Once the manufacturing equipment 40 is ready for switching over, it sends a message 80 stating "Switchover permitted."

[0070] (Step S111) The scaling execution unit 141 waits until it receives a message 80 from the manufacturing management system 9 indicating "switchover permission".

[0071] (Step S112) The scaling execution unit 141 requests the virtualization management unit 110 to terminate the virtual control calculation unit 121 (current) in order to switch from control by the virtual control calculation unit 121 (current) to control by the virtual control calculation unit 121 (new), 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) terminates, the N_c CPU cores that were allocated to the virtual control calculation unit 121 (current) are released. In input / output devices 30a, 30b, and 30c, reception of command signals 60a (current), 60b (current), and 60c (current) is interrupted, and only command signals 60a (new), 60b (new), and 60c (new) are received. Therefore, each manufacturing equipment 40 is modified to perform input / output control using each command signal 60 (new).

[0072] (Step S113) The scaling execution unit 141 notifies the manufacturing management system 9 of the result of the process shown in Figure 7, either "Scale-up complete" or "Scale-down complete," as message 90.

[0073] (Example of operation during scaling up) An example of operation during scaling up is explained using Figure 6. First, the virtual control calculation unit 121 is assumed to be configured as shown in image α in Figure 2, with N_c = 1. For manufacturing equipment 40a, manufacturing equipment 40b, and manufacturing equipment 40c, the time constraints for communication response time are assumed to be 23ms, 23ms, and 23ms, respectively, the estimated values ​​for communication response time are assumed to be 20ms, 20ms, and 20ms, and the maximum recorded measured values ​​are assumed to be 20ms, 20ms, and 20ms. Furthermore, the communication response time management table 146 is assumed to be configured as shown in Figure 3.

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

[0075] In step S201, the "Time Constraint" column of the communication response time management table 146 is updated as shown in Figure 13. The measured communication response times corresponding to each manufacturing equipment 40 are 20ms, 20ms, and 20ms, while the communication response time constraints corresponding to each manufacturing equipment 40 are 17ms, 17ms, and 17ms. Therefore, the YES condition in step S202 is met, and the scale-up is executed.

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

[0077] [Condition 1] N_req <= N_u ⇔ 2 <= 10 [Condition 2] For each of manufacturing equipment 40a, manufacturing equipment 40b, and manufacturing equipment 40c, d <= D const ⇔15ms<=17ms,15ms<=17ms,15ms<=17ms

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

[0079] [Condition 1] N_req <= N_u ⇔ 3 <= 10 [Condition 2] For each of manufacturing equipment 40a, manufacturing equipment 40b, and manufacturing equipment 40c, d <= D const ⇔15ms<=17ms,15ms<=17ms,15ms<=17ms

[0080] Based on the above, both [Condition 1] and [Condition 2] are satisfied for both image β and image γ. Therefore, in step S205, image β, which has the minimum N_req, is selected. Subsequently, in step S207, an entry corresponding to image β is added to the communication response time management table 146, as shown in Figure 14.

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

[0082] Subsequently, the reconstruction unit 144 waits until the reconstruction conditions are 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 calculation unit 121 (new). Also, as shown in Figure 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 equipment 40 in the "measured value" column of the entry corresponding to image β in the communication response time management table 146. Subsequently, the reconstruction unit 144 waits until the reconfiguration conditions are met in step S302. Once the reconfiguration conditions are met, the reconstruction unit 144 switches in step S112 from the virtual control calculation unit 121 (current) configured with image α to the virtual control calculation unit 121 (new) configured with image β. When the image is switched, as shown in Figure 16, the entry corresponding to image α is deleted in the communication response time management table 146. Also, N_c=1 CPU resources are released.

[0083] (Example of operation when scaling down) Figure 6 illustrates an example of operation during scaling down. After the aforementioned scaling up, the virtual control calculation unit 121 is assumed to be configured as shown in image β in Figure 2. Furthermore, the state of the communication response time management table 146 is assumed to be as shown in Figure 16, with N_c = 2. At this time, in step S101, suppose data is received indicating a "request for constraint change" to change the communication response time constraints for manufacturing equipment 40a, manufacturing equipment 40b, and manufacturing equipment 40c from 17ms, 17ms, and 17ms to 26ms, 26ms, and 26ms, respectively.

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

[0085] In step S203, assuming d_scale = 5ms, for each of the manufacturing equipment 40a, 40b, and 40c, (measured communication response time) + d_scale = 15ms + 5ms = 20ms <= 26ms. 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 composed of image β, the image selection unit 143 estimates the communication response times corresponding to images α and γ. Assuming that the communication response times for manufacturing equipment 40a, manufacturing equipment 40b, and manufacturing equipment 40c can be estimated as shown in Figures 9 to 11, the response time for image α is 20 ms and for image γ is 15 ms. Assuming N_u=9, with respect to image α, N_req=1, and for manufacturing equipment 40a, manufacturing equipment 40b, and manufacturing equipment 40c, d=15ms and D_const=26ms. Therefore, with respect to image α, [Condition 1] and [Condition 2] are satisfied as follows.

[0087] [Condition 1] N_req <= N_u ⇔ 1 <= 9 [Condition 2] For each of manufacturing equipment 40a, manufacturing equipment 40b, and manufacturing equipment 40c, d <= D const ⇔20ms<=26ms,20ms<=26ms,20ms<=26ms

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

[0089] [Condition 1] N_req <= N_u ⇔ 3 <= 9 [Condition 2] For each of manufacturing equipment 40a, manufacturing equipment 40b, and manufacturing equipment 40c, d <= D const ⇔15ms<=26ms,15ms<=26ms,15ms<=26ms

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

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

[0092] Subsequently, the reconstruction unit 144 waits until the reconstruction conditions are 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 calculation unit 121 (new). Also, as shown in Figure 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 equipment 40 in the "measured value" column of the entry corresponding to image α in the communication response time management table 146. Subsequently, the reconstruction unit 144 waits until the reconfiguration conditions are met in step S302. Once the reconfiguration conditions are met, in step S112, the reconstruction unit 144 switches from the virtual control calculation unit 121 (current) configured with image β to the virtual control calculation unit 121 (new) configured with image α. When the image is switched, as shown in Figure 20, the entry corresponding to image β is deleted in the communication response time management table 146. In addition, N_c=2 CPU resources are released.

[0093] ***Explanation of the effects of Embodiment 1*** As described above, according to this embodiment, when there is a demand to tighten the time constraints on communication response time, such as a demand to increase the operating speed of machinery and equipment in the manufacturing facility, the virtual control calculation unit of the virtual controller is scaled up. In this case, according to this embodiment, it is possible to select an image of the virtual control calculation unit that reduces the communication response time to meet the changed time constraints while minimizing the amount of CPU core resources allocated, and to reconfigure the virtual control calculation unit based on the selected image. On the other hand, according to this embodiment, when there is a request to loosen the time constraints on communication response time, such as a request to reduce the operating speed of machinery in the manufacturing facility, the virtual control calculation unit of the virtual controller is scaled down. In this case, according to this embodiment, an image of the virtual control calculation unit that minimizes the allocated CPU core resources while increasing the communication response time and satisfying the changed time constraints can be selected, and the virtual control calculation unit can be reconfigured based on the selected image.

[0094] Furthermore, by utilizing this embodiment, the surplus CPU core resources can be effectively utilized in the following specific examples. Adding functionality by creating new virtual controllers or virtual information devices. Performance improvement through the allocation of additional CPU core resources. Reduced power consumption by putting CPU core resources to sleep until they are used again.

[0095] ***Other configurations*** <Example 1> Figure 21 shows an example of the hardware configuration of the control device 10 according to this modified example. The control device 10 includes a processing circuit 108 instead of a processor 101, a processor 101 and memory 102, a processor 101 and storage 103, or a processor 101, memory 102 and storage 103. The processing circuit 108 is hardware that implements at least some of the components of the control device 10. The processing circuit 108 may be dedicated hardware, or it may be a processor that executes the program stored in memory 102.

[0096] If the processing circuit 108 is dedicated hardware, specific examples of the processing circuit 108 include 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 functions may be implemented by dedicated hardware, while the remaining functions may be implemented by software or firmware.

[0098] The processing circuit 108 can be implemented, in specific examples, by hardware, software, firmware, or a combination thereof. The processor 101, memory 102, storage 103, and processing circuit 108 are collectively referred to as the "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 also be the same as in this modified example.

[0099] ***Other Embodiments*** Although Embodiment 1 has been described, multiple parts of this embodiment may be combined and implemented. Alternatively, this embodiment may be implemented partially. Furthermore, this embodiment may be modified in various ways as needed, and may be implemented as a whole or in parts in any combination. The embodiments described above are essentially preferred examples and are not intended to limit the scope of this disclosure, its applications, or its uses. The procedures described using flowcharts, etc., may be modified as appropriate. [Explanation of Symbols]

[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; Processor: 102, 302; Memory: 103, 303; Storage: 104, 304; Communication interface: 108; Processing circuit: 305; Input / Output interface: 305.

Claims

1. A control device comprising a virtual controller that executes control calculation processing corresponding to one or more manufacturing equipment using a virtual computing environment, and one or more input / output devices that perform input / output control for each of the one or more manufacturing equipment, and that communicates with each of the one or more manufacturing equipment so as to satisfy the time constraints corresponding to each of the one or more manufacturing equipment, A scaling determination unit determines whether or not to perform a scaling process that changes the computing resources allocated to the virtual computing environment based on the time constraints corresponding to each of the one or more manufacturing facilities after the change, when the time constraints corresponding to each of the one or more manufacturing facilities are changed. When it is determined that the scaling process will be executed, an image selection unit selects 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 computing resources allocated to the virtual computing environment. A reconstruction unit that reconstructs the virtual computing environment based on the selected image. A control device equipped with the following features.

2. The scaling determination unit, When one or more of the above manufacturing facilities are designated as the first target manufacturing facility, if the measured value of the communication response time corresponding to the first target manufacturing facility does not satisfy the time constraints corresponding to the first target manufacturing facility, it is determined that scale-up will be performed as the scaling process. The control device according to claim 1, wherein, when each of the one or more manufacturing facilities is designated as a second target manufacturing facility, it is determined that a scale-down operation should be performed as the scaling process if, for any of the second target manufacturing facilities, the sum of the measured value of the communication response time corresponding to the second target manufacturing facility and the scale-down parameter satisfies the time constraint corresponding to the second target manufacturing facility.

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

4. The image library indicates the maximum computation time corresponding to each of the multiple types of images, The control device according to claim 3, wherein the image selection unit determines, for each of the multiple types of images, whether or not the time constraints corresponding to each of the one or more manufacturing equipment after the change are satisfied, based on the maximum calculation time corresponding to each of the multiple types of images.

5. The image library indicates, for each of the multiple types of images, the number of processor cores allocated to the virtual computing environment as computing resources allocated to the virtual computing environment. The control device according to claim 3, wherein the image selection unit selects, as the selected image, the image that satisfies the time constraint corresponding to each of the one or more manufacturing facilities after the change and has the minimum number of corresponding cores.

6. The control device according to claim 1 or 2, 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 that communicates with a virtual controller that performs control calculation processing corresponding to each of one or more manufacturing equipment using a virtual computing environment, one or more input / output devices that perform input / output control for each of the one or more manufacturing equipment, and the computer that communicates so that the time constraints corresponding to each of the one or more manufacturing equipment are satisfied, The control device determines whether to perform a scaling process to change the computing resources allocated to the virtual computing environment based on the time constraints corresponding to each of the one or more manufacturing facilities after the change, when the time constraints corresponding to each of the one or more manufacturing facilities are changed. When the control device determines that it will perform the scaling process, it selects 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 computing resources allocated to the virtual computing environment, as the selected image. The control device is a control method for reconfiguring the virtual computing environment based on the selected image.

8. A control program is executed by a control device which is a computer that communicates with a virtual controller that performs control calculation processing corresponding to one or more manufacturing equipment using a virtual computing environment, and one or more input / output devices that perform input / output control for each of the one or more manufacturing equipment, so as to satisfy the time constraints corresponding to each of the one or more manufacturing equipment, A scaling determination process determines whether or not to perform a scaling process that changes the computing resources allocated to the virtual computing environment based on the time constraints corresponding to each of the one or more manufacturing facilities after the change, when the time constraints corresponding to each of the one or more manufacturing facilities are changed. If it is determined that the scaling process will be executed, an image selection process is performed to select 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 computing resources allocated to the virtual computing environment. A reconstruction process that reconfigures the virtual computing environment based on the selected image. A control program that causes the control device to execute the above.