Virtualization control device, control system, and control method

The virtualization control device with integrated performance measurement functions addresses the uncertainty of virtualization software by ensuring deterministic operation and real-time performance evaluation, enhancing control processing reliability.

JP2026082473APending Publication Date: 2026-05-19KK TOSHIBA
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
KK TOSHIBA
Filing Date
2024-11-07
Publication Date
2026-05-19

AI Technical Summary

Technical Problem

Virtualization control devices using virtualization software exhibit greater uncertainty in processing performance due to non-deterministic operation in the time domain, which complicates real-time control processing in industrial applications.

Method used

A virtualization control device is constructed with a communication function unit, control calculation function unit, and performance measurement function unit, which includes a performance measurement function to evaluate processing performance and ensure deterministic operation by measuring and notifying control status.

Benefits of technology

Enables performance evaluation and deterministic control processing using virtualization hardware, allowing for real-time monitoring and adjustment to maintain control sequence integrity.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026082473000001_ABST
    Figure 2026082473000001_ABST
Patent Text Reader

Abstract

This invention provides a virtualization control device, a control system, and a control method that enable performance evaluation in control processing using virtualization hardware. [Solution] According to this embodiment, a virtualized control device is constructed by software implementation on control device hardware, and comprises a communication function unit, a control calculation function unit, and a performance measurement function unit. The communication function unit communicates with a field device that receives input data from a controlled object and outputs output data to the controlled object. The control calculation function unit calculates output data according to the input data. The performance measurement function unit performs performance measurement of the control calculation function unit based on the time required for a predetermined calculation process of the control calculation function unit.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Embodiments of the present invention relate to a virtualization control device, a control system, and a control method.

Background Art

[0002] In various plants using oil, petrochemicals, chemicals, gas, etc., various real-time controls such as control of opening and closing of valves and control of maintaining a constant temperature are performed by a control system. Therefore, the control system is required to ensure reliability according to the control target.

[0003] A control system that performs real-time control is known to, for example, collect sensor data from a control target, perform a control operation using the collected data, and output a control output obtained as a result of the operation to an actuator. The control system is required to perform each operation according to the control target within a target time required from the control characteristics of the control target.

[0004] To realize the processing within this target time, a conventional control device fixedly executes the specifications of computer hardware and software, respectively. Typically, general-purpose hardware with specific specifications is used as the control device hardware, and control software with specific specifications is installed on the computer hardware, and a plurality of such combinations are installed without changing them (see, for example, Patent Document 1). Thereby, the control device has eliminated variable elements as much as possible from the required time for control processing, improved the predictability of the completion time of control processing, and realized the completion of control processing within the target time.

[0005] On the other hand, in recent years, advances in virtualization technology for control device hardware have made it possible to divide the computing resources of a control device hardware, such as the CPU and memory, into multiple virtualized control devices. This virtualization technology allows the virtualized control devices to execute processing on software as if they were a single piece of computer hardware. Such virtualized hardware is realized by virtualization software that runs on the physical hardware of the computer.

[0006] Applying virtualized hardware to virtualized control devices offers advantages compared to using a single control device, such as more efficient use of computing resources and easier operation of the control device hardware. Therefore, the application of virtualized hardware to virtualized control devices is progressing.

[0007] However, virtualization hardware is implemented by virtualization software, and virtualization software is not designed to operate in a completely deterministic manner in the time domain. Therefore, virtualization control devices have relatively greater uncertainty in the time domain regarding their processing performance compared to physical control device hardware. [Prior art documents] [Patent Documents]

[0008] [Patent Document 1] Patent No. 5218585 [Overview of the project] [Problems that the invention aims to solve]

[0009] To address these challenges, the objective of this embodiment is to provide a virtualization control device, a control system, and a control method that enable performance evaluation in control processing using virtualization hardware. [Means for solving the problem]

[0010] According to this embodiment, the virtualized control device is constructed by software implementation on control device hardware and comprises a communication function unit, a control calculation function unit, and a performance measurement function unit. The communication function unit communicates with a field device that receives input data from a controlled object and outputs output data to the controlled object. The control calculation function unit calculates output data according to the input data. The performance measurement function unit performs performance measurement of the control calculation function unit based on the time required for predetermined calculation processing of the control calculation function unit. [Effects of the Invention]

[0011] This enables performance evaluation in control processing using virtualized hardware. [Brief explanation of the drawing]

