MIGRATION TARGET CONTROL DEVICE, CONTROL MIGRATION PROCEDURE AND CONTROL MIGRATION PROGRAM
The migration target control device synchronizes calculation processes across cycles to ensure uninterrupted controller replacement by using initial synchronization and computation reproduction units, addressing incomplete synchronization issues in existing technologies.
Patent Information
- Application Number
- DE112023005647
- Authority / Receiving Office
- DE · DE
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-03-24
- Publication Date
- 2025-11-06
AI Technical Summary
Existing technologies face challenges in synchronizing the state of a standby system with an active system when data transfer time exceeds the execution cycle, leading to incomplete process synchronization during controller migration, necessitating a method to enable seamless controller replacement without stopping the control target.
A migration target control device that includes an initial synchronization unit to acquire information in a specified cycle, a computation reproducing unit to execute the computation process from the next cycle, and a calculation execution unit to control the target after migration, ensuring synchronization despite prolonged data transfer times.
Enables seamless controller interchangeability without stopping the control target by synchronizing the calculation process states, even when data transfer times exceed the execution cycle, thus maintaining continuous operation.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Technical field
[0001] The present disclosure relates to a technology for migrating a control of a control target. Background on the state of the art
[0002] There is a case where the control of a production plant is carried out by a type of control system in which a control device, which performs a cyclical calculation process, and an input / output device, which performs input / output control of the control target, are connected via a network. The control target is, for example, a sensor, an actuator, or similar device in the production plant. The input / output control by the input / output device is the control of the output of a measured value from the control target, the input of a calculation result from the control device into the control target, or similar.
[0003] There is a situation where an operational control device is replaced with another control device for maintenance, inspection, or similar purposes. At this point, it is desirable that the control device can be replaced without stopping the production plant that is the target of the control operation, thus avoiding a loss of productivity.
[0004] To achieve this, it is sufficient if a state of a calculation process of another control device, which is to be a migration target, can be synchronized and migrated with a state of a calculation process of an operating control device, which is to be a migration source, without affecting the control target.
[0005] A related conventional technology is the recovery technology for a multiplexing system.
[0006] The recovery technology for multiple systems, which synchronizes the internal states of tasks in an active system and a standby system, is described in patent reference 1. The active system is equivalent to the migration source. The standby system is equivalent to the migration target. The selection of either a first or a second means is described in patent reference 1. The first means is a means for transferring differential data of the internal state from the active system to the standby system and for reflecting the differential data back to the standby system. The second means is a means for transferring an input protocol from the active system to the standby system, and the standby system replays a process of the active system based on the input protocol. Thus, patent reference 1 attempts to reduce the recovery time of multiple systems. Reference list of patent literature
[0007] Patent Literature 1: JP 2016-206865 A Summary of the invention: Technical problem
[0008] In the technology described in patent literature 1, there may be a case where the data transfer time for state synchronization from the active system to the standby system is always longer than a cycle in which a task is executed. The data for state synchronization is differential data or an input protocol. In this case, a process of the standby system cannot be caught up with by a process of the active system. Consequently, the synchronization of the internal states of the tasks of the active system and the standby system is never completed.
[0009] The present disclosure aims to make a control device interchangeable without halting or stopping a control target, even if the data transfer time for state synchronization is longer than a cycle in which a computation process is performed. Solution to the problem
[0010] A migration target control device according to the present disclosure is a migration target control device to which the control of a control target is migrated from a migration source control device, which controls the control target by cyclically executing a computation process, wherein the migration target control device comprises: an initial synchronization unit to obtain information relating to the calculation process of the migration source control device in a specified cycle, as initial synchronization information; a computation reproduction unit, based on the initial synchronization information obtained by the initial synchronization unit, to execute the computation process that is performed in the migration source control device from a subsequent computation cycle after the specified cycle to a migration cycle to which the control is migrated; and a computation execution unit to control the control target by executing the computation process after the migration cycle using a result of the computation process executed by the computation reproduction unit. Advantageous effects of the invention
[0011] In the present disclosure, a migration target control device performs a computation process based on information relating to a computation process of a migration source control device in a specified cycle. This computation process is executed in the migration source control device from the next computation cycle after the specified cycle until a migration cycle in which the control is migrated.
[0012] Thus, even in cases where the data transfer time for state synchronization is longer than the cycle in which the computation process is executed, it is possible to synchronize a state of the computation process of the migration source control device with a state of a computation process of the migration target control device within the transfer cycle. This allows the control device to be interchangeable without halting or stopping a control target. Brief description of the drawings Fig. Figure 1 is a representation of a configuration of a control migration system 100 according to embodiment 1. Fig. Figure 2 is a data flow representation of a state prior to the start of the migration according to embodiment 1. Fig. Figure 3 is a data flow representation of a state during migration according to embodiment 1. Fig. Figure 4 is a data flow representation of a state during migration according to embodiment 1. Fig. Figure 5 is a data flow representation of a state after completion of the migration according to embodiment 1. Fig. Figure 6 is a representation of a hardware configuration of a migration source control device 10 and a migration destination control device 20 according to embodiment 1. Fig. Figure 7 is a representation of a hardware configuration of an input / output device 30 according to embodiment 1. Fig. Figure 8 is a flowchart showing the operation of a computation execution unit 111 of the migration source control device 10 according to embodiment 1. Fig. Figure 9 is a flowchart illustrating the operation of an input / output control unit 31 of the input / output device 30 according to embodiment 1. Fig. Figure 10 is a flowchart showing the operation of a migration execution unit 241 according to embodiment 1. Fig. Figure 11 is a flowchart showing the operation of a cycle calculation unit 21 according to embodiment 1. Fig. Figure 12 is a flowchart showing the operation of a computational reproduction unit 212 according to embodiment 1. Fig. Figure 13 is a flowchart showing the operation of an initial synchronization unit 242 according to embodiment 1. Fig. Figure 14 is a flowchart showing the operation of a migration assistance unit 14 according to embodiment 1. Fig. Figure 15 is a flowchart showing the operation of a migration assistance unit 34 according to embodiment 1. Fig. 16 is an illustrative representation of an example of a state of a computational data unit 22 in a state during migration according to embodiment 1. Fig. Figure 17 is a representation of a configuration of a control migration system 100 according to embodiment 2. Fig. Figure 18 is a flowchart showing the operation of a migration execution unit 241 according to embodiment 2. Fig. Figure 19 is a flowchart showing the operation of a migration assistance unit 14 according to embodiment 2. Fig. Figure 20 is a flowchart showing the operation of a sorting information transfer unit 15 according to embodiment 2. Fig. Figure 21 is a flowchart showing the operation of a computation reproduction unit 212 according to embodiment 2. Fig. Figure 22 is a flowchart showing the operation of a sorting-recovery unit 26 according to embodiment 2. Fig. Figure 23 is a flowchart showing the operation of a sorting execution unit 27 according to embodiment 2. Fig. Figure 24 is a representation of a configuration of a control migration system 100 according to embodiment 3. Fig. Figure 25 is a flowchart which represents the operation of a sequence determination unit 29 according to embodiment 3. Fig. 26 is an explanatory presentation of a specific example of a method for determining a migration sequence according to embodiment 3. Fig. 27 is an explanatory presentation of a specific example of a method for determining a migration sequence according to embodiment 3. Description of embodiments Embodiment 1.*** Description of configuration ***
[0013] A configuration of a tax migration system 100 according to embodiment 1 is described with reference to Fig. 1 to Fig. 5 described.
[0014] The control migration system 100 comprises a migration source control device 10, a migration target control device 20, and an input / output device 30. The migration source control device 10, the migration target 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 channel 92.
[0015] Next, the functions of the tax migration system 100 will be described, after describing the states that the tax migration system 100 exhibits. ** Conditions that the tax migration system 100 exhibits **
[0016] The tax migration system 100 has three states: a state before the start of a migration, a state during a migration, and a state after the completion of a migration.
[0017] The state prior to the start of a migration is a state in which the migration source control device 10 cooperates with the input / output device 30 over the network 91 to control the control target 40. Fig. Figure 2 shows a data flow of the state before the start of a migration.
[0018] The state during a migration is a state in which information in the migration source control device 10, which needs to be synchronized, is synchronized with the migration target control device 20, and a control device with which the input / output device 30 cooperates is switched from the migration source control device 10 to the migration target control device 20. In the state during a migration, the state continues in which, in the state before the start of a migration, the migration source control device 10 cooperates with the input / output device 30 via network 91 to control the control target 40.In a final stage of the state during a migration, the state in which, in the state before the start of a migration, the migration source control device 10 cooperates with the input / output device 30 via the network 91 to control the control target 40, is switched to a state in which the migration target control device 20 cooperates with the input / output device 30 via the network 91 to control the control target 40.
[0019] Fig. 3 and Fig. Figure 4 shows data flows of the state during a migration. The state after completion of a migration is a state in which the migration target control device 20 cooperates with the input / output device 30 over network 91 to control the control target 40. Fig. Figure 5 shows a data flow of the state after completion of a migration.
[0020] The state during a migration is divided into a state during an initial synchronization, a state during a reproduction calculation, and a state during a switching control.
[0021] The state during an initial synchronization is the state from the start of a process in a migration execution unit 241 (to be described later) until the end of a process in an initial synchronization unit 242 (to be described later). The state during a reproduction calculation is the state from the end of the state during an initial synchronization until the end of a process in a calculation reproduction unit 212 (to be described later). The state during a switching control is the state from the end of the state during a reproduction calculation until the end of a process in the migration execution unit 241 (to be described later). ** Functions of the Tax Migration System 100 **
[0022] The functions of each device are described, i.e., the migration source control device 10, the migration destination control device 20, and the input / output device 30, which comprise the control migration system 100.
[0023] In addition to the functional elements described later, each device may contain an operating system or a hypervisor for managing the execution of the functions installed in the device.
[0024] A means of notification or status acknowledgment between functions in the same device can be any means. For example, notification or status acknowledgment between functions in the same device is enabled via shared memory, an inter-task communication function provided by the operating system, or similar means.
[0025] The execution time or core allocation in a processor is controlled for the functions in each device such that condition 1 and condition 2 are satisfied. Condition 1 is a condition under which a computational execution unit 111 (or a computational execution unit 211), to be described later, can receive measurement information 621 (or measurement information 624) once within a computation cycle T_cyc[ms]. Condition 2 is a condition under which an input / output control unit 31 can receive computation result information 622 (or computation result information 627) once within the computation cycle T_cyc[ms]. * Functions of the migration source control device 10 *
[0026] The migration source control device 10 comprises a cycle calculation unit 11, a calculation data unit 12, a communication control unit 13 and a migration aid unit 14 as functional elements.
[0027] The cycle computation unit 11 executes a computation process with the scope of one execution unit in the computation cycle T_cyc[ms]. The computation process, as a specific example, is a task or a series of tasks controlled by a cycle controller or the operating system. If the computation process is a process running on a virtual machine, the cycle computation unit 11 uses the virtual machine.
[0028] In particular, the computation execution unit 111, which includes the cycle computation unit 11, performs a calculation using the measurement information 621 received from the input / output device 30 and information from the computation data unit 12 as input, and generates the calculation result information 622 in one cycle of the computation cycle T_cyc[ms]. The computation execution unit 111 transmits the calculation result information 622 to the input / output device 30. During the execution of the computation process, the computation execution unit 111 updates some of the contents of the computation data unit 12.
[0029] The measured value information 621 comprises a measured value and a measured value of a control data unit 32. The calculation result information 622 comprises a calculation result. The calculation result information 622 may also include a calculation value of the calculation data unit 12.
[0030] The calculation data unit 12 manages data required for the calculation process of the cycle calculation unit 11, as well as data necessary for managing the execution of the calculation process. In embodiment 1, the calculation data unit 12 manages a used measurement value, the calculation value, a start timestamp, an end timestamp, and internal data.
[0031] The measured value used is a measured value contained in the measured value information 621, which was used in one of the last calculations. The calculation number is a number that increments with each calculation. The start timestamp is a value from a synchronization time counter when the cyclic calculation process of the cycle calculation unit 11 begins or when a standby state is exited. The end timestamp is a value from the synchronization time counter when the cyclic calculation process of the cycle calculation unit 11 transitioned to the standby state. The internal data is data that must be retained internally for the calculation process. A generated calculation result is also considered internal data.
[0032] The communication control unit 13 performs the transmission and reception of information to and from a function in another device. The communication control unit 13 temporarily stores the information received from network 91 and ensures that another function of the device acquires this information. The communication control unit 13 also temporarily stores information that is to be transmitted by another function in the device and transmits the information to network 91 at a specific time.
[0033] Real-time capability is required for the communication of measurement information 621, calculation result information 622, and the like. Consequently, the communication control unit 13 adjusts the transmission time for this data to ensure real-time capability. For example, a communication system compliant with the IEEE 802.1 TSN standard is assumed and controlled so that the transmission and reception of this data are completed within a specific time period. TSN stands for Time-Sensitive Networking.
[0034] The communication control unit 13 includes a time synchronization function to synchronize the time between the devices. This function is enabled, for example, by a high-precision time synchronization system such as IEEE 802.1AS, which is part of the IEEE 802.1TSN standard, IEEE 1588, or similar. The result of the time synchronization function is displayed in a synchronization time counter built into the communication control unit 13.
[0035] The migration assistance unit 14 supports a migration execution unit 241 and an initial synchronization unit 242 in a migration control unit 24, which includes the migration target control device 20.
[0036] When an initial synchronization request 625 is received by the initial synchronization unit 242, the migration help unit 14 generates initial synchronization information 626 and transmits it to the initial synchronization unit 242. This initial synchronization information 626 is information that necessitates the synchronization of the content of the computation data unit 12 at the calculation execution time of a computation number (referred to as the start-point computation number) in a specified cycle, which is related to the computation execution unit 111 of the cycle computation unit 11. The initial synchronization information 626 always includes the measure used, the computation number, the start timestamp, and the end timestamp. The initial synchronization information 626 includes internal data, but as with internal data, unnecessary data need not be included if it is present.
[0037] The migration aid unit 14 stops the cycle calculation unit 11 when a condition of the switching time information 629 is met, after the switching time information 629 has been received from the migration execution unit 241. The migration aid unit 14 then transmits the switching termination 6211 to the migration execution unit 241. The switching time information 629 specifies a condition for switching from the migration source control device 10 to the migration target control device 20. A condition is defined for the switching time information 629 based on information in the migration source control device 10. This condition is, for example, "if the value of the synchronization time counter becomes greater than or equal to a certain value," "if the calculation number in the calculation data unit 12 becomes greater than or equal to a certain value," or similar. * Functions of the migration target control device 20 *
[0038] The migration target control device 20 comprises the cycle calculation unit 21, a calculation data unit 22, a communication control unit 23, the migration control unit 24 and a reproduction data unit 25 as functional elements.
[0039] The computation data unit 22 and the communication control unit 23 correspond to the computation data unit 12 and the communication control unit 13 of the migration source control device 10.
[0040] The cycle calculation unit 21 comprises the calculation execution unit 211 and the calculation reproduction unit 212. The calculation execution unit 211 is the same as the calculation execution unit 111, which includes the cycle calculation unit 11 of the migration source control device 10.
[0041] After completion of a process by the initial synchronization unit 242, the computation reproduction unit 212 performs a reproduction calculation to reproduce a calculation executed in the computation execution unit 111 of the cycle computation unit 11, based on the content of the computation data unit 22 and the reproduction data unit 25. In this way, the computation reproduction unit 212 synchronizes information requiring synchronization in the computation data unit 22 with the information in the computation data unit 12.
[0042] The calculation reproduction unit 212 transmits a measurement information request 623 to a migration aid unit 34 and stores the measurement information 624 in a measurement information buffer in the reproduction data unit 25 each time the measurement information 624 is received.
[0043] Migration control unit 24 is responsible for controlling the migration. Migration control unit 24 comprises migration execution unit 241 and initial synchronization unit 242.
[0044] The migration execution unit 241 is responsible for the entire migration process. Migration execution unit 241 starts the execution of the initial synchronization unit 242 and the cycle calculation unit 21. After the completion of a process by the calculation reproduction unit 212, migration execution unit 241 remains in standby mode until it receives the switching preparation termination 628 from the migration support unit 34. Afterward, migration execution unit 241 generates and transmits switching time information 629 to migration support unit 14, as well as switching time information 6210 to migration support unit 34. When switching termination 6211 is received from migration support unit 14, and switching termination 6212 is received from migration support unit 34, migration execution unit 241 terminates the migration.
[0045] Once the computational reproduction unit 212 has begun receiving the measurement information 624, the initial synchronization unit 242 transmits the initial synchronization request 625 to the migration aid unit 14. The initial synchronization unit 242 receives the initial synchronization information 626 in response to the initial synchronization request 625. The initial synchronization unit 242 stores the initial synchronization information 626 in the computational data unit 22. The initial synchronization unit 242 reflects a portion of the initial synchronization information 626 in the start point computation number, a start point start timestamp, and a start point end timestamp, which are managed by the reproduction data unit 25.
[0046] The reproduction data unit 25 manages information required for reproducing the calculations performed in the computation execution unit 111. In embodiment 1, the reproduction data unit 25 manages the measurement information buffer, the start point calculation number, the start point start timestamp, the start point end timestamp, and a derived migration source calculation number.
[0047] The measurement information received by the calculation reproduction unit 212 is stored in the measurement information buffer. The calculation number in the initial synchronization information 626, received by the initial synchronization unit 242, is set to the starting point calculation number. The start timestamp in the initial synchronization information 626, received by the initial synchronization unit 242, is set to the starting point start timestamp. The end timestamp in the initial synchronization information 626, received by the initial synchronization unit 242, is set to the starting point end timestamp. A calculation number of the calculation data unit 12, set in a current calculation cycle derived by the calculation reproduction unit 212, is set to the derived migration source calculation number. * Input / output device functions 30 *
[0048] The input / output device 30 comprises the input / output control unit 31, the control data unit 32, a communication control unit 33 and the migration aid unit 34 as functional elements.
[0049] The communication control unit 33 corresponds to the communication control unit 13 of the migration source control device 10.
[0050] The input / output control unit 31 updates the contents of the control data unit 32 based on a measured value 601. The input / output control unit 31 generates the measured value information 621 or the measured value information 624 based on the measured value 601 and transmits the measured value information 621 or the measured value information 624 to one of the control devices, the migration source control device 10 and the migration destination control device 20, which is referred to as the communication destination.
[0051] The input / output control unit 31 extracts a calculation result 602 from the calculation result information 622 or the calculation result information 627 received by the control device designated as the communication target and outputs the calculation result 602 to the control target 40. In a case where both the calculation result information 622 and the calculation result information 627 can be received, either information can be used. The control device that is to be the communication target is set externally. In embodiment 1, the control device that is to be the communication target is set by the migration aid unit 34.
[0052] The control data unit 32 manages data required for an input / output control process of the input / output control unit 31, as well as data required for the execution management of the input / output control process. In embodiment 1, the control data unit 32 manages at least one measured value. The control data unit 32 can manage other necessary internal data.
[0053] The measurement value is a number that increases stepwise with each input of the measurement value 601.
[0054] Migration Assistance Unit 34 supports the operation of Migration Execution Unit 241.
[0055] In a case where the measurement information request 623 is received by the computation reproduction unit 212, the migration aid unit 34 sets the migration target control device 20 as the communication target of the input / output control unit 31.
[0056] When the input / output control unit 31 has started receiving the calculation result information 627, the migration aid unit 34 transmits the switching preparation completion 628 to the migration execution unit 241.
[0057] The migration aid unit 34 deletes the migration source control device 10 from the communication target of the input / output control unit 31 when a condition of the switching time information 6210 is met, after it has received the switching time information 6210 from the migration execution unit 241. Afterwards, the migration aid unit 34 transmits the switching termination 6212 to the migration execution unit 241.
[0058] The switching time information 6210 is information that specifies a condition for switching from the migration source control device 10 to the migration target control device 20. A condition for the switching time information 6210 is defined based on information in an input device 3. This condition is, for example, "if the value of the synchronization time counter becomes greater than or equal to a certain value," "if the measured value in the control data unit 32 becomes greater than or equal to a certain value," or similar.
[0059] The hardware configurations of the migration source control device 10 and the migration destination control device 20 according to embodiment 1 are described with reference to Fig. 6 described.
[0060] The migration source control device 10 and the migration destination control device 20 are computers.
[0061] The migration source control device 10 comprises hardware such as a processor 101, a main memory 102, a storage device 103, and a communication interface 104. The processor 101 is connected to other hardware components via a signal line and controls these other hardware components.
[0062] The migration target control device 20 comprises hardware such as a processor 201, a main memory 202, a storage device 203, and a communication interface 204. The processor 201 is connected to other hardware components via a signal line and controls these other hardware components.
[0063] A hardware configuration of the input / output device 30 according to embodiment 1 is described with reference to Fig. 7 described.
[0064] The input / output device 30 is a computer.
[0065] The input / output device 30 comprises hardware such as a processor 301, main memory 302, storage 303, a communication interface 304, and an input / output interface 305. The processor 301 is connected to other hardware components via a signal line and controls these other hardware components.
[0066] The 101, 201, and 301 processors are integrated circuits (ICs) that perform processing tasks. IC stands for Integrated Circuit. Examples of these processors include CPUs, DSPs, and GPUs. CPU stands for Central Processing Unit. DSP stands for Digital Signal Processor. GPU stands for Graphics Processing Unit.
[0067] The memory modules 102, 202, and 302 are storage devices that temporarily store data. Examples of memory modules 102, 202, and 302 include SRAM and DRAM. SRAM stands for Static Random Access Memory. DRAM stands for Dynamic Random Access Memory.
[0068] Storage devices 103, 203, and 303 are storage devices that hold data. Specifically, storage devices 103, 203, and 303 are HDDs. HDD stands for Hard Disk Drive. Storage devices 103, 203, and 303 can also refer to portable storage media such as SD memory cards (registered trademark), CompactFlash (registered trademark), NAND flash, flexible disks, optical discs, Compact Discs, Blu-ray Discs (registered trademark), and DVDs. SD stands for Secure Digital. DVD stands for Digital Versatile Disc.
[0069] Communication interfaces 104, 204, and 304 are interfaces for communication with an external device via network 91. Communication interfaces 104, 204, and 304 are, for example, Ethernet ports (registered trademark).
[0070] The 305 input / output interface is an interface for external input / output via transmission channel 92. The 305 input / output interface is, for example, a USB or HDMI port (registered trademark). USB stands for Universal Serial Bus. HDMI stands for High-Definition Multimedia Interface.
[0071] The functions of each functional element of the migration source control device 10 are enabled by software. A program enabling the functions of each functional element of the migration source control device 10 is stored in memory 103. This program is read into main memory 102 by processor 101 and executed by processor 101. The functions of each functional element of the migration source control device 10 are enabled in this way.
[0072] The functions of each functional element of the migration target control device 20 are enabled by software in a similar manner. A program enabling the functions of each functional element of the migration target control device 20 is stored in memory 203. This program is read into main memory 202 by processor 201 and executed by processor 201. The functions of each functional element of the migration target control device 20 are enabled in this way.
[0073] The functions of each functional element of the input / output device 30 are enabled by software in a similar manner. A program enabling the functions of each functional element of the input / output device 30 is stored in memory 303. This program is read into main memory 302 by processor 301 and executed by processor 301. Thus, the functions of each functional element of the input / output device 30 are enabled in a similar manner.
[0074] The functions of the communication control unit 13 are enabled by the use of the communication interface 104. Similarly, the functions of the communication control unit 23 are enabled by the use of the communication interface 204. Similarly, the functions of the communication control unit 33 are enabled by the use of the communication interface 304.
[0075] The computational data unit 12 manages data using memory 102. Similarly, the computational data unit 22 and the reproduction data unit 25 manage data using memory 202. Similarly, the control data unit 32 manages data using memory 302.
[0076] The input / output control unit 31 accepts the input of the measured value 601 via the input / output interface 305 and outputs the calculation result 602. *** Description of a business ***
[0077] The operation of the tax migration system 100 according to embodiment 1 is described.
[0078] The operational sequence of the tax migration system 100 according to embodiment 1 corresponds to a tax migration procedure according to embodiment 1. A program that enables the operation of the tax migration system 100 according to embodiment 1 is equivalent to a tax migration program according to embodiment 1.
[0079] As mentioned above, the tax migration system 100 has three states: the state before a migration begins, the state during a migration, and the state after a migration is completed. Here, the operation is described separately for the state before a migration begins, the state during a migration, and the state after a migration is completed. **State before the start of a migration**
[0080] The operation of the tax migration system 100 in the state prior to the start of a migration according to embodiment 1 is described with reference to Fig. 2, Fig. 8 and Fig. 9 described.
[0081] The state prior to the start of a migration is a state in which the migration source control device 10 cooperates with the input / output device 30 via network 91 to control the control target 40. At this point, the computation execution unit 111 in the migration source control device 10 performs a computation process, and the control target 40 is controlled based on a computation result of the computation process. At this point, the migration source control device 10 is configured to the communication target of the input / output control unit 31.
[0082] Operation of the calculation execution unit 111 of the migration source control device 10 according to embodiment 1 is described with reference to Fig. 2 and Fig. 8 described.
[0083] In step S11, the calculation execution unit 111 obtains a value from the synchronization time counter of the communication control unit 13 and stores the value in the start timestamp in the calculation data unit 12.
[0084] In step S12, the calculation execution unit 111 acquires the measured value information 621, which the communication control unit 13 has received.
[0085] In step S13, the calculation execution unit 111 performs a calculation process based on the measurement information 621 obtained in step S12 and the content of the internal data of the calculation data unit 12 to update the measurement number used, the calculation number and the internal data managed by the calculation data unit 12, and generates the calculation result information 622.
[0086] In step S14, the calculation execution unit 111 reports a transmission request of the calculation result information 622 generated in step S13 to the communication control unit 13 and to the input / output control unit 31.
[0087] In step S15, the computation execution unit 111 retrieves the value of the synchronization time counter of the communication control unit 13 and stores the value in the end timestamp of the computation data unit 12. The computation execution unit 111 then remains in standby mode until the next execution time. Here, the next execution time is the point in time at which the computation cycle T_cyc[ms] has elapsed from the start time of that point in time. A standby procedure can be any procedure, and the calculation of a standby time until the next start-up using the start timestamp or the end timestamp, and a readiness or standby mode for this time, can be considered.
[0088] Operation of the input / output control unit 31 of the input / output device 30 according to embodiment 1 is described with reference to Fig. 2 and Fig. 9 described.
[0089] In step S21, the input / output control unit 31 accepts the input of the measured value 601 from the control target 40 via the input / output interface 304.
[0090] In step S22, the input / output control unit 31 updates the measurement value managed by the control data unit 32 and generates the measurement information 621. Subsequently, the input / output control unit 31 sends a transmission request to the communication control unit 33 to transmit the measurement information 621 to the migration source control device 10, which is the control device referred to as the communication target.
[0091] In step S23, the input / output control unit 31 obtains the calculation result information 622 from the communication control unit 33, which is received by the migration source control device 10, which is the control device designated as the communication target.
[0092] In step S24, the input / output control unit 31 extracts the calculation result 602 from the calculation result information 622 obtained in step S23. The input / output control unit 31 then outputs the calculation result 602 to the control target 40 via the input / output interface 304.
[0093] In step S25, the input / output control unit 31 remains in standby mode until the next execution time. ** State during a migration **
[0094] The operation of the tax migration system 100 in the state during a migration according to embodiment 1 is described with reference to Fig. 3 and Fig. 4 and Fig. 10 to Fig. 15 described.
[0095] The state during a migration is a state in which the information in the migration source control device 10, which needs to be synchronized, is synchronized with the migration target control device 20, and the control device with which the input / output device 30 interacts is switched from the migration source control device 10 to the migration target control device 20. In the state during a migration, the state continues in which, in the state before the start of a migration, the migration source control device 10 interacts with the input / output device 30 via network 91 to control the control target 40.In the final stage of the state during a migration, the state in which, in the state before the start of a migration, the migration source control device 10 cooperates with the input / output device 30 via the network 91 to control the control target 40, is switched to the state in which the migration target control device 20 cooperates with the input / output device 30 via the network 91 to control the control target 40.
[0096] The state during a migration is divided into the state during initial synchronization, the state during a reproduction calculation, and the state during switching control. Here, the operation for the state during initial synchronization, the state during a reproduction calculation, and the state during switching control is described separately. * State during initial synchronization *
[0097] The state during an initial synchronization is the state from the start of the migration execution unit 241 process until the end of the initial synchronization unit 242 process.
[0098] When the tax migration is started, an operational sequence of the migration execution unit 241 of the migration target control device 20 (see Fig. 10) started. An operational sequence of the migration assistance unit 14 of the migration source control device 10 (see Fig. 14) is started. An operational sequence of the migration assistance unit 34 of the input / output device 30 (see Fig. 15) is started.
[0099] The operation of the migration execution unit 241 according to embodiment 1 is described with reference to Fig. 10 described.
[0100] In step S31, the migration execution unit 241 indicates the execution of an operating sequence of the cycle calculation unit 21 (see Fig. 11) and an operating sequence of the initial synchronization unit 242 (see Fig. 13) The operating sequence of the cycle calculation unit 21 and the operating sequence of the initial synchronization unit 242 are executed in parallel. The operating sequence of the cycle calculation unit 21 and the operating sequence of the initial synchronization unit 242 are executed, for example, as separate tasks.
[0101] In step S32, the migration execution unit 241 remains in standby mode until the process of the calculation reproduction unit 212 of the cycle calculation unit 21 is completed. This standby state is exited during the switching control process. Therefore, the processes from step S33 onwards are described later.
[0102] Operation of the cycle calculation unit 21 according to embodiment 1 is described with reference to Fig. 11 described.
[0103] In step S41, the cycle calculation unit 21 instructs the execution of an operating sequence of the calculation reproduction unit 212 (see Fig. 12). Since step S42 is executed after the completion of the operation of the computational reproduction unit 212, the processes from step S42 onwards will be described later.
[0104] Operation of the calculation reproduction unit 212 according to embodiment 1 is described with reference to Fig. 3 and Fig. 12 described.
[0105] In step S51, the computation reproduction unit 212 performs an initialization process required for the initialization of the cycle computation unit 21. Specifically, the computation reproduction unit 212 initializes a portion of the internal data managed by the computation data unit 22 that is not a synchronization target of the initial synchronization unit 242. The computation reproduction unit 212 synchronizes a phase in which the computation cycle T_cyc[ms] is started with a phase of the cycle computation unit 11 of the migration source control device 10. The computation reproduction unit 212 sends a transmission request of the measurement information request 623 to the communication control unit 23 for the migration aid unit 34 of the input / output device 30.
[0106] In step S52, the computation reproduction unit 212 obtains a value from the synchronization time counter from the communication control unit 23 and stores the value in the start timestamp, which is managed by the computation data unit 22.
[0107] In step S53, the computational reproduction unit 212 acquires the measurement information 624 if the communication control unit 23 has already received the measurement information 624. The computational reproduction unit 212 then stores the measurement information 624 in the measurement information buffer managed by the reproduction data unit 25.
[0108] In step S54, the computation reproduction unit 212 continues with the process to step S56 if the operating sequence of the initial synchronization unit 242 (see Fig. 13) is completed. On the other hand, the computation reproduction unit 212 continues with the process to step S55 when the operating sequence of the initial synchronization unit 242 (see Fig. 13) is not completed.
[0109] In step S55, the computation reproduction unit 212 obtains the value of the synchronization time counter of the communication control unit 23 and stores the value in the end timestamp of the computation data unit 22. Then, the computation reproduction unit 212 returns the process to step S52, after having been in standby until the next execution time of the cycle computation unit 21.
[0110] When the initial synchronization unit 242 completes its operation, the state during initial synchronization is terminated. Therefore, the processes from step S56 onwards are described later.
[0111] Operation of the initial synchronization unit 242 according to embodiment 1 is described with reference to Fig. 3 and Fig. 13 described.
[0112] In step S71, the initial synchronization unit 242 remains in standby until the computation reproduction unit 212 in step S53. Fig. 12 begins with the first reception of the measurement information 624.
[0113] In step S72, the initial synchronization unit 242 reports a transmission request of the initial synchronization request 625 to the migration aid unit 14 of the migration source control device 10 to the communication control unit 23.
[0114] In step S73, the initial synchronization unit 242 remains in standby until the communication control unit 23 receives the initial synchronization information 626 from the migration aid unit 14 of the migration source control device 10.
[0115] In step S74, the initial synchronization unit 242 receives the initial synchronization information 626 from the communication control unit 23. The initial synchronization unit 242 reflects the information of the initial synchronization information 626 into the computation data unit 22 and the reproduction data unit 25, and the process is terminated.
[0116] The initial synchronization information 626 refers to the information required to synchronize the content of calculation data unit 12 with the calculation execution time of the calculation number (referred to as the starting calculation number) within the specified cycle, which relates to calculation execution unit 111. The initial synchronization information 626 includes the measurement number used, the calculation number, the start timestamp, and the end timestamp. The initial synchronization information 626 may also contain internal data.
[0117] Operation of the migration assistance unit 14 according to embodiment 1 is described with reference to Fig. 3 and Fig. 14 described.
[0118] In step S81, the migration aid unit 14 remains in standby mode until the communication control unit 13 receives the initial synchronization request 625 from the initial synchronization unit 242. The migration aid unit 14 receives the initial synchronization request 625 when the communication control unit 13 receives the initial synchronization request 625.
[0119] In step S82, the migration assistance unit 14 remains in standby until the calculation execution unit 111 of the cycle calculation unit 11 next enters a standby state.
[0120] In step S83, the migration aid unit 14 generates the initial synchronization information 626 with the calculation cycle at a time when the process is executed as a specified cycle. Subsequently, the migration aid unit 14 reports a transfer request of the initial synchronization information 626 to the communication control unit 13 for the initial synchronization unit 242.
[0121] In step S84, the migration aid unit 14 remains in standby mode until the communication control unit 13 receives the switching time information 629 from the migration execution unit 241. The migration aid unit 14 acquires the switching time information 629 when the communication control unit 13 receives it. Since the reception of the switching time information 629 occurs in the switching control state, the processes from step S85 onwards are described later.
[0122] Operation of the migration assistance unit 34 according to embodiment 1 is described with reference to Fig. 3 and Fig. 15 described.
[0123] In step S91, the migration aid unit 34 remains in standby mode until the communication control unit 33 receives the measurement information request 623 from the calculation reproduction unit 212. The migration aid unit 34 acquires the measurement information request 623 when the communication control unit 33 receives the measurement information request 623.
[0124] In step S92, the migration aid unit 34 adds the migration target control device 20 to the communication target of the input / output control unit 31. The input / output control unit 31 then begins to process a transmission request for the measured value information 624 and to obtain the calculation result information 627.
[0125] In step S93, the migration aid unit 34 remains in standby mode until the communication control unit 33 begins receiving the calculation result information 627 from the calculation execution unit 211 of the migration target control device 20. Since the reception of the calculation result information 627 is performed in the switching control state, the processes from step S94 onwards are described later. * State during a reproduction calculation *
[0126] The state during a reproduction calculation is a state from the time at which the state during an initial synchronization is completed until the end of the process of the calculation reproduction unit 212.
[0127] If the operational process of the in Fig. When the initial synchronization unit 242 shown in step 13 ends, the state during an initial synchronization is terminated. The process then proceeds from step S54 to step S56. Fig. 12.
[0128] The operation of the calculation reproduction unit 212 is carried out with reference to Fig. 3 and Fig. 12 described.
[0129] In step S56, the computation reproduction unit 212 retrieves the value of the synchronization time counter of the communication control unit 23 and stores the value in an end timestamp, which is managed by the computation data unit 22. The computation reproduction unit 212 then remains in standby mode until the next execution time. Here, the next execution time is the time at which the computation cycle T_cyc[ms] has elapsed from the start time of that time.
[0130] In step S57, the computation reproduction unit 212 obtains the value of the synchronization time counter of the communication control unit 23 and stores the value in a start timestamp, which is managed by the computation data unit 22.
[0131] In step S58, the computational reproduction unit 212 acquires the measurement information 624 if the communication control unit 23 has already received the measurement information 624. The computational reproduction unit 212 then stores the measurement information 624 in the measurement information buffer managed by the reproduction data unit 25.
[0132] In step S59, the computation reproduction unit 212 derives a computation number from the computation execution unit 111 of the migration source control device 10 in a computation cycle at a point in time when the process is executed. Subsequently, the computation reproduction unit 212 stores the derived computation number in the derived migration source computation number managed by the reproduction data unit 25.
[0133] The calculation reproduction unit 212 derives the calculation number of the calculation execution unit 111 according to the following procedure.
[0134] First, the computation reproduction unit 212 obtains the synchronization time counter from the communication control unit 23. The computation reproduction unit 212 calculates the elapsed time since the execution of a computation by the computation execution unit 111, specified by the start-point computation number managed by the reproduction data unit 25, based on a difference between the synchronization time counter and a value of the start-point start timestamp or a value of the start-point end timestamp managed by the reproduction data unit 25. In other words, the computation reproduction unit 212 calculates the elapsed time from a start or end time of a computation process in the specified cycle until the time at which a process is currently being executed. A computation cycle in which the process is currently being executed is set to a migration cycle at that time.
[0135] The computation reproduction unit 212 derives the number of executions of a computation process, which is executed or is to be executed by the computation execution unit 111, from the next computation cycle after the specified cycle up to the computation cycle in which the process is currently being executed, based on the calculated elapsed time and the computation cycle T_cyc[ms]. The computation reproduction unit 212 derives a value of the number of executions and the added start-point computation number, where the start-point computation number is managed by the reproduction data unit 25, as the computation number of the computation execution unit 111 in the computation cycle in which the process is being executed.
[0136] If a value has already been set for the derived migration source calculation number, a derivation of the calculation number is executed starting with each calculation cycle T_cyc[ms]. Therefore, instead of the process mentioned above, the calculation reproduction unit 212 can derive a value that is added to a value of a current derived migration source calculation number as the calculation number of the calculation execution unit 111 in the calculation cycle in which the process is executed.
[0137] In step S60, the computational reproduction unit 212 verifies whether the value of a computation number managed by the computational data unit 22 is less than the value of the derived migration source computation number managed by the reproduction data unit 25. If the value of the computation number is less than the value of the derived migration source computation number, the computational reproduction unit 212 proceeds to step S61. If, however, the value of the computation number is not less than the value of the derived migration source computation number, the computational reproduction unit 212 proceeds to step S64. In step S64, the computational reproduction unit 212 retrieves the value of the synchronization time counter, stores the value in the end timestamp managed by the computational data unit 22, and terminates the process.
[0138] In step S61, the computational reproduction unit 212 continues the process to step S62 if the processes of step S62 and step S63 have not been executed for the limited number of times C_max within the computation cycle T_cyc[ms]. Conversely, if the processes are only executed for a limited number of times C_max, the computational reproduction unit 212 returns the process to step S56.
[0139] Here, the limited number of times C_max is a natural number set within a range that satisfies d[ms]*C_max<=D_max, where a maximum value is the total processing time from step S60 to step S63 and a margin time d[ms]. D_max[ms] is the maximum time a process of cycle computation unit 21 can execute with priority over another process until the next execution time of the computation process, thus ensuring that at least C_max>=2 holds true.
[0140] In step S62, the computational reproduction unit 212 obtains measurement information containing an identical number, the value of which is added to a used measurement number managed by the computational data unit 22 from the measurement information buffer managed by the reproduction data unit 25.
[0141] In step S63, the computational reproduction unit 212 performs the reproduction calculation based on the measurement information obtained in step S62 and the content of the internal data managed by the computational data unit 22. The reproduction calculation is a calculation in which the calculation process of the computational execution unit 111 is reproduced. The computational reproduction unit 212 generates a calculation result of the reproduction calculation and updates the measurement value used, the calculation value, and the content of the internal data managed by the computational data unit 22. * State during switching control *
[0142] The state during a switching control is a state from the end of the state during the reproduction calculation until the end of the migration execution unit 241.
[0143] If the in Fig. Once the operating sequence of the calculation reproduction unit 212 shown in Figure 12 is completed, a process of step S42 of Fig. 11 started. The standby state of step S32 of Fig. Step 10 is exited and a process from step S33 is started.
[0144] The operation of the cycle calculation unit 21 is based on Fig. 4 and Fig. 11 described.
[0145] In step S42, the cycle calculation unit 21 continues with the process to step S43, after having been in standby until the next execution time.
[0146] In step S43, the cycle calculation unit 21 causes the calculation execution unit 211 to start the calculation process. This initiates the transfer of the calculation result information 627 from the calculation execution unit 211 to the input / output device 30. The control target 40 can then be controlled using a result of the calculation process executed by the calculation execution unit 211. In other words, after a migration cycle initiated in step S59 of Fig. If 12 is set last, the control target 40 can be controlled using the result of the calculation process performed by the calculation execution unit 211.
[0147] In principle, an operating procedure and a description of the calculation execution unit 211 and an operating procedure and the description of the calculation execution unit 111, which are in Fig. The figures shown in 8 are identical. However, the wording in the description must be changed from Migration Source Control Device 10 to Migration Destination Control Device 20.
[0148] The operation of Migration Execution Unit 241 will be carried out with reference to Fig. 4 and Fig. 10 described.
[0149] In step S33, the migration execution unit 241 remains in standby mode until the communication control unit 23 receives the switching preparation termination 628 from the migration assistance unit 34. Once the communication control unit 23 has received the switching preparation termination 628, the migration execution unit 241 acquires the switching preparation termination 628.
[0150] In step S34, the migration execution unit 241 generates the switching time information 629 and the switching time information 6210. Then, the migration execution unit 241 reports to the communication control unit 23 a transmission request for the switching time information 629 to the migration assistance unit 14 and a transmission request for the switching time information 6210 to the migration assistance unit 34.
[0151] In step S35, the migration execution unit 241 remains in standby mode until the communication control unit 23 receives the switching termination 6211 from the migration aid unit 14 and the communication control unit 23 receives the switching termination 6212 from the migration aid unit 34. Once the communication control unit 23 has received both the switching termination 6211 and the switching termination 6212, the migration execution unit 241 acquires both the switching termination 6211 and the switching termination 6212 and terminates the process.
[0152] The operation of Migration Assistance Unit 14 will be carried out with reference to Fig. 4 and Fig. 14 described.
[0153] In step S84, the migration aid unit 14 completes its standby mode by transferring the switching time information 629 in step S34. The migration aid unit 14 then continues with the process to step S85.
[0154] In step S85, the migration aid unit 14 remains in standby mode until the condition of the switching time information 629 is met.
[0155] In step S86, the migration assistance unit 14 stops the operation of the cycle calculation unit 11.
[0156] In step S87, the migration assistance unit 14 reports a transmission request to the migration execution unit 241 of the switching termination 6211 to the communication control unit 13.
[0157] The operation of Migration Assistance Unit 34 will be carried out with reference to Fig. 4 and Fig. 15 described.
[0158] In step S93, the migration assistance unit 34 ends its standby mode when the receipt of the calculation result information 627 is started by the calculation execution unit 211, which starts the calculation process in step S43. Fig. 11 starts. Then the migration assistance unit 34 continues with the process to step S94.
[0159] In step S94, the migration assistance unit 34 reports a transmission request to the migration execution unit 241 of the switching preparation termination unit 628 to the communication control unit 33.
[0160] In step S95, the migration aid unit 34 remains in standby mode until the communication control unit 33 receives the switching time information 6210 from the migration execution unit 241. Once the communication control unit 33 has received the switching time information 6210, the migration aid unit 34 acquires the switching time information 6210.
[0161] In step S96, the migration aid unit 34 remains in standby mode until the condition for the switching time information 6210 is met.
[0162] In step S97, the migration aid unit 34 deletes the migration source control device 10 from the communication target of the input / output control unit 31. Therefore, the input / output control unit 31 will no longer send the transmission request for the measured value information 621 and retrieve the calculation result information 622.
[0163] In step S98, the migration assistance unit 34 reports a transmission request to the migration execution unit 241 of the switching termination 6212 to the communication control unit 33. **State after completion of a migration**
[0164] The post-migration state is a state in which the migration target control device 20 cooperates with the input / output device 30 via network 91 to control the control target 40. At this point, the computation execution unit 211 in the migration target control device 20 performs the computation process, and the control target 40 is controlled based on the computation result of the computation process. At this point, the migration target control device 20 is configured by the process of the state during the aforementioned migration to the communication target of the input / output control unit 31.
[0165] The operation of the tax migration system 100 in the post-migration state is identical to the pre-migration state, except for one point where the migration target control device 20 controls the tax target 40 instead of the migration source control device 10. In other words, as in Fig. As shown in Figure 5, in the state after completion of a migration, the computation execution unit 211 performs the computation process instead of the computation execution unit 111, and the measured value information 624 and the computation result information 627 are transmitted and received between the computation execution unit 211 and the input / output control unit 31. * Example of the state of a computational data unit 22 *
[0166] An example of a state of the computational data unit 22 during a migration according to embodiment 1 is given by means of Fig. 16 described.
[0167] In the example of Fig. 16. A reproduction calculation is performed with the starting point calculation number = N and C_max = 3. In other words: A calculation number in the specified cycle, in which the migration aid unit 14 receives the initial synchronization information 626 in step S83 of Fig. 14 is generated, is N.
[0168] Upon completion of the state during the initial synchronization, the initial synchronization unit 242 obtains initial synchronization information 626 from the migration source control device 10. This information necessitates synchronization until the completion of the calculation process for the starting point calculation number N by the calculation execution unit 111, which manages the calculation data unit 12. The initial synchronization unit 242 then synchronizes the initial synchronization information 626 with the calculation data unit 22 and reflects the initial synchronization information 626 in the reproduction data unit 25. Fig. At point 16, when the computation count at the end of the state during an initial synchronization is N+10, the synchronization of the information requiring synchronization until the completion of the computation process of the starting computation count N is complete. In other words, a situation is shown in which the transfer time of the information requiring synchronization is longer than the computation cycle T_cyc[ms].
[0169] Upon completion of the initial synchronization state, the computational reproduction unit 212 places the measured value information 624, which is obtained from the input / output device 30, into the measured value information buffer managed by the reproduction data unit 25.
[0170] During a reproduction calculation, the computational reproduction unit 212 performs the reproduction calculation of the computational execution unit 111 of the migration source control device 10 based on the information managed by the computational data unit 22 and the reproduction data unit 25, and the value of the synchronization time counter. At this time, the computational reproduction unit 212 does not need to transfer the information requiring synchronization from the migration source control device 10.
[0171] In Fig. 16. The reproduction calculation is started at a time when the calculation number of the calculation execution unit is 111 N+11.
[0172] First, the calculation reproduction unit 212 is presented in step S59 of Fig. 12 N+ Fig. 11 on the derived migration source computation number. Then, the computation reproduction unit 212 executes three times the number of computation processes, N+1, N+2, and N+3, since C_max=3. Even if three times as many computation processes are executed, the computation number "N+3" of the computation process executed by the computation reproduction unit 212 is less than the derived migration source computation number "N+11". Consequently, the process returns at step S61 of Fig. 12. Go back to step S56.
[0173] Then, in the next calculation cycle, the calculation reproduction unit 212 represents step S59 of Fig. 12 N+ Fig. 12 on the derived migration source computation number. Then, the computation reproduction unit 212 executes three times the number of computation processes, N+4, N+5, and N+6, since C_max=3. Even if three times as many computation processes are executed, the computation number "N+6" of the computation process executed by the computation reproduction unit 212 is less than the derived migration source computation number "N+12". Consequently, the process returns at step S61 of Fig. 12. Go back to step S56.
[0174] Then, in a calculation cycle, after the same process has been repeated several times, the computational reproduction unit 212 sets the value in step S59 of Fig. 12 N+ Fig. The derived migration source calculation number is applied to the calculation process N+15. Subsequently, the calculation reproduction unit 212 executes calculation processes N+13, N+14, and N+15. The calculation number "N+15" of the calculation process executed by the calculation reproduction unit 212 is then no longer less than the derived migration source calculation number "N+15". As a result, the data synchronization between the calculation data unit 12 of the migration source control device 10 and the calculation data unit 22 of the migration target control device 20 is completed.
[0175] As described, it is possible to synchronize the computation data unit 22 with the computation data unit 12 even if the transfer time of the information that necessitates the synchronization is longer than the computation cycle T_cyc[ms].
[0176] During the switching control state, execution is initiated by the calculation execution unit 211, generating a calculation result that matches that of the calculation execution unit 111. Consequently, the calculation data unit 22 remains synchronized with the calculation data unit 12, even during calculation cycles with a calculation number starting from N+16. Through the cooperative operation of the migration control unit 24, the migration assistance unit 14, and the migration assistance unit 34 in this state, a switch is performed from the migration source control device 10 to the migration target control device 20, and the migration is completed.
[0177] In this way, the state of the calculation process of the migration source control device 10 can be synchronized with the state of the migration target control device 20 and the migration can be completed, while attempting not to affect a production plant which is the control target 40. *** Effect of embodiment 1 ***
[0178] As described above, in the control migration system 100 according to embodiment 1, the information required for the initial synchronization of the migration source control device 10 in the specified cycle by the initial synchronization unit 242 is synchronized with the migration target control device 20. Subsequently, the computation reproduction unit 212 performs the reproduction calculation of the computation process by the computation execution unit 111 without requiring a transfer of content that would necessitate the synchronization of the migration source control device 10 so that the migration target control device 20 is in a state synchronized with the migration source control device 10.
[0179] Thus, it is possible to synchronize the computation data unit 22 with the computation data unit 12 even if the transfer time of the information requiring synchronization is longer than the computation cycle T_cyc [ms]. Consequently, the state of the computation process of the migration source control device 10 can be synchronized with the state of the migration target control device 20, and the migration can be completed without affecting the production plant, which is the control target 40. *** Other configurations ***<Variante 1.>
[0180] In embodiment 1, each functional element was activated by software. However, as with variant 1, each functional element can also be enabled by hardware. The differences from embodiment 1 are described in connection with this variant 1.
[0181] If each functional element is enabled by hardware, the migration source control device 10 comprises an electronic circuit in place of the processor 101, the main memory 102, and the storage 103. The electronic circuit is a dedicated circuit that enables the functions of each functional element, the main memory 102, and the storage 103.
[0182] If each functional element is enabled by hardware, the migration target control device 20 comprises the electronic circuit instead of the processor 201, the main memory 202, and the storage 203. The electronic circuit is a dedicated circuit that enables the functions of each functional element, the main memory 202, and the storage 203.
[0183] If each functional element is enabled by hardware, the input / output device 30 comprises the electronic circuit instead of the processor 301, the main memory 302, and the storage 303. The electronic circuit is a dedicated circuit that enables the functions of each functional element, the main memory 302, and the storage 303.
[0184] A single circuit, a composite circuit, a programmed processor, a parallel programmed processor, a logic IC, a GA, an ASIC, and an FPGA are all considered electronic circuits. GA is an abbreviation for Gate Array. ASIC is an abbreviation for Application Specific Integrated Circuit. FPGA is an abbreviation for Field-Programmable Gate Array.
[0185] Each functional element can be enabled by a single electronic circuit, or each functional element can be enabled by distribution across a multitude of electronic circuits. <Variante 2.>
[0186] In variant 2, some of each functional element can be enabled by hardware, and the rest of the functional elements can be enabled by software.
[0187] A processor 51, a working memory 52, a storage device 53, and the electronic circuitry are referred to as a processing circuit. In other words, the functions of each functional element are enabled by the processing circuit. Design 2.
[0188] Embodiment 2 differs from embodiment 1 in that embodiment 2 compares the content of the calculation data unit 22, which is updated by the reproduction calculation of the calculation reproduction unit 212, with the content of the calculation data unit 12, which is updated by the calculation process of the calculation execution unit 111. In embodiment 2, this differing point is described, and the descriptions of the identical points are omitted. *** Configuration Description ***
[0189] A configuration of a tax migration system 100 according to embodiment 2 is described with reference to Fig. 17 described.
[0190] The functions of each device are described, i.e., the migration source control device 10, the migration destination control device 20, and the input / output device 30, which comprise the control migration system 100. * Functions of the migration source control device 10 *
[0191] The migration source control device 10 differs from the one in Fig. 1 migration source control device 10 shown in Figure 1 by the fact that the migration source control device 10 has a sorting information transfer unit 15 as a functional element.
[0192] In addition to the functions described in embodiment 1, the migration aid unit 14 has a function for starting the execution of the sorting information transfer unit 15.
[0193] The migration source sort information 6213 is transferred from the sort information transfer unit 15 to the migration target control device 20. The migration source sort information 6213 specifies which of the information managed by the computation data unit 12 must be aggregated for each computation to produce a processing result. Examples of the migration source sort information 6213 include internal data such as the measure used, the computation number, the computation result, and similar information. * Functions of the migration target control device 20 *
[0194] The migration target control device 20 differs from the one in Fig. 1 migration target control device 20 by the fact that the migration target control device 20 has a sorting recovery unit 26, a sorting execution unit 27 and a sorting data unit 28 as functional elements.
[0195] In addition to the functions described in embodiment 1, the computational reproduction unit 212 has a function for generating reproduction sorting information and for storing the reproduction sorting information in a reproduction sorting information buffer of the sorting data unit 28. The reproduction sorting information is configured to match a configuration of the migration source sorting information 6213.
[0196] The sorting recovery unit 26 recovers the migration source sorting information 6213, which is transferred from the sorting information transfer unit 15, and stores the migration source sorting information 6213 in a migration source sorting information buffer of the sorting data unit 28.
[0197] The sorting execution unit 27 sorts information in the migration source sorting information cache and information in the reproduction sorting information cache within the sorting data unit 28 and verifies whether the information in the migration source sorting information cache and the information in the reproduction sorting information cache match. If the information in the migration source sorting information cache and the information in the reproduction sorting information cache do not match, the sorting execution unit 27 increases reliability by performing an error process. For example, the sorting execution unit 27 performs a retry process or a migration undo process.When the information in the migration source sort information cache and the information in the reproduction sort information cache match, the sort execution unit 27 transfers the sort completion 6214 to the sort information transfer unit 15. The sort completion 6214 is not transferred with every confirmation of match, but is transferred after all data has been sorted.
[0198] The sorting data unit 28 manages the sorting information. Specifically, using the migration source sorting information cache, the sorting data unit 28 manages the migration source sorting information 6213 obtained from the sorting acquisition unit 26. The sorting data unit 28 manages the reproduction sorting information generated by the computational reproduction unit 212 using the reproduction sorting information cache.
[0199] The migration execution unit 241 has a function to start an execution of the sorting execution unit 27 and the sorting recovery unit 26, and a function to be in standby for an execution of the completion sorting execution unit 27. *** Description of a business ***
[0200] The operation of the tax migration system 100 according to embodiment 2 is described.
[0201] The operational sequence of the tax migration system 100 according to embodiment 2 corresponds to a tax migration procedure according to embodiment 2. A program that enables the operation of the tax migration system 100 according to embodiment 2 is equivalent to a tax migration program according to embodiment 2.
[0202] Of the three states, a state before the start of a migration, a state during a migration and a state after the completion of a migration, the operation in the state during a migration differs from the operation in embodiment 1. ** State during a migration **
[0203] The operation of the tax migration system 100 in the state during a migration according to embodiment 2 is described with reference to Fig. 17 to Fig. 23 described.
[0204] When the tax migration is started, an operational sequence of the migration execution unit 241 of the migration target control device 20 (see Fig. 18) started. An operational sequence of the migration assistance unit 14 of the migration source control device 10 (see Fig. 19) is started. An operational sequence of the migration assistance unit 34 of the input / output device 30 (see Fig. 15) is started.
[0205] Operation of the migration execution unit 241 according to embodiment 2 is described with reference to Fig. 18 described.
[0206] The processes from step S103 to step S105 are the same as the processes from step S33 to step S35 in Fig. 10.
[0207] In step S101, the migration execution unit 241 starts an execution of an operating sequence of the sorting-recovery unit 26 (see Fig. 22) and an operating sequence of the sorting execution unit 27 (see Fig. 23) in addition to the operating sequence of the cycle calculation unit 21 and an operating sequence of the initial synchronization unit 242. The operating sequence of the cycle calculation unit 21, the operating sequence of the initial synchronization unit 242, the operating sequence of the sorting extraction unit 26 and the operating sequence of the sorting execution unit 27 are executed in parallel.
[0208] In step S102, the migration execution unit 241 remains in standby until a process of the sorting execution unit 27 is completed in addition to a process of the computation reproduction unit 212.
[0209] Operation of the migration assistance unit 14 according to embodiment 2 is described with reference to Fig. 19 described.
[0210] The processes from step S111 to step S112 are the same as the processes from step S81 to step S82 in Fig. 14. The processes from step S114 to step S118 are the same as the processes from step S83 to step S87 in Fig. 14.
[0211] In step S113, the migration assistance unit 14 starts an execution of an operational process of the sorting information transfer unit 15 (see Fig. 20). The operation of the sorting information transfer unit 15 is carried out in parallel with another operation.
[0212] Operation of the sorting information transfer unit 15 according to embodiment 2 is described with reference to Fig. 20 described.
[0213] If the cycle calculation unit 11 in step S121 is in a standby state and no migration source sort information 6213 of a current calculation number managed by the calculation data unit 12 has been generated, the sort information transfer unit 15 continues the process to step S122. Otherwise, the sort information transfer unit 15 returns the process to step S121. If the current calculation number matches the calculation number contained in the initial synchronization information 626, the sort information transfer unit 15 may return the process to step S121 and not continue the process to step S122.
[0214] If the communication control unit 13 has not received the sorting completion 6214 from the sorting recovery unit 26 in step S122, the sorting information transfer unit 15 continues the process to step S123. If, however, the sorting completion 6214 has been received, the sorting information transfer unit 15 continues the process to step S124. In step S124, the sorting information transfer unit 15 receives the sorting completion 6214 from the communication control unit 13 and terminates the process.
[0215] In step S123, the sorting information transfer unit 15 generates the migration source sorting information 6213. Subsequently, the sorting information transfer unit 15 reports a transfer request of the migration source sorting information 6213 to the sorting recovery unit 26 to the communication control unit 13.
[0216] The sorting information transfer unit 15 must execute the process of step S123 for each calculation number. Consequently, the execution time and core allocation of processor 101 must be controlled such that the process of step S123 can be executed at least once from the time the calculation execution unit 111 of the cycle calculation unit 11 enters standby mode until the calculation execution unit 111 of the cycle calculation unit 11 is next started.
[0217] Operation of the calculation reproduction unit 212 according to embodiment 2 is described with reference to Fig. 21 described.
[0218] The processes from step S131 to step S144 are the same as the processes from step S51 to step S64 in Fig. 12.
[0219] In step S145, the computational reproduction unit 212 generates the reproduction sorting information based on the information managed by the computational data unit 22 and stores the reproduction sorting information in the reproduction sorting information buffer. The reproduction sorting information generated here corresponds to a last executed computation number in step S143.
[0220] Operation of the sorting-recovery unit 26 according to embodiment 2 is described with reference to Fig. 22 described.
[0221] In step S151, the sorting recovery unit 26 continues the process to S2 if the operation of the sorting execution unit 27 is not yet complete. Conversely, the sorting recovery unit 26 terminates the process if the operation of the sorting execution unit 27 is complete.
[0222] In step S152, the sorting recovery unit 26 remains in standby mode until the communication control unit 23 receives the migration source sorting information 6213. Once the communication control unit 23 has received the migration source sorting information 6213, the sorting recovery unit 26 recovers the migration source sorting information 6213 and stores it in the migration source sorting information buffer managed by the sorting data unit 28. The sorting recovery unit 26 can set a standby timeout and, if the migration source sorting information 6213 cannot be recovered within the timeout, return the process to step S151.
[0223] Operation of the sorting execution unit 27 according to embodiment 2 is based on Fig. 23 described.
[0224] In step S161, the sorting execution unit 27 proceeds to step S162 if there is reproduction sorting information that has not yet been sorted in the reproduction sorting information buffer managed by the sorting data unit 28. Conversely, the sorting execution unit 27 proceeds to step S166 if there is no reproduction sorting information that has not yet been sorted in the reproduction sorting information buffer. In step S166, the sorting execution unit 27 returns the process to step S161 if the operation of the computational reproduction unit 212 is not yet complete. Conversely, the sorting execution unit 27 proceeds to step S167 if the operation of the computational reproduction unit 212 is complete.In step S167, the sorting execution unit 27 reports a transfer request of the sorting completion 6214 to the sorting information transfer unit 15 to the communication control unit 23 and ends the process.
[0225] In step S162, the sorting execution unit 27 retrieves reproduction sorting information that has not yet been sorted by the reproduction sorting information buffer managed by the sorting data unit 28.
[0226] In step S163, the sorting execution unit 27 continues the process to step S164 if the migration source sorting information cache, managed by the sorting data unit 28, contains sorting information for a computational number that matches the reproduction sorting information obtained in step S162. Conversely, if there is no migration source sorting information 6213 for a computational number that matches the reproduction sorting information, the sorting execution unit 27 returns the process to step S163.The sorting execution unit 27 can set a timeout for continuing a state in which there is no migration source sort information 6213 of the computation number that matches the reproduction sort information, taking into account a case in which a reproduction computation process has generated reproduction sort information containing an incorrect computation number, and similar issues. Furthermore, in a case in which the state in which there is no migration source sort information 6213 of the computation number that matches the reproduction sort information exceeds the timeout, the sorting execution unit 27 can execute an error process corresponding to S168, which is described later.
[0227] In step S164, the sorting execution unit 27 retrieves the migration source sort information 6213 of the computation number, which matches the reproduction sort information, from the migration source sort information cache managed by the sorting data unit 28. The sorting execution unit 27 then compares the retrieved migration source sort information 6213 with the reproduction sort information obtained in step S162.
[0228] In step S165, the sorting execution unit 27 returns the process to step S161 if the received migration source sorting information 6213 matches the reproduction sorting information received in step S162. If the received migration source sorting information 6213 does not match the reproduction sorting information received in step S162, the sorting execution unit 27 continues the process to step S168.
[0229] In step S168, the sorting execution unit 27 performs an error process and terminates the process. *** Effect of embodiment 2 ***
[0230] As described above, the control migration system 100 according to embodiment 2 sorts the content of the calculation data unit 22, which is updated by the reproduction calculation of the calculation reproduction unit 212, with the content of the calculation data unit 12, which is updated by the calculation process of the calculation execution unit 111. In this way, the reliability of the reproduction calculation can be increased and the effect of embodiment 1 can be achieved at the same time. Design 3.
[0231] Embodiment 3 differs from embodiments 1 and 2 in that, in a case where a plurality of computational processes are executed in the migration source control device 10, embodiment 3 determines a migration sequence for the computational processes. In embodiment 3, this differing point is described, and descriptions of the identical points are omitted.
[0232] In embodiment 3, a case is described in which functions are added to embodiment 1. However, it is also possible to add functions to embodiment 2.
[0233] Consider a case where, in the migration source control device 10, a multitude of computational processes are executed on a single core in processor 101, and all of these processes are migrated to the migration target control device 20 and executed on a single core in processor 201. In this case, the value of the limited number of times C_max, which each computational reproduction unit 212 can set, can vary depending on the migration order of the migrated control processes. Consequently, the processing time of the computational reproduction unit 212 can also vary depending on the migration order of the control processes. Therefore, the total migration time may change depending on the migration order.
[0234] In embodiment 2, in a case where the processing time of the computational reproduction unit 212 can be derived in advance, a sequence is derived in which the total time required for the migration is minimized, and the migration is carried out in this sequence. *** Configuration Description ***
[0235] A configuration of a tax migration system 100 according to embodiment 3 is described with reference to Fig. 24 described.
[0236] The control migration system 100 comprises the migration source control device 10, the migration destination control device 20, and a plurality of input / output devices 30. The migration source control device 10, the migration destination control device 20, and each input / output device 30 are connected via the network 91. Each input / output device 30 is connected to a corresponding control destination 40 via the transmission channel 92. Each input / output device 30 is controlled independently of other input / output devices 30.
[0237] In Fig. The control migration system 100 comprises two input / output devices 30, one input / output device 30A and one input / output device 30B. Input / output device 30A is connected to a control target 40A. Input / output device 30B is connected to a control target 40B. The control migration system 100 can comprise three or more input / output devices 30.
[0238] The functions of each device are described, i.e., the migration source control device 10, the migration destination control device 20, and the input / output device 30, which comprise the control migration system 100. * Functions of the migration source control device 10 *
[0239] The migration source control device 10 differs from the one in Fig. The migration source control device 10 shown in Figure 1 is characterized by the fact that the migration source control device 10 comprises a set of the cycle calculation unit 11, the calculation data unit 12, and the migration aid unit 14 for each of the plurality of calculation processes. The calculation process is provided for each input / output device 30.
[0240] In Fig. 24 The migration source control device 10 comprises a set A consisting of a cycle calculation unit 11A, a calculation data unit 12A, and a migration aid unit 14A for calculation process A, which corresponds to the input / output device 30A. The migration source control device 10 comprises a set B consisting of a cycle calculation unit 11B, a calculation data unit 12B, and a migration aid unit 14B for calculation process B, which corresponds to the input / output device 30B. * Functions of the migration target control device 20 *
[0241] The migration target control device 20 differs from the one in Fig. 1 migration target control device 20 shown in the illustration, in that the migration target control device 20 comprises a sequence determination unit 29.
[0242] The migration target control device 20 differs from the one in Fig. The migration target control device 20 shown in Figure 1 is characterized by the fact that the migration target control device 20 comprises a set of the cycle calculation unit 21, the calculation data unit 22, the migration control unit 24, and the reproduction data unit 25 for each of the plurality of calculation processes. The calculation process is provided for each input / output device 30.
[0243] In Fig. The migration target control device 20 comprises a set A consisting of a cycle calculation unit 21A, a calculation data unit 22A, a migration control unit 24A, and a reproduction data unit 25A for the calculation process A, which corresponds to the input / output device 30A. The migration target control device 20 comprises a set B consisting of a cycle calculation unit 21B, a calculation data unit 22B, a migration control unit 24B, and a reproduction data unit 25B for the calculation process B, which corresponds to the input / output device 30B.
[0244] The sequence determination unit 29 determines the migration sequence of the multitude of computational processes into a sequence in which the total time for the migration of each computational process is shortest. * Input / output device functions 30 *
[0245] The functional configuration of each input / output device 30 corresponds to the functional configuration in embodiment 1. *** Description of a business ***
[0246] The operation of the tax migration system 100 according to embodiment 3 is described.
[0247] An operating sequence of the tax migration system 100 according to embodiment 3 corresponds to a tax migration procedure according to embodiment 3. A program that enables the operation of the tax migration system 100 according to embodiment 3 is equivalent to a tax migration program according to embodiment 3.
[0248] Of the three states, the state before the start of migration, the state during migration and the state after the completion of migration, operation in the state before the start of migration differs from operation in embodiment 1. **State before the start of a migration**
[0249] In the state prior to the start of a migration, an operational sequence of the sequence determination unit 29 (see Fig. 25) started.
[0250] Operation of the sequence determination unit 29 according to embodiment 3 is based on Fig. 25 described.
[0251] In step S171, the sequence determination unit 29 derives a processing time for each computation reproduction unit 212 for each sequence in which the multitude of computation processes is migrated. The sequence determination unit 29 calculates a total processing time for each computation reproduction unit 212 for each sequence. Then, the sequence determination unit 29 determines the migration sequence to one with the shortest total processing time. Any method can be used to identify the sequence with the shortest total processing time; for example, a complete search can achieve this.
[0252] In step S172, the sequence determination unit 29 instructs each migration control unit 24 to perform the migration of the computation process in the migration sequence determined in step S171.
[0253] In the case of Fig. In step S171, the sequence determination unit 29 derives a processing time for a computation reproduction unit 212A and a processing time for a computation reproduction unit 212B for each sequence from computation process A to computation process B and from computation process B to computation process A. Then, the sequence determination unit 29 calculates a total processing time for the computation reproduction unit 212A and a total processing time for the computation reproduction unit 212B for the sequence from computation process A to computation process B.Then the sequence determination unit 29 determines a sequence whose total processing time is shorter than the migration sequence.
[0254] A specific example of a method for determining the migration sequence according to embodiment 3 is given using the following: Fig. 26 and Fig. 27 described.
[0255] In Fig. 26 and Fig. 27. A sequence is determined in which the cycle calculation unit 11A and the cycle calculation unit 11B are migrated to the cycle calculation unit 21A and the cycle calculation unit 21B.
[0256] Here, the calculation cycle T_cyc[ms] of cycle calculation unit 11A and cycle calculation unit 11B is the same. In calculation reproduction unit 212A and calculation reproduction unit 212B, the startup timing is considered adjusted so that at least calculation cycle C_max>=2 can be achieved. The processing time until a "yes" condition of step S54 of the operating sequences of calculation reproduction unit 212A and calculation reproduction unit 212B is met (see Fig. 12) is considered constant regardless of the migration order. The yes condition of step S54 is considered satisfied, and a derived value of the processing time, considered in units of the computation cycle T_cyc[ms] from the start of the execution of step S57, is considered to be t_a[ms] for computation reproduction unit 212A and t_b[ms] for computation reproduction unit 212B. The processing time of any other element is considered constant regardless of the migration order.
[0257] Here, the values of t_a+t_b are derived in two subsequent migration sequences.
[0258] <Migrationsreihenfolge 1> A case in which the migration is to be performed in sequence, with cycle calculation unit 11A being used for the first time and cycle calculation unit 11B for the second time (see Fig. 26)
[0259] It is assumed that in the calculation reproduction unit 212A of the cycle calculation unit 21A, C_max=11 can be set a limited number of times, and that the difference between a derived migration source calculation number at the start of an initial reproduction calculation and a calculation number managed by the calculation data unit 22A after the initial reproduction calculation is 480. And t_a=48ms*T_cyc[ms] is considered derived.
[0260] It is assumed that in the calculation reproduction unit 212B of the cycle calculation unit 21B, C_max=4 can be set a limited number of times, and that the difference between the derived migration source calculation number at the start of an initial reproduction calculation and a calculation number managed by the calculation data unit 22B after the initial reproduction calculation is 30. And t_b=10ms*T_cyc[ms] is considered derived.
[0261] At this point in time, t_a+t_b=58*T_cyc[ms].
[0262] <Migrationsreihenfolge 2> A case in which the migration is to be performed in sequence, first for cycle calculation unit 11B and then for the second time for cycle calculation unit 11A (see Fig. 27)
[0263] It is assumed that in the computation reproduction unit 212B of the cycle computation unit 21B, C_max=6 can be set a limited number of times, and that the difference between the derived migration source computation number at the start of an initial reproduction computation and the computation number managed by the computation data unit 22B after the initial reproduction computation is 30. And t_a=6ms*T_cyc[ms] is considered derived.
[0264] It is assumed that in the calculation reproduction unit 212A of the cycle calculation unit 21A a C_max=9 can be set, and that the difference between the derived migration source calculation number at the time of the start of the initial reproduction calculation and the calculation number that the calculation data unit 22A manages after the initial reproduction calculation is 480 and t_b=60ms*T_cyc[ms] is considered to be derived.
[0265] At this point in time, t_a+t_b=66*T_cyc[ms].
[0266] In this case, the value of t_a+t_b for the migration sequence is less than 1. Consequently, the sequence of the cycle calculation unit 21A to 22B is determined as the migration sequence. *** Effect of embodiment 3 ***
[0267] As described above, in a case where the multitude of computational processes are executed in the migration source control device 10, the control migration system 100 according to embodiment 3 determines the migration sequence of the computational processes in a sequence that minimizes processing time. In this way, the time required for migration can be reduced while maintaining the effect of embodiment 1.
[0268] “Unit” in the above description can be interpreted as “circuit”, “step”, “sequence”, “process” or “processing circuit”.
[0269] The embodiments and variants of this disclosure have been described above. Some of the embodiments and variants among these embodiments and variants can be combined and implemented. Each of the embodiments or some of them and the variants can be implemented partially. This disclosure is not limited to the embodiments and variants mentioned above, and various modifications are possible if necessary. Reference symbol list
[0270] 100: Control migration system; 10: Migration source control device; 11: Cycle calculation unit; 111: Calculation execution unit; 12: Calculation data unit; 13: Communication control unit; 14: Migration aid unit; 15: Sort information transfer unit; 20: Migration destination control device; 21: Cycle calculation unit; 211: Calculation execution unit; 212: Calculation reproduction unit; 22: Calculation data unit; 23: Communication control unit; 24: Migration control unit; 241: Migration execution unit; 242: Initial synchronization unit; 25: Reproduction data unit; 26: Sort acquisition unit; 27: Sort execution unit; 28: Sort data unit; 29: Sequence determination unit; 30: Input / output device; 31: Input / Output Control Unit; 32: Control Data Unit; 33: Communication Control Unit; 34: Migration Assistance Unit; 40: Control Target; 601: Measured Value; 602: Calculation Result; 621: Measured Value Information;622: Calculation result information; 623: Measurement information request; 624: Measurement information; 625: Initial synchronization request; 626: Initial synchronization information; 627: Calculation result information; 628: Switch preparation completion; 629: Switching time information; 6210: Switching time information; 6211: Switching completion; 6212: Switching completion; 6213: Migration source sorting information; 6214: Sorting completion; 91: Network; 92: Transmission channel. QUOTES INCLUDED IN THE DESCRIPTION
[0000] This list of documents cited by the applicant was automatically generated and is included solely for the reader's convenience. The list is not part of the German patent or utility model application. The DPMA accepts no liability for any errors or omissions. Cited patent literature
[0000] JP 2016-206865 A
[0007]
Claims
[1] Migration target control device to which a control of a control target is migrated from a migration source control device which controls the control target by cyclically executing a computation process, wherein the migration target control device comprises: an initial synchronization unit to obtain information relating to the calculation process of the migration source control device in a specified cycle, as initial synchronization information; a computation reproduction unit, based on the initial synchronization information obtained by the initial synchronization unit, to execute the computation process that is performed in the migration source control device from a subsequent computation cycle after the specified cycle to a migration cycle to which the control is migrated; and a computation execution unit to control the control target by executing the computation process after the migration cycle using a result of the computation process executed by the computation reproduction unit. [2] Migration target control device according to claim 1, wherein the computation reproduction unit, based on the elapsed time, which is the time from the specified cycle to the migration cycle and the time required for a cycle of the computation process in the migration source control device, derives the number of executions of the computation process that is or is to be executed in the migration source control device from a next computation cycle after the specified cycle to the migration cycle, and executes the computation process for as many as the number of executions. [3] Migration target control device according to claim 2, wherein the computation reproduction unit sets a computation cycle in which a process is executed as the migration cycle, and in a case in which the computation process is not completed for as much as the number of executions, when a computation process of a next computation cycle is started in the migration source control device, together with resetting the computation cycle in which the process is executed to the migration cycle, adds one back to the number of executions. [4] Migration target control device according to any one of claims 1 to 3, further comprising: a sorting recovery unit to obtain sorting information from the migration source control device, which is information for sorting process results among information relating to the computation process that is executed in the migration source control device from a subsequent computation cycle after the specified cycle until the migration cycle; and A sorting execution unit for sorting the sorting information obtained from the sorting recovery unit, with a result of the calculation process performed by the calculation reproduction unit. [5] Migration target control device according to any one of claims 1 to 4, wherein the migration source control device controls the control target by cyclically executing a plurality of computation processes, wherein the migration target control device further comprises: a sequence determination unit to determine a migration sequence for migrating the multitude of computational processes in an order in which the total time for migrating each computational process is shortest; and a migration control unit to control the initial synchronization unit, the computation reproduction unit, and the computation execution unit so that the multitude of computation processes are migrated one after the other in accordance with the migration sequence determined by the sequence determination unit. [6] Tax migration procedure for migrating from a migration source control device that controls a tax target by cyclically executing a computation process, to a control of the tax target to a migration target control device, wherein the tax migration procedure comprises: Obtaining information relating to the migration source control device's calculation process in a specified cycle, as initial synchronization information, by the migration target control device; Execute, based on the initial synchronization information, the computation process that is executed in the migration source control device from a subsequent cycle after the specified cycle to a migration cycle to which the control is migrated, by the migration target control device; and Control of the target by executing the calculation process after the migration cycle using a result of the calculation process, which is executed based on the initial synchronization information, by the migration target control device. [7] Tax migration program for migrating from a migration source control device that controls a tax target by cyclically executing a computation process, a control of the tax target to a migration target control device, wherein the tax migration program causes a computer to execute: an initial synchronization process to obtain information relating to the calculation process of the migration source control device in a specified cycle, as initial synchronization information; a computation reproduction process, based on the initial synchronization information obtained through the initial synchronization process, to execute the computation process that is performed in the migration source control device from a subsequent cycle after the specified cycle to a migration cycle to which the control is migrated; and a calculation process to control the control target by executing the calculation process after the migration cycle using a result of the calculation process executed by the calculation reproduction process.
Citation Information
Patent Citations
Execution time estimation method, execution time estimation program, and execution time estimation device
US20110113224A1
Information processing system and method
US20160034332A1