The programming languages of the IT world are available in TwinCAT 3 via C and C++. Additionally, the integration of Matlab®/Simulink® facilitates a connection to scientific fields. The software modules can run in different languages within a common runtime, improving reuse of modules once they have been written and tested. The runtime operates under demanding real-time conditions with the use of multi-core technology and the support of 32-bit or, in the near future, 64-bit operating systems.
The familiar features of TwinCAT 2 are continued in TwinCAT 3 with the eXtended Automation Architecture (XAA). Motion control, from point-to-point movements to CNC is still possible using XAA. Automation technology is also significantly expanded with the “Scientific Automation“ themes already presented in TwinCAT, such as robotics, measurement technology, and condition monitoring. New features include the possibility to use additional programming languages such as C/C++ and Matlab®/Simulink®.
The eXtended Automation Engineering environment (XAE) in TwinCAT 3 is essentially the widely used Microsoft Visual Studio® platform. Alongside the already existing C/C++ languages, Beckhoff has also integrated the IEC 61131-3 programming standard into this globally-recognized development environment. Integration in Visual Studio® takes place in 2 different ways. In the TwinCAT Standard version, only the framework of Visual Studio® is used with all of its advantages with regards to handling, linking to source administration software, help functions, etc. In the second variant, TwinCAT 3 components integrate themselves directly in Visual Studio® 2010 if it is present. If it is not present, Visual Studio® is installed with the TwinCAT 3 components. In this version, the programming languages C/C++ and the connection to the Matlab®/Simulink® world via the Matlab®/Simulink® real-time workshop are available to the user. For the programming languages C/C++, a debugger with online monitoring functionality has been developed that extends beyond the normal debugging functions of C/C++.