New Automation Technology TwinCAT 3 TwinCAT 3 extended Automation Technology 26.05.2015 1
Content Motivation extended Automation (XA) Architecture (XAA) Engineering (XAE) System Manager PLC Motion Control C/C++ programming Matlab integration C#/.NET programming Runtime (XAR) Connectivity TwinCAT 3 extended Automation Technology 26.05.2015 2
Motivation Beckhoff PC-based Control: Setting New Standards in Automation PC-Hardware Feldbus TwinCAT- Software Base I/O TwinSAFE PLC Control Control (PID) Connectivity Motion NC PTP NC I CNC Robotics Measurement Technology TwinCAT 3 extended Automation Technology 26.05.2015 3
PC-based Control Milestones 1986 1988 1989 1993 1995 1996 2003 2008 2010 PC Control PC-compatible machine control S1000 PLC/NC on PC Lightbus S2000 PLC/NC/CNC on PC Bus Terminal Universal fieldbus module TwinCAT IEC 61131 PLC real-time under Windows NT EtherCAT Real-time Ethernet fieldbus XFC extreme Fast Control Technology TwinCAT 3 TwinCAT 3 extended Automation Technology 26.05.2015 4
Content Motivation extended Automation (XA) Architecture (XAA) Engineering (XAE) System Manager PLC Motion Control C/C++ programming Matlab integration C#/.NET programming Runtime (XAR) Connectivity TwinCAT 3 extended Automation Technology 26.05.2015 5
Architecture (XAA) extended Automation Technology (XAT) More than standard automation extended Automation Engineering (XAE) Visual Studio for programming in IEC 61131-3, C/C++ Visual Studio for configuring the complete system (integrated TwinCAT System Manager) extended Automation Runtime (XAR) Executes modules in real-time Supports multi-core CPUs Supports 64-bit operating systems TwinCAT 3 extended Automation Technology 26.05.2015 6
TcCOM TcCOM TcCOM TcCOM TcCOM TcCOM TcCOM TcCOM extended Automation Architecture (XAA) PC System Windows 32/64 bit TwinCAT 3 Engineering Environment based on Visual Studio System Manager - Configuration Programming - IEC 61131-3 - objectoriented extensions - C/C++ extended Automation Engineering (XAE) TwinCAT Transport Layer - ADS TwinCAT 3 Runtime Real-time Kernel PLC PLC CNC PLC Safety PLC Simulink PLC Module NC PLC C++ PLC Module CPLC Module PLC PLC extended Automation Runtime (XAR) TwinCAT Automation Device Driver - ADD Fieldbus TwinCAT 3 extended Automation Technology 26.05.2015 7
Engineering (XAE) TwinCAT 3 extended Automation Technology 26.05.2015 8
Engineering (XAE) TwinCAT 3 Standard for PLC programmers and users of existing modules configuring, setting up and diagnosis debugging PLC TwinCAT 3 Engineering Environment System Manager Configuration I/O PLC MC NC CNC Safety others Programming IEC 61131 Objectoriented extensions IEC Compiler TwinCAT Transport Layer ADS TwinCAT 3 Runtime TwinCAT 3 extended Automation Technology 26.05.2015 9
Engineering (XAE) TwinCAT 3 Integrated for PLC and C/C++ programmers configuring, setting up and diagnosis module generation (C/C++ or Matlab /Simulink ) debugging PLC, C/C++, Matlab /Simulink TwinCAT 3 Engineering Environment based on Visual Studio System Manager Configuration I/O PLC C/C++ MC NC CNC Safety others Programming Non real-time C#.NET TwinCAT Transport Layer ADS Real-time IEC 61131 Objectoriented extensions IEC Compiler C/C++ Matlab / Simulink Real-time Workshop Microsoft C Compiler Third-party programming tool C/C++ TwinCAT 3 Runtime TwinCAT 3 extended Automation Technology 26.05.2015 10
Engineering (XAE) Simultaneous programming according to IEC 61131 and C++ TwinCAT 3 extended Automation Technology 26.05.2015 11
TwinCAT I/O Integrated System Manager programming, configuration and diagnosis in one tool continuous engineering uniform task management parameterisation of TwinCAT modules creation and administration of mappings between the process images simulation of I/Os and axis TwinCAT 3 extended Automation Technology 26.05.2015 12
TwinCAT I/O Integrated System Manager System configuration Motion control configuration PLC configuration Safety PLC configuration C++ module configuration I/O configuration TwinCAT 3 extended Automation Technology 26.05.2015 13
TwinCAT I/O Integrated System Manager Mapping of process images open for all common fieldbuses support of all PC hardware interfaces easy commissioning and diagnosis assignment of logical and physical process images Changes of the bus system do not require a change of the PLC code. TwinCAT process images Virtual process images Inputs Outputs Physical process images Inputs Outputs Inputs Outputs Inputs Outputs Fieldbus 1 Fieldbus 2 Fieldbus 3 TwinCAT 3 extended Automation Technology 26.05.2015 14
TwinCAT 3 PLC Multiple PLC projects: number of possible tasks: 65,000 number of PLC projects: only limited by memory Programming: languages of the IEC 61131-3 (IL, ST, FBD, LD, SFC) + CFC usage of the object-oriented extensions of the 3rd edition of the IEC 61131 call and data exchange of modules written in C/C++ and Matlab /Simulink multiple import and export interfaces no direct addressing necessary TwinCAT 3 extended Automation Technology 26.05.2015 15
TwinCAT 3 PLC Shared tree structure for hard- and software Programming language-dependent toolbox Shared output window of all languages TwinCAT 3 extended Automation Technology 26.05.2015 16
TwinCAT 3 PLC Object-orientation by the IEC 61131-3 3rd edition Benefits of the object-oriented extensions increased readability of the code by encapsulation algorithms into methods increased maintainability modularisation, structuring of the code increased reusability abstract programming by using interfaces increased extensibility and adaptability construction of inheritance hierarchies increased extensibility and adaptability Consistent usage of the object-oriented extensions enables: increased software quality decreased time for programming and maintenance TwinCAT 3 extended Automation Technology 26.05.2015 17
What does it look like in TwinCAT 3? declaration of a function block call of a method Usage of the object-oriented extensions: is possible in all IEC languages is independent from the used hardware is not mandatory! TwinCAT 3 extended Automation Technology 26.05.2015 18
TwinCAT 3 Motion Control From PTP to Robot Control Functionality NC PTP NC I CNC Robotics Point-to-Pointmovement gearing camming superposition flying saw Interpolated motion with 3 axes and 5 additional axes programming according to DIN 66025 technological features straightforward utilisation through function blocks from the PLC Complete CNC functionality interpolated movement for up to 32 axes per channel various transformations Interpolated motion for robotic control support for a wide rande of kinematic systems optional torque pre-control TwinCAT 3 extended Automation Technology 26.05.2015 19
Drives Layer Fieldbus Layer Soft Motion Layer Soft SPS Layer extended Automation TwinCAT 3 Motion Control Abstraction Layer PLC SP + - Pos Ctrl Velo Preset Limit + + Scale & Limit Pos Meas. TwinCAT 3 extended Automation Technology 26.05.2015 20
C/C++ Programming Languages Method CycleUpdate: is called cyclically Pointer to logical input/output image TwinCAT 3 extended Automation Technology 26.05.2015 21
C/C++ Programming Languages VS2010 standard debugger: monitoring/modification of variables only with Breakpoint TwinCAT 3 extended Automation Technology 26.05.2015 22
C/C++ Programming Languages VS2010 Beckhoff debugger: monitoring/modification of variables without Breakpoint (analog to PLC without Breakpoint) TwinCAT 3 extended Automation Technology 26.05.2015 23
C/C++ Programming Languages Matlab /Simulink Integration well-known in the scientific and measurement environment great variety of toolboxes (e.g. Fuzzy) creation, simulation and optimisation of control circuits debug interface between Simulink and TwinCAT Code generation design in Simulink automatic generation of C code by the Simulink Real-time Workshop compilation with Visual Studio C Compiler parameterisation in the TwinCAT System Manager download and execution in the TwinCAT 3 Runtime TwinCAT 3 extended Automation Technology 26.05.2015 24
Matlab /Simulink Integration TwinCAT 3 extended Automation Technology 26.05.2015 25
C#/.NET programming HMI/ Windows processes PLC module C++ module Real-time Code TwinCAT 3 extended Automation Technology 26.05.2015 26
Runtime (XAR) TwinCAT 3 extended Automation Technology 26.05.2015 27
TwinCAT Real-time Kernel TcCOM TcCOM TcCOM TcCOM TcCOM TcCOM TcCOM TcCOM TcCOM TcCOM extended Automation Runtime (XAR) Modular runtime TwinCAT Transport Layer - ADS dynamic environment for the execution and administration of TwinCAT 3 modules administration of runtime modules (with TwinCAT Object Manager) defined interfaces (e.g. TwinCAT Component Object Model TcCOM) and v model Task Task Task TC Configuration TwinCAT Object Manager PLC Task PLC C++ Module Task PLC CNC Task Call PLC NC Call Simulink PLC Module PLC Call Debugging C++ Module PLC C Module Simulink PLC Module Task PLC Safety TwinCAT 3 Runtime TwinCAT Automation Device Driver - ADD Fieldbus TwinCAT 3 extended Automation Technology 26.05.2015 28
Runtime (XAR) TwinCAT 3 extended Automation Technology 26.05.2015 29
Runtime (XAR) Modular runtime interface separation of encapsulated functionality into modules extension of the base system by own drivers (Automation Device Drivers ADD) e.g. fieldbus drivers scalability: modules can contain simple functions, complex algorithms and real-time tasks or complete projects reusability of modules cooperation of modules written in IEC 61131-3 C/C++ Matlab -generated modules TwinCAT 3 extended Automation Technology 26.05.2015 30
TwinCAT 3 Multicore support TwinCAT 3 extended Automation Technology 26.05.2015 31
Runtime (XAR) Support of multi-core systems Multi-core CPU distribution of projects to cores (e.g. PLC, NC, Motion Control and HMI run on different cores) scalable base time for each core Core 0 Windows Apps Windows Drivers PLC Control ADS ADS Router Engine Core 1 User HMI ADS Core 2 PLC Runtime 0 Task 0 Task 1 ADS Core 3 PLC Runtime 1 ADS Core... NCRuntime 1 ADS scalable CPU usage for each core L2 Shared Cache ADS Router Message Queues System Memory TwinCAT 3 extended Automation Technology 26.05.2015 32
Runtime (XAR) Enables cores for real-time usage Defines the base time for a core Defines the CPU-usage limit Assignment of a task to a CPU TwinCAT 3 extended Automation Technology 26.05.2015 33
C6670-0000 Control cabinet industrial server 2 removable frames for hard disks Graphic board, 1 DVI-I- and 1 DVI-Dconnector Many core machine control Complex applications with up to 36 cores Extensive video analysis 6 PCIe slots for additional camera interface cards available TwinCAT 3 extended Automation Technology 26.05.2015 34
C6670-0000 Control cabinet industrial server TwinCAT 3 extended Automation Technology 26.05.2015 35
Connectivity In Different Areas TwinCAT 3 extended Automation Technology 26.05.2015 36
Connectivity Different Solutions, all Based on ADS PLC 1 PLC 2 TwinCAT TwinCAT TwinCAT Automation Protocols Industry Protocols IT Protocols Web Server Ils TwinCAT Automation Device Specification (ADS) OPC UA, Modbus TCP, Modbus RTU 3964R/RK512 IEC 61850, IEC 61400-25, IEC 60870-5- 10x, BACnet, FIAS, Creston WLAN, Bluetooth, TCP, UDP, RAS, FTP, VPN, SNMP, SNTP, SMS, SMTP XML, AJAX, ASP, DPWS/WSD Automation Device Specification (ADS) TwinCAT ADS Router Acyclic TCP, UDP, Serial, Fieldbus TwinCAT ADS Router Cyclic EtherCAT Automation Protocol (EAP), Network variables TwinCAT 3 extended Automation Technology 26.05.2015 37
Supplements TwinCAT 3 Highlights only one software for programming and configuration Visual Studio integration more freedom in the choice of programming language support for the object-oriented extension of IEC 61131-3 use of C/C++ as the programming language link to Matlab /Simulink open interfaces for expandability and adaptation to existing tool landscape faster and more flexible runtime environment active support of multi-core and 64-bit systems TwinCAT 3 extended Automation Technology 26.05.2015 38