# US 11,630,452 B2 · Scheduling system and method for online program update

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

- Number: US 11,630,452 B2
- Document ID: US11630452B2
- Status: Granted
- Kind: B2
- Application number: 16/882,001
- Filed: 2020-05-22
- Published: 2021-11-25
- Granted: 2023-04-18
- Earliest claimed: 2020-05-22
- Assignees: Hitachi, Ltd.
- Applicants: Hitachi, Ltd.
- Inventors: Shoji Yunoki
- Web page: https://patentgrep.com/patent/US11630452B2

## CPC

- G05B 19/052: {Linking several PLC's}
- G05B 23/0283: {Predictive maintenance, e.g. involving the monitoring of a system and, based on the monitoring results, taking decisions on the maintenance schedule of the monitored system; Estimating remaining useful life [RUL] (preventive maintenance, i.e. planning maintenance according to the available resources without monitoring the system G06Q10/06)}
- G05B 19/056: {Programming the PLC}
- G05B 19/41865: {characterised by job scheduling, process planning, material flow}
- G06F 8/65: Updates (security arrangements therefor G06F21/57)
- G06F 9/4843: {by program, e.g. task dispatcher, supervisor, operating system}
- G06F 9/4881: {Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues}
- G05B 2219/14018: IN, plc and comparator, error detector, backup, standby plc, switch, update OUT
- Y02P 90/02: Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
- 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)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- Y02P: CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS

## Abstract

Example implementations described herein involve systems and methods for managing a plurality of programmable logic controllers (PLC), which can involve, for a detection of an update to one or more of a software or a firmware installed on a PLC of the plurality of PLCs being available, determining an impact level of the update to the one or more of the software or the firmware installed on the PLC of the plurality of PLCs; selecting a non-operational time slot for the PLC of the plurality of PLCs based on the impact level, wherein higher impact levels are indicative of requiring a longer non-operational time slot; and scheduling the update to the one or more of the software or the firmware installed on the PLC of the plurality of PLCs during the non-operational time slot.

## Claims

### Claim 1

A method for managing a plurality of programmable logic controllers (PLC), the method comprising:
for a detection of an update to one or more of a software or a firmware installed on a PLC of the plurality of PLCs being available:
determining an impact level of the update to the one or more of the software or the firmware installed on the PLC of the plurality of PLCs;
selecting a non-operational time slot for the PLC of the plurality of PLCs based on the impact level, wherein higher impact levels are indicative of requiring a longer non-operational time slot; and
scheduling the update to the one or more of the software or the firmware installed on the PLC of the plurality of PLCs during the non-operational time slot,
wherein impact levels for firmware updates are set at higher levels than impact levels of software updates, and
wherein impact levels for firmware updates and software updates are estimated based on historical data, length of time associated with historical updates, and number of PCLs in use.

### Claim 2 (depends on 1)

The method of claim 1, wherein the determining the impact level of the update is based on a device connected to the PLC of the plurality of the PLCs.

### Claim 3 (depends on 1)

The method of claim 1, wherein the non-operational time slot is determined from a Manufacturing Execution System (MES).

### Claim 4 (depends on 1)

The method of claim 1, wherein the impact level of the update is based on an expected downtime incurred based on a role of a program subject to the update.

### Claim 5 (depends on 1)

The method of claim 1, further comprising executing the update to the one or more of the software or the firmware installed on the PLC of the plurality of PLCs during the non-operational time slot.

### Claim 6 (depends on 1)

The method of claim 1, wherein the update to the software is based on a manufacturing process installed on the PLC of the PLCs.

### Claim 7 (depends on 1)

The method of claim 1, wherein the impact level is determined from a plurality of impact levels, each of the plurality of impact levels associated with a predetermined required non-operational time.

### Claim 8

A non-transitory computer readable medium, storing instructions for managing a plurality of programmable logic controllers (PLC), the instructions comprising:
for a detection of an update to one or more of a software or a firmware installed on a PLC of the plurality of PLCs being available:
determining an impact level of the update to the one or more of the software or the firmware installed on the PLC of the plurality of PLCs;
selecting a non-operational time slot for the PLC of the plurality of PLCs based on the impact level, wherein higher impact levels are indicative of requiring a longer non-operational time slot; and
scheduling the update to the one or more of the software or the firmware installed on the PLC of the plurality of PLCs during the non-operational time slot,
wherein impact levels for firmware updates are set at higher levels than impact levels of software updates, and
wherein impact levels for firmware updates and software updates are estimated based on historical data, length of time associated with historical updates, and number of PCLs in use.

### Claim 9 (depends on 8)

The non-transitory computer readable medium of claim 8, wherein the determining the impact level of the update is based on a device connected to the PLC of the plurality of the PLCs.

### Claim 10 (depends on 8)

The non-transitory computer readable medium of claim 8, wherein the non-operational time slot is determined from a Manufacturing Execution System (MES).

### Claim 11 (depends on 8)

The non-transitory computer readable medium of claim 8, wherein the impact level of the update is based on an expected downtime incurred based on a role of a program subject to the update.

### Claim 12 (depends on 8)

The non-transitory computer readable medium of claim 8, the instructions further comprising executing the update to the one or more of the software or the firmware installed on the PLC of the plurality of PLCs during the non-operational time slot.

### Claim 13 (depends on 8)

The non-transitory computer readable medium of claim 8, wherein the update to the software is based on a manufacturing process installed on the PLC of the PLCs.

### Claim 14 (depends on 8)

The non-transitory computer readable medium of claim 8, wherein the impact level is determined from a plurality of impact levels, each of the plurality of impact levels associated with an estimated required non-operational time.

### Claim 15

An apparatus for managing a plurality of programmable logic controllers (PLC), the apparatus comprising:
a processor, configured to, for a detection of an update to one or more of a software or a firmware installed on a PLC of the plurality of PLCs being available:
determine an impact level of the update to the one or more of the software or the firmware installed on the PLC of the plurality of PLCs;
select a non-operational time slot for the PLC of the plurality of PLCs based on the impact level, wherein higher impact levels are indicative of requiring a longer non-operational time slot; and
schedule the update to the one or more of the software or the firmware installed on the PLC of the plurality of PLCs during the non-operational time slot,
wherein impact levels for firmware updates are set at higher levels than impact levels of software updates, and
wherein impact levels for firmware updates and software updates are estimated based on historical data, length of time associated with historical updates, and number of PCLs in use.
