# US 12,222,697 B2 · Programmable logic controller, setting tool, and recording medium

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

- Number: US 12,222,697 B2
- Document ID: US12222697B2
- Status: Granted
- Kind: B2
- Application number: 17/616,685
- Filed: 2019-07-26
- Published: 2022-09-29
- Granted: 2025-02-11
- Earliest claimed: 2019-07-26
- Assignees: Mitsubishi Electric Corporation
- Applicants: Mitsubishi Electric Corporation
- Inventors: Naoya Okada; Takashi Okamoto
- Web page: https://patentgrep.com/patent/US12222697B2

## CPC

- G05B 19/054: {Input/output}
- G05B 19/058: {Safety, monitoring}
- 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 differential logger stores, into a log storage from a device memory, a differential log being a log of a device value that has changed at each execution of a control program. A collective logger collectively stores, at a set time, collection target device values into the log storage as reference data to be used to collect the differential log. A split logger acquires as split logs, after the set time, logs of the device values multiple times, and stores the split logs into the reference data storage. The differential logger overwrites data in the log storage with the differential log after new reference data is stored into the log storage.

## Claims

### Claim 1

A programmable logic controller for cyclically executing a control program, the programmable logic controller comprising:
a differential logging circuit to collect, from a device storage to store device values including an input value and an output value for the control program, a device value that has changed among device values set as collection targets from the device values in the device storage at each execution of the control program, and to store a differential log being a log of the collected device value into a differential log storage;
a collective logging circuit to collect a determined number of data pieces at a time, from the device storage, for the device values set as collection targets from the device values in the device storage at a set time as reference data to be used to collect the differential log, and to collectively store logs of the collected device values into a reference data storage; and
a split logging circuit to acquire as split logs, after the set time, logs of the device values multiple times, and to store the split logs into the reference data storage,
wherein
the split logging circuit stores the split logs into the reference data storage multiple times to store new reference data into the reference data storage,
after the new reference data is stored into the reference data storage, the differential logging circuit overwrites a differential log that was stored in the differential log storage prior to generation of the new reference data with a new differential log corresponding to the new reference data, and
the split logging circuit determines the number of data pieces for device values collected at a time based on a set N value and a number of data pieces for device values stored in the device storage and a data size of each of the data pieces for the device values.

### Claim 2 (depends on 1)

The programmable logic controller according to claim 1, wherein
the set time is before the control program starts being executed.

### Claim 3 (depends on 1)

The programmable logic controller according to claim 1, wherein
when (i) a latest device value included in the differential log stored in the differential log storage differs from a corresponding device value stored in the device storage or when (ii) a device value included in the reference data differs from a corresponding device value stored in the device storage, the differential logging circuit determines that the device value has changed and stores the differential log of the device value into the differential log storage.

### Claim 4 (depends on 1)

The programmable logic controller according claim 1, wherein
the split logging circuit collects, from the device storage, one-Nth of the device values set as the collection targets, where N is a natural number greater than or equal to two, and stores the split logs of the collected one-Nth of the device values into the reference data storage at each execution of a last command in the control program.

### Claim 5 (depends on 1)

A setting tool connectable to the programmable logic controller according to claim 1, the setting tool comprising:
a setting registerer to set a value N with the programmable logic controller.

### Claim 6

A non-transitory computer readable recoding medium storing a program for causing a computer to cyclically execute a control program to perform operations comprising:
storing, into a differential log storage from a device storage to store device values including an input value and an output value for the control program, a differential log being a log of a device value that has changed among device values set as collection targets from the device values in the device storage at each execution of the control program;
collectively storing at a set time, into a reference data storage, a determined number of data pieces collected at a time for the device values set as the collection targets from the device values stored in the device storage as reference data to be used to collect the differential log;
acquiring as split logs, after the set time, logs of the device values multiple times, and storing the split logs into the reference data storage;
overwriting a differential log that was stored in the differential log storage prior to generation of the new reference data with a new differential log corresponding to the new reference data; and
determining the number of data pieces for device values collected at a time based on a set N value and a number of data pieces for device values stored in the device storage and a data size of each of the data pieces for the device values.

### Claim 7 (depends on 1)

The programmable logic controller according to claim 1, wherein
the split logging circuit collects, from the device storage, one-Nth of the device values set as the collection targets at each execution of the control program to generate the new reference data, where N is a natural number greater than or equal to two, stores split logs being logs of the collected one-Nth of the device values into the reference data storage, and overwrites data stored in the reference data storage with the split logs of the one-Nth of the device values when no free space is left in the reference data storage.

### Claim 8 (depends on 6)

The non-transitory computer readable recording medium according to claim 6, wherein the program is further configured to perform an operation comprising:
collecting, from the device storage, one-Nth of the device values set as the collection targets, where N is a natural number greater than or equal to two, and stores the split logs of the collected one-Nth of the device values into the reference data storage at each execution of a last command in the control program.

### Claim 9 (depends on 6)

The non-transitory computer readable recording medium according to claim 6, wherein the program is further configured to perform an operation comprising:
collecting, from the device storage, one-Nth of the device values set as the collection targets at each execution of the control program to generate the new reference data, where N is a natural number greater than or equal to two, stores split logs being logs of the collected one-Nth of the device values into the reference data storage, and overwrites data stored in the reference data storage with the split logs of the one-Nth of the device values when no free space is left in the reference data storage.
