To automatically create the software for a new system, there are various levels of complexity.
The higher the complexity, the higher the requirements for the environment.
1. Automatic Creation of the Hardware Configuration
Export Eplan XML
XML Generator Machine project with hardware setup
Very simple.
Machine functions are implemented as usual after project creation
Project can only be generated once
Condition: Machine functions are available as a library
Export Eplan XML
XML Machine configurator XML
XML Generator Machine project with hardware setup and software
Project can be regenerated at any time
Modules are standardized
Functions can still be implemented almost as usual
Machine functions must be written in a way that the generator can easily insert them (may be unfamiliar for some)
Only truly beneficial for series machines
Export Eplan XML
XML Machine configurator XML
Flowchart Converter Code for modules in XML
Code Generator Modules in project
XML Generator Machine project with hardware and software
Project can be regenerated at any time
Flowchart can possibly be created directly by the designer
Diagram is easier to understand
Suitable for both series and custom machines
Generated code is difficult to read and modify afterward
The converter is very complex to cover all possibilities.
Many series machines are built to customer specifications with various options and extensions.
Over time, this usually leads to increasingly confusing source code that tries to cover everything, or a multitude of libraries that become harder and harder to maintain.
One can imagine this like a puzzle.
Old approach
The design pattern allows for the creation of highly modular software,
integration of customer-specific solutions, and very flexible adaptation to changes.
The interfaces between the parts are defined once and are the same across all modules.
New approach
Extend instead of Modify
Customer requirements can be implemented easily without changing existing code
Flexible Hardware Planning
A single XML file contains all machine functions as well as the corresponding hardware description (controller and drives)
Scalable Performance
Only the code required on the machine is actually running
Know-how Protection
Through complete encapsulation of the function
Generate instead of Program
While machine functions still have to be created, the customer-specific program is generated from the previously created library
Test Automation
The generator also enables configuration and execution of test runs via a build server.
Thanks to the universal interface, blocks can be tested and evaluated more easily