[0012] [Figure 1] A diagram showing an example configuration of the control system according to the first embodiment. [Figure 2] A flowchart showing an example of a control sequence for a virtualization control unit. [Figure 3] A block diagram showing a detailed configuration example of the performance measurement function unit. [Figure 4] A flowchart showing an example of measurements for a virtualization control device. [Figure 5] A flowchart illustrating the processing of the determination unit within this control sequence. [Figure 6] A flowchart showing a detailed example of the processing steps in Figure 5. [Figure 7] A flowchart showing an example of measuring the processing time of the control calculation function unit. [Figure 8] A flowchart showing an example of measuring the processing time of the control calculation function unit. [Figure 9] A diagram showing an example configuration of the control system according to the second embodiment. [Figure 10] Configuration diagram when the monitoring device has the same functions as the performance measurement function unit. [Figure 11] A diagram showing an example configuration of a control system according to the third embodiment. [Figure 12]Configuration diagram when the external performance measurement device has the same function as the performance measurement function unit.

Embodiments for Carrying Out the Invention

[0013] Hereinafter, a virtualization control device, a control system, and a control method according to embodiments of the present invention will be described in detail with reference to the drawings. Note that the embodiments shown below are examples of embodiments of the present invention, and the present invention is not construed as being limited to these embodiments. Also, in the drawings referred to in this embodiment, the same parts or parts having the same or similar functions are denoted by the same reference numerals or similar reference numerals, and repeated descriptions thereof may be omitted. In addition, the dimensional ratios in the drawings may differ from the actual ratios for convenience of explanation, or a part of the configuration may be omitted from the drawings.

[0014] (First Embodiment) (Configuration) FIG. 1 is a diagram showing a configuration example of a control system according to the first embodiment. The control system 1 is used for a control system that controls industrial machines such as machine tools and robots in various plants using, for example, petroleum, petrochemicals, chemicals, gases, etc.

[0015] As shown in FIG. 1, the control system 1 is a system capable of configuring a virtualization control device 10 (VPLC: Virtual Programmable Logic Controller). The control system 1 includes a control device hardware 2, a field device 3, a control target 4, and a display unit 5. The control device hardware 2, the field device 3, and the control target 4 are connected via a communication line. Note that the control device hardware 2, the field device 3, and the display unit 5 can be connected via an interface of the control device hardware 2.

[0016] The control device hardware 2 is, for example, a real computer, and it is a device capable of configuring the virtualized control device 10 by software virtualization technology. More specifically, the control device hardware 2 includes a CPU (Central Processing Unit) 21, a memory 22, a clock 23, and a plurality of virtualized control devices 10. Each virtualized control device 10 can independently control different control targets 4. In FIG. 1, for simplicity of explanation, only a single virtualized control device 10 is illustrated and described.

[0017] The CPU 21 is a processor, and by executing a program stored in the memory 22, for example, it causes the virtualized control device 10 on the hypervisor to function. Note that the control device hardware 2 can also have a plurality of CPUs 21. In this case, the virtualized control device 10 can be configured using the plurality of CPUs 21.

[0018] The memory 22 stores data necessary for the processing executed by the CPU 21. Also, the memory 22 stores programs and data of the hypervisor and the virtualized control device 10. Note that the control device hardware 2 can be composed of a plurality of memories 22. In this case, the virtualized control device 10 can be configured using the plurality of memories 22.

[0019] The display unit 5 is, for example, a monitor. The display unit 5 displays the image information generated by the virtualized control device 10.

[0020] The clock 23 generates the reference clock of the control system 1. The virtualized control device 10 can refer to the reference clock.

[0021] The field device 3 has, for example, a sensor. The field device 3 outputs various process quantities (sensor input data) necessary for controlling the control target 4 to the virtualized control device 10.

[0022] The controlled object 4 is a control device that is driven according to the control signal (control output data) of the virtualization control device 10. The controlled object 4 is, for example, an actuator, a robot arm, a drive motor, a control valve, a surveillance camera, etc. Thus, the controlled object 4 can be any device that is controlled by output data corresponding to the sensor input data of the field device 3. In this embodiment, the sensor input data may be referred to as input data, and the control output data may be referred to as output data.

[0023] As described above, the number of virtualization control devices 10 is not limited to one, but may be two or more. Furthermore, multiple field devices 3 and controlled objects 4 may be deployed. Multiple field devices 3 and controlled objects 4 may be deployed at the same site or at different sites. The performance of the field devices 3 and controlled objects 4 may differ, or they may be unified.

