# US 11,623,343 B2 · Controller

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

- Number: US 11,623,343 B2
- Document ID: US11623343B2
- Status: Granted
- Kind: B2
- Application number: 17/090,947
- Filed: 2020-11-06
- Published: 2021-06-10
- Granted: 2023-04-11
- Earliest claimed: 2019-12-04
- Assignees: Fanuc Corporation
- Applicants: Fanuc Corporation
- Inventors: Masafumi Ooba
- Web page: https://patentgrep.com/patent/US11623343B2

## CPC

- B25J 9/1602: {characterised by the control system, structure, architecture}
- B25J 9/1633: {compliant, force, torque control, e.g. combined with position control}
- B25J 9/1679: {characterised by the tasks executed}
- G05B 19/402: characterised by control arrangements for positioning, e.g. centring a tool relative to a hole in the workpiece, additional detection means to correct position (G05B19/19 takes precedence)
- G05B 2219/39143: One program in robot controller for both robot and machine, press, mold
- 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

The controller includes a program storage that stores programs specifying a plurality of operations associated with at least one operable unit; a program executor that executes the programs; an operation executor that causes the operable unit to operate according to the programs; and an operable unit manager that manages control of the programs. When a program is called from one of the programs, the operable unit manager obtains control of a group associated with the operable unit and specified in the called program, and releases control of a group other than the group associated with the operable unit and specified in the called program.

## Claims

### Claim 1

A controller comprising:
a processor;
at least one control target; and
a storage device,
wherein the processor is configured to:
store a main program specifying a plurality of operations associated with the at least one control target in the storage device;
execute the main program; and
cause the at least one control target to operate according to the main program, the main program including a first subprogram specifying a first group of the at least one control target and a second subprogram specifying a second group of the at least one control target,
wherein when the first subprogram is called from the main program, the processor releases, from the main program, control of the second group other than the first group that is associated with the control target and specified in the called first subprogram, and ends the main program, and
the processor controls the first group in accordance with the first subprogram and controls the second group in accordance with the second subprogram in parallel, wherein
the control target is at least one robot, at least one operable tool, at least one rail axis, at least one positioner, or a combination thereof.

### Claim 2 (depends on 1)

The controller according to claim 1,
wherein the main program includes a plurality of subprograms including the first subprogram and the second subprogram,
wherein the processor comprises a sub-processor that executes the plurality of subprograms in parallel.

### Claim 3 (depends on 1)

The controller according to claim 1, wherein the releasing and obtaining of the control are executed automatically.

### Claim 4

A controller comprising:
a processor;
a plurality of control targets; and
a storage device,
wherein the processor is configured to:
store a main program specifying a plurality of operations of the plurality of control targets in the storage device;
execute the main program;
cause the plurality of control targets to operate according to the main program, the main program including a first subprogram specifying a first control target of the plurality of control targets and a second subprogram specifying a second control target of the plurality of control targets; and
wherein when the first program is called from the main program, the processor releases, from the main program, control of the second control target other than the first control target that performs the operation specified in the called first subprogram, and ends the main program, and
the processor controls the first control target in accordance with the first subprogram and controls the second control target in accordance with the second subprogram in parallel, wherein
the plurality of control targets are a plurality of robots, a plurality of operable tools, a plurality of rail axes, a plurality of positioners, or a combination of thereof.

### Claim 5 (depends on 4)

The controller according to claim 4, wherein the releasing and obtaining of the control are executed automatically.
