Author: Dipl.-Ing. Robert Schachner, RST Industrie Automation
Contribution – Embedded Software Engineering Congress 2015
The topic of "Industry 4.0" is on everyone's lips as a future vision for the manufacturing industry. Although – or perhaps precisely because – the definitions remain vague and many companies try to establish their own "standards," it is all the more important to address the associated challenges now and to seek solutions.
The market for test systems is also constantly evolving. Gone are the days when standalone systems performed simple test tasks. Today, the focus is no longer solely on HIL (Hardware-in-the-Loop), but also on MIL and SIL (Model-in-the-Loop and Software-in-the-Loop). Furthermore, integration testing is becoming increasingly important. Here, systems test the interaction of individual components with one another. To meet these new approaches and challenges, modular and open test technologies are essential.
The use of modern middleware platforms can help meet the new challenges in both industries.
Middleware – an overview
The central function of middleware platforms is communication. Processes need to exchange data, coordinate with each other, and process I/O data. We can generally distinguish three approaches to this fundamental task: the classic process data model, sample-based data streams, and message-based communication. In the following, we will briefly examine the principles, functionalities, advantages, and disadvantages of these three primary communication forms.
The classic process data model
is a central structure that always contains only the most up-to-date data. A hierarchically structured data model provides a realistic representation that closely mirrors the mechanical processes in time. Newer data overwrites older data, allowing processes to read and write current data very quickly. It is therefore ideal for discrete-time, real-time applications, such as control systems. This method is also typical for classic PLC controllers (see Figure 1)., PDF).
Advantages:
- Logical instructions can be executed very quickly.
- Time-discrete processes, such as controllers, can be executed with excellent precision.
Disadvantages:
- Only the most recent value is saved; older data is lost. This can easily lead to inconsistencies in commands or error numbers via the process data model (this is tolerated in PLC programming).
Sample-based data streams (or FIFOs)
These are direct point-to-point connections between two processes, where the roles of sender and receiver are defined from the outset. The sending process writes its data to a buffer, which is then read by the receiving process. This approach is ideal for asymmetric communication and large data streams. Examples of applications include fast analog sampling or audio streaming (see Figure 2)., PDF).
Advantages:
- The processing speed is similar to the process variables already described.
- The processing can be asynchronous to the event.
- Data is not lost through FIFO buffering.
Disadvantages:
- The data can only be provided for one process (1:1).
- The temporal assignment is only done indirectly via a timestamp.
Message-based communication
Data is serialized and distributed to and from individual processes via a message broker. This occurs either as a point-to-point connection or via a publish/subscribe mechanism, in which senders (publishers) publish data via information channels (topics) and receivers (subscribers) subscribe to the topics relevant to them. Since senders and receivers are no longer directly connected for data exchange, the data streams between systems, as in fieldbuses, no longer need to be manually "wired." Components of a machine can thus combine to form a complete system without configuration.
Remote Procedure Calls (RPCs) allow functions to be executed outside the local process context. This enables the creation of custom function libraries (e.g., alarm management) that can be executed across systems (see Figure 3)., PDF).
Advantages:
- Data connections can be configured as 1:1 or n:m.
- By implementing it as a push service, processes do not miss any value changes.
Disadvantages:
- Especially with larger amounts of data, the temporal assignment is lost.
- Serialization and brokerage lead to higher latency.
But beyond communication and data management, middleware technologies offer numerous other functions to support application developers and system integrators. Here are some examples from the Gamma V middleware platform.
The platform provides a time model for the temporal synchronization and control of processes:
- Loops activate processes and functions of the middleware (see Figure 4, PDF).
- A scheduler It coordinates the execution of processes and middleware functions, even in multicore operation. By defining dependencies, the timing of all relevant functions and programs can be coordinated (see Figure 5)., PDF).
Furthermore, the classic Gamma process data model provides numerous functions that can be used for any application without requiring the necessary programming effort each time:
- Polling / Signal On Change: Processes poll their variables or can be woken up when changes occur.
- Nuclear locks: For synchronizing access by different processes
- I/O Mapping: Hardware channels can be directly mapped to process variables. Reading and setting I/Os is done transparently through read and write accesses to the linked variable.
- Access rights: Write and read permissions can be set for individual variables or groups of variables.
- Limit Checking: Configurable limits are monitored when variables are written.
- Logging: Data can be logged at runtime with a timestamp.
- Simulation: The platform offers an extremely versatile simulation function for testing and simulating machines and test objects.
Furthermore, the data model can be dynamically extended at runtime.
The integration of I/O hardware This is done via plug-ins. This simplifies hardware upgrades and change management. The presence of an open interface makes it easy to quickly and easily develop plug-ins for custom hardware (see Figure 6)., PDF).
In addition to the numerous I/O plug-ins already included in the Gamma middleware, custom functionalities can be easily integrated, be it a classic I/O card or a fieldbus. Anything that generates data can be integrated.
Networking and distributed systems
In addition to fieldbuses integrated via the I/O or fieldbus level, the middleware also enables communication via the process level. This makes the middleware ideally suited for integrating subsystems into a complete system. The following scenarios are possible:
- Networking of the process data model across system boundaries
- Integration of further cross-system services such as alarm management, user management, historical data, and database integration.
- Communication with Android-based apps
- Expansion of communication at the plant level via OPC UA
Our strategy for the future
Despite the need for action, there are currently many questions and few answers. Our strategy is clear:
- Using the methods and tools already available today, we develop test systems and machines that are also equipped for future developments.
- The consistent use of open interfaces allows new technologies to be adapted quickly and easily at any time. This enables us to react quickly and flexibly to new challenges.
- Integrating these modular technologies requires a large team. That's why we are involved in the business association Embedded4You eV.
As part of our long-standing collaboration with the association, we have already made significant progress:
- Middleware as a core technology for networking
- Tools that can be coupled/combined with the middleware depending on the requirements:
- PLC tools: IEC61131-3 or IEC61499
- Visualization tools: XIBASE or QT
- IT-based tools: C/C++, Python, eTrice
- Testing tools: IsyTester, ITE, CCDL, MBTSuite
- Simulation (based on Matlab Simulink)
- Hardware:
- Industrial hardware or affordable small computing solutions similar to Raspberry Pi or Beaglebone Black
- Embrick is a new form of modular I/O functionality that enables cost reductions of up to 30% compared to standard technologies.
Together, we are challenged to implement the requirements of the future now.
Implementation – our training & coaching
Do you want to bring yourself up to date with the latest technology?
Then find out more here MircoConsult offers training courses/seminars/workshops and individual coaching on the topic of implementation/embedded and real-time software development.
Training & coaching on the other topics in our portfolio can be found here. here.
Implementation – Expertise
Valuable expertise in the field of implementation/embedded and real-time software development is available. here Available for you to download free of charge.
You can find expertise on other topics in our portfolio here. here.
