# US 12,759,152 B2 · Simulated collaboration of multiple controllers

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,759,152 B2
- Document ID: US12759152B2
- Status: Granted
- Kind: B2
- Application number: 18/068,534
- Filed: 2022-12-20
- Published: 2023-04-20
- Granted: 2026-10-13
- Earliest claimed: 2020-06-23
- Applicants: Kabushiki Kaisha Yaskawa Denki
- Inventors: Yukio Hashiguchi; Yoshifumi Onoyama; Koichi Kuwahara; Naoki Utsumi
- Web page: https://patentgrep.com/patent/US12759152B2

## CPC

- B25J 9/1671: {characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems}
- G05B 19/4069: Simulating machining process on screen (G05B19/4068 takes precedence)
- G05B 2219/33274: Integrated communication and control, transmission delay, sampling rate effect
- B25J: MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES ({manipulators specially adapted for use in surgery A61B34/70; manipulators used in cleaning hollow articles B08B9/04}; manipulators associated with rolling mills B21B39/20; manipulators associated with forging machines B21J13/10; {manipulators associated with picking-up and placing mechanisms B23P19/007}; means for holding wheels or parts thereof B60B30/00; {vehicles with ground-engaging propulsion means, e.g. walking members B62D57/02, B62D57/032; devices for picking-up and depositing articles or materials between conveyors B65G47/90, B65G47/91; manipulators with gripping or holding means for transferring packages B65H67/065}; cranes B66C; {manipulators used in the protection or supervision of pipe-line installations F17D5/00; walking equipment adapted for nuclear steam-generators F22B37/006}; manipulators specially adapted for, or associated with, nuclear reactors G21C; {apparatus used for handling wafers during manufacture or treatment of semiconductor H10P72/50})
- G05B: CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS (systems for controlling or regulating non-electric variables G05D; systems for regulating electric or magnetic variables G05F; control devices or systems insofar as characterised by mechanical features only G05G)

## Abstract

A simulation device includes circuitry configured to: execute a first simulation of a first control of a first machine, wherein the first control is executed by a first controller; execute a second simulation of a second control of a second machine, wherein the second control is executed by a second controller so that the second machine operates in collaboration with the first machine; and control progress of the first simulation and progress of the second simulation to maintain a simulated ratio of a progress speed of the first simulation and a progress speed of the second simulation to be equal to a ratio of a progress speed of the first control and a progress speed of the second control.

## Claims

### Claim 1

A simulation device comprising circuitry configured to:
execute a first simulation of a first control of a first machine, wherein the first control is executed by a first controller;
execute a second simulation of a second control of a second machine, wherein the second control is executed by a second controller so that the second machine operates in collaboration with the first machine; and
control progress of the first simulation and progress of the second simulation to maintain a simulated ratio of a progress speed of the first simulation and a progress speed of the second simulation to be equal to a ratio of a progress speed of the first control and a progress speed of the second control,
wherein the first control includes a first set of cycles and the first controller is configured to execute each of the first set of cycles after a first control period,
wherein the second control includes a second set of cycles and the second controller is configured to execute each of the second set of cycles after a second control period, and
wherein the circuitry is configured to control the progress of the first simulation and the progress of the second simulation by:
counting a number of simulation cycles;
selecting the first simulation in response to determining that the number of simulation cycles becomes a number corresponding to the first control period;
selecting the second simulation in response to determining that the number of simulation cycles becomes a number corresponding to the second control period;
executing one of the first set of cycles in response to a selection of the first simulation; and
executing one of the second set of cycles in response to a selection of the second simulation.

### Claim 2 (depends on 1)

The simulation device according to claim 1, wherein the circuitry is further configured to simulate an operation of the first machine and an operation of the second machine based on a result of the first simulation and a result of the second simulation.

### Claim 3 (depends on 2)

The simulation device according to claim 2, wherein the circuitry is configured to simulate the operation of the first machine and the operation of the second machine in response to determining that both the result of the first simulation and the result of the second simulation are updated.

### Claim 4 (depends on 1)

The simulation device according to claim 1, wherein the circuitry is further configured to simulate communication executed between the first controller and the second controller during execution of the first simulation and the second simulation.

### Claim 5 (depends on 4)

The simulation device according to claim 4, wherein the circuitry is configured to:
generate communication data for the communication by executing at least a part of the first simulation; and
acquire the generated communication data after a lapse of a predetermined virtual delay time to execute at least a part of the second simulation based on the acquired communication data.

### Claim 6 (depends on 5)

The simulation device according to claim 5, wherein the circuitry is further configured to:
store, in a communication buffer, the communication data generated by executing at least the part of the first simulation;
count a number of communication cycles after the communication data is stored in the communication buffer; and
acquire, in response to determining that the number of communication cycles becomes a number corresponding to the virtual delay time, the stored communication data to execute at least the part of the second simulation based on the acquired communication data.

