SoltarFixarFechar

The latest version of TwinCAT 3.1: Build 4026

More flexibility in automation development through modularity and extensions

Setup with TwinCAT Package Management enables individual and thus faster updating of individual TwinCAT components.
Setup with TwinCAT Package Management enables individual and thus faster updating of individual TwinCAT components.

Thanks to a new type of mediatized setup, TwinCAT can not only be installed on an industrial PC in three variants as before. Instead, specific packages can be selected according to preference and then installed or updated. In addition to being able to update components independently, customers simultaneously benefit from faster installation and shorter update times.

Microsoft Visual Studio 2022 support is another highlight of TwinCAT 3.1 Build 4026.
Microsoft Visual Studio 2022 support is another highlight of TwinCAT 3.1 Build 4026.

TwinCAT 3.1 Build 4026 can also be used with Microsoft Visual Studio 2022. The support of Microsoft Visual Studio 2022 provides a 64-bit environment for engineering, allowing more main memory to be used for larger projects. The XaeShell supplied by TwinCAT is also available in an updated variant based on Microsoft Visual Studio 2022. TwinCAT 3.1 Build 4026 supports Microsoft Visual Studio 2022 as well as the 2017 and 2019 versions.

New TwinCAT software will support TwinCAT 3.1 Build 4026 right from release.
New TwinCAT software will support TwinCAT 3.1 Build 4026 right from release.

The following new Beckhoff software is based on TwinCAT 3.1 Build 4026 for release:

  • TE1030 TwinCAT 3 Documentation Generation
  • TE1130 TwinCAT 3 CAD Simulation Interface
  • TE1210 TwinCAT 3 PLC Profiler
  • TE6100 TwinCAT 3 OPC UA Nodeset Editor
  • TC1700 TwinCAT 3 Usermode Runtime
  • TC1701 TwinCAT 3 Usermode Runtime: External Control
  • TC1702 TwinCAT 3 Usermode Runtime: Fast As Possible
  • TF5221 TwinCAT 3 CNC Axes Pack unlimited
  • TF5261 TwinCAT 3 CNC Realtime Cycles
  • TF6105 TwinCAT 3 OPC UA publisher-subscriber model
  • TF6230 TwinCAT 3 Parallel Redundancy Protocol (PRP)
  • TF6770 TwinCAT 3 IoT WebSockets
  • TF6771 TwinCAT 3 IoT OCPP

The innovations at a glance

This short video introduction and the webinars for the new TwinCAT 3.1 Build 4026 offer an overview of the most significant innovations in the following version:

  • TwinCAT 3.1 Build 4026 – What's new?
  • TwinCAT 3.1 Build 4026 – Introduction (webinar)
  • TwinCAT 3.1 Build 4026 – PLC updates (webinar)
  • TwinCAT 3.1 Build 4026 – Package management (webinar)

Features and software based on TwinCAT 3.1 Build 4026 in detail

The usability of the PLC programming environment has been improved through a variety of minor changes, while simultaneously offering greater efficiency. The following points provide insight into the details:

  • referenced libraries
  • customer-specific PLC project templates
  • bookmarks for the PLC editors
  • introduction of generics
  • highlighting all other points of use of a selected variable in the code
  • integrated text search with highlighting of all sources in the ST editor
  • SmartTags for simplified declaration of variables
  • IntelliSense for the instantiation of a function block with an FB_init method
  • optional use of initialized inputs when calling up methods and functions
  • command for jumping directly from the point of use to the point of implementation for methods in the online editor
  • new column for the usage context in the Cross Reference List
  • navigation when browsing in the Library Manager
  • importing and exporting the values of parameter lists in the Library Manager
  • display of library details in library file properties
  • improved monitoring, especially for pointers/pointers that are secure against online change
  • dark theme for ST and CFC offline editor
  • "Auto Data Flow" mode for the control function chart (CFC) editor
  • drag and drop for variables from the declaration part to the implementation part of the control function chart (CFC) editor
  • rearranging the pins of a box in the control function chart (CFC) editor
  • new Ladder Diagram Editor

The C++, MATLAB® and Simulink® programming environment has been enhanced with some important properties, including those listed in the following overview:

  • support/usability of TwinCAT TaskDumps for debugging in C++ and Simulink®
  • using TC1700 TwinCAT 3 Usermode Runtime for debugging C++ modules
  • easy migration from SYS-based C++ projects to TwinCAT versioned C++ projects with TwinCAT C++ Platform Wizard
  • provision and monitoring of member variables of TwinCAT C++ modules via ADS

The TwinCAT 3 Usermode Runtime provides a way to run the applications programmed in TwinCAT without real-time properties in the user mode of the operating system.

There are three modes for this purpose:

  • Engineering: The TC1700 variant makes it possible to run customer programs, so that in the case of engineering systems in particular, which permit neither installation nor operation of the real-time runtime, the test run can take place for development purposes.
  • External Control: The TC1701 option provides an interface that runs the application, clocked by an external application. This is created by the customer through an API and thus controls the execution.
  • Fast As Possible: The TC1702 option provides an interface that runs the application as fast as the hardware allows. This also simulates different cores and clock speeds.

