Virtual PLC GUI Structure for Reuse Without Recompilation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Developing applications for programmable logic controllers (PLCs) is challenging due to the strict top-to-bottom and left-to-right execution order, leading to inefficiencies such as resource wastage and repetitive tasks that are cumbersome to perform.
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, allowing for top-to-bottom and left-to-right execution, enabling the creation of highly configurable, scalable, and extendable nested applications.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a graphical user interface is used to develop virtual PLC applications with objects arranged in vertical and horizontal sections, then development time and computing resources are reduced through reuse capability, but the system complexity increases due to the need for compilation and execution management
Solution Approach 1:
The patent implements reuse of virtual PLC applications by creating copies of previously compiled applications. When an application is reused, the system copies the existing compiled code and execution configuration without requiring recompilation, thereby reducing development time and computing resources while managing complexity through intelligent copying mechanisms
Solution Approach 2:
The patent segments the PLC application development into distinct components: object selection from a toolbox, arrangement in vertical and horizontal sections, compilation, and execution. This segmentation allows each component to be independently managed and reused, reducing overall development time while organizing complexity into manageable segments
2Productivity
If objects are arranged in horizontal sections for simultaneous execution, then task execution efficiency is improved, but the difficulty of detecting and measuring execution order increases
Solution Approach 1:
The patent introduces an intermediary execution management system that mediates between the horizontal section arrangement and the actual simultaneous execution. This intermediary layer tracks and manages the execution order of multiple objects, providing visibility and control over concurrent operations without reducing execution efficiency
Solution Approach 2:
The patent uses a two-dimensional arrangement system with vertical and horizontal sections to organize objects. The horizontal dimension enables simultaneous execution of objects at the same level, while the vertical dimension establishes execution precedence between different levels. This dimensional organization makes execution order detectable and measurable through the spatial arrangement itself
3Loss of energy
If virtual PLC applications can be reused without recompilation, then resource consumption is reduced, but the reliability of code execution may be compromised
Solution Approach 1:
The patent performs preliminary compilation of virtual PLC applications during the development phase. The compiled code is stored and reused during execution without requiring recompilation, reducing resource consumption. The preliminary compilation ensures code correctness and reliability is established before reuse, maintaining execution reliability while enabling efficient resource utilization
Data Source
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.


