Control system, control mediation device, and control mediation method
The control system with an intermediary device simplifies the integration of control services by assigning acquisition times and generating timing instructions, enhancing flexibility and stability in multi-phase control.
Patent Information
- Application Number
- JP2024040538
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-03-14
- Publication Date
- 2025-09-29
AI Technical Summary
Existing control systems require manual alignment of data formats and timing information when adding or removing control services, hindering flexible response to diverse needs.
A control system with an intermediary device that assigns acquisition times and generates timing instructions for multiple control services, allowing seamless integration and flexible combination of control services.
Facilitates easy realization of multi-phase control by reducing manual effort and enabling stable, flexible integration of multiple control services.
Smart Images

Figure 2025140898000001_ABST
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to a technique for controlling a control target. [Background technology]
[0002] A system configuration in which multiple control devices control the same control target is being considered as a system configuration for controlling infrastructure facilities, factory equipment, etc. Hereinafter, a configuration in which multiple entities control the same control target is referred to as multi-phase control.
[0003] Furthermore, the realization of control entities on a cloud platform is also being considered. Hereinafter, control entities configured as physical devices and control entities realized on computers such as servers or on a cloud platform will be collectively referred to as control services.
[0004] Multi-phase control and a configuration that deploys control services on a cloud platform enable advanced real-time control and flexible configuration changes.
[0005] Patent Document 1 discloses a robot control device having a plurality of first control units that each output a first command value to move an end point of a movable part of the robot, and a second control unit that controls the movable part using a second command value that is the sum of the first command values output by the plurality of first control units.
[0006] Patent Document 2 discloses a gateway device that is connected to a controller via a first network, connected to a plurality of clients that transmit control commands via a second network, and includes a translator for protocol conversion of the control commands from the clients, and one or more aggregators for aggregating the control commands. [Prior art documents] [Patent documents]
[0007] [Patent Document 1] Japanese Patent Application Laid-Open No. 2015-074063 [Patent Document 2] Japanese Patent Application Laid-Open No. 2009-239478 Summary of the Invention [Problem to be solved by the invention]
[0008] When building a new control system by combining multiple control services, it is expected that existing control services can be reused to quickly respond to diverse needs. It is also required that control services can be easily added or deleted in order to flexibly improve control.
[0009] However, in conventional control systems, when adding or removing a control service, it was necessary to manually align the data formats output by the control services and to provide each control service with information on the timing at which the control service would drive the controlled object.This required a lot of work, hindering flexible response to diverse needs.
[0010] One objective of the present disclosure is to provide a technology that easily realizes multi-phase control that flexibly combines multiple control services. [Means for solving the problem]
[0011] A control system according to one embodiment of the present invention includes a plurality of control services that each output individual command values, which are command values for controlling a control object, and an intermediary device that acquires the individual command values from the control services and generates, based on the plurality of individual command values, output command values, which are command values to be given to the control object, wherein the intermediary device assigns, to the plurality of individual command values, an acquisition time, which is the time at which the individual command value was acquired, and notifies the plurality of control services of command sharing information including the individual command values and the acquisition times, and generates timing instruction information, which is the time of the next command for each of the control services, based on the number of control services and the acquisition time of the individual command value for each of the control services, and notifies each of the control services of this timing instruction information, and the control services each generate an individual command value based on the individual command value and acquisition time included in the command sharing information and the instruction time included in the timing instruction information.
[0012] A control intermediation device according to one embodiment of the present invention is a control intermediation device that mediates individual command values, which are commands from a plurality of control services, to a control object in a control system that controls the control object using the control services, and includes: a timestamp assignment unit that assigns, to the plurality of individual command values, an acquisition time, which is the time at which the individual command value was acquired; a command value sharing unit that notifies the plurality of control services of command sharing information, which includes the individual command values and the acquisition times; a timing instruction unit that generates timing instruction information for indicating an instruction time, which is the time of the next command for each of the control services, based on the number of the control services and the acquisition time of the individual command value for each of the control services, and notifies each of the control services of this timing instruction information; and an output command generation unit that generates, in each of the control services, an output command value to be input to the control object, based on the plurality of individual command values generated based on the individual command value and acquisition time included in the command sharing information and the instruction time included in the timing instruction information.
[0013] A control intermediation method according to one embodiment of the present invention is a control intermediation method for intermediating individual command values, which are commands from a plurality of control services, to a control object in a control system that controls the control object using the control services, the control intermediation method comprising the steps of: assigning to each of the plurality of individual command values an acquisition time, which is the time at which the individual command value was acquired; notifying the plurality of control services of command sharing information including the individual command values and the acquisition times; generating timing instruction information for indicating an instruction time, which is the time of the next command for each of the control services, based on the number of control services and the acquisition time of the individual command value for each of the control services; notifying each of the control services of the timing instruction information; and generating an output command value to be input to the control object, in each of the control services, based on the plurality of individual command values generated based on the individual command values and acquisition times included in the command sharing information and the instruction time included in the timing instruction information. [Effects of the Invention]
[0014] According to the present invention, it is possible to easily realize multi-phase control that flexibly combines a plurality of control services. [Brief explanation of the drawings]
[0015] [Figure 1] FIG. 2 is a block diagram of a control system according to the present embodiment. [Figure 2] FIG. 2 is an explanatory diagram of multiphase control according to the present embodiment. [Figure 3] FIG. 2 is a conceptual diagram illustrating data stored in a memory area of the control device according to the present embodiment. [Figure 4] FIG. 2 is a conceptual diagram illustrating data acquired by the intermediary device according to the present embodiment. [Figure 5] FIG. 2 is a block diagram showing an example of the configuration of an output command value generating unit according to the present embodiment. [Figure 6] 5 is a conceptual diagram illustrating an output command value generation process according to the present embodiment. FIG. [Figure 7] FIG. 2 is a block diagram showing an example of the configuration of a timestamp assigning unit according to the present embodiment. [Figure 8] FIG. 10 is a conceptual diagram illustrating a command value with a time stamp according to the present embodiment. [Figure 9] FIG. 2 is a block diagram showing an example of the configuration of a drive timing instruction unit according to the present embodiment. [Figure 10] 10A and 10B are conceptual diagrams illustrating an example of a process for changing a drive timing performed by a drive timing instruction unit according to the present embodiment. [Figure 11] FIG. 4 is a conceptual diagram illustrating a process for identifying the number of control devices according to the present embodiment. [Figure 12] 10A and 10B are conceptual diagrams illustrating drive timings without timing changes according to the present embodiment. [Figure 13] 10A and 10B are conceptual diagrams illustrating drive timings when the number of control devices fluctuates and timing changes according to the present embodiment. [Figure 14] FIG. 2 is a block diagram of a control system according to the present embodiment. [Figure 15] FIG. 2 is a conceptual diagram illustrating data stored in a memory area of the control device according to the present embodiment. [Figure 16] FIG. 2 is a block diagram showing an example of the configuration of an output timing instruction unit according to the present embodiment. [Figure 17] FIG. 10 is a conceptual diagram illustrating output timing without timing change according to the present embodiment. [Figure 18] 10 is a conceptual diagram illustrating an example of output timing when the number of control devices fluctuates and timing changes according to the present embodiment. FIG. [Figure 19] 10A and 10B are conceptual diagrams illustrating command values when there are command types according to the present embodiment. [Figure 20] 10A and 10B are conceptual diagrams illustrating an example of calculation of an output command value when there are command types according to the present embodiment. [Figure 21] FIG. 2 is a block diagram of a control system according to the present embodiment. [Figure 22] FIG. 2 is a conceptual diagram illustrating data stored in a memory area of the control device according to the present embodiment. [Figure 23] FIG. 10 is a conceptual diagram illustrating an example of processing by an intermediary device when there are multiple control targets according to the present embodiment. [Figure 24] FIG. 2 is a block diagram of a control system according to the present embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0016] Hereinafter, an embodiment of the present invention will be described with reference to the drawings. [Example]
[0017] FIG. 1 is a block diagram of a control system according to this embodiment.
[0018] The control system 1 has a plurality of control services that each output individual command values, which are command values for controlling the controlled object 30, and an intermediary device 20 that acquires the individual command values from the control services and generates an output command value, which is a command value to be given to the controlled object 30, based on the plurality of individual command values.
[0019] In this example, the multiple control services are provided by different control devices. For example, control service A is provided by control device 11, and control service B is provided by control device 12. However, multiple control services may also be provided by a single control device.
[0020] The control device 11 includes a control service 111 and a memory 112. A processor included in the control device 11 executes the control service 111. The control service 111 outputs a command value A to the memory 112. The control service 111 acquires a command value B from the memory 112.
[0021] The command value A is a command value used by the control service 111. The command value B is a command value used by the control service 121.
[0022] The intermediary device 20 includes at least one processor and at least one memory.
[0023] The processor is configured, for example, with a CPU (Central Processing Unit), MPU (Micro Processing Unit), GPU (Graphics Processing Unit), FPGA (Field-Programmable Gate Array), etc. The processor functionally realizes a command value acquisition unit 21, a timestamp assignment unit 22, a command value sharing unit 23, an output command value generation unit 24, an output command value transmission unit 25, and a drive timing instruction unit 26 by reading and executing a construction information correction support program stored in memory.
[0024] The command value acquisition unit 21 has a function of acquiring, from the control service, individual command values that are command values for controlling the control target 30. In the example shown in the figure, the command value acquisition unit 21 acquires an individual command value A stored in the memory 112 of the control device 11 and an individual command value B stored in the memory 122 of the control device 12.
[0025] The timestamp assigning unit 22 has a function of assigning, to a plurality of individual command values, an acquisition time, which is the time at which the individual command value was acquired. In the example shown in the figure, the timestamp assigning unit 22 assigns an acquisition time to each of the acquired individual command values A and B.
[0026] The command value sharing unit 23 has a function of notifying a plurality of control services of command sharing information including an individual command value and an acquisition time. In the example shown, the command value sharing unit 23 notifies the control service 121 by storing the command sharing information including the individual command value A and the acquisition time in the memory 122 of the control device 12. The command value sharing unit 23 notifies the control service 111 by storing the command sharing information including the individual command value B and the acquisition time in the memory 112 of the control device 11.
[0027] The individual command values and acquisition times are notified to the control service as command sharing information in order to store them in the control service's memory as control performance data. The control service then calculates the next command based on that performance data.
[0028] The output command value generating unit 24 has a function of generating an output command value, which is a command value to be given to the control target 30, based on a plurality of individual command values acquired from the control service.
[0029] The output command value transmitting unit 25 has a function of transmitting the generated output command value to the controlled object 30 .
[0030] The drive timing instruction unit 26 has the function of generating timing instruction information for indicating the instruction time, which is the time of the next instruction for each control service, based on the number of control services and the acquisition time of the individual instruction value for each control service, and notifying each control service of this information.
[0031] The command time corresponds to the drive timing in the example of Fig. 1, and corresponds to the output timing in the example shown in Fig. 14, which will be described later. The command time is the output time, which is the time when an individual command value is output by the control service, or the drive time, which is the time when the control service starts processing to generate an individual command value.
[0032] Referring again to the configuration of the control device 11, each control service of the control device generates an individual command value based on the individual command value and acquisition time included in the command sharing information and the command time included in the timing command information.
[0033] The intermediary device 20 may identify the time interval of the instruction times notified to each of the control services, and generate output instruction values such that the individual instruction values acquired from each of the control services are output at the time intervals.
[0034] The relay device 20 may notify the control service of the period for outputting the individual command value and the phase for outputting the individual command value within the period as timing instruction information. The control service periodically outputs the individual command value at a time specified by the period and phase included in the timing instruction information.
[0035] 1 illustrates a configuration in which the control devices 11 and 12 and the intermediary device 20 are separate entities, but other configurations are also possible. For example, the intermediary device 20 may be included within a control device having a control service.
[0036] Furthermore, the locations of the control devices and intermediary devices do not matter. The control devices 11 and 12 may be located on the cloud and the intermediary device 20 may be located on-site, but other configurations are also possible. The control devices and intermediary devices may be located on-site, or may be located on a network other than the site.
[0037] FIG. 2 is an explanatory diagram of multiphase control according to this embodiment.
[0038] First, we will explain normal single control. When there is a one-to-one correspondence between a control service and a controlled object, control of the controlled object is performed in one thread at a predetermined timing according to the progress of time. In the case of double-speed single control, the control cycle is halved.
[0039] In the case of multi-phase control, multiple control services correspond to one control target. In such cases, there are multiple threads, and control is performed in order, such as controlling control service A, then controlling control service B, and so on.
[0040] FIG. 3 is a conceptual diagram illustrating data stored in a memory area of the control device according to this embodiment.
[0041] 1, the memory area corresponds to, for example, memory 112 or memory 122. The memory stores the target state, the previous command value, a timestamp of the previous command value, the command value, and the drive timing.
[0042] FIG. 4 is a conceptual diagram illustrating data acquired by the intermediary device according to this embodiment.
[0043] The command value acquisition unit 21 acquires the command value and the transmission source as data. The command value acquisition unit 21 may assign a number to the data in the order in which the data is acquired.
[0044] The sender may be a number unique to the device that is the sender, such as the identification number or IP address of the control device.
[0045] Fig. 5 is a block diagram showing an example of the configuration of an output command value generating unit according to this embodiment. Fig. 6 is a conceptual diagram illustrating an output command value generating process according to this embodiment.
[0046] The output command value may be represented by a manipulated variable. In this case, the individual command value is represented by the difference between the current manipulated variable and the previous manipulated variable. The relay device 20 generates the manipulated variable represented by the output command value by integrating the difference represented by the individual command value.
[0047] The output command value generation unit 24 has a command value conversion unit 241 and a previous output command value holding unit 242. The command value conversion unit 241 acquires a command value and stores the command value in the previous output command value holding unit 242. The command value conversion unit 241 integrates the difference indicated in the individual command value based on the command value held in the previous output command value holding unit 242, thereby generating the manipulated variable indicated in the output command value.
[0048] Fig. 7 is a block diagram showing an example of the configuration of a timestamp adding unit according to this embodiment. Fig. 8 is a conceptual diagram showing an example of a command value with a timestamp according to this embodiment.
[0049] The timestamp assigning unit 22 has a timestamp-attached command value holding unit 221 and a timer 222. The timer 222 measures time and provides timestamps at predetermined timings. The timestamp-attached command value holding unit 221 acquires a command value from the command value acquiring unit 21, stores a timestamp-attached command value obtained by adding timestamp information from the timer 222 to the command value, and outputs the timestamp-attached command value.
[0050] FIG. 9 is a block diagram showing an example of the configuration of the drive timing instruction unit according to this embodiment.
[0051] The drive timing instruction unit 26 includes a control device number calculation unit 261 , a period information storage unit 262 , and a drive timing determination unit 263 .
[0052] The control device number calculation unit 261 calculates the number of control devices based on the time-stamped command value, for example, as follows. The cycle information storage unit 262 stores information about the cycle in advance, such as that one cycle is 10 seconds. The cycle information storage unit 262 outputs information about the cycle to the control device number calculation unit 261 and the drive timing determination unit 263. The drive timing determination unit 263 determines the drive timing based on the time-stamped command value, the number of control devices calculated by the control device number calculation unit 261, and the information about the cycle, and outputs a drive timing change instruction if there is a change in the drive timing.
[0053] Fig. 10 is a conceptual diagram showing an example of a process for changing the drive timing by the drive timing instruction unit according to this embodiment. Fig. 11 is a conceptual diagram showing a process for specifying the number of control devices according to this embodiment. Fig. 12 is a conceptual diagram illustrating drive timing when there is no timing change according to this embodiment. Fig. 13 is a conceptual diagram illustrating drive timing when there is a timing change due to a change in the number of control devices according to this embodiment.
[0054] 9 and 11, the control device number calculation unit 261 calculates the number of commands within a period as the number of control devices. For example, if the period is 10 ms and there are two commands within that period, the control device number calculation unit 261 calculates that the number of control devices is two.
[0055] The control device number calculation unit 261 may confirm the calculated number of control devices. As a confirmation method, the number of control devices is calculated based on the number of commands included in multiple cycles. For example, if eight commands are included in four cycles, two commands are included per cycle, so the number of control devices calculated over four cycles will be two, which is the same as the number calculated over one cycle.
[0056] The configuration was changed from two control devices to four. In the two configurations of control device A and control device B, the time allocated to each control was 10 ms. The timing of control start in control device A, i.e., the drive timing, and the timing of control start in control device B, i.e., the drive timing, were shifted by 5 ms.
[0057] The configuration has been changed from the above to a configuration of four control devices, control device A to control device D. The control device number calculation unit 261 calculates the number of control devices, for example, as described above, and is therefore able to detect that the number of control devices has changed from two to four. When the control device number calculation unit 261 detects that the number of control devices has changed to four, the drive timing determination unit 263 changes the drive timing for each control device as follows: The time allocated to one control remains unchanged at 10 ms. Meanwhile, the difference in control start timing for each control device is changed from 5 ms to 2.5 ms (see FIG. 10). As a result, the drive timing determined by the drive timing determination unit 263 changes from the state shown in FIG. 12 to the state shown in FIG. 13. [Example]
[0058] FIG. 14 is a block diagram of a control system according to this embodiment.
[0059] 14, detailed description will be omitted for the same parts as those of the control system 1 shown in Fig. 1. The control system 1B includes an output timing instruction unit 27 instead of the drive timing instruction unit 26.
[0060] The output timing instruction unit 27 has a function of generating timing instruction information for instructing the instruction time, which is the time of the next instruction for each control service, based on the number of control services and the acquisition time of the individual instruction value for each control service, and notifying each control service of the instruction time. The instruction time in the control system 1B shown in Fig. 14 corresponds to the output timing. The instruction time is the output time, which is the time when the individual instruction value by the control service is output.
[0061] FIG. 15 is a conceptual diagram illustrating data stored in the memory area of the control device according to this embodiment.
[0062] The memory area corresponds to, for example, memory 112 or memory 122 in Fig. 14. The memory stores the target state, the previous command value, a timestamp of the previous command value, the command value, and the output timing.
[0063] Fig. 16 is a block diagram showing an example of the configuration of an output timing instruction unit according to this embodiment. Fig. 17 is a conceptual diagram illustrating output timing according to this embodiment when there is no timing change. Fig. 18 is a conceptual diagram illustrating output timing according to this embodiment when there is a timing change due to a change in the number of control devices.
[0064] The output timing instruction unit 27 includes a control device number calculation unit 271 , a period information storage unit 272 , and an output timing determination unit 273 .
[0065] Similar to the control device number calculation unit 261, the control device number calculation unit 271 calculates the number of control devices based on the time-stamped command value. Similar to the period information storage unit 262, the period information storage unit 272 stores information about the period in advance, such as that one period is 10 seconds. The period information storage unit 272 outputs information about the period to the control device number calculation unit 271 and the output timing determination unit 273. Similar to the drive timing determination unit 263, the output timing determination unit 273 determines the output timing based on the time-stamped command value, the number of control devices calculated by the control device number calculation unit 271, and information about the period, and outputs a command value output timing change instruction if there is a change in the output timing.
[0066] As shown in Figure 10, the configuration was changed from two control devices to four. In the two configurations, control device A and control device B, the time allocated to one command value output was 10 ms. The output timing of control device A and the output timing of control device B were shifted by 5 ms.
[0067] The configuration has been changed from the above to one with four control devices, control device A to control device D. The control device number calculation unit 271 calculates the number of control devices, for example, as described above, and is therefore able to detect that the number of control devices has changed from two to four. When the control device number calculation unit 271 detects that the number of control devices has changed to four, the output timing determination unit 273 changes the command value output timing for each control device as follows: The time allocated to one command value output remains unchanged at 10 ms. Meanwhile, the deviation in the command value output timing for each control device is changed from 5 ms to 2.5 ms. As a result, the output timing determined by the output timing determination unit 273 changes from the state shown in FIG. 17 to the state shown in FIG. 18. [Example]
[0068] 19 is a conceptual diagram illustrating an example of command values when there are command types according to this embodiment. In this embodiment, in a system in which speed control and position control services coexist, the current control command value is generated by adding the speed control value to the position control value.
[0069] The control services include a control service that generates a manipulated variable as an individual command value and a control service that generates a difference between the manipulated variables as an individual command value. The relay device 20 determines whether the acquired individual command value is a manipulated variable or a difference based on its format, and if the individual command value is a difference, it sets the current manipulated variable calculated from the previous manipulated variable and the difference as the output command value, or if the individual command value is a manipulated variable, it sets the manipulated variable as the output command value.
[0070] In Figure 19, the command value for No. 1 is +10, and the command type is speed. The command value for No. 2 is 40, and the command type is position. The speed here corresponds to the difference, and the position corresponds to the manipulated variable.
[0071] 20 is a conceptual diagram showing an example of calculation of an output command value when there are command types according to this embodiment. The previous manipulated variable is the previous output command value "10".
[0072] The relay device 20 determines whether the acquired individual command value is a manipulated variable or a difference based on its format. For example, if the command value is "+10" and the command type is "speed," this corresponds to a case where the individual command value is a difference. Therefore, the relay device 20 sets the current manipulated variable "20," calculated from the previous manipulated variable "10" and the difference "+10," as the output command value.
[0073] For example, if the command value is "40" and the command type is "position," this corresponds to a case where the individual command value is a manipulated variable. Therefore, the relay device 20 sets the manipulated variable, "40," as the output command value.
[0074] The intermediary device 20 may unify a plurality of individual command values into a common format and generate an output command value. [Example]
[0075] Next, a case where there are multiple control targets will be described. Fig. 21 is a block diagram of a control system according to this embodiment.
[0076] The basic configuration of the control system 1C is similar to that of the control system 1 shown in Fig. 1, and therefore detailed description thereof will be omitted. In the case of the control system 1C, there are two control objects: a control object Ta31 and a control object Tb32.
[0077] FIG. 22 is a conceptual diagram illustrating data stored in the memory area of the control device according to this embodiment.
[0078] 21, the memory area corresponds to, for example, memory 112 or memory 122. The memory stores the target state, the previous command value, the timestamp of the previous command value, the command value, the controlled object, and the drive timing.
[0079] FIG. 23 is a conceptual diagram showing an example of processing by the intermediary device when there are multiple control targets according to this embodiment.
[0080] Control service A and control service B output individual command values for each of multiple control objects. In the figure, sender A corresponds to control service A. Sender B corresponds to control service B. Intermediary device 20 acquires individual command values from multiple control services, classifies them by control object, generates command sharing information and timing instruction information for each control object, and notifies the control service. Based on the individual command values for each control object output from the control service, intermediary device 20 generates output command values for each control object and outputs them to the control object. [Example]
[0081] FIG. 24 is a block diagram of a control system according to this embodiment.
[0082] The basic configuration of control system 1D is the same as that of control system 1 shown in Fig. 1, so only the differences will be described. Control system 1D has multiple intermediary devices. Specifically, control system 1D further has an associated intermediary device 20B in addition to intermediary device 20A. Intermediary device 20A and associated intermediary device 20B cooperate with each other in the phases that they are responsible for, and take turns for each control service to generate the output command based on the command output from the control service.
[0083] The basic configuration of the intermediate device 20A and the associated intermediate device 20B is the same as that of the intermediate device 20 shown in Fig. 1. The intermediate device 20A and the associated intermediate device 20B each further include an inter-intermediate device phase adjuster .
[0084] The intermediary device phase adjustment unit 28 has a function of coordinating the phases shared by the plurality of intermediary devices with each other.
[0085] The inter-intermediary device phase adjustment unit 28 of the intermediary device 20A and the associated intermediary device 20B may predetermine the phase that each device is responsible for in the control cycle, and periodically generate and output the output command value in accordance with the control cycle.
[0086] The inter-intermediary device phase adjuster 28 of the intermediary device 20A and the associated intermediary device 20B may alternately generate and output the output command value by transferring the transmission right.
[0087] Inter-intermediate device phase adjustment unit 28 of intermediate device 20A acquires the transmission right, generates and outputs an output command value, and then releases the transmission right. Inter-intermediate device phase adjustment unit 28 of associated intermediate device 20B acquires the released transmission right, generates and outputs an output command value, and then releases the transmission right. This process of acquiring and releasing the transmission right is repeated.
[0088] The above-described embodiments of the present invention are examples for explaining the present invention, and are not intended to limit the scope of the present invention to only these embodiments. Those skilled in the art can implement the present invention in various other forms without departing from the scope of the present invention. Furthermore, the technical scope of the above-described embodiments includes the matters set forth in the following appendices. However, the present invention is not limited to the following appendices. Furthermore, the matters included in the above-described embodiments are not limited to the appendices.
[0089] As described above, the control system includes a plurality of control services that each output individual command values, which are command values for controlling a control object, and an intermediary device that acquires the individual command values from the control services and generates, based on the plurality of individual command values, output command values, which are command values to be given to the control object. The intermediary device assigns, to the plurality of individual command values, acquisition times, which are the times at which the individual command values were acquired, and notifies the plurality of control services of command sharing information including the individual command values and acquisition times. The intermediary device generates timing instruction information for instructing the instruction time, which is the time of the next command for each of the control services, based on the number of control services and the acquisition times of the individual command values for each of the control services, and notifies each of the control services of the timing instruction information. In this way, the intermediary device generates output commands based on commands from the plurality of control services and communicates the commands and output times of all of the control services to each of the plurality of control services, thereby instructing the timing of the next command. This reduces the manual effort required when changing the number or configuration of control services, and makes it easy to achieve multi-phase control using a plurality of control services.
[0090] Furthermore, the output command value is represented by a manipulated variable, and the individual command value is represented by the difference between the current manipulated variable and the previous manipulated variable, and the intermediary device generates the manipulated variable represented by the output command value by integrating the difference represented by the individual command value. This makes it possible to easily achieve multi-phase control using multiple control services, even when a control service whose individual command value is represented by a difference is included.
[0091] Furthermore, the control services include a mixture of control services that generate manipulated variables as individual command values and control services that generate manipulated variable differences as individual command values, and the intermediary device determines whether the acquired individual command value is a manipulated variable or a difference based on its format, and if the individual command value is a difference, it sets the current manipulated variable calculated from the previous manipulated variable and the difference as the output command value, or if the individual command value is a manipulated variable, it sets the manipulated variable as the output command value. This makes it easy to achieve multi-phase control using multiple control services, even when there is a mixture of control services that generate manipulated variables as individual command values and control services that generate manipulated variable differences as individual command values.
[0092] Furthermore, an intermediary device is provided inside a control device having a control service, which makes it possible to easily realize multi-phase control using a plurality of control services without providing a separate intermediary device.
[0093] The instruction time is the output time, which is the time when the control service outputs an individual command value, or the drive time, which is the time when the control service starts processing to generate the individual command value. This makes it easy to achieve multi-phase control by multiple control services based on the output time or drive time.
[0094] The intermediary device also determines the time intervals between the instruction times notified to each of the control services, and generates output command values so that the individual command values acquired from each of the control services are output at the time intervals. This allows multi-phase control by multiple control services to be performed at stable time intervals.
[0095] The intermediary device also notifies the control service of the cycle at which the individual command values are output and the phase at which the individual command values are output within that cycle as timing instruction information, and the control service periodically outputs the individual command values at times specified by the cycle and phase included in the timing instruction information. This allows multi-phase control by multiple control services to be performed at a stable cycle.
[0096] In addition, if there are multiple control objects, the control service outputs individual command values for each of the multiple control objects, and the intermediary device acquires the individual command values from the multiple control services and classifies them by control object, generates command sharing information and timing instruction information for each control object and notifies the control service, and generates output command values for each control object based on the individual command values for each control object output from the control service and outputs them to the control objects. This makes it easy to achieve multi-phase control using multiple control services even when there are multiple control objects.
[0097] The system further includes an associated intermediary device, and the intermediary device and the associated intermediary device cooperate with each other in the phases that they respectively handle, and take turns generating output command values for each control service based on individual command values output from the control service. This allows for multi-phase control by multiple control services, even when there are multiple intermediary devices, with the multiple intermediary devices cooperating topologically.
[0098] The relay device also unifies the multiple individual command values into a common format to generate an output command value. This allows the relay device to unify the output command value into a predetermined format and output it stably, even when multiple formats of individual command values such as manipulated variables and differences are mixed.
[0099] In addition, in a control system in which a control object is controlled by a plurality of control services, a control intermediation device that mediates individual command values, which are commands from the control services, to the control object includes: a timestamp assignment unit that assigns, to the plurality of individual command values, an acquisition time, which is the time at which the individual command value was acquired; a command value sharing unit that notifies the plurality of control services of command sharing information including the individual command values and the acquisition times; a timing instruction unit that generates timing instruction information for instructing a command time, which is the time of the next command for each of the control services, based on the number of control services and the acquisition times of the individual command values for each of the control services, and notifies each of the control services of the same; and an output command generation unit that generates, in each of the control services, an output command value to be input to the control object, based on the plurality of individual command values generated based on the individual command value and acquisition time included in the command sharing information and the instruction time included in the timing instruction information. As a result, the control intermediation device generates output commands based on commands from the plurality of control services, and communicates the commands from all of the plurality of control services and the output times thereof to each of the plurality of control services, and instructs the timing of the next command, thereby reducing the manual effort required when changing the number or configuration of control services, and easily realizing multi-phase control using a plurality of control services.
[0100] Furthermore, a control intermediation method for mediating individual command values, which are commands from control services, to a control object in a control system that controls a control object using a plurality of control services, assigns to the plurality of individual command values an acquisition time, which is the time when the individual command value was acquired, notifies the plurality of control services of command sharing information including the individual command values and the acquisition time, generates timing instruction information for indicating an instruction time, which is the time of the next command for each of the control services, based on the number of control services and the acquisition time of the individual command value for each of the control services, and notifies each of the control services of the timing instruction information, and each control service generates an output command value to be input to the control object based on the plurality of individual command values generated based on the individual command values and acquisition times included in the command sharing information and the instruction time included in the timing instruction information. As a result, output commands are generated based on commands from the plurality of control services, and commands from all of the plurality of control services and the times at which they were output are communicated to each of the plurality of control services, and the timing of the next command is indicated, thereby reducing the amount of manual work required when changing the number or configuration of control services and easily realizing multi-phase control using a plurality of control services. [Explanation of symbols]
[0101] 1, 1B, 1C, 1D...control system, 11...control device, 111...control service, 112...memory, 12...control device, 121...control service, 122...memory, 20, 20A, 20B...intermediary device, 21...command value acquisition unit, 22...timestamp assignment unit, 221...command value storage unit, 222...timer, 23...command value sharing unit, 24...output command value generation unit, 241...command value conversion unit, 242...previous output command value storage unit, 25...output command value transmission unit, 26...drive timing instruction unit, 261...control device number calculation unit, 262...period information storage unit, 263...drive timing determination unit, 27...output timing instruction unit, 271...control device number calculation unit, 272...period information storage unit, 273...output timing determination unit, 28...intermediary device phase adjustment unit, 30...controlled object
Claims
1. a plurality of control services each outputting individual command values that are command values for controlling a control target; an intermediary device that acquires the individual command values from the control service and generates an output command value, which is a command value to be given to the control target, based on a plurality of the individual command values; and The intermediary device assigning acquisition times, which are times when the individual command values were acquired, to the individual command values; notifying the plurality of control services of command sharing information including the individual command value and the acquisition time; generating timing instruction information for instructing an instruction time, which is the time of the next instruction for each of the control services, based on the number of the control services and the acquisition time of the individual instruction value for each of the control services, and notifying each of the control services; each of the control services generates an individual command value based on the individual command value and acquisition time included in the command sharing information and the command time included in the timing command information; Control system.
2. the output command value is indicated by an operation amount, the individual command value is represented by a difference between a current manipulated variable and a previous manipulated variable, the relay device generates the manipulated variable indicated by the output command value by integrating the difference indicated by the individual command value. The control system of claim 1 .
3. The control services include a control service that generates an operation amount as an individual command value and a control service that generates a difference between the operation amounts as an individual command value, The relay device determines whether the acquired individual command value is an operation amount or a difference based on its format, and if the individual command value is a difference, sets the current operation amount calculated from the previous operation amount and the difference as the output command value, and if the individual command value is an operation amount, sets the operation amount as the output command value. The control system of claim 1 .
4. The control device having the control service includes the intermediary device. The control system of claim 1 .
5. The instruction time is an output time, which is a time when an individual command value is output by the control service, or a drive time, which is a time when the control service starts processing to generate an individual command value. The control system of claim 1 .
6. the relay device specifies a time interval between the instruction times notified to each of the control services, and generates the output instruction value such that the individual instruction value acquired from each of the control services is output at the time interval. The control system of claim 1 .
7. the relay device notifies the control service of a cycle for outputting an individual command value and a phase for outputting the individual command value within the cycle, as the timing instruction information; the control service periodically outputs individual command values at times specified by a period and a phase included in the timing instruction information. The control system of claim 1 .
8. There are a plurality of control targets, the control service outputs individual command values for each of the plurality of control targets; The intermediary device acquiring the individual command values from the plurality of control services and classifying them for each of the control targets; generating command sharing information and timing instruction information for each of the control objects and notifying the control service of the information; generating an output command value for each of the control objects based on the individual command value for each of the control objects output from the control service, and outputting the output command value to each of the control objects; The control system of claim 1 .
9. Further comprising an associated intermediary device; The control system according to claim 1, wherein the intermediate device and the associated intermediate device cooperate with each other in the phases that they respectively share, and take turns for each control service to generate the output command value based on the individual command value output from the control service.
10. the intermediary device unifies the plurality of individual command values into a common format and generates the output command value. The control system of claim 1 .
11. A control intermediation device that mediates individual command values, which are commands by a control service, to a control object in a control system that controls the control object by a plurality of control services, a timestamp assigning unit that assigns, to the plurality of individual command values, an acquisition time that is a time when the individual command values are acquired; a command value sharing unit that notifies the plurality of control services of command sharing information including the individual command value and the acquisition time; a timing instruction unit that generates timing instruction information for instructing an instruction time, which is the time of the next instruction for each of the control services, based on the number of the control services and the acquisition time of an individual instruction value for each of the control services, and notifies each of the control services of the timing instruction information; an output command generating unit configured to generate, in each of the control services, an output command value to be input to the control target based on a plurality of individual command values generated based on the individual command values and acquisition times included in the command sharing information and the instruction times included in the timing instruction information; A control intermediary device having the above configuration.
12. 1. A control intermediation method for intermediating individual command values, which are commands by a plurality of control services, to a control object in a control system that controls the control object by the plurality of control services, the method comprising: assigning acquisition times, which are times when the individual command values were acquired, to the individual command values; notifying the plurality of control services of command sharing information including the individual command value and the acquisition time; generating timing instruction information for instructing an instruction time, which is the time of the next instruction for each of the control services, based on the number of the control services and the acquisition time of the individual instruction value for each of the control services, and notifying each of the control services; In each of the control services, an output command value to be input to the control target is generated based on the individual command values and acquisition times included in the command sharing information and the command times included in the timing command information. Control mediation methods.
Citation Information
Patent Citations
Gateway apparatus, control instruction processing method, and program
JP2009239478A
Robot control device, robot system, robot, robot control method, and program
JP2015074063A