[0024] The virtualization control device 10 is an example of virtualization hardware and is implemented by virtualization software. In other words, this virtualization control device 10 is built on the control device hardware 2 by software implementation.

[0025] Furthermore, the virtualization control device 10 is, for example, a virtual control device on a hypervisor, and includes a control calculation function unit 100, a communication function unit 200, a memory 300, a clock 400, and a performance measurement function unit 500. The control calculation function unit 100 is a virtual control calculation function unit, and uses the input data collected by the communication function unit 200 to generate output data for the controlled object 4. In other words, this control calculation function unit 100 calculates output data according to the input data.

[0026] The input data is, for example, packet data transmitted via TCP (Transmission Control Protocol) and indicated by sequence number S. Similarly, the output data is packet data indicated by sequence number S. In this embodiment, we will explain using an example of packet data, but we are not limited to this.

[0027] The communication function unit 200 collects input data from the field device 3 and outputs it to the control calculation function unit 100. The communication function unit 200 also outputs the output data generated by the control calculation function unit 100 to the field device 3. In other words, the communication function unit 200 communicates with the field device 3, which receives input data from the controlled object 4 and outputs output data to the controlled object 4.

[0028] Memory 300 is virtual memory. The control arithmetic unit 100 accesses memory 300 as the physical memory of the virtualization control device 10. In this case, the CPU 21 and the hypervisor actually translate the address on memory 300 to the address on memory 22 of the control device hardware 2 before accessing memory 300. Clock 400 is a virtual clock that uses the clock information of clock 21.

[0029] Figure 2 is a flowchart showing an example of a control sequence for the virtualization control device 10 according to this embodiment. First, the communication function unit 200 receives sensor input data indicated by a sequence number from the field device 3 (step S1010). Next, the control calculation function unit 100 receives sensor input data from the communication function unit 200 (step S1020).

[0030] Next, the control calculation function unit 100 performs control calculations using the sensor input data and calculates control output data indicated by a sequence number (step S1030). Subsequently, the control calculation function unit 100 transmits the control output data to the communication function unit 200 (step S1040).

[0031] Next, the communication function unit 200 transmits control output data to the field device 3 (step S1050). Then, the control calculation function unit 100 determines whether or not to repeat the control sequence (step S1060), and if it does (n in step S1060), it repeats the process from step S1010. On the other hand, if it does not repeat (y in step S1060), it terminates the control sequence. In this way, the processes from steps S1010 to S1060 are periodically repeated as a control sequence.

[0032] Such control sequences have a fixed periodicity. For example, the processing performance of the virtualization control device 10 as virtualization hardware, various parameters that define the operation of the virtualization control device 10, and the processing performance of the field device 3 and various parameters that define the operation of the field device 3 can be predicted in advance. Similarly, the calculation time required from step S1020 to step S1040 in the control calculation function unit 100 can also be predicted.

[0033] This periodicity and computation time must satisfy the respective target times required by the control characteristics of the controlled object 4. On the other hand, as mentioned above, the virtualization control device 10 is implemented by virtualization software, and virtualization software is not designed to operate in a completely deterministic manner in the time domain. For this reason, virtualization hardware has relatively greater uncertainty in the time domain regarding its processing performance compared to physical computer hardware.

[0034] Therefore, the performance measurement function unit 500 according to this embodiment has the function of measuring and notifying the control status of the virtualization control device 10. This allows the administrator of the control system 1 to objectively understand the control status of the controlled object 4.

[0035] In other words, the performance measurement function unit 500 performs performance measurement of the control calculation function unit 100 based on the time required for a predetermined calculation process of the control calculation function unit 100. More specifically, the performance measurement function unit 500 performs performance measurement of the virtualization control device 10 as a control device based on the operation information of at least one of the control calculation function unit 100 and the communication function unit 200. Furthermore, the performance measurement function unit 500 can display the measured performance measurement information as image data on the display unit 5.

[0036] The details of the performance measurement function unit 500 will be described below with reference to Figures 3 to 8. Figure 3 is a block diagram showing a detailed configuration example of the performance measurement function unit 500. As shown in Figure 3, the performance measurement function unit 500 includes a measurement unit 501, a determination unit 502, and a notification unit 503.

