# US 11,121,660 B2 · System and method for improving drive efficiency in an industrial automation system

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

- Number: US 11,121,660 B2
- Document ID: US11121660B2
- Status: Granted
- Kind: B2
- Application number: 16/673,793
- Filed: 2019-11-04
- Published: 2020-02-27
- Granted: 2021-09-14
- Earliest claimed: 2018-07-02
- Assignees: Rockwell Automation Technologies, Inc.
- Applicants: Rockwell Automation Technologies, Inc.
- Inventors: Brian R. Fast; Robert J. Miklosovic
- Web page: https://patentgrep.com/patent/US11121660B2

## CPC

- H02P 23/0077: {Characterised by the use of a particular software algorithm}
- H02P 23/20: Controlling the acceleration or deceleration
- H02P 23/14: Estimation or adaptation of motor parameters, e.g. rotor time constant, flux, speed, current or voltage
- H02P 23/16: Controlling the angular speed of one shaft (H02P23/18 takes precedence)
- H02P: CONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS

## Abstract

Provided herein are systems, methods, and software for improving drive efficiency in an industrial automation system. In one implementation, a system comprises a mechanical load, an electromechanical device attached to the mechanical load, and a drive coupled to the electromechanical device. A processor is programmed to generate and display an acceleration curve, a duplicate acceleration curve, an energy curve and a duplicate energy curve. A user input is received indicating a change to at least a portion of the duplicate acceleration curve, and a change to the duplicate energy curve is calculated and displayed. A modified command signal based on the user input is calculated, and the drive is configured to control the electromechanical device via the modified command signal to mechanically operate the mechanical load perform a task.

## Claims

### Claim 1

A system for controlling an electromechanical device in an industrial automation environment comprising:
a memory that stores executable components; and
a processor, operatively coupled to the memory, that executes the executable components, the executable components comprising:
a display component configured to:
display, simultaneously, an acceleration curve and a duplicate acceleration curve, wherein the acceleration curve is based on a command signal configured to cause an electromechanical device to mechanically operate a mechanical load;
display, simultaneously, an energy curve and a duplicate energy curve, wherein the energy curve is based on the acceleration curve; and
receive an input to change at least a portion of the duplicate acceleration curve;
a signal generating component configured to:
calculate a change to the duplicate acceleration curve based on the input;
calculate a change to the duplicate energy curve based on the change to the duplicate acceleration curve;
generate a modified command signal based on the change to the at least a portion of the duplicate acceleration curve; and
a drive component configured to:
control the electromechanical device via the command signal; and
control the electromechanical device via the modified command signal.

### Claim 2 (depends on 1)

The system of claim 1, wherein the modified command signal is distinct from the command signal.

### Claim 3 (depends on 1)

The system of claim 1, wherein
the signal generating component is further configured to:
generate a position curve based on the command signal;
generate a duplicate position curve based on the command signal;
generate a velocity curve based on the command signal;
generate a duplicate velocity curve based on the command signal;
generate a jerk curve based on the command signal; and
generate a duplicate jerk curve based on the command signal; and
the display component is further configured to:
display the position curve, the duplicate position curve, the velocity curve, the duplicate velocity curve, the jerk curve, and the duplicate jerk curve.

### Claim 4 (depends on 3)

The system of claim 3, wherein:
the velocity curve corresponds with a first derivative of the position curve;
the acceleration curve corresponds with a second derivative of the position curve; and
the jerk curve corresponds with a third derivative of the position curve.

### Claim 5 (depends on 3)

The system of claim 3, wherein the signal generating component, in being configured to generate the modified command signal, is further configured to:
calculate a change to the duplicate position curve based on the change to the duplicate acceleration curve; and
generate the modified command signal based on the change to the duplicate position curve.

### Claim 6 (depends on 3)

The system of claim 3, wherein the signal generating component is further configured to:
generate a power curve comprising a plurality of values of the velocity curve multiplied by corresponding values of the acceleration curve; and
generate an energy curve based on integrating the power curve.

### Claim 7 (depends on 1)

The system of claim 1, wherein the signal generating component is further configured to:
identify a curve modification point corresponding with the duplicate acceleration curve; and
change the at least a portion of the duplicate acceleration curve in response to receiving a modification to a position of the curve modification point.

### Claim 8 (depends on 1)

The system of claim 1, wherein the signal generating component is further configured to:
transmit the modified command signal for storage.

### Claim 9 (depends on 1)

The system of claim 1, wherein the signal generating component is further configured to:
convert the modified command signal into a set of tabular values.

