Virtual PLC GUI Layout for Parallel and Sequential Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Developing applications for programmable logic controllers (PLCs) is challenging due to their strict top-to-bottom and left-to-right execution order, leading to inefficiencies such as resource waste and repetitive tasks that are cumbersome to perform in the wrong order.

Innovation Solution

A graphical user interface (GUI) for developing virtual PLC applications is introduced, featuring a toolbox with objects that can be arranged in vertical and horizontal sections to enforce the desired execution order, allowing for simultaneous and sequential execution of objects, enabling the creation of configurable, scalable, and extendable nested applications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Stability of the object's composition

If a strict top-to-bottom and left-to-right execution order is enforced in PLC applications, then the execution order is controlled and predictable, but development becomes cumbersome and inefficient due to resource waste and repetitive tasks

Engineering Contradiction:
Improveexecution order controlVSAvoiddevelopment efficiency
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The patent segments the PLC application development into modular objects that can be independently arranged in vertical and horizontal sections. This segmentation allows developers to create reusable components that maintain execution order control while improving development efficiency through modularity and reuse.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements nested applications where virtual PLC applications can contain other virtual PLC applications or objects. This nesting structure enables hierarchical organization of logic while preserving the strict execution order, allowing complex control logic to be built from simpler nested components.

Inventive Principle:
Principle #7Nested doll (Nesting)

2Adaptability or versatility

If virtual PLC applications are created with configurable and scalable objects, then adaptability and versatility improve, but device complexity increases

Engineering Contradiction:
Improveconfiguration flexibilityVSAvoidGUI structure complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent creates universal objects and sections that can serve multiple functions. Vertical sections handle sequential execution while horizontal sections handle simultaneous execution, and these can be nested within each other. This multi-functionality increases adaptability while the standardized structure prevents complexity from becoming unmanageable.

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

Data Source

PatentUS12175212B2System and method for using a graphical user interface to develop a virtual programmable logic controller
Publication Date: 2024.12.24 PROGRAMMABLE LOGIC CONSULTING LLC
  • US12175212B2 patent drawing
  • US12175212B2 patent drawing
  • US12175212B2 patent drawing

AI summary

In one embodiment, a method for developing a virtual programmable logic controller (PLC) application using a graphical user interface (GUI) is disclosed. The method including generating the virtual PLC application comprising at least two objects arranged in at least a horizontal section, wherein the horizontal section is configured to execute the two objects at the same time, and wherein at least one of the two objects uses a template that specifies mappings between a first data format of first data associated with a first data source and a second data format of second data associated with a third-party application. The method also including executing the virtual PLC application by: identifying when a change has been made to the first data, and converting, via the at least one of the two objects using the template, the first data having the first data format to the second data having the second data format.