IP Library Granted Patent US 11,775,263
Granted Patent B2
US 11,775,263 · App. 17/018,374 · Granted Oct 3, 2023

Control code generation and collaboration using active machine learning

Inventor: Itumeleng Mabote (Randburg, ZA)
Assignee: Rockwell Automation Technologies, Inc.
G06F8/35G06F8/33G06N5/04G06N20/00
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,775,263
App. No.
17/018,374
Granted
Oct 3, 2023
Kind
B2
Abstract

A control code collaboration system automatically generates control code for an industrial project based on text discovered within the design documents. The system allows a designer to highlight text within a text-based design document representing an interlock definition, step sequence definition, tag name, or other aspects of the design description. The system then allows the user to link annotations to the highlighted text, the annotations representing interlock programming, sequence programming, or controller tag names. The system then searches the document for similarly formatted text, which are assumed to represent descriptions of similar control aspects, and infers suitable control programming from these discovered pieces of text using the previously provided annotations as a guide. In this way, the system uses text pattern recognition generates suggestions as to how to program portions of the design description based on control logic examples provided by the user.

Claims (64)

1. A system for generating industrial control programming, comprising:

a processor, operatively coupled to a memory, that executes executable components stored on the memory, the executable components comprising:

a user interface component configured to render, on a client device, a text-based engineering document for an industrial automation system, and to receive selection input that selects first text within the engineering document, wherein the text-based engineering document describes control requirements for the industrial automation system in plain language;

an annotation component configured to receive, via the user interface component, annotation data describing first control logic for an interlock or step sequence to be implemented by an industrial controller of the industrial automation system, and to associate the annotation data with the first text;

a code generation component configured to generate first control code for the interlock or step sequence based on the first control logic defined by the annotation data, wherein the first control code is executable on the industrial controller;

a model update component configured to update a learning model to record relationships between the first text and first control logic defined by the annotation data, wherein the learning model is trained to identify text having a format similar to that of the first text and to translate the text to control logic; and

a document analysis component configured to

identify, based on the learning model, second text having the format similar to that of the first text,

generate second control logic based on application of the relationships defined in the learning model to the second text, and

generate second control code based on the second control logic.

2. The system of claim 1 , wherein the relationships comprise at least one of a type of control instruction associated with a format of the first text or a correlation between a portion of the first text and a tag name included in the first control logic.

3. The system of claim 1 , wherein

the annotation component is further configured to receive an edit to the annotation data that modifies the first control logic, and

the code generation component is configured to, in response to receipt of the edit, update the first control code and the second control code in accordance with the edit.

4. The system of claim 1 , further comprising a code editing component configured to modify the second control logic in accordance with code editing input received via the user interface component to yield modified control logic,

wherein the code generation component is configured to update the second control code based on the modified control logic.

5. The system of claim 4 , wherein the model update component is further configured to update the learning model based on the code editing input.

6. The system of claim 1 , wherein the engineering document is at least one of a functional specification document or a control philosophy document.

7. The system of claim 1 , wherein

the annotation data further comprises at least one of a tag name to which the interlock or step sequence applies, a description of the interlock or step sequence, or an interlock type, and

the code generation component is configured to generate the first control code based on at least one of the tag name, the description, or the interlock type.

8. A method for generating industrial control code, comprising:

rendering, by a system comprising a processor, a text-based engineering document for an industrial automation system, wherein the text-based engineering document describes control requirements for the industrial automation system in plain language;

receiving, by the system, selection input that selects first text within the engineering document;

receiving, by the system, annotation data describing first control logic for an interlock or step sequence to be implemented by an industrial controller of the industrial automation system;

associating, by the system, the annotation data with the first text;

generating, by the system, first control code for the interlock or step sequence based on the first control logic defined by the annotation data, wherein the first control code is executable on the industrial controller;

training, by the system, a learning model based on the first text and the annotation data, wherein the training comprises recording relationships between the first text and the first control logic, and the learning model is trained to identify text having a format similar to that of the first text and to translate the text to control logic;

identifying, by the system based on the learning model, second text within the engineering document having the format similar to that of the first text; and

in response to the identifying:

inferring, by the system, second control logic based on application of the relationships defined in the learning model to the second text; and

generating, by the system, second control code based on the second control logic.

9. The method of claim 8 , wherein the recording of the relationships comprises recording at least one of a type of control instruction associated with a format of the first text or a correlation between a portion of the first text and a tag name included in the first control logic.

10. The system of claim 8 , further comprising:

receiving, by the system, an edit to the annotation data that modifies the first control logic; and

in response to the receiving of the edit, updating, by the system, the first control code and the second control code in accordance with the edit.

11. The method of claim 8 , further comprising:

receiving, by the system, code editing input that modifies the second control logic to yield modified control logic; and

modifying, by the system, the second control code based on the modified control logic.

12. The method of claim 11 , further comprising training, by the system, the learning model based on the code editing input.

13. The method of claim 8 , wherein the engineering document is at least one of a functional specification document or a control philosophy document.

14. The method of claim 8 , wherein

the annotation data further comprises at least one of a tag name to which the interlock or step sequence applies, a description of the interlock or step sequence, or an interlock type, and

the generating of the first control code comprises generating the first control cod based on at least one of the tag name, the description, or the interlock type.

15. 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:

displaying, on a client device, a text-based engineering document for an industrial automation system, wherein the text-based engineering document describes control requirements for the industrial automation system in plain language;

receiving selection input that selects first text within the engineering document;

receiving annotation data describing first control logic for an interlock or step sequence to be implemented by an industrial controller of the industrial automation system;

associating the annotation data with the first text;

generating first control code for the interlock or step sequence based on the first control logic defined by the annotation data, wherein the control code is executable on an industrial controller;

training a learning model based on the first text and the annotation data, wherein the training comprises recording relationships between the first text and the first control logic, and the learning model is trained to identify text having a format similar to that of the first text and to translate the text to control logic; and

identifying, based on the learning model, second text having the format similar to that of the first text; and

in response to the identifying:

inferring second control logic based on application of the relationships defined in the learning model to the second text; and

generating second control code based on the second control logic.

16. The non-transitory computer-readable medium of claim 15 , wherein the recording of the relationships comprises recording at least one of a type of control instruction associated with a format of the first text or a correlation between a portion of the first text and a tag name included in the first control logic.

17. The non-transitory computer-readable medium of claim 15 , wherein the operations further comprise:

receiving an edit to the annotation data that modifies the first control logic; and

in response to the receiving of the edit, updating the first control code and the second control code in accordance with the edit.

18. The non-transitory computer-readable medium of claim 17 , wherein the operations further comprise training the learning model based on the edit.

19. The non-transitory computer-readable medium of claim 15 , wherein the engineering document is at least one of a functional specification document or a control philosophy document.

20. The non-transitory computer-readable medium of claim 15 , wherein

the annotation data further comprises at least one of a tag name to which the interlock or step sequence applies, a description of the interlock or step sequence, or an interlock type, and

the generating of the first control code comprises generating the first control cod based on at least one of the tag name, the description, or the interlock type.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 11, 2020
From: MABOTE, ITUMELENG
To: ROCKWELL AUTOMATION TECHNOLOGIES, INC.
Reel/Frame 053747/0796 →
Continuity (1)
Related Publication 20220083318A1 · Mar 17, 2022
Cited By (1)
US 12,547,384