In order to master the complexity of modern machines and at the same time to reduce the necessary engineering expenditure, the trend moves to modular control software. Individual functions, assemblies or machine units are thereby regarded as modules. These modules should be as independent as possible and structured hierarchically. The structural format should be that the lowest modules are the easiest and reusable basic elements. With standardized interfaces the software modules from higher-ranked modules can be combined to more complex machine units, up to a complete machine. Ideally the individual modules can be put into operation, extended, scaled and reused independent from each other.

The innovative software architecture of TwinCAT 3 exactly allows this kind of programming. Due to this possibilities for the software application TwinCAT 3 is also called eXtended Automation (XA). eXtended Automation is the combination of the latest IT-technologies and scientific software-tools with the automation technology. This philosophy has been implemented not only in the section of engineering, but also up into the runtime. 

TwinCAT 3 is classified into eXtended Automation Engineering (XAE) and in eXtended Automation Runtime (XAR).

eXtended Automation Engineering XAE:

One of the main approaches of TwinCAT 3 is to simplify the software engineering. Instead of developing own standalone-tools it is obviously worthwhile to integrate into common and existing software development environments. For TwinCAT 3 this development environment is the Microsoft Visual Studio®.By integrating TwinCAT 3 as an extension into the Visual Studio®, we are providing the user an expandable and future-proof platform.

New definitions just as Solution or Solution Explorer find their way into the automation world. Even by inserting a TwinCAT Project into the Solution you will rapidly notice the known TwinCAT System Manager tree, whereby also TwinCAT 2 users can switch to TwinCAT 3 very easy. One of the main advantages is the integration of the TwinCAT 2 PLC Control into the TwinCAT System Manager. So the developer only needs one development tool for his application. This saves not only the switch between different development environments, but it also simplifies trainings, because now there is only one tool to be trained.

There are different possibilities how the integration into the Microsoft Visual Studio® can be done:

If the classic PLC programmer has not installed Microsoft Visual Studio® by now, the TwinCAT 3 Setup automatically will install the necessary Visual Studio® Shell. The TwinCAT 3 extensions are available after the installation. The known functionalities of TwinCAT 2 are covered and extended. The object-oriented extensions of the third edition are available for the PLC programming languages of the IEC 61131-3. Therewith it is also possible to inheritance PLC function blocks. In addition to PLC modules also modules for NC, CNC or Safety-applications can be created.
If there already is a version of Microsoft Visual Studio® on the Engineering-PC, but which is no full version, the TwinCAT 3 Extensions will be installed and integrate themselves into the existing Microsoft environment. The functional range is the same than under section 1.
If there is a full version of the Microsoft Visual Studios® on the Engineering PC, the TwinCAT 3 Extensions will be integrated into the existing Visual Studio®. Among the mentioned classic PLC functions, there are possibilities wherewith applications in C, C++ or MATLAB®/Simulink® can be programmed.
If there is TwinCAT 3 without a full version of Microsoft Visual Studios® on the Engineering PC, the classic PLC functionalities are available. If you later on install a full version of the Microsoft Visual Studio, the whole functional range including C, C++ and also MATLAB®/Simulink® is available.


More details about the respective system requirements, the installation and the licensing can be found in the TwinCAT 3 product description.

eXtended Automation Runtime XAR:

The TwinCAT 3 Runtime offers a realtime environment where TwinCAT modules can be loaded, executed or administrated.The individual modules must not be created with the same Compiler and therewith can be programmed independent and by different manufacturers or developers. Furthermore it is not important if the modules are PLC, NC, CNC or from C-Code generated modules.

The generated modules are called cyclic from the Tasks. Several Tasks can run on one control PC. Because the different modules(SPS, C/C++, MATLAB®) can call themselves in the TwinCAT 3 Runtime, there are much more possibilities for the software architecture of the application. So it is possible to combine several modules, which have there own functionalities, to one complete machine application. The amount of modules, which are called from the task are unlimited. If the code-execution will take too long, the user will get cyclic exceedings. With TwinCAT 3 the amount of tasks is theoretically limited on 65000. But in the end it depends on the system resources of the runtime device.

A further highlight of TwinCAT 3 is the support of Multicore CPU's. Individual TwinCAT Tasks can be allocated on different cores of a CPU. So the performance of the newest multicore Industrial- and Embedded PCs can be used at its best.