Industrial Manufacturing
Model new manufacturing processes prior to implementation or existing ones in order to diagnose problems. Use Mathematica for analyses including pre- and post-processing of models, simulations, and results.
OPC UA Tank System
This example will demonstrate the usage of OPC UA communication in a System Modeler model over a simple tank system. OPC UA is a secure, robust and scalable communications protocol used in many different industries over the world. See the OPC Foundation website for more information.
To run this example, you'll need
The latest versions of System Modeler and Mathematica.
Please make a selection:
Get afree trial Continue
with download
Why Is OPC UA Useful Together with System Modeler?
To be able to integrate System Modeler’s modeling capabilities with real-world objects in real time is very powerful. Using OPC UA, safe communication between hardware, such as a Raspberry Pi or a PLC, and simulation models becomes possible.
Communication Using the OPC UA Library
The example model consists of a simple tank system that can communicate through the OPC UA protocol. The measurement of the liquid level of the first tank is written to a real-valued node on the OPC UA server. This value is then read by another component, to be used as a reference for the liquid level of the second tank.

The diagram view of the tank system using OPC UA communication.
Integrating OPC UA communication in System Modeler models lets industries using OPC UA connect signals directly into a model with live data. That opens up many possibilities when it comes to control theory, signal processing and much more.
How Does It Work?
The System Modeler components defined in the OPC UA Modelica library are using external C code to call functions to an implementation of the OPC UA Library in C code. Through the OPC UA components in System Modeler, values can be both written and read to nodes on an OPC UA server. Since OPC UA is multiplatform, compared to OPC Classic, the OPC UA server can also run on small chips or on a Raspberry Pi, for example.
External C Code
By calling external C code, System Modeler can communicate live to any compatible external hardware, using OPC UA.

Plot over both tank levels over time. The first tank starts full (1 m) and then gets drained. The measurement of the liquid level in the first tank is being written to the server at a sample rate of 0.2 s. The bottom tank uses the measurement of the first tank as the reference value for its liquid level, which can be seen in the bottom plot.
Wolfram System Modeler
Try
Buy
System Modeler is available in English
and Japanese
on Windows, macOS & Linux »
Questions? Comments? Contact a Wolfram expert »