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 wastage and cumbersome task performance.

Innovation Solution

A graphical user interface (GUI) system and method for developing virtual PLC applications, 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 resource wastage occurs and task performance becomes cumbersome

Engineering Contradiction:
Improveexecution order controlVSAvoidresource wastage
Core Design Contradiction:
Stability of the object's compositionVSLoss of energy

Solution Approach 1:

The PLC application is divided into multiple independent rungs that can be executed in parallel rather than sequentially. Each rung represents an independent execution unit that can be processed simultaneously by different threads or processors, breaking the strict sequential execution model into concurrent segments while maintaining logical independence of each rung's execution.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The execution model transitions from static sequential processing to dynamic parallel execution. The system dynamically manages multiple execution threads that can start, pause, and complete independently based on rung dependencies and resource availability, allowing flexible adaptation rather than rigid adherence to a predetermined execution sequence.

Inventive Principle:
Principle #15Dynamics

2Stability of the object's composition

If traditional PLC development methods are used with strict execution order, then execution predictability is maintained, but development time increases and applications cannot be reused without recompilation

Engineering Contradiction:
Improveexecution predictabilityVSAvoiddevelopment time
Core Design Contradiction:
Stability of the object's compositionVSLoss of time

Solution Approach 1:

Virtual PLC applications are created as reusable templates or copies that can be instantiated multiple times without requiring recompilation. Once a PLC application is developed and validated, it can be copied and deployed across multiple instances or platforms, significantly reducing development time for subsequent applications while maintaining execution predictability through the preserved rungs structure.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The PLC application architecture is designed to be universal and platform-independent, allowing the same application to run on different hardware or software platforms without modification. This multi-functionality enables a single developed application to serve multiple purposes and environments, reducing overall development time across different projects and platforms.

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

3Ease of operation

If sequential object execution is implemented in PLC applications, then execution control is simplified, but productivity decreases due to inability to perform tasks simultaneously

Engineering Contradiction:
Improveexecution control simplicityVSAvoidtask execution efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The application is segmented into independent rungs that can be executed in parallel. Each rung is treated as a separate execution unit with its own thread or process, allowing simultaneous execution of multiple rungs while maintaining simple control logic within each individual rung. This segmentation enables both simplicity and parallelism.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Multiple levels of execution control are nested within the PLC architecture, with rungs containing individual instructions that can execute concurrently. The nested structure allows simple sequential control at the instruction level within each rung, while enabling parallel execution at the rung level, combining simplicity and productivity across different abstraction levels.

Inventive Principle:
Principle #7Nested doll (Nesting)

Data Source

PatentUS11231911B2System and method for using a graphical user interface to develop a virtual programmable logic controller
Publication Date: 2022.01.25 PROGRAMMABLE LOGIC CONSULTING LLC
  • US11231911B2 patent drawing
  • US11231911B2 patent drawing
  • US11231911B2 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 receiving, from a first portion of the GUI representing a tool box, a first selection of a first object from a set of objects represented in the GUI, wherein each of the set of objects performs a respective function. The method also includes inserting, into a horizontal section of a second portion of the GUI representing the virtual PLC application, the first object, wherein the horizontal section includes a second object that executes simultaneously as the first object in the horizontal section. The method also includes compiling code implementing the first object and the second object to generate the virtual PLC application, and adding a shortcut of the virtual PLC application to a virtual tray of an operating system.