Introduction to Emulation and digital twins

Learn about the basics of Emulation and Digital Twins and how to use Simumatik to create them.

Digital models

A digital model is the algorithms and equations used to capture the behavior of the system being modeled. By contrast, a computer simulation is the running of a program that contains these equations or algorithms. This course will be focusing on Industrial applications when it comes to the examples, but much of the content can be extrapolated to other areas. There are different techniques to create models, each of them more appropriate for different applications.
Discrete event models
Follows a quite simple approach which is computationally simple to execute. Not that important what happens during the simulation (no real-time required), but the data produced by the model. We could say they are not time dependent like other models.
Dynamic system models
Use differential equations, for example to model electric, hydraulic or multi-body mechanical systems.
Finite Element models
Used to model structural mechanics by subdividing the problem into smaller components called finite elements to be able to study the overall behavior.
Agent-Based models
Individual entities (such as organisms or people) are modeled individually including their internal state and some rules or behaviors, so they can interact making their state update from one time step to the next.

Example: Windmill

A digital model of a windmill could be required to study its mechanical structure to help select best materials or design, for which FEM technique would be most suitable
Or to study the electrical output, the generated energy, depending on the electric generator and other components for which a dynamic system model would be more suitable

Digital Twins

Digital twin is a broad term which many times is used to just refer to Digital models of physical systems. We could say that a digital twin can be achieved when we create all digital models, potentially combining different techniques, so we can represent all different aspects that we want to study in a specific system.

Simulation vs Emulation

  • A simulation is a system that behaves similar to something else, but is implemented in an entirely different way. It provides the basic behavior of a system to give you an idea about how something works.

  • An emulation is a system that behaves exactly like something else, and abides by all of the rules of the system being emulated. It is compatible with the emulated system’s inputs and outputs, but operating in a different environment to the environment of the original emulated system.

Consider the automated system below containing of a controller that controls a system by reading inputs and manipulating outputs.
When a simulation model is created usually the entire automated system is considered, including the behavior of the controller and its interaction with the actual system.
In contrast, when we create an emulation model we just replace the real system for a virtual one. Which is compatible with the real ones inputs and outputs. We still want to use the real control system and verify the control logic on it.

Simulation Example

In the example below is a Discrete Event Simulation model, with a 3D-representation. It represents a fork lift operator, a conveyor, a crane and a manual operator. In the simulation the operators are modelled and simulated, as is the controls of the crane and the conveyor. This means that the model does not need a controller to make decisions since the decisions is made by the simulation. The simulation model can have the speed changed without affecting the outcome of the systems, since no inputs are changed.

Emulation Example

In the example below is an emulation model in Simumatik representing a conveyor system that is connected to a Siemens PLC that controls the conveyor system. If the emulation model is not connected to a control system, nothing will happen. Since this system is connected to a Siemens PLC, the code running on the PLC is controlling the model and turns on motors for the different conveyors, depending on inputs from sensors that the PLC gets from the model.
Created with