Control device to be transferred, control transfer method, and control transfer program
The control device migration system addresses the challenge of incomplete state synchronization by using an initial synchronization unit, a calculation reproducing unit, and a calculation execution unit to ensure continuous control and synchronization during device replacement.
Patent Information
- Application Number
- JP2024560292
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2023-03-24
- Publication Date
- 2025-05-23
- Estimated Expiration
- 2043-03-24
AI Technical Summary
Existing techniques for state synchronization in control systems often result in prolonged data transfer times, which can exceed the execution cycle of arithmetic processing, leading to incomplete synchronization of task states between active and standby systems.
The proposed solution involves a control device migration system that includes an initial synchronization unit to acquire arithmetic processing information, a calculation reproducing unit to execute and synchronize calculation processes, and a calculation execution unit to ensure continuous control of the control target, even during migration.
This approach enables synchronization of the arithmetic processing state between the source and destination control devices, even when data transfer times exceed the processing cycle, allowing for seamless replacement of control devices without interrupting the controlled object.
Smart Images

Figure 0007682404000001 
Figure 0007682404000002 
Figure 0007682404000003
Abstract
Description
Technical Field
[0001] The present disclosure relates to a technique for transferring control of a control target.
Background Art
[0002] The control of production equipment may be performed in the form of a control system in which a control device that performs periodic arithmetic processing and an input / output device that performs input / output control on a control target are connected by a network. Specific examples of the control target include sensors or actuators in production equipment. The input / output control by the input / output device is control such as output of measurement values from the control target or input of the calculation result of the control device to the control target.
[0003] For the purpose of replacement or inspection, etc., the operating control device may be replaced with another control device. At this time, in order to prevent a decrease in productivity, it is desirable to be able to replace the control device without stopping the production equipment that is the control target. To achieve this, it is sufficient if the arithmetic processing state of another control device that is the transfer destination can be synchronized with and transferred to the arithmetic processing state of the operating control device that is the transfer source while not affecting the control target.
[0004] As a related prior art, there is a recovery technique in a multiplexing system. Patent Document 1 describes a multiplexed recovery technique for matching the internal states of tasks between an active system and a standby system. The active system corresponds to the transfer source. The standby system corresponds to the transfer destination. Patent Document 1 describes that either the first means or the second means is selected. The first means is a means for transferring the difference data of the internal state from the active system to the standby system and reflecting it in the standby system. The second means is a means for transferring the input log from the active system to the standby system and having the standby system replay the processing of the active system based on the input log. Thereby, Patent Document 1 aims to shorten the multiplexed recovery time.
Prior Art Documents
Patent Documents
[0005] [Patent Document 1] JP 2016-206865 A Summary of the Invention [Problem to be solved by the invention]
[0006] In the technology of Patent Document 1, the time required to transfer data for state synchronization from the active system to the standby system may always be longer than the cycle in which a task is executed. The data for state synchronization is differential data or an input log. In this case, the processing of the standby system cannot catch up with the processing of the active system. As a result, synchronization of the internal states of the tasks of the active system and the standby system is never completed. The present disclosure has an object to make it possible to replace a control device without stopping a controlled object even when the data transfer time for state synchronization is longer than the period in which arithmetic processing is executed. [Means for solving the problem]
[0007] The control device to be migrated according to the present disclosure is a destination control device to which control of a control object is transferred from a source control device that periodically executes arithmetic processing to control the control object, an initial synchronization unit that acquires information regarding the arithmetic processing of the control device from which the transition occurs in a specific period as initial synchronization information; a calculation reproducing unit that executes the calculation process executed in the control device from the calculation period next to the specific period to a transition period to which control is transferred based on the initial synchronization information acquired by the initial synchronization unit; a calculation execution unit that uses a result of the calculation process executed by the calculation reproduction unit to execute the calculation process after the transition period, thereby controlling the control target; Equipped with. Effect of the Invention
[0008] In the present disclosure, based on information regarding the computational processing of the source control device in a specific period, the destination control device executes the computational processing that is executed in the source control device from the next computation period after the specific period to the transition period to which control is transferred. This makes it possible to synchronize the state of the arithmetic processing of the source control device with the state of the arithmetic processing of the destination control device during the transfer period, even if the data transfer time for state synchronization is longer than the period in which the arithmetic processing is executed. As a result, it becomes possible to replace the control device without stopping the controlled object. [Brief description of the drawings]
[0009] [Figure 1] FIG. 1 is a configuration diagram of a control transfer system 100 according to a first embodiment. [Diagram 2] FIG. 4 is a data flow diagram in a state before migration starts according to the first embodiment. [Diagram 3] FIG. 4 is a data flow diagram in a transition state according to the first embodiment. [Figure 4] FIG. 4 is a data flow diagram in a transition state according to the first embodiment. [Diagram 5] FIG. 11 is a data flow diagram in a state after migration is completed according to the first embodiment. [Figure 6] FIG. 2 is a hardware configuration diagram of a control device 10 of a transfer source and a control device 20 of a transfer destination according to the first embodiment. [Figure 7] FIG. 2 is a hardware configuration diagram of the input / output device 30 according to the first embodiment. [Figure 8] 5 is a flowchart showing the operation of the calculation execution unit 111 of the source control device 10 according to the first embodiment. [Figure 9] 5 is a flowchart showing the operation of an input / output control unit 31 of the input / output device 30 according to the first embodiment. [Figure 10] 4 is a flowchart showing the operation of a migration execution unit 241 according to the first embodiment. [Figure 11] 4 is a flowchart showing the operation of a period calculation section 21 according to the first embodiment. [Figure 12] 4 is a flowchart showing the operation of a calculation reproducing unit 212 according to the first embodiment. [Figure 13] 5 is a flowchart showing the operation of an initial synchronization section 242 according to the first embodiment. [Figure 14] 4 is a flowchart showing the operation of a transition assistance unit 14 according to the first embodiment. [Figure 15] 5 is a flowchart showing the operation of a transition assistance unit 34 according to the first embodiment. [Figure 16] FIG. 4 is an explanatory diagram of an example of a state of a calculation data section 22 in a transition state according to the first embodiment. [Figure 17] FIG. 11 is a configuration diagram of a control transfer system 100 according to a second embodiment. [Figure 18] 11 is a flowchart showing the operation of a migration execution unit 241 according to the second embodiment. [Figure 19] 10 is a flowchart showing the operation of a transition assistance unit 14 according to the second embodiment. [Figure 20] 11 is a flowchart showing the operation of the matching information transfer unit 15 according to the second embodiment. [Figure 21] 11 is a flowchart showing the operation of a calculation reproducing unit 212 according to the second embodiment. [Figure 22] 10 is a flowchart showing the operation of a collation / acquisition unit 26 according to the second embodiment. [Figure 23] 10 is a flowchart showing the operation of a matching execution unit 27 according to the second embodiment. [Figure 24] FIG. 11 is a configuration diagram of a control transfer system 100 according to a third embodiment. [Diagram 25] 11 is a flowchart showing the operation of an order determination unit 29 according to the third embodiment. [Figure 26] FIG. 13 is an explanatory diagram of a specific example of a method for determining a transition order according to the third embodiment. [Figure 27] FIG. 13 is an explanatory diagram of a specific example of a method for determining a transition order according to the third embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0010] Embodiment 1 ***Configuration Description*** The configuration of a control transfer system 100 according to the first embodiment will be described with reference to FIGS. The control transfer system 100 includes a source control device 10, a destination control device 20, and an input / output device 30. The source control device 10, the destination control device 20, and the input / output device 30 are connected via a network 91. The input / output device 30 is connected to a control target 40 via a transmission path 92.
[0011] Next, the states of the control transfer system 100 will be described, and then the functions of the control transfer system 100 will be described.
[0012] **States of the Control Transfer System 100** The control transfer system 100 has three states: a pre-transfer start state, a transition in progress state, and a post-transfer completion state. The pre-migration state is a state in which the control device 10 of the migration source cooperates with the I / O device 30 via the network 91 to control the control target 40. Fig. 2 shows a data flow in the pre-migration state. The transition state is a state in which information that needs to be synchronized in the source control device 10 is synchronized with the destination control device 20, and the control device with which the input / output device 30 cooperates is switched from the source control device 10 to the destination control device 20. In the transition state, the source control device 10 cooperates with the input / output device 30 via the network 91 in the pre-transition start state to control the control target 40. At the end of the transition state, the transition state is switched from the pre-transition start state in which the source control device 10 cooperates with the input / output device 30 via the network 91 to control the control target 40 to the destination control device 20 cooperates with the input / output device 30 via the network 91 to control the control target 40. Figures 3 and 4 show data flow during the transition state The post-migration state is a state in which the control device 20 of the migration destination cooperates with the input / output device 30 via the network 91 to control the control target 40. Fig. 5 shows a data flow in the post-migration state.
[0013] The transition state is classified into an initial synchronization state, a reproduction calculation state, and a switch control state. The initial synchronizing state is a state from the start of processing by the transition execution unit 241 (described later) to the end of processing by the initial synchronization unit 242 (described later). The reproducing calculation state is a state from the completion of the initial synchronizing state to the end of processing by the calculation reproducing unit 212 (described later). The switching control state is a state from the completion of the reproducing calculation state to the end of processing by the transition execution unit 241 (described later).
[0014] **Control Transfer System 100 Features** The functions of each of the control source control device 10, the control destination control device 20, and the input / output device 30 included in the control transfer system 100 will be described. In addition to the functional components described below, each device may include an operating system or hypervisor for managing the execution of the functions installed in the device.
[0015] Any means may be used for notification or status confirmation between functions in the same device. For example, notification or status confirmation between functions in the same device may be realized using a shared memory or an inter-task communication function provided by an operating system.
[0016] The execution timing or core allocation within the processor is controlled for the functions within each device so as to satisfy the following conditions 1 and 2. Condition 1 is a condition that the calculation execution unit 111 (or calculation execution unit 211) described below can receive measurement value information 621 (or measurement value information 624) once within a calculation cycle T_cyc [ms]. Condition 2 is a condition that the input / output control unit 31 can receive calculation result information 622 (or calculation result information 627) once within a calculation cycle T_cyc [ms].
[0017] *Functions of the control device 10 from which the transfer originates* The control device 10 of the transfer source includes, as functional components, a period calculation unit 11, a calculation data unit 12, a communication control unit 13, and a transfer assistance unit 14.
[0018] The periodic calculation unit 11 performs one execution unit of calculation processing in a calculation period T_cyc [ms]. A specific example of the calculation processing is a task or a set of tasks controlled by a periodic handler or an operating system. In addition, when the calculation processing is a process that runs on a virtual machine, the periodic calculation unit 11 uses the virtual machine. Specifically, the calculation execution unit 111 included in the periodic calculation unit 11 executes calculations using measurement value information 621 received from the I / O device 30 and information from the calculation data unit 12 as inputs at a calculation cycle T_cyc [ms] to generate calculation result information 622. The calculation execution unit 111 transmits the calculation result information 622 to the I / O device 30. The calculation execution unit 111 also updates a portion of the contents of the calculation data unit 12 during the execution of the calculation process. The measurement value information 621 includes the measurement value and the measurement number of the control data section 32. The calculation result information 622 includes the calculation result. The calculation result information 622 may further include the calculation number of the calculation data section 12.
[0019] The calculation data unit 12 manages data necessary for the calculation process of the period calculation unit 11 and data necessary for managing the execution of the calculation process. In the first embodiment, the calculation data unit 12 manages the measurement number used, the calculation number, the start timestamp, the end timestamp, and internal data. The measurement number used is the measurement number included in the measurement value information 621 used in the most recent calculation. The calculation number is a number that is incremented for each calculation. The start timestamp is the value of the synchronization time counter when the periodic calculation unit 11's periodic calculation processing is started or when the standby state is released. The end timestamp is the value of the synchronization time counter when the periodic calculation unit 11's periodic calculation processing goes into standby state. The internal data is data that needs to be held internally for calculation processing. The internal data also includes the generated calculation results.
[0020] The communication control unit 13 transmits and receives information to and from functions in other devices. The communication control unit 13 buffers information received from the network 91 and allows other functions in the device to acquire the information. The communication control unit 13 also buffers information requested for transmission by other functions in the device and transmits the information to the network 91 at a specific timing. Real-time communication is required for the measurement value information 621, the calculation result information 622, and the like. Therefore, the communication control unit 13 adjusts the transmission timing so that the real-time communication is guaranteed for these data. For example, a communication method conforming to the IEEE802.1TSN standard is adopted, and control is performed so that the transmission and reception of these data are completed within a certain period of time. TSN is an abbreviation for Time Sensitive Networking. The communication control unit 13 has a time synchronization function for synchronizing the time between devices. This function is realized based on a highly accurate time synchronization method such as IEEE802.1AS, which is a part of the IEEE802.1TSN standard, or IEEE1588. The result of the time synchronization function is reflected in a synchronization time counter built into the communication control unit 13.
[0021] The transition assistance unit 14 assists the transition execution unit 241 and the initial synchronization unit 242 in the transition control unit 24 included in the control device 20 of the transition destination. When the transition support unit 14 receives an initial synchronization request 625 from the initial synchronization unit 242, it generates initial synchronization information 626 and transmits it to the initial synchronization unit 242. The initial synchronization information 626 is information that needs to be synchronized among the contents of the calculation data unit 12 at the time of calculation execution of a calculation number (called a starting calculation number) in a specific period, related to the calculation execution unit 111 of the periodic calculation unit 11. The initial synchronization information 626 always includes a usage measurement number, a calculation number, a start timestamp, and an end timestamp. The initial synchronization information 626 includes internal data, but if unnecessary data is included in the internal data, it does not have to include the unnecessary data. After receiving the switching timing information 629 from the transition execution unit 241, the transition assistance unit 14 stops the period calculation unit 11 when the condition of the switching timing information 629 is satisfied. Thereafter, the transition assistance unit 14 transmits a switching completion 6211 to the transition execution unit 241. The switching timing information 629 is information indicating the condition for switching from the transition source control device 10 to the transition destination control device 20. The switching timing information 629 specifies an arbitrary condition based on information in the transition source control device 10. Specific examples of this condition include "when the value of the synchronization time counter becomes equal to or greater than a certain value" or "when the calculation number in the calculation data unit 12 becomes equal to or greater than a certain value".
[0022] *Functions of the destination control device 20* The destination control device 20 includes, as functional components, a period calculation unit 21, a calculation data unit 22, a communication control unit 23, a transition control unit 24, and a reproduction data unit 25. The calculation data unit 22 and the communication control unit 23 are the same as the calculation data unit 12 and the communication control unit 13 of the source control device 10.
[0023] The periodic calculation unit 21 includes a calculation execution unit 211 and a calculation reproduction unit 212. The calculation execution unit 211 is the same as the calculation execution unit 111 included in the periodic calculation unit 11 of the control device 10 from which the transfer is originated. After the processing of the initial synchronization section 242 is completed, the calculation reproducing section 212 executes a reproduction calculation to reproduce the calculation executed by the calculation execution section 111 of the periodic calculation section 11, from the contents of the calculation data section 22 and the reproduction data section 25. In this way, the calculation reproducing section 212 synchronizes information in the calculation data section 22 that requires synchronization with information in the calculation data section 12. The calculation reproducing unit 212 transmits a measurement value information request 623 to the transition support unit 34 , and stores the measurement value information 624 in a measurement value information buffer in the reproduced data unit 25 every time it receives the measurement value information.
[0024] The transition control unit 24 is responsible for controlling the transition. The transition control unit 24 includes a transition execution unit 241 and an initial synchronization unit 242. The transition execution unit 241 is responsible for the overall execution of the transition. The transition execution unit 241 starts the execution of the initial synchronization unit 242 and the period calculation unit 21. After the processing of the calculation reproduction unit 212 is completed, the transition execution unit 241 waits until it receives a switching preparation completion 628 from the transition assistance unit 34. The transition execution unit 241 then generates switching timing information 629 and transmits it to the transition assistance unit 14, and generates switching timing information 6210 and transmits it to the transition assistance unit 34. When the transition execution unit 241 receives a switching completion 6211 from the transition assistance unit 14 and a switching completion 6212 from the transition assistance unit 34, the transition execution unit 241 ends the transition. The initial synchronization unit 242 transmits an initial synchronization request 625 to the transition support unit 14 when the calculation reproducing unit 212 starts receiving the measurement value information 624 for the first time. The initial synchronization unit 242 receives initial synchronization information 626 as a response to the initial synchronization request 625. The initial synchronization unit 242 stores the initial synchronization information 626 in the calculation data unit 22. In addition, the initial synchronization unit 242 reflects a part of the initial synchronization information 626 in the starting point calculation number, starting point start time stamp, and starting point end time stamp managed by the reproduction data unit 25.
[0025] The reproduction data unit 25 manages information required for reproducing the operations executed by the operation execution unit 111. In the first embodiment, the reproduction data unit 25 manages a measurement value information buffer, a starting operation number, a starting timestamp, a starting end timestamp, and an estimated source operation number. The measurement value information buffer is set with the measurement value information received by the calculation reproducing unit 212. The start point calculation number is set with the calculation number in the initial synchronization information 626 received by the initial synchronization unit 242. The start point start timestamp is set with the start timestamp in the initial synchronization information 626 received by the initial synchronization unit 242. The start point end timestamp is set with the end timestamp in the initial synchronization information 626 received by the initial synchronization unit 242. The estimated source calculation number is set with the calculation number of the calculation data unit 12 that is set in the current calculation period, which is estimated by the calculation reproducing unit 212.
[0026] *Functions of I / O device 30* The input / output device 30 includes, as functional components, an input / output control unit 31, a control data unit 32, a communication control unit 33, and a transition support unit . The communication control unit 33 is the same as the communication control unit 13 of the control device 10 from which the transfer originates.
[0027] The input / output control unit 31 updates the contents of the control data unit 32 based on the measurement value 601. The input / output control unit 31 generates measurement value information 621 or measurement value information 624 from the measurement value 601, and transmits it to one of the control device 10 of the migration source and the control device 20 of the migration destination, whichever is designated as the communication destination. The input / output control unit 31 extracts the calculation result 602 from the calculation result information 622 or the calculation result information 627 received from the control device designated as the communication destination, and outputs it to the control target 40. Note that when both the calculation result information 622 and the calculation result information 627 can be received, either one may be used. The control device to be the communication destination is set from outside. In the first embodiment, the control device to be the communication destination is set by the transition support unit 34.
[0028] The control data unit 32 manages data necessary for the input / output control process of the input / output control unit 31 and data necessary for managing the execution of the input / output control process. In the first embodiment, the control data unit 32 manages at least the measurement number. The control data unit 32 may manage other necessary internal data. The measurement number is a number that is incremented each time a measurement value 601 is input.
[0029] The transition assistance unit 34 assists the operation of the transition execution unit 241 . When the transition assistance unit 34 receives the measurement value information request 623 from the calculation reproducing unit 212, it sets the control device 20 of the transition destination as the communication destination of the input / output control unit 31. When the input / output control unit 31 starts receiving the calculation result information 627 , the transition support unit 34 transmits a switching preparation completion message 628 to the transition execution unit 241 . After receiving the switching timing information 6210 from the transition execution unit 241, the transition support unit 34 deletes the transition source control device 10 from the communication destination of the input / output control unit 31 when the condition of the switching timing information 6210 is satisfied. Then, the transition support unit 34 transmits a switching completion 6212 to the transition execution unit 241. Here, the switching timing information 6210 is information indicating a condition for switching from the source control device 10 to the destination control device 20. The switching timing information 6210 specifies an arbitrary condition based on information in the input device 3. Specific examples of this condition include "when the value of the synchronization time counter becomes equal to or greater than a certain value" or "when the measurement number in the control data section 32 becomes equal to or greater than a certain value".
[0030] With reference to FIG. 6, the hardware configurations of the transfer source control device 10 and the transfer destination control device 20 according to the first embodiment will be described. The source control device 10 and the destination control device 20 are computers. The control device 10 of the transfer source includes the following hardware: a processor 101, a memory 102, a storage 103, and a communication interface 104. The processor 101 is connected to other hardware via signal lines and controls the other hardware. The control device 20 of the migration destination includes the following hardware: a processor 201, a memory 202, a storage 203, and a communication interface 204. The processor 201 is connected to other hardware via signal lines and controls the other hardware.
[0031] The hardware configuration of the input / output device 30 according to the first embodiment will be described with reference to FIG. The input / output device 30 is a computer. The input / output device 30 includes the following hardware components: a processor 301, a memory 302, a storage 303, a communication interface 304, and an input / output interface 305. The processor 301 is connected to other hardware components via signal lines and controls the other hardware components.
[0032] The processors 101, 201, and 301 are ICs that perform processing. IC stands for Integrated Circuit. Specific examples of the processors 101, 201, and 301 include a CPU, a DSP, and a GPU. CPU stands for Central Processing Unit. DSP stands for Digital Signal Processor. GPU stands for Graphics Processing Unit.
[0033] The memories 102, 202, and 302 are storage devices that temporarily store data. Specific examples of the memories 102, 202, and 302 are SRAM and DRAM. SRAM is an abbreviation for Static Random Access Memory. DRAM is an abbreviation for Dynamic Random Access Memory.
[0034] The storages 103, 203, and 303 are storage devices that store data. A specific example of the storages 103, 203, and 303 is a HDD. HDD is an abbreviation for Hard Disk Drive. The storages 103, 203, and 303 may also be portable recording media such as an SD (registered trademark) memory card, CompactFlash (registered trademark), NAND flash, a flexible disk, an optical disk, a compact disk, a Blu-ray (registered trademark) disk, or a DVD. SD is an abbreviation for Secure Digital. DVD is an abbreviation for Digital Versatile Disk.
[0035] The communication interfaces 104, 204, and 304 are interfaces for communicating with external devices via the network 91. A specific example of the communication interfaces 104, 204, and 304 is an Ethernet (registered trademark) port.
[0036] The input / output interface 305 is an interface for performing input / output with the outside via the transmission path 92. Specific examples of the input / output interface 305 include USB and HDMI (registered trademark) ports. USB is an abbreviation for Universal Serial Bus. HDMI is an abbreviation for High-Definition Multimedia Interface.
[0037] The function of each functional component of the source control device 10 is realized by software. A program that realizes the function of each functional component of the source control device 10 is stored in storage 103. This program is loaded into memory 102 by processor 101 and executed by processor 101. This realizes the function of each functional component of the source control device 10. Similarly, the function of each functional component of the migration destination control device 20 is realized by software. A program that realizes the function of each functional component of the migration destination control device 20 is stored in the storage 203. This program is loaded into the memory 202 by the processor 201 and executed by the processor 201. As a result, the function of each functional component of the migration destination control device 20 is realized. Similarly, the function of each functional component of the input / output device 30 is realized by software. A program that realizes the function of each functional component of the input / output device 30 is stored in the storage 303. This program is loaded into the memory 302 by the processor 301 and executed by the processor 301. In this way, the function of each functional component of the input / output device 30 is realized.
[0038] The function of the communication control unit 13 is realized by utilizing a communication interface 104. Similarly, the function of the communication control unit 23 is realized by utilizing a communication interface 204. Similarly, the function of the communication control unit 33 is realized by utilizing a communication interface 304. Moreover, the calculation data section 12 manages data using a memory 102. Similarly, the calculation data section 22 and the reproduction data section 25 manage data using a memory 202. Similarly, the control data section 32 manages data using a memory 302. Furthermore, the input / output control unit 31 receives an input of a measurement value 601 via the input / output interface 305 and outputs a calculation result 602 .
[0039] ***Explanation of Operation*** The operation of the control transfer system 100 according to the first embodiment will be described. An operation procedure of the control transfer system 100 according to the embodiment 1 corresponds to the control transfer method according to the embodiment 1. Moreover, a program for realizing the operation of the control transfer system 100 according to the embodiment 1 corresponds to the control transfer program according to the embodiment 1.
[0040] As described above, the control transition system 100 has three states: a pre-transition start state, a transition state, and a post-transition completion state. Here, the operation will be explained separately for the pre-transition start state, the transition state, and the post-transition completion state.
[0041] **Before migration begins** The operation of control transfer system 100 in the pre-transfer start state according to the first embodiment will be described with reference to FIGS. 2, 8, and 9. FIG. The pre-migration state is a state in which the source control device 10 cooperates with the input / output device 30 via the network 91 to control the control target 40. At this time, in the source control device 10, the calculation execution unit 111 executes calculation processing, and the control target 40 is controlled by the calculation result of the calculation processing. At this time, the source control device 10 is set as the communication destination of the input / output control unit 31.
[0042] The operation of the operation execution unit 111 of the transfer source control device 10 according to the first embodiment will be described with reference to Figs. In step S 11 , the calculation execution unit 111 acquires the value of the synchronization time counter of the communication control unit 13 , and stores it as a start time stamp in the calculation data unit 12 . In step S 12 , the calculation execution unit 111 acquires the measurement value information 621 received by the communication control unit 13 . In step S13, the calculation execution unit 111 executes calculation processing based on the measurement value information 621 acquired in step S12 and the contents of the internal data of the calculation data unit 12, updates the used measurement number, calculation number, and internal data managed by the calculation data unit 12, and also generates calculation result information 622. In step S14, the operation execution unit 111 notifies the communication control unit 13 of a request to transmit the operation result information 622 generated in step S13 to the input / output control unit 31. In step S15, the calculation execution unit 111 obtains the value of the synchronization time counter in the communication control unit 13 and stores it in the end timestamp of the calculation data unit 12. Then, the calculation execution unit 111 waits until the next execution timing. Here, the next execution timing is the time when the calculation cycle T_cyc [ms] has elapsed from the current startup. Any waiting method can be used, and for example, it is possible to calculate the waiting time until the next startup using the start timestamp or end timestamp and wait for that time.
[0043] The operation of the input / output control unit 31 of the input / output device 30 according to the first embodiment will be described with reference to FIGS. In step S21, the input / output control unit 31 receives an input of the measured value 601 from the control target 40 via the input / output interface 304. In step S22, the input / output control unit 31 updates the measurement number managed by the control data unit 32 and generates the measurement value information 621. Then, the input / output control unit 31 notifies the communication control unit 33 of a transmission request for transmitting the measurement value information 621 to the source control device 10, which is the control device specified as the communication destination. In step S23, the input / output control unit 31 acquires from the communication control unit 33 the calculation result information 622 received from the transfer source control device 10, which is the control device designated as the communication destination. In step S24, the input / output control unit 31 extracts the calculation result 602 from the calculation result information 622 acquired in step S23. Then, the input / output control unit 31 outputs the calculation result 602 to the control target 40 via the input / output interface 304. In step S25, the input / output control unit 31 waits until the next execution timing.
[0044] **Transitioning state** The operation of the control transfer system 100 in the transition state according to the first embodiment will be described with reference to FIGS. 3 and 4 and to FIGS. The transition state is a state in which information that needs to be synchronized in the source control device 10 is synchronized with the destination control device 20, and the control device with which the input / output device 30 cooperates is switched from the source control device 10 to the destination control device 20. In the transition state, the source control device 10 cooperates with the input / output device 30 via the network 91 in the pre-transition start state to control the control target 40. At the end of the transition state, the transition state is switched from the pre-transition start state in which the source control device 10 cooperates with the input / output device 30 via the network 91 to control the control target 40 to the destination control device 20 cooperates with the input / output device 30 via the network 91 to control the control target 40. The transition state is classified into an initial synchronization state, a reproduction calculation state, and a switching control state. Here, the operations of the initial synchronization state, the reproduction calculation state, and the switching control state will be described separately.
[0045] *Initial syncing state* The initial synchronizing state is a state from when the transition execution unit 241 starts processing to when the initial synchronization unit 242 ends processing. When control transfer is started, the operation flow of the transfer execution unit 241 of the transfer destination control device 20 (see FIG. 10) is started. Also, the operation flow of the transfer support unit 14 of the transfer source control device 10 (see FIG. 14) is started. Also, the operation flow of the transfer support unit 34 of the input / output device 30 (see FIG. 15) is started.
[0046] The operation of the migration execution unit 241 according to the first embodiment will be described with reference to FIG. In step S31, the transition execution unit 241 instructs execution of the operation flow of the period calculation unit 21 (see FIG. 11) and the operation flow of the initial synchronization unit 242 (see FIG. 13). Note that the operation flow of the period calculation unit 21 and the operation flow of the initial synchronization unit 242 are executed in parallel. For example, the operation flow of the period calculation unit 21 and the operation flow of the initial synchronization unit 242 are executed as different tasks. In step S32, the transition execution unit 241 waits until the process of the calculation reproduction unit 212 of the period calculation unit 21 is completed. This waiting state is released in the switching control state. Therefore, the process from step S33 onwards will be described later.
[0047] The operation of the period calculation section 21 according to the first embodiment will be described with reference to FIG. In step S41, the period calculation section 21 instructs execution of the operation flow (see FIG. 12) of the calculation reproducing section 212. Since step S42 is executed after the operation flow of the calculation reproducing section 212 ends, the process after step S42 will be described later.
[0048] The operation of the calculation reproducing unit 212 according to the first embodiment will be described with reference to FIGS. In step S51, the calculation reproducing unit 212 executes initialization processing required for initializing the period calculation unit 21. Specifically, the calculation reproducing unit 212 initializes a portion of the internal data managed by the calculation data unit 22 that is not subject to synchronization by the initial synchronization unit 242. The calculation reproducing unit 212 also matches the phase at which the calculation period T_cyc [ms] is started to the phase of the period calculation unit 11 of the source control device 10. The calculation reproducing unit 212 also notifies the communication control unit 23 of a transmission request for the measurement value information request 623 to the transition support unit 34 of the input / output device 30. In step S 52 , the calculation reproducing unit 212 acquires the value of the synchronization time counter from the communication control unit 23 , and stores it in the start time stamp managed by the calculation data unit 22 . In step S53, if the communication control unit 23 has already received the measurement value information 624, the calculation reproducing unit 212 acquires it. Then, the calculation reproducing unit 212 stores the measurement value information 624 in a measurement value information buffer managed by the reproduction data unit 25. In step S54, if the operation flow (see FIG. 13) of the initial synchronization unit 242 is completed, the calculation reproducing unit 212 advances the process to step S56. On the other hand, if the operation flow (see FIG. 13) of the initial synchronization unit 242 is not completed, the calculation reproducing unit 212 advances the process to step S55. In step S55, the calculation reproducing unit 212 obtains the value of the synchronization time counter from the communication control unit 23 and stores it in the end time stamp of the calculation data unit 22. Then, the calculation reproducing unit 212 waits until the next execution timing of the periodic calculation unit 21, and then returns the process to step S52. When the operation flow of the initial synchronization unit 242 ends, the initial synchronizing state ends. Therefore, the process from step S56 onwards will be described later.
[0049] The operation of initial synchronization section 242 according to the first embodiment will be described with reference to FIGS. In step S71, the initial synchronization unit 242 waits until the calculation reproducing unit 212 starts receiving the measurement value information 624 for the first time in step S53 of FIG. In step S72, the initial synchronization unit 242 notifies the communication control unit 23 of a request to transmit an initial synchronization request 625 to the transition support unit 14 of the control device 10 that is the transition source. In step S73, the initial synchronization unit 242 waits until the communication control unit 23 receives the initial synchronization information 626 from the transition support unit 14 of the control device 10 that is the transition source. In step S74, the initial synchronization section 242 acquires the initial synchronization information 626 from the communication control section 23. Then, the initial synchronization section 242 reflects the information of the initial synchronization information 626 in the calculation data section 22 and the reproduction data section 25, and ends the process. Here, the initial synchronization information 626 is information that needs to be synchronized among the contents of the calculation data section 12 at the time of execution of a calculation of a calculation number (called a starting calculation number) in a specific period related to the calculation execution section 111. Here, the initial synchronization information 626 includes a usage measurement number, a calculation number, a start timestamp, and an end timestamp. The initial synchronization information 626 may also include internal data.
[0050] The operation of the transition support unit 14 according to the first embodiment will be described with reference to FIGS. In step S81, the transition assistance unit 14 waits until the communication control unit 13 receives the initial synchronization request 625 from the initial synchronization unit 242. When the communication control unit 13 receives the initial synchronization request 625, the transition assistance unit 14 acquires the initial synchronization request 625. In step S82, the transition support unit 14 waits until the calculation execution unit 111 of the cycle calculation unit 11 enters the next standby state. In step S83, the transition support unit 14 sets the calculation cycle at the time of executing the process as the specific cycle and generates initial synchronization information 626. Then, the transition support unit 14 notifies the communication control unit 13 of a transmission request for the initial synchronization unit 242 to transmit the initial synchronization information 626. In step S84, the transition support unit 14 waits until the communication control unit 13 receives the switching timing information 629 from the transition execution unit 241. When the communication control unit 13 receives the switching timing information 629, the transition support unit 14 acquires the switching timing information 629. Note that, since the reception of the switching timing information 629 is in a switching control in progress state, the processing from step S85 onward will be described later.
[0051] The operation of the transition support unit 34 according to the first embodiment will be described with reference to FIGS. In step S91, the transition assistance unit 34 waits until the communication control unit 33 receives the measurement value information request 623 from the calculation reproducing unit 212. When the communication control unit 33 receives the measurement value information request 623, the transition assistance unit 34 acquires the measurement value information request 623. In step S92, the transition support unit 34 adds the transition destination control device 20 to the communication destinations of the input / output control unit 31. As a result, the input / output control unit 31 sends a transmission request for the measurement value information 624 and acquires the calculation result information 627. In step S93, the transition support unit 34 waits until the communication control unit 33 starts receiving the computation result information 627 from the computation execution unit 211 of the transition destination control device 20. Note that since the computation result information 627 is received in the switching control state, the processing from step S94 onwards will be described later.
[0052] *Reproduction calculation in progress* The reproduced calculation in progress state is a state from the completion of the initial synchronization in progress state to the end of the processing by the calculation reproducing unit 212 . When the operation flow of the initial synchronization unit 242 shown in Fig. 13 ends, the initial synchronizing state ends. Then, the process proceeds from step S54 in Fig. 12 to step S56.
[0053] The operation of the calculation reproducing unit 212 will be described with reference to FIG. 3 and FIG. In step S56, the calculation reproducing unit 212 obtains the value of the synchronization time counter from the communication control unit 23 and stores it in the end time stamp managed by the calculation data unit 22. Then, the calculation reproducing unit 212 waits until the next execution timing, which is the time when the calculation cycle T_cyc [ms] has elapsed since the current startup. In step S 57 , the calculation reproducing unit 212 acquires the value of the synchronization time counter from the communication control unit 23 , and stores it in the start time stamp managed by the calculation data unit 22 . In step S58, if the communication control unit 23 has already received the measurement value information 624, the calculation reproducing unit 212 acquires the measurement value information 624. Then, the calculation reproducing unit 212 stores it in a measurement value information buffer managed by the reproduction data unit 25. In step S59, the calculation reproducing unit 212 estimates the calculation number of the calculation execution unit 111 of the source control device 10 in the calculation cycle at the time of executing the process. Then, the calculation reproducing unit 212 stores the estimated calculation number in the estimated source calculation number managed by the reproduction data unit 25.
[0054] The operation reproducing unit 212 estimates the operation number of the operation executing unit 111 in the following procedure. First, the calculation reproducing unit 212 obtains a synchronization time counter from the communication control unit 23. The calculation reproducing unit 212 calculates the elapsed time since the calculation execution unit 111 executed the calculation indicated by the starting point calculation number managed by the reproduction data unit 25, from the difference between the synchronization time counter and the value of the starting point start time stamp or the starting point end time stamp managed by the reproduction data unit 25. In other words, the calculation reproducing unit 212 calculates the elapsed time from the start or end time of the calculation process in a specific cycle to the time when the current process is being executed. The calculation cycle in which the current process is being executed is set to the transition cycle at this time. The calculation reproducing unit 212 estimates the number of times the calculation process has been or will be executed by the calculation execution unit 111 from the calculation cycle next to the specific cycle to the calculation cycle in which the current process is being executed, from the calculated elapsed time and the calculation cycle T_cyc [ms]. The calculation reproducing unit 212 estimates the sum of the number of executions and the starting calculation number managed by the reproduction data unit 25 as the calculation number of the calculation execution unit 111 in the calculation cycle in which the process is being executed.
[0055] Once a value has been set for the estimated source operation number, the operation number is estimated for each operation cycle T_cyc [ms] thereafter. Therefore, instead of the above process, the operation reproducing unit 212 may estimate a value obtained by adding 1 to the current estimated source operation number as the operation number of the operation executing unit 111 in the operation cycle in which the process is being executed.
[0056] In step S60, the operation reproduction unit 212 determines whether the value of the operation number managed by the operation data unit 22 is less than the value of the estimated transition source operation number managed by the reproduction data unit 25. If the value of the operation number is less than the value of the estimated transition source operation number, the operation reproduction unit 212 proceeds to step S61. On the other hand, if the value of the operation number is not less than the value of the estimated transition source operation number, the operation reproduction unit 212 proceeds to step S64. In step S64, the operation reproduction unit 212 acquires the value of the synchronization time counter, stores it in the end timestamp managed by the operation data unit 22, and ends the process.
[0057] In step S61, if the operation reproduction unit 212 has not executed the processes of step S62 and step S63 within the operation cycle T_cyc [ms] for the restricted number of times C_max, the operation reproduction unit 212 proceeds to step S62. On the other hand, if the operation reproduction unit 212 has executed the process for the restricted number of times C_max, the operation reproduction unit 212 returns to step S56. Here, the restricted number of times C_max is a natural number determined within the range that satisfies d[ms]*C_max <= D_max, where d[ms] is the maximum value of the total value of the processing time from step S60 to step S63 and the margin time. D_max [ms] is the maximum time during which the processing of the cycle operation unit 21 can be preferentially executed over other processes until the next execution timing of the operation processing, and it is ensured that at least C_max >= 2.
[0058] In step S62, the operation reproduction unit 212 acquires the measurement value information including the same number as the value obtained by adding 1 to the used measurement number managed by the operation data unit 22 from the measurement value information buffer managed by the reproduction data unit 25. In step S63, the operation reproduction unit 212 executes a reproduction operation based on the measurement value information acquired in step S62 and the content of the internal data managed by the operation data unit 22. The reproduction operation is an operation that reproduces the operation processing by the operation execution unit 111. The operation reproduction unit 212 generates the operation result of the reproduction operation and updates the used measurement number, operation number, and the content of the internal data managed by the operation data unit 22.
[0059] *Switching control in progress* The switching control state is a state from the completion of the reproduction calculation state to the end of the processing of the transition execution unit 241. When the operation flow of the calculation reproducing unit 212 shown in Fig. 12 ends, the process of step S42 in Fig. 11 is started. Also, the standby state of step S32 in Fig. 10 is released, and the process of step S33 is started.
[0060] The operation of the period calculation unit 21 will be described with reference to FIG. 4 and FIG. In step S42, the cycle calculation unit 21 waits until the next execution timing, and then advances the process to step S43. In step S43, the periodic calculation unit 21 causes the calculation execution unit 211 to start the calculation process. This causes the calculation execution unit 211 to start transmitting the calculation result information 627 to the input / output device 30. Then, the control target 40 can be controlled using the result of the calculation process executed by the calculation execution unit 211. In other words, after the transition period last set in step S59 in FIG. 12, the control target 40 can be controlled using the result of the calculation process executed by the calculation execution unit 211. In principle, the operation flow and explanation of the operation execution unit 211 are the same as those of the operation flow and explanation of the operation execution unit 111 shown in Fig. 8. However, it is necessary to replace the wording in the explanation from the wording about the source control device 10 to the wording about the destination control device 20.
[0061] The operation of the migration execution unit 241 will be described with reference to FIG. 4 and FIG. In step S33, the transition execution unit 241 waits until the communication control unit 23 receives the switching preparation completion 628 from the transition support unit 34. When the communication control unit 23 receives the switching preparation completion 628, the transition execution unit 241 acquires the switching preparation completion 628. In step S34, the transition execution unit 241 generates the switching timing information 629 and the switching timing information 6210. Then, the transition execution unit 241 notifies the communication control unit 23 of a transmission request for the switching timing information 629 to the transition support unit 14 and a transmission request for the switching timing information 6210 to the transition support unit 34. In step S35, the transition execution unit 241 waits until the communication control unit 23 receives the switching completion 6211 from the transition support unit 14 and the communication control unit 23 receives the switching completion 6212 from the transition support unit 34. When the communication control unit 23 receives the switching completion 6211 and the switching completion 6212, the transition execution unit 241 acquires the switching completion 6211 and the switching completion 6212 and ends.
[0062] The operation of the transition support portion 14 will be described with reference to FIGS. In step S84, the transition support unit 14 completes the standby state by transmitting the switching timing information 629 in step S34. Then, the transition support unit 14 advances the process to step S85. In step S85, the transition support unit 14 waits until the condition of the switching timing information 629 is satisfied. In step S86, the transition support unit 14 stops the operation of the cycle calculation unit 11. In step S87, the transition support unit 14 notifies the communication control unit 13 of a request to send a switching completion message 6211 to the transition execution unit 241.
[0063] The operation of the transition support portion 34 will be described with reference to FIGS. In step S93, the transition support unit 34 starts receiving the calculation result information 627 and completes the standby state as a result of the calculation execution unit 211 starting the calculation process in step S43 of Fig. 11. Then, the transition support unit 34 advances the process to step S94. In step S94, the transition support unit 34 notifies the communication control unit 33 of a request to the transition execution unit 241 to send a switching preparation completion 628 message. In step S95, the transition support unit 34 waits until the communication control unit 33 receives the switching timing information 6210 from the transition execution unit 241. When the communication control unit 33 receives the switching timing information 6210, the transition support unit 34 acquires the switching timing information 6210. In step S96, the transition support unit 34 waits until the condition of the switching timing information 6210 is satisfied. In step S97, the transition support unit 34 deletes the transition source control device 10 from the communication destination of the input / output control unit 31. As a result, the input / output control unit 31 no longer issues a transmission request for the measurement value information 621 and acquires the calculation result information 622. In step S98, the transition support unit 34 notifies the communication control unit 33 of a request to send a switching completion 6212 to the transition execution unit 241.
[0064] **Status after migration complete** The post-migration state is a state in which the destination control device 20 cooperates with the input / output device 30 via the network 91 to control the control target 40. At this time, in the destination control device 20, the calculation execution unit 211 executes calculation processing, and the control target 40 is controlled by the calculation result of the calculation processing. At this time, the destination control device 20 is set as the communication destination of the input / output control unit 31 by the above-mentioned processing in the transition state.
[0065] The operation of the control transfer system 100 in the post-transfer completion state is the same as the pre-transfer start state, except that the transfer destination control device 20 controls the control target 40 instead of the transfer source control device 10. In other words, as shown in Fig. 5, in the post-transfer completion state, the calculation execution unit 211 performs calculation processing instead of the calculation execution unit 111, and measurement value information 624 and calculation result information 627 are transmitted and received between the calculation execution unit 211 and the input / output control unit 31.
[0066] *Example of the state of the calculation data section 22* An example of the state of the calculation data section 22 in the transition state according to the first embodiment will be described with reference to FIG. 16, the reproduction calculation is performed with the starting calculation number=N and C_max=3. That is, the calculation number in the specific period in which the transition support unit 14 generates the initial synchronization information 626 in step S83 in FIG.
[0067] By the time the initial synchronizing state is completed, the initial synchronization unit 242 acquires initial synchronization information 626 from the source control device 10, including information that needs to be synchronized until the calculation processing of the starting calculation number N is completed by the calculation execution unit 111 managed by the calculation data unit 12. Then, the initial synchronization unit 242 synchronizes with the calculation data unit 22 and reflects it in the reproduced data unit 25. In Fig. 16, at the time when the calculation number is N+10 at which the initial synchronizing state is completed, synchronization of the information that needs to be synchronized until the calculation processing of the starting calculation number N is completed is completed. In other words, this represents a situation in which the transfer time of information that needs to be synchronized is longer than the calculation cycle T_cyc [ms]. Furthermore, by the time the initial synchronizing state is completed, the calculation reproducing section 212 sets the measurement value information 624 obtained from the input / output device 30 in the measurement value information buffer managed by the reproduced data section 25 .
[0068] In the reproduction calculation state, the calculation reproducing unit 212 performs reproduction calculation of the calculation execution unit 111 of the source control device 10 based on the information managed by the calculation data unit 22 and the reproduction data unit 25 and the value of the synchronization time counter. At this time, the calculation reproducing unit 212 does not need to transfer information that requires synchronization from the source control device 10. In FIG. 16, the reproduction calculation is started from the point when the calculation number of the calculation execution unit 111 is N+11. First, the calculation reproducing unit 212 sets the estimated source calculation number to N+11 in step S59 in Fig. 12. Then, since C_max=3, the calculation reproducing unit 212 executes three calculation processes, N+1, N+2, and N+3. Even after executing three calculation processes, the calculation number "N+3" of the calculation process executed by the calculation reproducing unit 212 is less than the estimated source calculation number "N+11". Therefore, in step S61 in Fig. 12, the process is returned to step S56. Then, in the next calculation cycle, the calculation reproducing unit 212 sets the estimated source calculation number to N+12 in step S59 of Fig. 12. Then, since C_max = 3, the calculation reproducing unit 212 executes three calculation processes, N+4, N+5, and N+6. Even after executing three calculation processes, the calculation number "N+6" of the calculation process executed by the calculation reproducing unit 212 is less than the estimated source calculation number "N+12". Therefore, in step S61 of Fig. 12, the process is returned to step S56. In a calculation cycle after repeating the same process several times, the calculation reproducing unit 212 sets the estimated source calculation number to N+15 in step S59 of Fig. 12. Then, the calculation reproducing unit 212 executes the calculation processes of N+13, N+14, and N+15. Then, the calculation number "N+15" of the calculation process executed by the calculation reproducing unit 212 is no longer less than the estimated source calculation number "N+15". Therefore, data synchronization is completed between the calculation data unit 12 of the source control device 10 and the calculation data unit 22 of the destination control device 20. In this way, even if the transfer time of information that requires synchronization is longer than the calculation cycle T_cyc [ms], it is possible to synchronize the calculation data section 22 with the calculation data section 12.
[0069] In the state of switching control, the execution of the calculation execution unit 211 starts, and the same calculation result as that of the calculation execution unit 111 is generated. Therefore, even in the calculation cycle of the calculation number N+16 or later, the calculation data unit 22 is synchronized with the calculation data unit 12. In this state, the transition control unit 24, the transition assistance unit 14, and the transition assistance unit 34 cooperate with each other to switch from the transition source control device 10 to the transition destination control device 20, and the transition is completed. As a result of the above, the state of the calculation processing of the control device 10 from which the transfer is made can be synchronized with the state of the control device 20 to which the transfer is made, while preventing any effect on the production equipment that is the control target 40, thereby completing the transfer.
[0070] ***Advantages of the First Embodiment*** As described above, in the control transfer system 100 according to the first embodiment, the information that requires synchronization of the source control device 10 in a specific period is synchronized by the initial synchronization unit 242 to the destination control device 20. Thereafter, the calculation reproducing unit 212 executes a reproduction calculation of the calculation process by the calculation execution unit 111 without requiring the transfer of the content that requires synchronization of the source control device 10, and the destination control device 20 is brought into a state of synchronization with the source control device 10. This makes it possible to synchronize the calculation data unit 22 with the calculation data unit 12 even when the transfer time of information requiring synchronization is longer than the calculation cycle T_cyc [ms]. As a result, the state of the calculation process of the transfer source control device 10 can be synchronized with the state of the transfer destination control device 20 without affecting the production equipment that is the controlled object 40, thereby completing the transfer.
[0071] ***Other configurations*** <Variation 1> In the first embodiment, each functional component is realized by software. However, as a first modification, each functional component may be realized by hardware. The following describes the first modification in terms of differences from the first embodiment.
[0072] When each functional component is realized by hardware, the source control device 10 includes an electronic circuit instead of the processor 101, the memory 102, and the storage 103. The electronic circuit is a dedicated circuit for realizing the functions of each functional component, the memory 102, and the storage 103.
[0073] When each functional component is realized by hardware, the destination control device 20 includes an electronic circuit instead of the processor 201, the memory 202, and the storage 203. The electronic circuit is a dedicated circuit for realizing the functions of each functional component, the memory 202, and the storage 203.
[0074] When each functional component is realized by hardware, the input / output device 30 includes an electronic circuit instead of the processor 301, the memory 302, and the storage 303. The electronic circuit is a dedicated circuit for realizing the functions of each functional component, the memory 302, and the storage 303.
[0075] The electronic circuits include single circuits, composite circuits, programmed processors, parallel programmed processors, logic ICs, GAs, ASICs, and FPGAs. GA stands for Gate Array. ASIC stands for Application Specific Integrated Circuit. FPGA stands for Field-Programmable Gate Array. Each functional component may be realized by one electronic circuit, or each functional component may be realized by distributing it among a plurality of electronic circuits.
[0076] <Variation 2> As a second modification, some of the functional components may be realized by hardware, and other functional components may be realized by software.
[0077] The processor 51, the memory 52, the storage 53, and the electronic circuitry are collectively referred to as a processing circuit. In other words, the functions of the respective functional components are realized by the processing circuit.
[0078] Embodiment 2 The second embodiment differs from the first embodiment in that the contents of the calculation data section 22 updated by the reproduction calculation by the calculation reproduction section 212 are compared with the contents of the calculation data section 12 updated by the calculation process by the calculation execution section 111. In the second embodiment, this difference will be explained, and the explanation of the same points will be omitted.
[0079] ***Configuration Description*** The configuration of a control transfer system 100 according to the second embodiment will be described with reference to FIG. The functions of each of the control source control device 10, the control destination control device 20, and the input / output device 30 included in the control transfer system 100 will be described.
[0080] *Functions of the control device 10 at the source of migration* The control device 10 at the source of migration is different from the control device 10 at the source of migration shown in FIG. 1 in that it includes a collation information transfer unit 15 as a functional component.
[0081] In addition to the functions described in the first embodiment, the migration assistance unit 14 has a function of starting the execution of the collation information transfer unit 15.
[0082] The collation information transfer unit 15 transfers the source collation information 6213 to the control device 20 at the destination of migration. The source collation information 6213 is information among the information managed by the arithmetic data unit 12 for which the processing results should be collated for each operation. For example, the source collation information 6213 is a part of internal data such as the usage measurement number, the operation number, and the operation result.
[0083] *Functions of the control device 20 at the destination of migration* The control device 20 at the destination of migration is different from the control device 20 at the destination of migration shown in FIG. 1 in that it includes a collation acquisition unit 26, a collation execution unit 27, and a collation data unit 28 as functional components.
[0084] In addition to the functions described in the first embodiment, the operation reproduction unit 212 has a function of generating reproduction collation information and storing it in the reproduction collation information buffer of the collation data unit 28. The reproduction collation information is configured to be the same as the configuration of the source collation information 6213.
[0085] The collation acquisition unit 26 acquires the source collation information 6213 transferred from the collation information transfer unit 15 and stores it in the source collation information buffer of the collation data unit 28.
[0086] The matching execution unit 27 compares the information in the source matching information buffer in the matching data unit 28 with the information in the reproduced matching information buffer, and determines whether they match. If they do not match, the matching execution unit 27 performs any error processing to improve reliability. For example, the matching execution unit 27 performs a retry process or a migration interruption process. If they match, the matching execution unit 27 sends a matching completion 6214 to the matching information transfer unit 15. Note that the matching completion 6214 is not sent each time a match is confirmed, but is sent after matching of all data is completed.
[0087] The matching data unit 28 manages information for matching. Specifically, the matching data unit 28 manages the source matching information 6213 acquired by the matching acquisition unit 26 using the source matching information buffer. In addition, the matching data unit 28 manages the reproduction matching information generated by the calculation reproduction unit 212 using the reproduction matching information buffer.
[0088] The transition execution unit 241 has a function of starting the execution of the matching execution unit 27 and the matching acquisition unit 26, and a function of waiting for the matching execution unit 27 to complete its execution.
[0089] ***Explanation of Operation*** The operation of the control transfer system 100 according to the second embodiment will be described. An operation procedure of the control transfer system 100 according to the embodiment 2 corresponds to a control transfer method according to the embodiment 2. Moreover, a program for realizing the operation of the control transfer system 100 according to the embodiment 2 corresponds to a control transfer program according to the embodiment 2.
[0090] Of the three states, namely, a pre-transition start state, a transition in progress state, and a transition completed state, the operation in the transition in progress state differs from that in the first embodiment.
[0091] **Transitioning state** The operation of control transition system 100 in the transition state according to the second embodiment will be described with reference to FIGS. When control transfer is started, the operation flow of the transfer execution unit 241 of the transfer destination control device 20 (see FIG. 18) is started. Also, the operation flow of the transfer support unit 14 of the transfer source control device 10 (see FIG. 19) is started. Also, the operation flow of the transfer support unit 34 of the input / output device 30 (see FIG. 15) is started.
[0092] The operation of the migration execution unit 241 according to the second embodiment will be described with reference to FIG. The processing from step S103 to step S105 is the same as the processing from step S33 to step S35 in FIG. In step S101, the transition execution unit 241 starts execution of the operation flow of the matching acquisition unit 26 (see FIG. 22) and the operation flow of the matching execution unit 27 (see FIG. 23) in addition to the operation flow of the period calculation unit 21 and the operation flow of the initial synchronization unit 242. Note that the operation flow of the period calculation unit 21, the operation flow of the initial synchronization unit 242, the operation flow of the matching acquisition unit 26, and the operation flow of the matching execution unit 27 are executed in parallel. In step S102, the transition execution unit 241 waits until the processing of the computation reproducing unit 212 as well as the processing of the collation execution unit 27 are completed.
[0093] The operation of transition support unit 14 according to the second embodiment will be described with reference to FIG. The processing from step S111 to step S112 is the same as the processing from step S81 to step S82 in Fig. 14. The processing from step S114 to step S118 is the same as the processing from step S83 to step S87 in Fig. 14. In step S113, the transition assistance unit 14 starts execution of the operation flow (see FIG. 20) of the matching information transfer unit 15. The operation flow of the matching information transfer unit 15 is executed in parallel with other operation flows.
[0094] The operation of the matching information transfer unit 15 according to the second embodiment will be described with reference to FIG. In step S121, if the periodic calculation unit 11 is in a standby state and the source matching information 6213 for the current calculation number managed by the calculation data unit 12 has not been generated, the matching information transfer unit 15 advances the process to step S122. On the other hand, if this is not the case, the matching information transfer unit 15 returns the process to step S121. Note that if the current calculation number matches the calculation number included in the initial synchronization information 626, the matching information transfer unit 15 may return the process to step S121 without advancing the process to step S122. In step S122, if the communication control unit 13 has not yet received the matching completion 6214 from the matching acquisition unit 26, the matching information transfer unit 15 advances the process to step S123. On the other hand, if the matching completion 6214 has been received, the matching information transfer unit 15 advances the process to step S124. In step S124, the matching information transfer unit 15 acquires the matching completion 6214 from the communication control unit 13 and ends the process. In step S123, the matching information transfer unit 15 generates the migration source matching information 6213. Then, the matching information transfer unit 15 notifies the communication control unit 13 of a transmission request for the migration source matching information 6213 to the matching acquisition unit . The matching information transfer unit 15 needs to perform the process of step S123 for each calculation number. Therefore, the execution timing and the core allocation of the processor 101 are controlled so that the process of step S123 can be performed at least once from when the calculation execution unit 111 of the periodic calculation unit 11 goes into a standby state until it is started again.
[0095] The operation of the calculation reproducing unit 212 according to the second embodiment will be described with reference to FIG. The processing from step S131 to step S144 is the same as the processing from step S51 to step S64 in FIG. In step S145, the calculation reproducing unit 212 generates reproduced collation information from the information managed by the calculation data unit 22, and stores it in the reproduced collation information buffer. The reproduced collation information generated here is information corresponding to the calculation number in step S143 that was most recently executed.
[0096] The operation of the collation acquisition unit 26 according to the second embodiment will be described with reference to FIG. In step S151, the matching acquisition unit 26 advances the process to step S2 if the operation flow of the matching execution unit 27 is not completed. On the other hand, the matching acquisition unit 26 ends the process if the operation flow of the matching execution unit 27 is completed. In step S152, the matching acquisition unit 26 waits until the communication control unit 23 receives the source matching information 6213. When the communication control unit 23 receives the source matching information 6213, the matching acquisition unit 26 acquires the source matching information 6213 and stores it in a source matching information buffer managed by the matching data unit 28. Note that the matching acquisition unit 26 may set a time limit for waiting, and may return the process to step S151 if the source matching information 6213 cannot be acquired within the time limit.
[0097] The operation of the matching execution unit 27 according to the second embodiment will be described with reference to FIG. In step S161, if there is uncollated reproduction collation information in the reproduction collation information buffer managed by the collation data unit 28, the collation execution unit 27 advances the process to step S162. On the other hand, if there is no uncollated reproduction collation information in the reproduction collation information buffer, the collation execution unit 27 advances the process to step S166. In step S166, if the operation flow of the calculation reproducing unit 212 is not completed, the collation execution unit 27 returns the process to step S161. On the other hand, if the operation flow of the calculation reproducing unit 212 is completed, the collation execution unit 27 advances the process to step S167. In step S167, the collation execution unit 27 notifies the communication control unit 23 of a transmission request of the collation completion 6214 to the collation information transfer unit 15, and ends the process. In step S162, the matching execution unit 27 acquires unmatched reproduced matching information from the reproduced matching information buffer managed by the matching data unit . In step S163, if the source matching information buffer managed by the matching data unit 28 contains matching information with the same operation number as the reproduced matching information acquired in step S162, the matching execution unit 27 advances the process to step S164. On the other hand, if the source matching information 6213 with the same operation number as the reproduced matching information does not exist, the matching execution unit 27 returns the process to step S163. In addition, in consideration of a case where the reproduced calculation process generates reproduced matching information including an incorrect operation number, the matching execution unit 27 may set a time limit for the continuation of a state in which there is no source matching information 6213 with the same operation number as the reproduced matching information. Then, if the state in which there is no source matching information 6213 with the same operation number as the reproduced matching information exceeds the time limit, the matching execution unit 27 may perform error processing similar to S168 described later. In step S164, the matching execution unit 27 acquires source matching information 6213 having the same operation number as the reproduced matching information from the source matching information buffer managed by the matching data unit 28. Then, the matching execution unit 27 compares the acquired source matching information 6213 with the reproduced matching information acquired in step S162. In step S165, if the acquired source matching information 6213 matches the reproduced matching information acquired in step S162, the matching execution unit 27 returns the process to step S161. On the other hand, if the acquired source matching information 6213 does not match the reproduced matching information acquired in step S162, the matching execution unit 27 advances the process to step S168. In step S168, the collation execution unit 27 performs any error processing and ends the process.
[0098] ***Effects of the second embodiment*** As described above, the control transition system 100 according to the second embodiment collates the contents of the calculation data section 22 updated by the reproduction calculation performed by the calculation reproduction section 212 with the contents of the calculation data section 12 updated by the calculation process performed by the calculation execution section 111. This makes it possible to improve the reliability of the reproduction calculation while obtaining the effects of the first embodiment.
[0099] Embodiment 3 The third embodiment differs from the first and second embodiments in that the transfer order of the arithmetic processes is determined when a plurality of arithmetic processes are being executed in the transfer source control device 10. In the third embodiment, this difference will be described, and the description of the same points will be omitted. In the third embodiment, a case will be described in which a function is added to the first embodiment. However, it is also possible to add a function to the second embodiment.
[0100] Consider a case where multiple arithmetic processes are executed in the same core in the processor 101 in the transfer source control device 10, and all of the multiple arithmetic processes are transferred to the transfer destination control device 20 and executed in the same core in the processor 201. In this case, the value of the limit number of times C_max that can be set by each calculation reproducing unit 212 may differ depending on the transfer order in which the control processes are transferred. Therefore, the processing time of the calculation reproducing unit 212 may differ depending on the transfer order in which the control processes are transferred. Therefore, the total time required for transfer may change depending on the transfer order. In the second embodiment, when the processing time of the computation reproducing unit 212 can be estimated in advance, the order that minimizes the total time required for the transitions is estimated, and the transitions are performed in that order.
[0101] ***Configuration Description*** The configuration of a control transfer system 100 according to the third embodiment will be described with reference to FIG. The control transfer system 100 includes a source control device 10, a destination control device 20, and a plurality of input / output devices 30. The source control device 10, the destination control device 20, and each input / output device 30 are connected via a network 91. Each input / output device 30 is connected to a corresponding control target 40 via a transmission path 92. Each input / output device 30 is controlled independently of the other input / output devices 30. 24, the control transition system 100 includes two I / O devices 30, an I / O device 30A and an I / O device 30B. The I / O device 30A is connected to a control target 40A. The I / O device 30B is connected to a control target 40B. The control transition system 100 may include three or more I / O devices 30.
[0102] The functions of each of the control source control device 10, the control destination control device 20, and the input / output device 30 included in the control transfer system 100 will be described.
[0103] *Functions of the control device 10 from which the transfer originates* The source control device 10 differs from the source control device 10 shown in Fig. 1 in that it includes a set of a period calculation unit 11, a calculation data unit 12, and a transition support unit 14 for each of a plurality of calculation processes. A calculation process is provided for each input / output device 30. 24, the control device 10 of the transfer source includes a set A of a period calculation unit 11A, a calculation data unit 12A, and a transition support unit 14A for the calculation process A corresponding to the I / O device 30A. The control device 10 of the transfer source also includes a set B of a period calculation unit 11B, a calculation data unit 12B, and a transition support unit 14B for the calculation process B corresponding to the I / O device 30B.
[0104] *Functions of the destination control device 20* The destination control device 20 differs from the destination control device 20 shown in FIG. 1 in that the destination control device 20 includes a set of a period calculation unit 21, a calculation data unit 22, a transition control unit 24, and a reproduction data unit 25 for each of a plurality of calculation processes. The calculation processes are provided for each input / output device 30. 24, the destination control device 20 includes a set A of a period calculation unit 21A, a calculation data unit 22A, a transition control unit 24A, and a reproduction data unit 25A for the calculation process A corresponding to the I / O device 30A. The destination control device 20 also includes a set B of a period calculation unit 21B, a calculation data unit 22B, a transition control unit 24B, and a reproduction data unit 25B for the calculation process B corresponding to the I / O device 30B.
[0105] The order determination unit 29 determines the order in which the multiple arithmetic processes are transferred so that the total time required for the transfer of each arithmetic process is shortest.
[0106] *Functions of I / O device 30* The functional configuration of each input / output device 30 is the same as that in the first embodiment.
[0107] ***Explanation of Operation*** The operation of the control transfer system 100 according to the third embodiment will be described. An operation procedure of the control transfer system 100 according to the embodiment 3 corresponds to a control transfer method according to the embodiment 3. Moreover, a program for realizing the operation of the control transfer system 100 according to the embodiment 3 corresponds to a control transfer program according to the embodiment 3.
[0108] Of the three states, namely, a pre-transition start state, a transitioning state, and a post-transition completion state, the operation in the pre-transition start state differs from that in the first embodiment.
[0109] **Before migration begins** In the pre-transition state, the operation flow of the order determination unit 29 (see FIG. 25) starts. The operation of the order determination unit 29 according to the third embodiment will be described with reference to FIG. In step S171, the order determination unit 29 estimates the processing time of each operation reproducing unit 212 in each order in which a plurality of operation processes are transferred. The order determination unit 29 calculates the total processing time of each operation reproducing unit 212 for each order. Then, the order determination unit 29 determines the order in which the total processing time is shortest as the transfer order. The method of identifying the order in which the total processing time is shortest is arbitrary, and is realized by, for example, exhaustive search.
[0110] In step S172, the order determination unit 29 instructs each transition control unit 24 to transition the arithmetic processing in the transition order determined in step S171.
[0111] In the case of Fig. 24, in step S171, the order determination unit 29 estimates the processing time of the calculation reproducing unit 212A and the processing time of the calculation reproducing unit 212B for the order of calculation processing A and calculation processing B, and the order of calculation processing B and calculation processing A. Then, the order determination unit 29 calculates the sum of the processing time of the calculation reproducing unit 212A and the processing time of the calculation reproducing unit 212B for the order of calculation processing A and calculation processing B. Also, the order determination unit 29 calculates the sum of the processing time of the calculation reproducing unit 212A and the processing time of the calculation reproducing unit 212B for the order of calculation processing B and calculation processing A. Then, the order determination unit 29 determines the order with the shorter total processing time as the transition order.
[0112] A specific example of a method for determining the transition order according to the third embodiment will be described with reference to FIGS. In Figs. 26 and 27, the order in which the period calculation sections 11A and 11B are shifted to the period calculation sections 21A and 21B, respectively, is determined. Here, the calculation cycles T_cyc [ms] of the period calculation unit 11A and the period calculation unit 11B are the same. In addition, it is assumed that the start timing is adjusted so that at least the calculation cycle C_max>=2 can be realized in the calculation reproducing unit 212A and the calculation reproducing unit 212B. It is also assumed that the processing time until the Yes condition is satisfied in step S54 of the operation flow (see FIG. 12) of the calculation reproducing unit 212A and the calculation reproducing unit 212B is constant regardless of the transition order. It is assumed that the estimated value of the processing time considered in units of the calculation cycle T_cyc [ms] after the Yes condition is satisfied in step S54 and the initial execution of step S57 is started is t_a [ms] for the calculation reproducing unit 212A and t_b [ms] for the calculation reproducing unit 212B. It is also assumed that the processing time of the other elements is constant regardless of the transition order.
[0113] Here, we estimate the value of t_a+t_b for the following two migration orders: <Transition Order 1> When the transition is made in the order of the period calculation unit 11A for the first time and the period calculation unit 11B for the second time (see FIG. 26) It is assumed that the calculation reproducing unit 212A of the periodic calculation unit 21A can set the limit number C_max=11, and the difference between the estimated source calculation number at the start of the first reproduction calculation and the calculation number managed by the calculation data unit 22A after the first reproduction calculation is 480. It is also assumed that t_a=48 ms*T_cyc [ms] is estimated. Assume that the limit number C_max=4 can be set in the calculation reproducing section 212B of the period calculation section 21B, and the difference between the estimated source calculation number at the start of the first reproduction calculation and the calculation number managed by the calculation data section 22B after the first reproduction calculation is 30. Also assume that t_b=10 ms*T_cyc [ms] is estimated. In this case, t_a+t_b=58*T_cyc [ms].
[0114] <Transition Order 2> When the transition is performed in the order of the period calculation unit 11B for the first time and the period calculation unit 11A for the second time (see FIG. 27) It is assumed that the limit number C_max=6 can be set in the calculation reproducing section 212B of the period calculation section 21B, and the difference between the estimated source calculation number at the start of the first reproduction calculation and the calculation number managed by the calculation data section 22B after the first reproduction calculation is 30. It is also assumed that t_a=6 ms*T_cyc [ms] is estimated. Assume that C_max = 9 can be set in the calculation reproduction unit 212A of the period calculation unit 21A, the difference between the estimated source calculation number at the start of the first reproduction calculation and the calculation number managed by the calculation data unit 22A after the first reproduction calculation is 480, and t_b = 60 ms * T_cyc [ms] is estimated. In this case, t_a+t_b=66*T_cyc [ms].
[0115] In this case, the value of t_a+t_b is smaller in the transition order 1. Therefore, the order of the period calculation units 21A and 22B is determined as the transition order.
[0116] ***Effects of the Third Embodiment*** As described above, the control transfer system 100 according to the third embodiment determines the transfer order of the arithmetic processes in the order that shortens the processing time when a plurality of arithmetic processes are being executed in the transfer source control device 10. This makes it possible to shorten the time required for transfer while obtaining the effects of the first embodiment.
[0117] In addition, the word "part" in the above description may be read as a "circuit," "step," "procedure," "processing," or "processing circuit."
[0118] The above describes the embodiments and modifications of the present disclosure. Some of these embodiments and modifications may be combined and implemented. Also, one or some of them may be partially implemented. Note that the present disclosure is not limited to the above embodiments and modifications, and various modifications are possible as necessary. [Explanation of symbols]
[0119] 100 control transfer system, 10 source control device, 11 periodic calculation unit, 111 calculation execution unit, 12 calculation data unit, 13 communication control unit, 14 transfer assistance unit, 15 verification information transfer unit, 20 destination control device, 21 periodic calculation unit, 211 calculation execution unit, 212 calculation reproduction unit, 22 calculation data unit, 23 communication control unit, 24 transfer control unit, 241 transfer execution unit, 242 initial synchronization unit, 25 reproduction data unit, 26 verification acquisition unit, 27 verification execution unit, 28 verification data unit, 29 order determination unit, 30 input / output device, 31 input / output control unit, 32 control data unit, 33 communication control unit, 34 transfer assistance unit, 40 control target, 601 measurement value, 602 calculation result, 621 measurement value information, 622 calculation result information, 623 measurement value information request, 624 Measurement value information, 625 initial synchronization request, 626 initial synchronization information, 627 calculation result information, 628 switching preparation completion, 629 switching timing information, 6210 switching timing information, 6211 switching completion, 6212 switching completion, 6213 migration source matching information, 6214 matching completion, 91 network, 92 transmission path.
Claims
1. a destination control device to which control of a control object is transferred from a source control device that periodically executes arithmetic processing to control the control object, an initial synchronization unit that acquires information regarding the arithmetic processing of the control device from which the transition occurs in a specific period as initial synchronization information; a calculation reproducing unit that executes the calculation process executed in the control device from the calculation period next to the specific period to a transition period to which control is transferred based on the initial synchronization information acquired by the initial synchronization unit; and a calculation execution unit that uses a result of the calculation process executed by the calculation reproduction unit to execute the calculation process after the transition period, thereby controlling the control target; A destination control device comprising:
2. The calculation reproducing unit estimates the number of times that the calculation process has been or will be executed in the control device from the calculation cycle next to the specific cycle to the calculation cycle in which the current process is being executed in the control device from the transition source, based on an elapsed time that is the time from the specific cycle to the transition cycle and a time required for one cycle of the calculation process in the control device from the transition source, and executes the calculation process the number of times. The destination control device according to claim 1 .
3. The destination control device further includes: A matching acquisition unit that acquires, from the control device of the transfer source, matching information that is information for matching a processing result among information regarding the arithmetic processing executed in the control device of the transfer source from a calculation period next to the specific period to the transfer period; a collation execution unit that compares the collation information acquired by the collation acquisition unit with a result of the arithmetic processing executed by the calculation reproduction unit; The destination control device according to claim 1 .
4. the source control device periodically executes a plurality of arithmetic operations to control the controlled object; The destination control device further includes: an order determination unit that determines an order in which the plurality of arithmetic processes are transferred so that a total time required for the transfer of each arithmetic process is shortest; a transition control unit that controls the initial synchronization unit, the operation reproducing unit, and the operation executing unit so that the plurality of operation processes are transitioned one by one in accordance with the transition order determined by the order determination unit; The destination control device according to claim 1 .
5. A control transfer method for transferring control of a control object from a source control device that periodically executes a calculation process to a destination control device, The destination control device acquires information regarding the arithmetic processing of the source control device in a specific period as initial synchronization information, the destination control device executes the arithmetic processing to be executed in the source control device from the period next to the specific period to a transition period to which control is transferred, based on the initial synchronization information; A control transfer method in which the transfer destination control device uses the result of the calculation process executed based on the initial synchronization information to execute the calculation process after the transfer period, thereby controlling the controlled object.
6. a control transfer program for transferring control of a control object from a source control device that periodically executes a calculation process to control the control object to a destination control device, An initial synchronization process of acquiring information regarding the arithmetic processing of the control device from which the transition occurs in a specific period as initial synchronization information; a computation reproduction process for executing the computation process executed in the control device from the period next to the specific period to a transition period to which control is transferred, based on the initial synchronization information acquired by the initial synchronization process; and a calculation process of controlling the control target by executing the calculation process after the transition period using a result of the calculation process executed by the calculation reproduction process; A control transfer program that causes a computer to execute the above.
Citation Information
Patent Citations
Computer system
JP2001331201A
Redundant programmable controller for equalizing control data and equalization method
JP2002149212A
Multiplex system
JP2006003985A
Device for making storage areas of multiplexed computer match
JP2016206865A