Integrating Digital Twins (Industry 4.0)

Integrating Digital Twins with MATLAB/Simulink by using BaSyx

Integrating Digital Twins with an existing modeling and simulation workflow is a complex task. With our custom MATLAB/Simulink library, our experts from Fraunhofer IESE make it possible to take advantage of the capabilities of BaSyx within any MATLAB/Simulink model, improving the accuracy and efficiency of your simulations. Read on to learn more about how our solution enables the integration of Digital Twins by implementing BaSyx into MATLAB/Simulink.

Digital Twins are increasingly being used in various industries to enable the simulation and testing of physical systems. These virtual models can be connected to their physical counterparts to improve the accuracy and efficiency of simulations and to enable remote monitoring and control of physical systems.

MATLAB/Simulink, on the other hand, is one of the technologies most frequently used in the development of embedded systems from various domains. The maturity of the technology, together with the capabilities to generate functional code from graphical models, enables the development of dependable embedded systems of various levels of criticality.

Considering the increasing adoption of Digital Twins and the extensive usage of MATLAB/Simulink, it is necessary to enable the integration of technologies implementing Digital Twins with MATLAB/Simulink.

How to manage Digital Twins within Simulink?

At Fraunhofer IESE, we have been working on integrating the Digital-Twin-oriented middleware Eclipse BaSyx with MATLAB/Simulink. More specifically, our solution enables managing Digital Twins within Simulink. Our solution involves a custom block that connects to the Eclipse BaSyx REST API (Application Programming Interface) and can be configured to retrieve data from or update elements of Digital Twins. An application of this would be the implementation of condition monitoring capabilities for a hydraulic press. A Digital Twin of the hydraulic press could interact with the model by, for example, providing data from sensors and actuators to enrich a condition monitoring subsystem running in MATLAB/Simulink. This condition monitoring subsystem could, on the other hand, send data to its own Digital Twin, enabling further processing by other services external to the MATLAB/Simulink environment and integration with third-party applications.

What exactly is BaSyx and what does it have to do with Digital Twins?

Before we showcase a running example of this integration, an overview of Eclipse BaSyx is of interest. Eclipse BaSyx is a middleware that provides reusable I4.0 components and a Software Development Kit (SDK) in various programming languages, enabling rapid development and deployment of I4.0-ready components. In BaSyx, the Asset Administration Shell (AAS) can be understood as the equivalent of the Digital Twin of an asset. AASs are commonly stored in a BaSyx AAS Server, which provides an interface to interact with the managed AASs. Furthermore, an AAS can contain Submodels, representing a collection of variables and values (generically defined as SubmodelElements).

To learn more about Eclipse BaSyx, check the Eclipse BaSyx Wiki and our more detailed blog entry on how these concepts can help us build an Industry 4.0 IT infrastructure for Digital Twins.

Using BaSyx and MATLAB/Simulink to implement a condition monitoring scenario

We can therefore make use of Eclipse BaSyx to realize the previously introduced condition monitoring scenario. In the figure below, two independent MATLAB/Simulink models are shown:
Hydraulic Press, which simulates the behavior of a hydraulic press, and a pressure sensor connected to the main cylinder, which publishes the sensor reading to its correspondent Submodel
Condition Monitoring, which uses the data from the Digital Twin to execute a monitoring routine and publish the results to the ‘ConditionMonitoring’ Submodel.

 

 

Each system uses the custom block of our solution to connect MATLAB/Simulink with the infrastructure for Digital Twins. The block can be configured to match the SubmodelElement from where data should be retrieved or to which it should published. For example, in the Condition Monitoring system, the left-most block, ‘Cylinder/pressureDrop’, retrieves data from the SubmodelElementpressureDrop’ inside the Submodel ‘Cylinder’ and sends it to be processed by the condition monitoring algorithm.

As a result, an external dashboard could be easily integrated into the existing infrastructure and display relevant parameters from both models, without needing any connection to the hydraulic press or MATLAB/Simulink.

 

Our solution enables a range of capabilities including software-in-the-loop testing and the integration of live data from physical systems into simulations. This can improve the convenience, speed, safety, and repeatability of testing and simulation workflows, and can be particularly useful for industries where physical components are expensive or difficult to access.

If you want to implement a Digital Twin infrastructure for Industrie 4.0, we recommend checking out our blog post on enabling Industrie 4.0 with Eclipse BaSyx. There, we detail the benefits of open-source software and showcase a demonstration scenario using BaSyx and its off-the-shelf components, which allow an easy instantiation of Digital Twins.

By connecting BaSyx and MATLAB/Simulink, we open up new possibilities for the use of Digital Twins in a range of applications.

 

If you have any questions or want to learn more about our solutions, please don’t hesitate to contact us.