This website uses cookies primarily for visitor analytics. Certain pages will ask you to fill in contact details to receive additional information. On these pages you have the option of having the site log your details for future visits. Indicating you want the site to remember your details will place a cookie on your device. To view our full cookie policy, please click here. You can also view it at any time by going to our Contact Us page.

Riding on the PC Skyrocket

Author : Michael Babb

10 December 2009

In its biggest move since the introduction of EtherCAT in 2003, Beckhoff announced its plans at the SPS/IPC/Drives show in Nürnberg for TwinCAT 3, an “eXtended Automation” version of its real-time machine control software introduced in 1996. The package will be ready for a Beta release at Hannover Fair 2010, and as a full product by the end of 2010.

Ten years after Beckhoff started doing real time machine control on the PC, it released its TwinCAT software for Windows NT. That was 1996 and it was a company milestone that proved to be a complete success.

Many things have happened to PC technology since that time: 64-bit addressing, flash memory, multiple core precessors, and more stable Windows operating systems. Like a skyrocket headed for the moon, PC technology has taken off and gone in only one direction: up, up, and up. Those riding with it have soared to new heights.

The people at Beckhoff, for example. They went from virtually nothing to €278 million in company sales during 2008, based entirely around a strategy focused on PC automation.

The year 2009 was a tough one economically, as Hans Beckhoff, the president and founder, admitted. But “it was not a tragedy” as he said at the press conference, and he stated that his company would likely be back to the 2008 sales levels by the early part of 2010. When you’re riding on a skyrocket, it doesn’t take much time to make up for lost ground.

One more thing needs to be changed

PC technology has improved tremendously since 1996 but, curiously enough, one thing has been virtually unchanged over the last 15 years—and some would say over the past 30 years: the programming languages for automation.

There are, of course, some legitimate reasons behind this. When programmable devices were first introduced to the factory floor, they were unlike anything else that had come before. They were so specialised they needed peculiar logic languages to program them. The general languages in use at that time, in the 1970s, for mainframe and minicomputers simply weren’t adequate for machine control tasks. So automation programming developed a language all its own, one that has persisted down to this day.

Such is the desire for permanence, it has achieved IEC standardisation status.

And they have adopted many of the useful features that modern IT programmers use, such as drag-and-drop graphical tools, running on Windows laptops. But still, in the actual programming of the machines, the languages are an anachronism, like running Lotus 1-2-3 in 2010.

Advocates of PC-based control are very careful not to disturb the automation community’s love for their programming languages. To suggest changes would amount to heresy.  In the U.S., for example, to propose any way of programming PLCs other than ladder logic is a sure way to never get invited for lunch again.

A main thrust of TwinCAT 3 is the inclusion of programming languages outside of IEC 61131 five-horse stable.

Hans Beckhoff
Hans Beckhoff

C and C++, for example. Beckhoff hastens to point out that they are not moving into parts unknown, they are staying on familiar ground. C has been around since Unix began, back in the 1970s. Object-oriented C++ has been a standard PC language for 20 years.

Matlab® and Simulink®—high level symbolic mathematical languages used by practically every mechanical and electrical engineer who graduates from university—will also join the party. They too have been around for a long time.

And, to make those who use these “new” languages feel right at home, Beckhoff has adopted Microsoft’s Visual Studio® as the programming environment. This is what Beckhoff refers to as the “eXtended Automation Engineering environment “(XAE).
The IEC 61131-3 programming languages are also integrated into Visual Studio.

For program execution, the software modules can run in different languages within a common runtime. The advantage of this modularity is the improved reuse of modules once they have been written and tested. The runtime operates under real-time conditions with the use of multi-core technology and the support of 32- or 64-bit operating systems.

The broad term applied to the new TwinCAT 3 technology is  “eXtended Automation” (XA). This contains the XA Architecture, which in turn consists of the XA Engineering and XA Runtime components.

eXtended Automation Engineering

The “eXtended Automation Engineering environment “(XAE) is essentially Microsoft’s Visual Studio. All the programming languages can be run in this environment.

TwinCAT System Manager – the configuration tool for I/O and Motion – is similarly integrated into the development environment. The advantage of this is the possibility to integrate further programming languages or to use additional tools, such as source code administration tools.

Integration in Visual Studio takes place in two 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, the 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.

Dr. Josef Papenfort
Dr. Josef Papenfort

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++.

eXtended Automation Runtime

In the eXtended Automation Runtime (XAR), all modules written in IEC 61131, C/C++ or Matlab/Simulink are processed in real-time. The TwinCAT real-time extension for Microsoft operating systems is used here. The tasks can be processed with a minimum cycle time of 50 µs and a very small amount of jitter.

TwinCAT real-time has also been extended with the possibility to distribute certain tasks to different cores of a multi-core CPU, which enhances PC controller performance even further.

64-bit operating systems, now widely used, are also supported by TwinCAT 3.

New Application Areas

At the press conference for TwinCAT 3, Dr. Josef Papenfort described the new features of the software and said the eXtended Automation Architecture would help lead Beckhoff into new application areas, such as measurement engineering, advanced control engineering, rapid control prototyping, real-time simulation, engine bench tests, and scientific automation.

He gave an interesting comparison of “convergence” of IT and automation technologies, how the two have come together over the years to produce PC control. The first PC control package was in 1986.


In 1996 Beckhoff combined a special real-time operating system (RTOS) with Windows NT to produce the first version of TwinCAT. In 2003 fieldbus communications were combined with Ethernet to produce EtherCAT. And now the company is combining IEC 61131 programming with C/C++ to make TwinCAT 3.

Dr. Papenfort said the Beta version would be ready for Hannover Fair 2010 and the planned release would be in mid-2010.


Contact Details and Archive...

Related Articles...

Most Viewed Articles...

Print this page | E-mail this page