TC3 Preparations - Simulation Architecture

Article Index

Simulation architecture

The simulation consists of three components. These components are linked via several interfaces and exchange data to provide you with the simulation and allow user interaction. The following graphic shows the architecture:

Simulation architecture

Real-time simulation model

The first component is the real-time simulation software that is execution in the TwinCAT runtime. It models all the components to simulate, for example pneumatic cylinders, electrical drives or RFID readers.

Because this part of the simulation is execution within the TwinCAT runtime, the simulation of these devices is deterministic. The connection to the I/Os of the control software (you write) is also done in this part. We will cover this later, but in principle, it works just the way it would in a real system.


The second component is the 3D simulation. It's purpose is the visualization of the simulated plant in the first place, so you get an idea, what the plant is doing. But the 3D simulation also uses a physics engine to simulate parts of the system directly. This is true for the material flow as well as for all physical sensors i.e. tactile, magnetic, optical, etc. Example: The signal of a proximity switch is generated because some object moves into the detection area of that particular sensor.

This has two advantages; First off, the simulation reacts to errors in the system in a realistic manner. For example, collisions of system components can be simulated. Also, the development effort for the simulation of material flow is very low and makes the simulation easily extensible. In other words: I can easily and quickly provice new content for you to work with.

Panel simulator

The last component is a small program which simulates the typical, electromechanical control panels of machinery. It provides you with a neat, graphical user interface that shows buttons and indicator lights, so you do not have to make them on your own in the control software. This also means you have some realistic way of mapping your software to that "hardware". Exactly the same way it would be in a real system.