PLC-PC Code Generation for Automatic Control Interface Updates

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 the 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) by utilizing a data section from the PLC program's source code, allowing for automatic communication and control of the PLC, thereby reducing the need for manual adaptations on the PC side.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual adaptation methods are used to update PC program when PLC application evolves, then basic functions can be implemented, but development time increases and human errors are introduced

Engineering Contradiction:
Improveprogram coherenceVSAvoiddevelopment time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent uses the PLC program's data section as a template to automatically generate the PC program. Instead of manually copying and adapting code, the system creates the PC program by copying and transforming data structures from the PLC program, ensuring consistency and reducing manual effort.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent performs preliminary actions by structuring the PLC program with a standardized data section that contains all necessary information for generating the PC program. This preliminary structuring enables automatic generation later, eliminating the need for manual adaptation when changes are needed.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If manual modifications are made to PC application for new sensors or actuators, then functionality is added, but development complexity increases

Engineering Contradiction:
ImprovefunctionalityVSAvoidadaptation work
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent creates a universal data section structure in the PLC program that can represent any sensor or actuator. This standardized structure serves multiple functions: it defines the data format, generates corresponding PC program elements, and enables automatic GUI creation, making the system adaptable to any new element without increasing complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The system performs self-service by automatically generating PC program elements and GUI components based on the PLC program's data section. When new sensors or actuators are added to the PLC program, the system automatically updates the corresponding PC program without requiring manual intervention, thus adding functionality without increasing adaptation complexity.

Inventive Principle:
Principle #25Self-service

3Ease of operation

If OPC server is used to expose PLC variables, then data access is enabled, but manual PC program adaptation is still required

Engineering Contradiction:
Improvedata accessVSAvoidadaptation time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent introduces an automatic code generation process as an intermediary between the PLC program and the PC program. This intermediary reads the data section from the PLC program and automatically generates the corresponding PC program code, eliminating the need for manual adaptation even when using OPC servers for data access.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11137735B2Method for controlling a PLC using a PC program
Publication Date: 2021.10.05 BROOKS AUTOMATION US LLC
  • US11137735B2 patent drawing
  • US11137735B2 patent drawing
  • US11137735B2 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.