TE1210 TwinCAT 3 PLC Profiler enables precise analysis of the runtime behavior of a PLC project. It supports the detection of time-intensive program parts and inefficient programming, and enables the early detection of runtime problems.

TF6105 TwinCAT 3 OPC UA Pub/Sub extends the OPC UA client/server architecture to include publisher/subscriber communication patterns. The product provides the implementations of the protocol required to enable these kinds of communication patterns to be readily integrated into the TwinCAT application.

TF6230 TwinCAT 3 Parallel Redundancy Protocol (PRP) provides a network connection according to IEC 62439-3 that can be used transparently by applications. This can be used both from real time and from operating system applications. The interface is designed with redundancy on the network side in the interests of higher overall availability.

Previous version TwinCAT 3.1 Build 4024

The previous version of TwinCAT 3.1 Build 4026 is the Build 4024 version. It is also still valid. All properties of Build 4024 are included in the latest version 4026.

Build 4024: Increased efficiency and integration in engineering

TwinCAT users receive targeted up-to-date information via the Visual Studio® start page.
TwinCAT users receive targeted up-to-date information via the Visual Studio® start page.
  • integration of the Microsoft Visual Studio® 2017 Shell (TcXaeShell)
  • new start page with new RSS feed with TwinCAT info
  • support for Microsoft Visual Studio 2019 (Build 4024.10 and higher)
Variant management significantly simplifies versioning and maintenance of the control software.
Variant management significantly simplifies versioning and maintenance of the control software.
  • easy configuration of machine variants
  • variant-specific de-/activation of components
  • variant-specific parameterization
  • shown by 'conditional compilation' in the PLC
TwinCAT's multi-user functionality significantly facilitates the commissioning of even sophisticated machines and plants.
TwinCAT's multi-user functionality significantly facilitates the commissioning of even sophisticated machines and plants.
  • several programmers can work on a PLC project simultaneously
  • integrated workflow
  • reduces the commissioning time
  • high traceability

Further functions of TwinCAT 3.1 Build 4024

  • corrected timestamps for data sets e.g. via NTP

In larger plants with multiple controls, it is often necessary to store certain data on a central server, so as to be able to subsequently evaluate this aggregated data. The difficulty here is that the timestamps on the different devices cannot be generated uniformly. If data is then aggregated for a central application such as TwinCAT Scope, no precise time reference is possible on the central system. The system times on the individual controls cannot be readily readjusted for synchronization here, as this would impair the entire application. The only remaining option is to use a reference clock to determine offsets to local times when generating timestamps for data to be aggregated.

But which reference clock should you use? The (S)NTP service, which is installed free of charge on all Beckhoff devices, is suitable for achieving accuracy as high as medium in a very simple way. This procedure is often sufficient for distributed plants when it is only a matter of comparing data. For even higher accuracy, the IEEE 1588 procedure can be used. This method, also called PTP (Precision Time Protocol), can temporally compare different PLCs with each other very precisely, but requires special hardware such as the EL6688 EtherCAT Terminal. A further increase in accuracy is then only possible through explicit cabling – i.e. an EtherCAT cable between the devices.

Due to the interface for one of these procedures introduced in the new TwinCAT Build, corrected timestamps can now be used for different data, and thus comparable timestamps can also be achieved in aggregated databases.

  • better overview in the Mapping dialog
  • 'Go To Definition' from PLC process image to PLC code

The Mapping dialog has been revised for a user-friendly I/O configuration. At the same time, the possibility of jumping from the process image to the corresponding place in the code was added.

  • improvements in the Cross Reference List (new filter, performance improvements)
  • keyword: ABSTRACT for abstract function block/method/property definition
  • improved monitoring of interface variables
  • mini-icons in Solution Tree show access modifier
  • ENUMs available as strings in the PLC
  • exception handling via TRY-CATCH
  • simplified commenting function in the PLC
  • 'released' flag during library creation
  • conditional compilation available in declaration part (in addition to implementation part)
  • multi-line support in pragma declarations
  • optional storage format Base64 for graphical PLC objects

In the PLC area, numerous improvements have been incorporated to enable even faster and more effective PLC code development and testing. Especially in object-oriented programming, the goal is better and easier maintainability and reuse of code. The use of interfaces is a basic feature here. Previously, when using interface pointers, the address could indeed be displayed, but pointer dereferencing was not performed. This is now possible with Build 4024 and also leads to improved engineering.

In the high-level languages C++ and C#, the programming of abstract classes with abstract methods and properties is widespread. This possibility is available to the PLC programmer: Abstract classes can be used to easily create patterns for blocks or classes. These patterns can be filled with code when deriving the abstract class. This brings PLC programmers one step closer to the possibilities of C++ and C#. The situation is similar with exception handling. If an exception occurs, the PLC programmer also wants to respond to it. In the case of a division by zero, it may be sensible to execute a certain routine to bring the machine into a safe state and thus prevent machine damage.

