Modular Machine
versaflow

The Path to the Generated Machine


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



2. Creating a Project Including Functions

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



3. Creating a Project Including Logic

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.



Architecture


interfaceless design


Problem


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.

puzzle1


Old approach



Function blocks are the puzzle pieces

Interfaces of the function blocks are the connections between the parts

The interfaces must be correctly connected to create a functioning machine

The puzzle pieces only work in the given configuration


Solution - Interfaceless Design


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.

puzzle2


New approach




Here the individual blocks can be assembled as before to represent the complete functionality

Interfaces of the function blocks are the connections between the parts

Or only certain functions are needed; others can simply be omitted


Advantages


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