[0037] The measurement unit 501 measures the time required for a predetermined calculation process by the control calculation function unit 100. More specifically, the measurement unit 501 measures the occurrence time T(S(N)) when a predetermined process is executed in the control sequence S(N) of the virtualization control device 10 by the control calculation function unit 100, via the clock 400, and associates it with the corresponding sequence number S(N). The measurement unit 501 then stores the occurrence time T(S(N)) and the sequence number S(N) in the memory 300. In this embodiment, the control sequence S(N) corresponds to the sequence number S(N) of the input data. That is, S(N) is the sequence number indicated by N, and N is a natural number indicating the measurement order.

[0038] Here, we will explain an example of the processing of the performance measurement function unit 500 using Figure 4. Figure 4 is a flowchart showing an example of measurement in the control sequence of the virtualization control device 10 according to this embodiment. Here, we will explain an example of measurement at the timing when the control calculation function unit 100 calculates the control output data. Furthermore, as shown in Figure 4, we will explain the processing steps after the control calculation function unit 100 receives sensor input data from the communication function unit 200 in step S1020 (see Figure 2).

[0039] As shown in Figure 4, after receiving sensor input data from the communication function unit 200, the measurement unit 501 of the performance measurement function unit 500 measures the calculation time T(S(N)) at which the control calculation function unit 100 calculated the control output data via the clock 400. Next, the measurement unit 501 associates the calculation sequence number S(N), which is the sequence number, with the calculation time T(S(N)). Then, the measurement unit 501 stores the calculation time T(S(N)) and the calculation sequence number S(N) in the memory 300 (step S1031). The subsequent processing is the same as in Figure 3. In this way, the measurement unit 501 measures the calculation time T(S(N)) of a predetermined process in the control sequence S(N), associates it with the calculation sequence number S(N), and stores it in the memory 300.

[0040] The determination unit 502 determines the control performance of the control calculation function unit 100 based on the time required for a predetermined calculation process of the control calculation function unit 100. More specifically, the determination unit 502 determines whether or not the control sequence of the virtualization control device 10 is processed within a predetermined time. The determination unit 502 determines the continuity of the sequence number S and whether or not the control sequence satisfies the calculation target time condition.

[0041] The notification unit 503 notifies the system of information related to the determination of the determination unit 502. For example, the notification unit 503 displays the information related to the determination of the determination unit 502 as image information on the display unit 5.

[0042] Here, we will explain an example of the processing of the determination unit 502 using Figures 5 and 6. Figure 5 is a flowchart showing the processing of the determination unit 502 in the control sequence S(N) of the virtualization control device 10 according to this embodiment. Figure 6 is a flowchart showing a detailed example of the processing step S1040 in Figure 5.

[0043] As shown in Figure 5, the determination unit 502 obtains the calculation time T(S(N)) and calculation sequence number S(N) of the control output data held in processing step S1031 (see Figure 4) from the memory 300 (step S1110).

[0044] Next, the determination unit 502 determines whether the calculation sequence number S(N-1) and the calculation sequence number S(N) from the previous cycle are consecutive (step S1120). The calculation sequence numbers S(N) and S(N-1) may be separated rather than consecutive if the operation cycle of the check sequence in the performance measurement function unit 500 exceeds or falls below the operation cycle of the control sequence in the virtualization control device 10. For this reason, the determination unit 502 determines whether the calculation sequence number S(N-1) and the calculation sequence number S(N) are consecutive.

[0045] Next, if the determination unit 502 determines that the numbers are not consecutive (y in step S1120), the determination unit 502 calculates the elapsed time T(D) (step S1130). The elapsed time T(D) is the difference between the calculated time T(S(N)) and the calculated time T(S(N-1)). On the other hand, if the determination unit 502 determines that the numbers are consecutive (n in step S1120), it executes the processing from step S1150, which will be described later.

[0046] Next, the determination unit 502 checks whether the elapsed time T(D) satisfies the conditions for the calculation target time (step S1140). In order to synchronize the operation cycle of the check sequence in the performance measurement function unit 500 with the operation cycle of the control sequence of the virtualization control device 10, the performance measurement function unit 500 is made to wait (step S1150), and it is determined whether or not to terminate the process (step S1160).

[0047] The determination unit 502 determines that the process should be terminated (y in step S1160), and if it determines that the process should not be terminated (n in step S1160), it repeats the process in step S1110.

[0048] As shown in Figure 6, the determination unit 502 of the performance measurement function unit 500 calculates the difference value S(D) between the calculated sequence numbers S(N) and S(N-1) (step S1141). The difference value S(D) indicates how many cycles have elapsed in the control sequence. For example, if the difference value S(D) is 3, it indicates that a period of 3 cycles has elapsed.

