Virtual PLC Canvas Layout for Ordered and Parallel Control Logic
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Developing applications to control Programmable Logic Controllers (PLCs) is challenging due to the specific execution order they follow, leading to inefficiencies such as problems with compilation and resource waste.
Innovation Solution
A system and method using an enhanced graphical user interface (GUI) of a virtual PLC generator to develop virtual PLC applications. The GUI includes a toolbox with various objects that implement programmable functions and logic, allowing for the creation of highly configurable and scalable nested virtual PLC applications.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If traditional PLC programming methods are used with strict left-to-right, top-to-bottom execution order, then the PLC can be controlled reliably, but the development process becomes complex and inefficient with compilation problems and resource waste
Solution Approach 1:
The patent creates a visual copy of the traditional PLC ladder diagram interface, allowing users to drag and drop objects into a visual programming canvas that mimics the familiar ladder diagram layout. This visual representation serves as a copy of the traditional programming approach while enabling more efficient object-oriented development without requiring users to learn entirely new programming paradigms.
Solution Approach 2:
The patent introduces a visual programming canvas as an intermediary between the user and the PLC execution engine. This canvas allows users to arrange objects visually in a top-to-bottom, left-to-right flow that naturally represents the execution sequence, eliminating the need to manually manage complex instruction sequences and compilation issues while maintaining reliable PLC execution.
2Adaptability or versatility
If objects are arranged in horizontal sections for simultaneous execution, then the application becomes more scalable and configurable, but the GUI layout and object management becomes more complex
Solution Approach 1:
The patent divides the visual programming canvas into distinct horizontal sections, where each section can contain objects that execute simultaneously. This segmentation allows users to organize their application logic into manageable blocks with clear execution boundaries, making the application more scalable and configurable while the system automatically manages the underlying complexity of simultaneous execution coordination.
Solution Approach 2:
The patent adds a spatial dimension to PLC programming by allowing objects to be arranged in a two-dimensional canvas space with horizontal sections for simultaneous execution and vertical sequencing for sequential execution. This dimensional approach provides an intuitive visual metaphor for controlling execution flow and object relationships without requiring complex programming constructs.
3Ease of operation
If a visual GUI interface is implemented for PLC development, then ease of operation and user experience improve, but the system requires additional software components and processing overhead
Solution Approach 1:
The patent replaces traditional text-based PLC programming mechanics with a visual drag-and-drop interface. Instead of requiring users to write, compile, and debug text instructions, the system allows users to visually construct their application by dragging objects onto the canvas and configuring them through graphical properties, significantly improving ease of operation while the system handles the underlying compilation and execution translation.
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 includes 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, wherein one or more of the two objects are communicatively coupled to a machine and are configured to transmit control instructions to the machine to cause the machine to perform an operation. The method also includes executing the virtual PLC application by enabling changes to be made to one or more of the two objects and transmitting modified control instructions based on the changes.