### Claim 7 (depends on 6)

The simulation device according to claim 6, wherein the communication buffer includes a plurality of storage areas arranged from an upstream end to a downstream end in a data transfer direction, and
wherein the circuitry is configured to:
store the generated communication data in a storage area on the upstream end of the communication buffer;
transfer the communication data to an adjacent storage area along the data transfer direction every time the number of communication cycles is counted; and
acquire the communication data transferred to a storage area on the downstream end in the communication buffer to execute at least the part of the second simulation based on the acquired communication data.

### Claim 8 (depends on 7)

The simulation device according to claim 7, wherein the communication buffer includes the plurality of storage areas a number of which corresponds to the virtual delay time.

### Claim 9 (depends on 4)

The simulation device according to claim 4, wherein the circuitry is configured to, based on a plurality of communication definitions each of which associates a transmission side simulation with a reception side simulation, acquire communication data generated by executing at least a part of the transmission side simulation to execute at least a part of the reception side simulation based on the acquired communication data, according to each of the plurality of communication definitions.

### Claim 10 (depends on 1)

The simulation device according to claim 1, wherein the circuitry is further configured to change the progress speed of the first simulation and the progress speed of the second simulation in response to a designation of playback speed.

### Claim 11 (depends on 1)

The simulation device according to claim 1, wherein the circuitry is further configured to suspend the first simulation and the second simulation in response to a suspension command.

### Claim 12 (depends on 1)

The simulation device according to claim 1, wherein the circuitry is configured to, in response to receiving a designation of individual simulation, execute the first simulation regardless of the progress of the second simulation.

### Claim 13 (depends on 5)

A control system comprising:
the simulation device according to claim 5; and
the first controller and the second controller,
wherein the circuitry is further configured to set the virtual delay time to correspond to a communication delay time between the first controller and the second controller.

### Claim 14 (depends on 13)

The control system according to claim 13, wherein the circuitry is further configured to detect an anomaly in the first controller and the second controller based on a comparison between the progress speed of the first control, the progress speed of the second control, the progress speed of the first simulation, and the progress speed of the second simulation.

### Claim 15 (depends on 1)

A control system comprising:
the simulation device according to claim 1; and
the first controller and the second controller,
wherein the circuitry is further configured to generate a comparison image that compares the progress speed of the first control, the progress speed of the second control, the progress speed of the first simulation, and the progress speed of the second simulation.

### Claim 16 (depends on 1)

The simulation device according to claim 1, wherein the circuitry is further configured to:
execute each of the first set of cycles without waiting for a completion of the first control period in the first simulation; and
execute each of the second set of cycles without waiting for a completion of the second control period in the second simulation.

### Claim 17

A simulation method comprising:
executing a first simulation of a first control of a first machine, wherein the first control is executed by a first controller;
executing a second simulation of a second control of a second machine, wherein the second control is executed by a second controller so that the second machine operates in collaboration with the first machine; and
controlling progress of the first simulation and progress of the second simulation to maintain a simulated ratio of a progress speed of the first simulation and a progress speed of the second simulation to be equal to a ratio of a progress speed of the first control and a progress speed of the second control,
wherein the first control includes a first set of cycles and the first controller is configured to execute each of the first set of cycles after a first control period,
wherein the second control includes a second set of cycles and the second controller is configured to execute each of the second set of cycles after a second control period, and
wherein said controlling the progress of the first simulation and the progress of the second simulation includes:
counting a number of simulation cycles;
selecting the first simulation in response to determining that the number of simulation cycles becomes a number corresponding to the first control period;
selecting the second simulation in response to determining that the number of simulation cycles becomes a number corresponding to the second control period;
executing one of the first set of cycles in response to a selection of the first simulation; and
executing one of the second set of cycles in response to a selection of the second simulation.

### Claim 18 (depends on 17)

The simulation method according to claim 17, wherein said controlling the progress of the first simulation and the progress of the second simulation further includes changing the progress speed of the first simulation and the progress speed of the second simulation in response to a designation of playback speed.

### Claim 19 (depends on 17)

The simulation method according to claim 17, further comprising suspending the first simulation and the second simulation in response to a suspension command.

### Claim 20

A simulation device comprising circuitry configured to:
execute a first simulation of a first control of a first machine, wherein the first control is executed by a first controller;
execute a second simulation of a second control of a second machine, wherein the second control is executed by a second controller so that the second machine operates in collaboration with the first machine;
control progress of the first simulation and progress of the second simulation to maintain a simulated ratio of a progress speed of the first simulation and a progress speed of the second simulation to be equal to a ratio of a progress speed of the first control and a progress speed of the second control; and
change the progress speed of the first simulation and the progress speed of the second simulation in response to a designation of playback speed.