[0049] Next, the determination unit 502 multiplies the difference value S(D) of the sequence numbers by the "shortest value allowed for the calculation target time" for one period. Then, it determines whether the elapsed period (for example, 3 periods) exceeds the period obtained by multiplying it by the shortest value (step S1142).

[0050] Next, the determination unit 502 multiplies the difference value S(D) of the sequence number by the "maximum allowable value for the calculation target time" for one cycle. Then, it determines whether the period is less than the elapsed period (for example, 3 cycles) multiplied by the maximum value (step S1142). If the determination unit 502 determines that it is neither above nor below the maximum value, the notification unit 503 causes the display unit 5 to display warning information containing the difference value S(D) and the elapsed time T(D).

[0051] In this way, the determination unit 502 of the performance measurement function unit 500 evaluates the control capability of the virtualization control device 10 over N cycles by calculating the target calculation time (shortest or longest value), which is the time related to the elapsed period S(D) of the control sequence predetermined. This makes it possible to grasp in real time any disturbances in the periodic execution time caused by the virtualization hardware by measuring the execution interval of processes that are periodically executed in the control sequence.

[0052] Here, using Figures 7 and 8, we will explain an example of determining the calculation time required from step S1020 to step S1040 in the control calculation function unit 100 (see Figure 4). Figure 7 is a flowchart showing an example of measuring the processing time of the control calculation function unit 100.

[0053] As shown in Figure 7, the measurement unit 501 of the performance measurement function unit 500 obtains the input data sequence number IDS(N) in the sensor input data from the communication function unit 200 and stores it in the memory 300 (step S1021). As described above, N is the measurement order. At this time, the measurement unit 501 measures the reception time IDT(IDS(N)) of the sensor input data via the clock 400 and stores it in the memory 300 in association with the input data sequence number IDS(N) (step S1022).

[0054] Next, the measurement unit 501 obtains the output data sequence number ODS(N) assigned to the control output data by the control calculation function unit 100 from the control calculation function unit 100 and stores it in the memory 300 (step S1023). Subsequently, the measurement unit 501 measures the transmission time ODT(ODS(N)) of the control output data via the clock 400 and stores it in the memory 300 in association with the output data sequence number ODS(N) (step S1022). In this way, the measurement unit 501 measures the reception time IDT(IDS(N)) of the input data of input data sequence number IDS(N) to the control calculation function unit 100 and the transmission time ODT(ODS(N)) of output data sequence number ODS(N) and stores them in the memory 300.

[0055] Figure 8 is a flowchart showing an example of measuring the processing time of the control calculation function unit 100. As shown in Figure 8, the determination unit 502 of the performance measurement function unit 500 obtains the reception time IDT(IDS(N)) and the input data sequence number IDS(N) associated with the reception time IDT(IDS(N)) from the memory 300 (step S1210).

[0056] Next, the determination unit 502 obtains the transmission time ODT(ODS(N)) and the output data sequence number ODS(N) associated with the transmission time ODT(ODS(N)) from the memory 300 (step S1220). Then, the determination unit 502 determines whether the input data sequence number IDS(N) and the output data sequence number ODS(N) match (step S1230).

[0057] If the determination unit 502 determines that they match (y in step S1230), it calculates the processing time DT(IDS(N)), which is the difference between the transmission time ODT(ODS(N)) and the reception time IDT(IDS(N)) (step S1240). Subsequently, the determination unit 502 checks whether the processing time DT(IDS(N)) is within the target time, and if it is outside the target time, the notification unit 503 causes the display unit 5 to display warning information containing the processing time DT(IDS(N)) (step S1250).

[0058] On the other hand, if the determination unit 502 determines that there is no match (step S1230 n), it executes the processing from step S1260, which will be described later.

[0059] The determination unit 502 synchronizes the operation cycle of the check sequence in the performance measurement function unit 500 with the operation cycle of the control sequence in the virtualization control device 10. For this reason, the performance measurement function unit 500 is made to wait for a predetermined time (step S1260), and a decision is made as to whether or not to terminate the process (step S1270).

[0060] The determination unit 502 determines that the process should be terminated (y in step S1270), and if it determines that the process should not be terminated (n in step S1270), it repeats the process in step S1210.

