SAVAGE, Minnesota, June 13, 2013 – As a continuation of the company’s next generation PC-based control software, Beckhoff Automation has announced the release of TwinCAT 3.1 with new features for eXtended Automation. One of the core concepts of eXtended Automation involves the convergence of automation with the domain of IT and computer science. A key update with TwinCAT version 3.1 is support of 64-bit operating systems and the Microsoft Windows 8 operating system. Support of IEC 61131-3 programming languages, object-oriented programming (OOP), C/C++ and Matlab®/Simulink® is continued and provides numerous optional tools to the TwinCAT programmer.
Another highlight in TwinCAT 3.1 is the possibility to reserve individual CPU cores of a multi-core processor exclusively for TwinCAT. This feature, known as “CPU Isolation,” gives the full performance of the reserved cores solely to TwinCAT.
A step toward simplifying and advancing TwinCAT is the integration into Visual Studio®, making use of the most widely used IDE in the world. TwinCAT 3.1 can be used with the current release of Visual Studio® 2012 or Visual Studio 2010. TwinCAT integrates itself automatically into any existing Visual Studio® 2010 or 2012 installations. If no Visual Studio installation is present, a royalty-free Visual Studio® shell is installed and the TwinCAT 3 components are integrated into this shell.
TwinCAT 3.1 also provides a method to use C and C++ inside the TwinCAT real time kernel and provides deterministic cyclic access to field inputs and outputs as well as cyclic access to variables in the traditional IEC 61131-3 languages. An exciting tool included in TwinCAT 3.1 allows the programmer to make a Live Watch window to monitor and write to C/C++ variables without stopping the process. This was not possible in any C or C++ IDE until TwinCAT 3.1. Code written in C/C++ can be easily packaged and used as function blocks in the traditional IEC languages.
The integration of TwinCAT into Visual Studio® also offers the option to use familiar source control techniques used by the IT world. In addition to saving and backing up source code, source control is increasingly used for revision control. Comparison tools are available in TwinCAT 3.1 for displaying the differences between the versions and it is possible to view which nodes have been modified. If a difference is detected, more details can be made visible by a double click. The comparisons are available in all IEC 61131-3 languages.
In principle, a whole series of plug-ins for various source code control tools are available for Visual Studio®. The most important are Microsoft Team Foundation Server (TFS) and Subversion. Both are fully supported by TwinCAT.
In TwinCAT, automated configuration settings can be accomplished via the TwinCAT Automation Interface. This interface, which is already familiar from TwinCAT 2, has been greatly expanded in TwinCAT 3.1. It is now possible to generate and compile PLC and C++ code automatically and system configurations can be modified based on available hardware. Matlab®/Simulink® modules can be added automatically to a project and configured. All of this is possible without human intervention.
The Automation Interface can be used by different script languages such as IronPython and Microsoft PowerShell® and linked to a C++ application or any .NET application.
Support for Matlab®/Simulink® has also been enhanced in TwinCAT 3.1. A Simulink® block can be imported in the “TwinCAT interface for Matlab®/Simulink®” and an Automation Device Specification (ADS) connection to real-time variables is established. This allows direct access from Simulink® to TwinCAT variables. Inputs and outputs from the field can be connected directly to Simulink® and variables of a PLC can be directly exchanged with variables in a Simulink® module.
From the beginning, an absolute design requirement of TwinCAT 3 was to provide the ability to import existing TwinCAT 2 applications. A user interface is provided to accomplish the conversion; there is not a separate tool, everything is included in a basic TwinCAT 3.1 installation.