Abstract Automation Model for Industrial Control Software
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current industrial automation software development platforms are inflexible, requiring extensive development and testing, and often do not support newer software paradigms or models without a new platform, leading to inefficiencies and limitations in designing complex automated processes.
Innovation Solution
A flexible and extensible architecture that employs abstract programming models, such as the Abstract Automation Model (AAM) and Concrete Automation Model (CAM), to facilitate rapid software development and deployment across various hardware platforms, supporting multiple control languages and providing a familiar design environment for control systems designers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If traditional control software development platforms are used, then control functionality can be achieved, but the platforms are inflexible and require extensive development and testing time
Solution Approach 1:
The system is divided into distinct layers: presentation layer for user interaction, business logic layer for control functionality, and data layer for configuration storage. This segmentation allows independent development and testing of each layer, improving productivity while maintaining flexibility through modular architecture.
Solution Approach 2:
The platform implements a universal object model that can represent multiple control languages and paradigms (ladder logic, SFC, structured text, IEC 61499) within a single unified framework. This multi-functionality eliminates the need for separate platforms for different control languages, reducing development time while maintaining adaptability to various control styles.
2Adaptability or versatility
If traditional control platforms are used, then existing control languages are supported, but newer software paradigms and models are unsupported unless a new platform is designed
Solution Approach 1:
An abstract object model serves as an intermediary layer between the user interface and the underlying control execution engine. This mediator translates various control language paradigms (ladder logic, SFC, structured text, IEC 61499) into a unified internal representation, enabling support for multiple software paradigms within a single platform without increasing architectural complexity.
Solution Approach 2:
The platform implements dynamic language binding and runtime compilation capabilities that allow it to adapt to and support new control language paradigms as they emerge. The system can dynamically load and execute different control language interpretations without requiring platform redesign, maintaining adaptability while preserving a stable core architecture.
3Productivity
If control logic is programmed using traditional languages, then automation functionality is achieved, but extensive planning and design are required for complex sequences
Solution Approach 1:
The system provides pre-configured control templates, standard function blocks, and reusable automation patterns that can be directly applied to common automation tasks. These preliminary configurations eliminate the need for extensive planning and design for routine operations, allowing rapid deployment of complex sequences while maintaining the ability to customize when needed.
Solution Approach 2:
The platform enables copying and reusing of control logic templates, function blocks, and automation patterns across multiple projects and sequences. This copying capability significantly reduces planning and design time for complex automations by allowing engineers to replicate proven solutions rather than designing from scratch, while maintaining flexibility to modify copied elements as needed.
Data Source
AI summary
A control system development platform is provided. The platform includes a shell component adapted to support development of a control systems application. An abstract model is associated with the shell component to facilitate development of the control systems applications.