[0061] In this way, the determination unit 502 of the performance measurement function unit 500 evaluates the control capability of the virtualization control device 10 over N cycles by calculating the processing time DT(IDS(N)) of a predetermined control sequence. Furthermore, by measuring the time required for control processing in the control calculation function unit 100 related to control calculation processing using the performance measurement function unit 500, it becomes possible to grasp deviations from the target value regarding the execution time of control calculation processing in real time.

[0062] As described above, according to this embodiment, the performance measurement function unit 500 evaluates the control capability of the control device in the virtualization control device 10 as the time required for a predetermined control process based on the time of the clock 400. This makes it possible to grasp the control state of the virtualization control device 10 for each control cycle as an evaluation value (processing time).

[0063] (Second Embodiment) The control system 1 according to the second embodiment differs from the control system 1 according to the first embodiment in that it further includes a monitoring device 25 in the control device hardware 2. The differences from the control system 1 according to the first embodiment will be explained below.

[0064] Figure 9 shows an example configuration of the control system 1 according to the second embodiment. As shown in Figure 9, the control system 1 according to the second embodiment further includes a monitoring device 25 within the control device hardware 2. That is, this monitoring device 25 is implemented in software within the control device hardware 20.

[0065] Furthermore, while the performance measurement function unit 500 operates within the virtualization control device 10, the monitoring device 25 operates within the control device hardware 2. Although the monitoring device 25 resides within the same control device hardware 2, it operates as a function independent of the virtualization control device 10.

[0066] The monitoring device 25 performs both the measurement of the computing resource usage status of the virtualization control device 10 and the reception of measurement results from the performance measurement function unit 500. In other words, the monitoring device 25 collects information in real time that quantitatively shows how much of the computing resources, such as the CPU 21 and memory 22, provided on the control device hardware 2 are being used by the software constituting the virtualization control device 10.

[0067] The monitoring device 25 calculates information on the usage status of computing resources and processing performance information based on the computing resource usage status information based on this information. The monitoring device 25 then processes a notification to a system or user outside the control system 1 of the usage status information, processing performance information, and real-time usage information of computing resources such as PU21 and memory22.

[0068] For example, the monitoring device 25 measures the time-series changes in the CPU usage rate and the memory usage rate of the memory 22 as measured values ​​for the control device hardware 2 and the virtualization control device 10, respectively. The monitoring device 25 checks whether the measured values ​​of the CPU usage rate and the memory usage rate of the memory 22 fall within the range of target values. If at least one of the CPU usage rate and the memory usage rate of the memory 22 does not fall within the range of target values, the monitoring device 25 displays a warning screen containing information on the CPU usage rate and the memory usage rate of the memory 22 on the display unit 5.

[0069] Figure 10 is a configuration diagram showing the case where the monitoring device 25 has functions equivalent to those of the performance measurement function unit 500. As shown in Figure 10, the monitoring device 25 has functions equivalent to those of the performance measurement function unit 500. That is, the measurement unit 501a, determination unit 502a, and notification unit 503a of the monitoring device 25 each have processing functions corresponding to the measurement unit 501, determination unit 502, and notification unit 503 of the performance measurement function unit 500, respectively. In this case, the difference is that the performance measurement function unit 500 uses information from the clock 400, while the monitoring device 25 uses information from the clock 23. In this embodiment, the measurement unit 501a corresponds to the second measurement unit, the determination unit 502a corresponds to the second determination unit, and the notification unit 503a corresponds to the second notification unit.

[0070] As shown in Figure 10, the measurement unit 501a, determination unit 502a, and notification unit 503a of the monitoring device 25 are each configured on the control device hardware 2. In this case, even if the processing load of the virtualization control device 10 increases and the processing speed of the performance measurement function unit 500 slows down, it becomes possible to evaluate the control state of the virtualization control device 10. By configuring the monitoring device 25 outside the virtualization control device 10 in this way, it becomes possible to monitor the situation in which the virtualization control device 10 is using the computing resources of the control device hardware 2, and to partially take over the functions of the performance measurement function unit 500. This makes it possible to grasp changes in the computing resources occupied by the virtualization hardware from outside the virtualization control device 10.

[0071] As described above, according to this embodiment, the monitoring device 25 measures the time-series changes in the CPU usage rate and the memory usage rate of the memory 22 as measured values ​​for the control device hardware 2 and the virtualization control device 10, respectively. As a result, if at least one of the CPU usage rate and the memory usage rate of the memory 22 does not fall within the range of the target value, it becomes possible to notify information containing information on the CPU usage rate and the memory usage rate of the memory 22.