### Claim 10

A process for optimizing motor control in an industrial automation environment comprising:
acquiring, by a system comprising a processor, a motor control curve configured to cause a motor to operate a mechanical load;
displaying, simultaneously and by the system:
a motor acceleration curve that is based on the motor control curve,
a duplicate motor acceleration curve of the motor acceleration curve,
a motor energy curve that is based on the motor acceleration curve, and
a duplicate motor energy curve that is based on the duplicate motor energy curve;
calculating, by the system, a change to the duplicate motor acceleration curve based on an input modifying a portion of the duplicate motor acceleration curve;
calculating, by the system, a change to the duplicate motor energy curve based on the change to the duplicate motor acceleration curve;
generating, by the system, a modified command signal based on the change to the duplicate motor acceleration curve; and
controlling, by the system, the motor via the modified command signal to operate the mechanical load.

### Claim 11 (depends on 10)

The process of claim 10, further comprising generating, by the system, a duplicate motor control curve based on the motor control curve.

### Claim 12 (depends on 11)

The process of claim 11, wherein generating the modified command signal comprises:
calculating, by the system, a change to the duplicate motor control curve based on the change to the duplicate motor acceleration curve; and
generating, by the system, the modified command signal based on the change to the duplicate motor control curve.

### Claim 13 (depends on 11)

The process of claim 11, further comprising:
generating, by the system, a motor velocity curve based on the motor control curve;
generating, by the system, a duplicate motor velocity curve based on the motor control curve;
generating, by the system, a motor jerk curve based on the motor control curve;
generating, by the system, a duplicate motor jerk curve based on the motor control curve; and
displaying, by the system, the motor control curve, the duplicate motor control curve, the motor velocity curve, the duplicate motor velocity curve, the motor jerk curve, and the duplicate motor jerk curve on the display.

### Claim 14 (depends on 13)

The process of claim 13, wherein:
generating the motor velocity curve comprises generating, by the system, a first derivative of the motor control curve;
generating the motor acceleration curve comprises generating, by the system, a second derivative of the motor control curve; and
generating the motor jerk curve comprises generating, by the system, a third derivative of the motor control curve.

### Claim 15 (depends on 13)

The process of claim 13, wherein the process further comprises:
calculating, by the system, a change to the duplicate motor control curve based on a user input modifying a portion of the duplicate motor control curve; and
calculating, by the system, a change to the duplicate motor energy curve based on the change to the duplicate motor control curve.

### Claim 16 (depends on 13)

The process of claim 13, wherein the process further comprises:
calculating, by the system, a change to the duplicate motor velocity curve based on a user input modifying a portion of the duplicate motor velocity curve; and
calculating, by the system, a change to the duplicate motor energy curve based on the change to the duplicate motor velocity curve.

### Claim 17 (depends on 13)

The process of claim 13, wherein the process further comprises:
calculating, by the system, a change to the duplicate motor jerk curve based on a user input modifying a portion of the duplicate motor jerk curve; and
calculating, by the system, a change to the duplicate motor energy curve based on the change to the duplicate motor jerk curve.

### Claim 18 (depends on 13)

The process of claim 13, wherein generating the motor energy curve comprises:
generating, by the system, a motor power curve comprising a plurality of values of the motor velocity curve multiplied by corresponding values of the motor acceleration curve; and
generating, by the system, the motor energy curve based on integrating the motor power curve.

### Claim 19

A non-transitory computer-readable storage-media medium having stored thereon instructions that, in response to execution, cause a system comprising a processor to perform operations, the operations comprising
displaying, simultaneously, an acceleration curve and a duplicate acceleration curve, wherein the acceleration curve is based on a command signal configured to cause an electromechanical device to mechanically operate a mechanical load;
displaying, simultaneously, an energy curve and a duplicate energy curve, wherein the energy curve is based on the acceleration curve; and
receiving an input indicating a change to at least a portion of the duplicate acceleration curve;
calculating a change to the duplicate acceleration curve based on the input;
calculating a change to the duplicate energy curve based on the change to the duplicate acceleration curve;
displaying the change to the duplicate energy curve on the display;
generating a modified command signal based on the change to the at least a portion of the duplicate acceleration curve; and
controlling the electromechanical device via the modified command signal to mechanically operate the mechanical load.

### Claim 20 (depends on 19)

The non-transitory computer-readable medium of claim 19, wherein calculating the change to the duplicate acceleration curve comprises calculating the change to the duplicate acceleration curve in real-time as the input is received.
