TwinCAT 3 Philosophy
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:
1. 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.
2. 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.
3. 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.
4. 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.
It is important to understand that TwinCAT 3 products are being identified via a new naming convention, which groups products into three different categories:
- TE xxxx-xxxx: TwinCAT 3 XAE (Engineering)
- TC xxxx-xxxx: TwinCAT 3 XAR (Runtime)
- TF xxxx-xxxx: TwinCAT 3 Functions (former “Supplement” products)
The abbreviations represent the basic TwinCAT 3 naming concept and are therefore also important for later reference when activating or ordering a TwinCAT 3 license. The general schema of the TwinCAT 3 naming concept is as follows:
The blue-colored abbreviations are a description and identification of the product itself, whereas the green-colored abbreviations describe the product according to the customer’s order. The following table explains each abbreviation in more detail:
|b||Describes theTC3 Base System to which the product belongs. Possible entries are:E=Engineering
|c||Describes theproduct class. If the product belongs to the Base-System “Runtime” or “Engineering”, this is always “1”.If the product is a TC3 Function, more information about all available product classes for TC3 Functions can be foundhere.|
|nnn||Number, whichuniquely identifies a product in its corresponding product class.|
|rr||Reserved for later use, at the moment filled out with “00”.|
|pp||Describes thehardware platform, on which the product has been licensed. More information about the different TC3 hardware categories can be found here.|
|bbbb||(Optional)Build number, describing the version number of a product in more detail.|
For a better understanding, the following table shows some product examples:
|TC1000-0010||TC3 ADS, belonging to the Base-System “Runtime” with product class “1”. Has been licensed by the customer for hardware category 10.|
|TC1000-0020||TC3 ADS, belonging to the Base-System “Runtime” with product class “1”. Has been licensed by the customer for hardware category 20.|
|TE1000-0030||TC3 Engineering, belonging to the Base-System “Engineering” with product class “1”. Has been licensed by the customer for hardware category 30.|
|TF6100-0070||TC3 OPC-UA, belonging to the Base-System “Function” with product class “6”. Has been licensed by the customer for hardware category 70.|
|TF6310-0020||TC3 TCP/IP, belonging to the Base-System “Functions” with product class “6”. Has been licensed by the customer for hardware category 20.|
Product classes for TC3 Functions
TwinCAT 3 Functions have been grouped into several categories, which represent a so-called “Product Class” in the TC3 naming convention. The available categories are:
The following table shows all currently available TC3 Functions and their corresponding product class:
|Product Class||Function name|
|System||No released TC3 Functions yet|
|Measurement||No released TC3 Functions yet|
|Control||No released TC3 Functions yet|
|Motion||TF 5000 (TC3 NC PTP 10 Axes)
TF 5010 (TC3 NC PTP 25 Axes)
TF 5020 (TC3 NC PTP Unlimited Axes)
TF 5100 (TC3 NCI)
|Connectivity||TF 6000 (TC3 ADS-Communication-Library)
TF 6100 (TC3 OPC-UA)
TF6250 (TC3 Modbus TCP)
TF 6310 (TC3 TCP/IP-Server)
Every TwinCAT 3 product is bought and licensed according to the underlying hardware. The hardware depends on the operating system and CPU and is identified by a category ID. The following images shows all hardware categories and their corresponding Beckhoff hardware products:
TwinCAT 3 XAE (Engineering) and TwinCAT 3 XAR (Runtime) have different system requirements.
If both are operated on one computer, which is usually the case, especially on a development computer, the requirements for both components are met.
TwinCAT 3 XAE (Engineering)
TwinCAT 3 XAE is an extension for Visual Studio, therefore the requirements for Visual Studio essentially have to be met.
For the Visual Studio 2013 Shell included in the delivery, these requirements are:
- Operating systems
- Windows 7 Service Pack 1
- Windows 8
- Windows Server 2008 R2 SP1
- Windows Server 2012 (R2)
- Windows 10
- Windows XP (with pre-installed Visual Studio 2010, Shell if necessary)
- Hardware requirements
- Processor clock rate of 1.6 GHz or faster
- x86: 1GB RAM, x64: 2 GB RAM
- 2 GB free memory space if the Visual Studio 2013 Shell has not yet been installed
- Graphics card that supports DirectX9, with a minimum resolution of 1024 x 768
- Depending on the project size the TwinCAT 3 XAE additionally requires at least:
- 2 GB free memory space
- 1 GB RAM
TwinCAT 3 XAR (Runtime)
Depending on the executing program, the TwinCAT XAR execution system requires at least:
- Operating systems
- Windows XP with SP3
- Windows 7
- Windows Embedded Standard 2009
- Windows Embedded Standard 7
- Windows 10 LTSB
- On Beckhoff controllers and with a TwinCAT 3 Image provided:
- Windows Embedded Compact 7 – WEC7
- Hardware requirements
- 500 MB free memory space
- RAM depends on the activated configuration
- In the case of 64-bit operating systems the VT-x CPU function is absolutely necessary.
(Must be activated in BIOS and available).
- Further system requirements are available in the respective product description of the TwinCAT components.
- The real-time behavior depends on a large number of parameters of the actual computer and the installed components. It is recommended to use controllers and components from Beckhoff with the operating system images provided.
|Engineering ( Windows XP | Windows 7)|
|TE1110||TC3 Simulation Manager|
|TE1120||TC3 ECAD Import|
|TE1140||TC3 Management Server|
|TE1300||TC3 Scope View Professional|
|TE1400||TC3 Target for Matlab®/Simulink®|
|TE1410||TC3 Interface for Matlab®/Simulink®|
|TE1500||TC3 Valve Diagram Editor|
|TE1510||TC3 CAM Design Editor|
|TC1250||TC3 PLC/NC PTP 10|
|TC1260||TC3 PLC/NC PTP 10/NC I|
|TC1270||TC3 PLC/NC PTP 10/NC I/CNC|
|Functions – System|
|TF1810||TC3 PLC-HMI WEB|
|TF1140||TC3 Management Server|
|Functions – Measurement|
|TF3300||TC3 Scope Server|
|TF3600||TC3 Condition Monitoring Level 1|
|TF3601||TC3 Condition Monitoring Level 2|
|TF3602||TC3 Condition Monitoring Level 3|
|TF3900||TC3 Solar Position Algorithm|
|Functions – Controller|
|TF4100||TC3 Controller Toolbox|
|TF4110||TC3 Temperature Controller|
|Functions – Motion|
|TF5000||TC3 NC PTP 10 Axes|
|TF5010||TC3 NC PTP Axes Pack 25|
|TF5020||TC3 NC PTP Axes Pack unlimited|
|TF5050||TC3 NC Camming|
|TF5055||TC3 NC Flying Saw|
|TF5060||TC3 NC FIFO Axes|
|TF5065||TC3 Motion Control XFC|
|TF5100||TC3 NC I|
|TF5110||TC3 Kinematic Transformation L1|
|TF5111||TC3 Kinematic Transformation L2|
|TF5112||TC3 Kinematic Transformation L3|
|TF5210||TC3 CNC E|
|TF5220||TC3 CNC Axes Pack|
|TF5230||TC3 CNC Channel Pack|
|TF5240||TC3 CNC Transformation|
|TF5250||TC3 CNC HSC Pack|
|TF5260||TC3 CNC Spline Interpolation|
|TF5270||TC3 CNC Virtual NCK Basis|
|TF5271||TC3 CNC Virtual NCK Options|
|TF5800||TC3 Digital Cam Server|
|TF5810||TC3 Hydraulic Positioning|
|TF5850||TC3 XTS Technology|
|Functions – Connectivity|
|TF6000||TC3 ADS Communication Library|
|TF6100||TC3 OPC UA|
|TF6120||TC3 OPC DA|
|TF6250||TC3 Modbus TCP|
|TF6220||TC3 EtherCAT Redundancy 250|
|TF6221||TC3 EtherCAT Redundancy 250+|
|TF6255||TC3 Modbus RTU|
|TF6270||TC3 PROFINET IO Device|
|TF6300||TC3 FTP Client|
|TF6340||TC3 Serial Communication|
|TF6360||TC3 Virtual Serial COM|
|TF6420||TC3 Database Server|
|TF6421||TC3 XML Server|
|TF6500||TC3 IEC 60870-5-10x|
|TF6510||TC3 IEC 61850/IEC61400-25|
|TF6600||TC3 RFID Reader Communication|
|TF6610||TC3 S5/S7 Communication|