[0072] Furthermore, the monitoring device 25 within the control device hardware 2 is configured to have the same functionality as the performance measurement function unit 500 within the virtualization control device 10. This makes it possible to evaluate the control state of the virtualization control device 10 even when the processing power of the performance measurement function unit 500 slows down.

[0073] (Third embodiment) The control system 1 according to the third embodiment differs from the control system 1 according to the second embodiment in that it further includes an external performance measuring device 30 connected via a communication line. The differences from the control system 1 according to the second embodiment will be explained below.

[0074] Figure 11 shows an example configuration of the control system 1 according to the third embodiment. As shown in Figure 11, the control system 1 according to the third embodiment further includes an external performance measuring device 30 connected via a communication line. The external performance measuring device 30 has processing functions equivalent to those of the monitoring device 25. That is, this external performance measuring device 30 operates as a function independent of the virtualization control device 10 and the monitoring device 25.

[0075] The external performance measurement device 30 performs both the measurement of the computing resource usage by the virtualization control device 10 and the reception of measurement results from the performance measurement function unit 500. This external performance measurement device 30 collects information in real time that quantitatively shows how much the software constituting the virtualization control device 10 is using computing resources such as the CPU 21 and memory 22 provided in the control device hardware 2.

[0076] The external performance measurement device 30 calculates information on the usage status of computing resources and processing performance information based on the computing resource usage status information based on this information. The monitoring device 25 then processes a notification to a system or user outside the control system 1 of the usage status information, processing performance information, and real-time usage information of computing resources such as the PU 21 and memory 22.

[0077] For example, the external performance measuring device 30 measures the time-series changes in the CPU usage rate and the memory usage rate of the memory 22 as measured values ​​for the control device hardware 2 and the virtualization control device 10, respectively. The monitoring device 25 checks whether the measured values ​​of the CPU usage rate and the memory usage rate of the memory 22 fall within the range of target values. If at least one of the CPU usage rate and the memory usage rate of the memory 22 does not fall within the range of target values, the monitoring device 25 displays a warning screen containing information on the CPU usage rate and the memory usage rate of the memory 22 on the display unit 5.

[0078] Figure 12 is a configuration diagram showing the case where the external performance measurement device 30 has functions equivalent to those of the performance measurement function unit 500. As shown in Figure 12, the external performance measurement device 30 has functions equivalent to those of the performance measurement function unit 500. That is, the measurement unit 501b, determination unit 502b, and notification unit 503b of the external performance measurement device 30 each have processing functions corresponding to the measurement unit 501, determination unit 502, and notification unit 503 of the performance measurement function unit 500, respectively. In this case, the difference is that the performance measurement function unit 500 used information from the clock 400, while the external performance measurement device 30 uses information from the clock inside the external performance measurement device 30. In this embodiment, the measurement unit 501b corresponds to the third measurement unit, the determination unit 502b corresponds to the third determination unit, and the notification unit 503b corresponds to the third notification unit.

[0079] As shown in Figure 12, the measurement unit 501b, determination unit 502b, and notification unit 503b of the external performance measurement device 30 are each configured within the external performance measurement device 30. In this case, even if the processing load of the virtualization control device 10 or the control device hardware 2 increases and the processing speed of the performance measurement function unit 500 or the monitoring device 25 slows down, the control state of the virtualization control device 10 can still be evaluated. By configuring the external performance measurement device 30 outside of the virtualization control device 10 in this way, it becomes possible to monitor the situation in which the virtualization control device 10 uses the computing resources of the control device hardware 2, and to partially substitute for the functions of the performance measurement function unit 500. This makes it possible to grasp changes in the computing resources occupied by the virtualization hardware from outside the virtualization control device 10.

[0080] As described above, according to this embodiment, the external performance measuring device 30 measures the time-series changes in the CPU usage rate and the memory usage rate of the memory 22 as measured values ​​for the control device hardware 2 and the virtualization control device 10, respectively. As a result, if at least one of the CPU usage rate and the memory usage rate of the memory 22 does not fall within the range of the target value, it becomes possible to notify information containing information on the CPU usage rate and the memory usage rate of the memory 22.

[0081] Furthermore, the external performance measurement device 30 is configured to have the same functionality as the performance measurement function unit 500 within the virtualization control device 10. This makes it possible to evaluate the control state of the virtualization control device 10 even when the processing power of the performance measurement function unit 500 or the monitoring device 25 slows down.

