# US 10,372,644 B2 · Programmable controller

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

- Number: US 10,372,644 B2
- Document ID: US10372644B2
- Status: Granted
- Kind: B2
- Application number: 15/877,507
- Filed: 2018-01-23
- Published: 2018-08-09
- Granted: 2019-08-06
- Earliest claimed: 2017-02-03
- Assignees: Fanuc Corporation
- Applicants: Fanuc Corporation
- Inventors: Akihiro Matsumoto
- Web page: https://patentgrep.com/patent/US10372644B2

## CPC

- G06F 13/376: using a contention resolving method, e.g. collision detection, collision avoidance
- G06F 13/4204: {on a parallel bus}
- G06F 13/4291: {using a clocked protocol}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Provided is a programmable controller capable of simplifying handshake processing between control devices. The programmable controller, which performs the handshake processing in conjunction with a reception-side device, is provided with an output signal area in which a signal to be output to the reception-side device is held, an input signal area in which a signal output by the reception-side device is held, a sequential program execution part configured to execute a sequential program, an output signal temporary area in which an output signal from the sequential program is held, and a handshake processing part configured to copy a signal state of the output signal temporary area in the output signal area and hold the signal state of the output signal area so that the input signal area is notified of a completion signal.

## Claims

### Claim 1

A programmable controller configured to perform handshake processing in conjunction with a reception-side device, the programmable controller comprising:
an output signal area in which a signal to be output to the reception-side device is held;
an input signal area in which a signal output by the reception-side device is held;
a sequential program execution part configured to execute a sequential program;
an output signal temporary area in which an output signal from the sequential program is held; and
a handshake processing part configured to
copy a signal state of the output signal temporary area to the output signal area, and
hold the signal state of the output signal area so that the input signal area is notified of a completion signal.

### Claim 2 (depends on 1)

The programmable controller according to claim 1, wherein
after the signal state of the output signal temporary area is copied to the output signal area, the sequential program execution part is configured to change the signal state of the output signal temporary area before the input signal area is notified of the completion signal.

### Claim 3 (depends on 1)

The programmable controller according to claim 1, wherein
the handshake processing part is configured to
determine whether or not the output signal from the sequential program is a signal that requires handshake processing, and
cause the output signal from the sequential program to be held in the output signal temporary area in response to a determination that the output signal is a signal that requires the handshake processing.

### Claim 4 (depends on 3)

The programmable controller according to claim 3, wherein
the handshake processing part is configured to
cause the output signal from the sequential program to be held in the output signal area in response to a determination that the output signal is a signal that does not require the handshake processing.

### Claim 5 (depends on 1)

The programmable controller according to claim 1, wherein
the handshake processing part is configured to
copy the signal state of the output signal temporary area to the output signal area when the completion signal is not held in the input signal area.

### Claim 6 (depends on 1)

The programmable controller according to claim 1, wherein
the handshake processing part is configured to
hold the signal state of the output signal area until the input signal area is notified of the completion signal received from the reception-side device.

### Claim 7 (depends on 1)

The programmable controller according to claim 1, wherein the handshake processing part is configured to
determine whether or not the output signal from the sequential program is a signal that requires handshake processing,
in response to a determination that the output signal from the sequential program is a signal that does not require the handshake processing,
write the output signal into the output signal area, and
in response to a determination that the output signal from the sequential program is a signal that requires the handshake processing,
write the output signal into the output signal temporary area,
copy the signal state of the output signal, that has been written into the output signal temporary area, to the output signal area, causing the reception-side device to start a predetermined operation,
after the signal state of the output signal temporary area has been copied to the output signal area,
change the signal state of the output signal temporary area before the input signal area is notified of the completion signal received from the reception-side device upon completion of the predetermined operation, and
hold the signal state of the output signal area until the input signal area is notified of the completion signal received from the reception-side device.
