PLC-PC Shared Data Section for Automatic GUI Code Generation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods require significant manual modifications and adaptations on the PC application side whenever there are changes or additions to a PLC application, such as new sensors or actuators, leading to increased development time and potential human errors.

Innovation Solution

A method and computer program that automatically generate a PC program with a graphical user interface (GUI) based on data from the PLC program's source code, sharing a common data section for both PLC and PC programs, which reduces the need for manual adaptation and ensures coherence by using a data section that is part of the source code for both, allowing for automatic generation of the PC program source code when the PLC program changes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If manual adaptation is used to modify PC application when PLC application evolves, then PC application can access newly added elements, but development time increases and human errors occur

Engineering Contradiction:
ImprovePC application adaptability to PLC changesVSAvoidDevelopment time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-generating the PC application code from PLC program data before runtime. When PLC programs evolve, the PC application is automatically regenerated using the updated PLC data, eliminating the need for manual code modifications. This advance preparation and automatic regeneration process resolves the contradiction by maintaining adaptability while eliminating time-consuming manual adaptation work.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If manual adaptation is used to modify PC application when PLC application evolves, then PC application can access newly added elements, but human errors occur

Engineering Contradiction:
ImprovePC application adaptability to PLC changesVSAvoidCode coherence
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent implements feedback by establishing a data-driven connection where the PC application automatically retrieves updated data from the PLC program source code. This feedback mechanism ensures that any changes in PLC application are automatically reflected in the PC application through data binding, eliminating manual synchronization errors and ensuring code coherence without compromising adaptability.

Inventive Principle:
Principle #23Feedback

3Productivity

If automatic generation is used for PC program, then development time is reduced and errors are avoided, but complexity of system increases

Engineering Contradiction:
ImproveDevelopment productivityVSAvoidSystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies copying by creating a data section that serves as a common source between PLC and PC programs. This shared data representation allows automatic generation of PC application code from PLC program data without requiring complex integration systems. The copying mechanism maintains simplicity while enabling automatic code generation, thus improving productivity without significantly increasing system complexity.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11726445B2Method for controlling a PLC using a PC program
Publication Date: 2023.08.15 BROOKS AUTOMATION GERMANY
  • US11726445B2 patent drawing
  • US11726445B2 patent drawing
  • US11726445B2 patent drawing

AI summary

The present disclosure relates to a method for controlling a PLC using a PC program, wherein a source code of a PLC program includes a data section, the data section including data indicating services to be exposed by the PLC when running the PLC program, wherein a source code of the PC program is automatically generated using the data included in the data section and a PC program template, wherein the PLC is controlled using the PC program generated from the automatically generated source code of the PC program.