# US 11,079,743 B2 · Project autonomy in industrial automation design environments

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

- Number: US 11,079,743 B2
- Document ID: US11079743B2
- Status: Granted
- Kind: B2
- Application number: 16/144,073
- Filed: 2018-09-27
- Published: 2020-04-02
- Granted: 2021-08-03
- Earliest claimed: 2018-09-27
- Assignees: Rockwell Automation Technologies, Inc.
- Applicants: Rockwell Automation Technologies, Inc.
- Inventors: Andrew R. Stump; Srdjan Josipovic; Matthew R. Ericsson; Michael D. Kalan; Anthony Carrara; Christopher W. Como; Sharon M. Billi-Duran
- Web page: https://patentgrep.com/patent/US11079743B2

## CPC

- G05B 19/41845: {characterised by system universality, reconfigurability, modularity}
- G06F 8/40: Transformation of program code
- G05B 19/056: {Programming the PLC}
- G05B 19/41815: {characterised by the cooperation between machine tools, manipulators and conveyor or other workpiece supply system, workcell}
- G06F 3/0484: for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G05B 2219/23258: GUI graphical user interface, icon, function bloc editor, labview
- 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)

## Abstract

The present disclosure is directed to systems, methods and devices for maintaining automated process module autonomy across integrated design environments. An indication to render a plurality of software modules for an automated industrial process into a module that is navigable as a singular unit may be received. The plurality of software modules may be rendered as a single module that is navigable as a singular unit. A modification to a first one of the plurality of software modules that affects at least a second one of the plurality of software modules may be received. A request to remove the second one of the plurality of software modules from the single module may be received, and the second one of the plurality of software modules may be removed from the single module.

## Claims

### Claim 1

A non-transitory computer-readable medium having stored thereon instructions that, in response to execution, cause a system comprising a processor to perform operations, the operations comprising:
in response to receiving an indication to render a plurality of software modules for an automated industrial process, collectively rendering and displaying each of the plurality of software modules as a combined module comprising logic for each of the plurality of software modules that is navigable, viewable, and editable as a singular unit, wherein the collective rendering and displaying maintains the autonomy of each of the plurality of software modules to be split from the combined module; and
in response to receiving a request to independently view a software module of the plurality of software modules:
splitting the software module from the combined module; and
rendering and displaying the software module comprising logic for the software module that is navigable, viewable, and editable as an independent entity from the combined module.

### Claim 2 (depends on 1)

The non-transitory computer-readable medium of claim 1, the operations further comprising:
receiving a request to independently modify the software module, wherein the modification of the software module in the combined module alters at least one other of the plurality of software modules in the combined module; and
in response to the request, modifying the software module as the independent entity, wherein the modification of the software module as the independent entity does not affect the at least one other of the plurality of software modules.

### Claim 3 (depends on 2)

The non-transitory computer-readable medium of claim 2, wherein modifying the software module comprises a modification to a software automation object.

### Claim 4 (depends on 3)

The non-transitory computer-readable medium of claim 3, wherein the software automation object is a shared object in a shared object library.

### Claim 5 (depends on 4)

The non-transitory computer-readable medium of claim 4, wherein the shared object library comprises a plurality of software objects having corresponding physical parts in the automated industrial process.

### Claim 6 (depends on 5)

The non-transitory computer-readable medium of claim 5, wherein each of the software objects in the shared object library has at least one property that an automated control device can be programmed to act on, and wherein each of the plurality of software objects has at least one property that a human machine interface component can utilize in generating an element corresponding to the software object for display on a human machine interface.

### Claim 7 (depends on 2)

The non-transitory computer-readable medium of claim 2, wherein the operations further comprise, subsequent to modifying the software module and in response to receiving an input to re-render the plurality of software modules, re-rendering the plurality of software modules as the combined module comprising modified logic for the software module.

### Claim 8

A system for assisting with maintaining automated process module autonomy across integrated design environments, comprising:
a memory that stores executable program code; and
a processor functionally coupled to the memory, the processor being responsive to executable instructions contained in the program code and operative to:
in response to receiving an indication to render a plurality of software modules for an automated industrial process, collectively render and display each of the plurality of software modules as a single module comprising logic for each of the plurality of software modules that is navigable, viewable, and editable as a singular unit, wherein the collective rendering and displaying maintains the autonomy of each of the plurality of software modules to be split from the single module; and
in response to receiving a request to independently view a software module of the plurality of software modules:
split the software module from the single module; and
render and display the software module comprising logic for the software module that is navigable, viewable, and editable as an independent entity from the single module.

### Claim 9 (depends on 8)

The system of claim 8, wherein the processor is further responsive to the executable instructions contained in the program code and operative to:
receive a request to independently modify the software module, wherein the modification of the software module in the single module alters at least one other of the plurality of software modules in the single module; and
in response to the request, modify the software module as the independent entity, wherein the modification of the software module as the independent entity does not affect the at least one other of the plurality of software modules.

### Claim 10 (depends on 9)

The system of claim 9, wherein the modification to the software module is one of: removal of an object from the software module; addition of the object to the software module; or modification of the object from the software module.

### Claim 11 (depends on 8)

The system of claim 8, wherein the plurality of software modules are skid software modules.

### Claim 12 (depends on 8)

The system of claim 8, wherein the processor is further responsive to the executable instructions contained in the program code and operative to:
in response to a request to modify a second software module of the plurality of software modules, modify the second software module in the single module, wherein the modification of the second software module in the single module alters a third software module in the single module; and
in response to receiving a request to view a location in the third software module is affected by the modification of the second software module, enable display of the location in the third software module.

### Claim 13 (depends on 12)

The system of claim 12, wherein the modification to the second software module is a modification to an object in the second software module.

### Claim 14 (depends on 13)

The system of claim 13, wherein the location in the third software module comprises a same object as the object.

### Claim 15

A method for assisting with maintaining automated process module autonomy across integrated design environments, comprising:
in response to receiving an indication to render a plurality of software modules for an automated industrial process, collectively rendering and displaying each of the plurality of software modules as a single module comprising logic for each of the plurality of software modules that is navigable, viewable, and editable as a singular unit, wherein the collective rendering and displaying maintains the autonomy of each of the plurality of software modules to be split from the single module; and
in response to receiving a request to independently view a software module of the plurality of software modules:
splitting the software module from the single module; and
rendering and displaying the software module comprising logic for the software module that is navigable, viewable, and editable as an independent entity from the single module.

### Claim 16 (depends on 15)

The method of claim 15, wherein the plurality of software modules are skid software modules.

### Claim 17 (depends on 15)

The method of claim 15, further comprising:
in response to a request to modify a second software module of the plurality of software modules, modify the second software module in a single module, wherein the modification of the second software module in the single module alters a third software module in the single module, and wherein the modification to the second software module is a modification to an object in the second software module.

### Claim 18 (depends on 17)

The method of claim 17, further comprising:
in response to receiving a request to view a location in the third software module enabling display of the location in the third software module.

### Claim 19 (depends on 17)

The method of claim 17, wherein the object that is modified in the second software module is integrated in controller logic for the automated industrial process.

### Claim 20 (depends on 17)

The method of claim 17, further comprising:
subsequent to the modification to the second software module and in response to receiving an indication to re-render the plurality of software modules, collectively re-rendering and displaying each of the plurality of software modules as the single module comprising modified logic for the second software module.