The Mapping dialog has been optimized so that not all node levels are opened. This results in a smaller scroll area and a better overview during the creation of a link, e.g. from the PLC to the I/O. The searched-for devices can thus be found more easily in this dialog. An option allows switching between the old, the new and an automatically adjusted view. With the "Go To LinkVariable", the user could easily jump from an I/O device to the process image and back. Until now, however, there was no way to switch from the process image to the code. This is now possible using the "Go To Definition" command, which makes troubleshooting easier. In addition, the program becomes clearer, since the still frequently used global variable lists can be dispensed with thanks to this functionality.

Another advantage is that the program code of blocks in graphical languages can be stored in binary format Base64. In this way, the loading and saving of programs with a high proportion of graphical languages can be accelerated.

  • automatic start of the PLC-HMI client locally on the runtime
  • dynamic scaling for the controls of the measuring devices category
  • offline rotation of elements
  • performance improvements when opening dialogs
  • automatic transfer of the scaling options of the TargetVisu object to the Tc3PlcHmi.ini file

A variety of optimizations have been made for the PLC-HMI. These range from the automatic start of the PLC-HMI client on the runtimes and the dynamic scaling of operating elements in the measuring devices category to performance improvements when opening dialogs.

  • exchange of TcCOM modules while the machine is running for C++, MATLAB® and Simulink®
  • repository for versioned C++ projects
  • new way of signing TcCOM modules

Until now, only the PLC programmer was able to change the control code with the machine running. This is an absolutely necessary feature, because many machines or plants can rarely be stopped in practical use, if at all. If C++, MATLAB® or Simulink® is used for the machine control, it has only been possible until now to change this code in conjunction with a machine restart. However, this is not permissible in many applications. In particular in the case of test machines, processes may not be interrupted as a rule. Despite that, program changes are frequently necessary. As a solution to this challenge, Beckhoff has implemented the option to also replace C++, MATLAB® and Simulink® code during operation in the new TwinCAT Build. To this end, the corresponding code is specially versioned and the existing version is replaced by a newer one while retaining the data.

  • is based on the AutomationML format
  • bidirectional exchange of I/O topologies with ECAD tools
  • incremental import of I/O topologies
  • fully integrated in TwinCAT

Based on the AutomationML format, a bidirectional exchange of I/O topologies is integrated in the TwinCAT Engineering. This can be used for interaction with ECAD tools and also supports incremental updates of the I/O topologies.

  • user-defined function blocks can be created and instantiated as often as desired (including GoToDefinition, Online View, nesting up to two levels)
  • multiple usage of variables
  • global variables

Of course, in addition to security, safety also plays an important role in the TwinCAT system. For this reason, numerous properties have been added to simplify work in the safety area. One of the most important innovations is the multiple usage of variables. Variables therefore no longer have to be unique, but can be declared and used at a local and also global level – across an entire safety project. This makes working in the safety area easier and more effective. Furthermore, based on existing and certified function blocks, one's own function blocks can be defined and instantiated multiple times. This means, for example, that a functionality such as a safety door only needs to be created once. In the case of several safety doors in one application, this block can then simply be reused in several instances, and also with different I/O assignments or parameters.

  • "Secure ADS" extension (uses TCP port 8016): Encrypted ADS communication

The Beckhoff ADS protocol was introduced as far back as the first TwinCAT version, and its essence has never been changed. However, it has of course been extended again and again with important features. A new property in TwinCAT Build 4024 is that secure communication via ADS is possible. Here, an encrypted connection is established between two devices, which can then exchange ADS telegrams as usual.

When creating a new connection between two ADS devices, authentication can be ensured via certificates. In the process, all telegrams are automatically encrypted. With TLS, Beckhoff has decided to use the best-known procedure for authentication and encryption. The programmer does not need to concern themselves with certificates and their management. The TwinCAT system does this independently in the background. Integration into the central TwinCAT communication component (TwinCAT router) also provides the opportunity for existing applications using ADS to use an encrypted connection by reconfiguring the connection without having to rewrite or just recompile the actual application.

  • project Wizard for easy entry into Scope configuration
  • new single bar and digital charts
  • dynamic Style for dynamic switching of the display depending on variables
  • shapes: Display of geometric figures in XY plots
  • vision trigger: Inserts images with timestamp into the Scope data stream
  • headless mode: Allows disconnection of the view from the server during recording
  • marker: With docking function on the X-axis and designation label
  • integrated dictionary with physical units
  • clear Display option to clear the chart after the display time has elapsed

With the new TwinCAT Scope New Project Wizard, it is possible to realize a simple and guided project start with the Scope View. Not only the previous YT, XY and Array bar charts, but also the new single bar and digital charts can be configured. Furthermore, it is now possible to change the appearance of the graphs at runtime with the Dynamic Style function. The color of a channel, for example, can be changed if threshold values are reached. Geometric figures can now also be installed in the XY chart. The vision triggers form a completely new function group. They enable camera images that are provided with a timestamp to be displayed directly in the chart.