Control Code Generation from Annotated Design Documents

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Writing control code based on text-based design documents for industrial automation projects is laborious and prone to errors, especially with large I/O points, as engineers must manually search and review each line, and subsequent reviews to ensure alignment with design specifications are time-consuming and prone to inconsistencies.

Innovation Solution

A control code collaboration system that automatically generates control code from text-based design documents using annotations provided by designers, allowing users to highlight and link text descriptions of interlocks and sequences, which are then translated into executable control code, ensuring consistency and reducing manual effort.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If control code is manually written and reviewed based on text-based design documents, then programming accuracy and design alignment can be ensured, but the process is laborious, time-consuming, and prone to errors

Engineering Contradiction:
Improveprogramming accuracyVSAvoidcode generation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system enables self-service by allowing the design document itself to serve as the source for automatic code generation. The text-based design document contains embedded annotations that automatically translate into control code, eliminating the need for manual transcription while maintaining accuracy through the structured annotation format.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

Annotations serve as an intermediary element between the design document and control code. These annotations embed additional information and structure within the text document, enabling automatic translation into executable code while preserving the original design intent and ensuring accuracy.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If manual searching and reviewing of design documents is performed, then complete coverage of I/O points can be achieved, but the process becomes increasingly laborious with large numbers of I/O points

Engineering Contradiction:
Improvecoverage completenessVSAvoidengineering efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The design document structure enables self-service by automatically organizing and presenting all I/O points through embedded annotations. The systematic annotation format ensures complete coverage of all control elements without requiring manual searching, as each I/O point is explicitly defined in the document structure.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system changes the parameter organization by embedding structured annotations within the text document that automatically map to control code parameters. This transformation converts unstructured text into systematically organized code elements, enabling complete coverage while maintaining high productivity through automated processing.

Inventive Principle:
Principle #35Parameter changes

3Manufacturing precision

If consistent programming style is maintained through manual review, then code quality can be ensured, but the review process is time-consuming and prone to inconsistencies

Engineering Contradiction:
Improveprogramming consistencyVSAvoidreview speed
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

The annotation system changes how programming parameters are defined and organized, embedding style guidelines and consistency rules directly in the document structure. This ensures uniform code generation across all projects while eliminating manual review, as the structured format automatically enforces consistent programming practices.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system implements feedback by automatically validating that generated code conforms to the annotation structure and style guidelines. Any deviations are immediately identifiable, ensuring programming consistency without time-consuming manual reviews, as the structured annotations provide built-in validation mechanisms.

Inventive Principle:
Principle #23Feedback

4Productivity

If automatic code generation from design documents is implemented, then time and effort are significantly reduced, but the system complexity increases

Engineering Contradiction:
Improvecode generation efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

Annotations serve as a simple intermediary that bridges the gap between text-based design documents and automated code generation. This intermediate layer adds minimal complexity to the document format while enabling powerful automatic translation, avoiding the need for complex proprietary markup languages or sophisticated parsing systems.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system manages complexity by changing parameters in a controlled manner through structured annotations. These annotations define specific parameters and relationships that the code generation system can automatically process, transforming complex translation tasks into simple parameter-based rule applications that maintain system simplicity.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentEP3968148B1Control code generation using active machine learning
Publication Date: 2024.01.03 ROCKWELL AUTOMATION TECH INC
  • EP3968148B1 patent drawingFigure 1
  • EP3968148B1 patent drawingFigure 2
  • EP3968148B1 patent drawingFigure 3

AI summary

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.