[0082] Although several embodiments have been described above, these embodiments are presented only as examples and are not intended to limit the scope of the invention. The novel apparatus, method, and program described herein can be implemented in a variety of other forms. Furthermore, various omissions, substitutions, and modifications can be made to the embodiments of the apparatus, method, and program described herein, without departing from the spirit of the invention. [Explanation of symbols]

[0083] 1: Control system, 2: Control device hardware, 3: Field equipment, 4: Control target, 10: Virtualization control device, 100: Control calculation function unit, 200: Communication function unit, 400: Clock, 500: Performance measurement function unit, 501, 501a, 501b: Measurement unit, 502, 502a, 502b: Judgment unit, 503, 503a, 503b: Notification unit

Claims

1. A virtualized control device built on control device hardware by software implementation, A communication function unit that communicates with a field device that receives input data from the controlled object and outputs output data to the controlled object, A control calculation function unit that calculates the output data according to the input data, A performance measurement function unit that performs performance measurement of the control calculation function unit based on the time required for a predetermined calculation process of the control calculation function unit, A virtualization control device equipped with the following features.

2. The virtualization control device according to claim 1, wherein the performance measurement function unit performs notification of information regarding the measurement results of computing power.

3. The control calculation unit calculates the output data according to the input data at predetermined intervals. The virtualization control device according to claim 2, wherein the performance measurement function unit measures the execution interval of the periodically executed calculation process as the control calculation time, and determines whether the control calculation time satisfies the calculation target time.

4. The virtualization control device according to claim 3, wherein the performance measurement function unit executes the notification when it determines that the target calculation time is not met.

5. The virtualization control device according to claim 3, wherein the performance measurement function unit determines whether the time required to perform the calculation of the period a predetermined number of times is within an allowable range based on the longest value and the shortest value.

6. The virtualization control device according to claim 2, wherein the performance measurement function unit measures the computing capability of the control calculation function unit using the time difference between the input time of the input data and the output time of the output data corresponding to the input data.

7. The performance measurement function unit is, A measurement unit for measuring the time required for a predetermined calculation process in the control calculation function unit, A determination unit determines the control performance of the control calculation function unit based on the aforementioned time, The virtualization control device according to claim 1, further comprising: a notification unit for notifying information relating to the determination unit's determination.

8. A virtualization control device according to any one of claims 1 to 7, A monitoring device built on the control device hardware by software implementation and operating independently of the virtualization control device, which measures the CPU usage rate and memory usage rate, which indicate the usage status of computing resources for the control device hardware and the virtualization control device, and the timing of CPU and memory usage, and monitors whether the measured values ​​fall within the range of target values. A control system equipped with the following features.

9. The aforementioned monitoring device further, The control system according to claim 8, wherein the performance measurement of the control calculation function is performed based on the time required for a predetermined calculation process of the control calculation function.

10. The aforementioned monitoring device is A second measuring unit measures the time required for a predetermined calculation process in the control calculation function unit, A second determination unit determines the control performance of the control calculation function unit based on the aforementioned time, The control system according to claim 9, further comprising: a second notification unit that notifies the determination of the second determination unit.

11. The control system according to claim 9, further comprising an external performance measuring device that operates independently of the virtualization control device via a communication line, the external performance measuring device measures the CPU usage rate and memory usage rate, which indicate the usage status of the computing resources of the external performance measuring device for the control device hardware and the virtualization control device, and the usage timing of the CPU and the memory, and measures whether the measured values ​​fall within the range of target values.

12. The external performance measuring device further, The control system according to claim 11, wherein the performance measurement of the control calculation function is performed based on the time required for a predetermined calculation process of the control calculation function.

13. The external performance measuring device is, A third measuring unit measures the time required for a predetermined calculation process in the control calculation function unit, A third determination unit determines the control performance of the control calculation function unit based on the aforementioned time, The control system according to claim 12, further comprising: a third notification unit that notifies the determination of the third determination unit.

14. A control method for a virtualized control device built on control device hardware by software implementation, A communication process that communicates with a field device that receives input data from a controlled object and outputs output data to the controlled object, A control calculation step that calculates the output data corresponding to the input data, A performance measurement step, which performs performance measurement of the control calculation step based on the time required for a predetermined calculation process of the control calculation step, A control method for a virtualization control device equipped with the following.