Programming software turns IPCs into all-in-one HMIs, PLCs, NCs, PACs
The major trend shaping industrial programming software is the increasing number of development options engineers have, building on the tried-and-tested IEC 61131-3 programming standard, promoted by PLCopen and supported worldwide by most major control software vendors. The next step is to introduce more tools for programmers including C++, C#, and object-oriented extensions to IEC 61131, and use more third-party software modules to enhance development of modern machines.
The ideal platform for these software developments is the industrial PC (IPC). Moore’s law states that the number of transistors placed inexpensively on an integrated circuit doubles approximately every two years, and this is as true today as ever. Use this to your advantage and run numerous control tasks, if not everything, on one powerful multicore processor.
Offering much more potential beyond use as a mere human-machine interface (HMI), the IPC can be treated as the centerpiece of the machine control platform. An IPC is a well designed and ruggedized PC using cost-effective off-the-shelf technologies. An OEM’s engineers can more effectively use the familiar tools from the PC world when using IPCs. But once deployed in the field, the IPC should be regarded as a PLC or PAC as far as the end user is concerned.
As a complete control platform the IPC is not used as a home or office world PC in the sense that unauthorized persons can add programs or run any software they choose at any time. Operating system (OS) access can and should be restricted when a control system is up and running at the plant after the machine has been delivered. As far as the plant is concerned, it is a powerful industrial controller. One of the major upshots of IPCs is that functionality formerly handled by hardware modules in the traditional PLC world can be taken over in software layers that run on one PC-based device. Beckhoff Automation is among vendors striving to increase software utilization and decrease hardware utilization.
The ever-increasing convergence of technologies in software results in a unified programming environment, fewer hardware components to manage, reduced spare parts inventory, the elimination of intermediate devices needed to simply exchange information, and fewer points of failure. Even critical functionality such as machine safety code can be integrated into one PC-based programming platform.
Because of the continued use of the Intel x86 architecture (now over 20 years in use), Microsoft Windows-based IPCs have the ability to control execution of tasks independent of the OS. For instance, Beckhoff’s TwinCAT platform has always worked parallel with, but independent of Microsoft Windows since NT days, and this holds true today through Microsoft Windows 8. The IPC, when properly treated as an industrial device, can be used as a highly deterministic control platform with exceptionally clean cycle times. In addition, users get all the other benefits of using an open platform.
Open platform, not source
This brings up another point to correct a common misconception: “open platform” does not mean “open source.” Having an open platform means being able to integrate already developed code and programs from widely varied sources including IEC 61131-3 environments, Matlab, .NET, Java, Web services, ASP, Microsoft Silverlight, HTML5, as well as any common language run-time (CLR) functionality that currently drives the world’s technology as we know it. This leads to practical strategies (not having to reinvent the wheel, so to speak) by using popular concepts that have a proven track record, such as object-oriented programming (OOP). An open platform should also include the ability to integrate physical devices (drives, I/O, etc.) without penalties in time and cost.
IPCs allow control engineers to use a deterministic I/O system that updates the inputs and outputs of field devices in a very cyclic manner. Then PC-based software components are used to manipulate the I/O system—in other words, read inputs, make decisions, and write outputs. These software components can be easily copied, reused, integrated, and executed on time threads that are synchronous to the I/O systems. Tens of thousands of TwinCAT PC run-time implementations control machines and processes globally.
While traditional, proprietary PLC system architectures and the associated programming have served control engineers well, I believe the next evolution of automation software programming is with PC-based control.
– Bob Trask, PE, is senior electrical engineer, Beckhoff Automation. Edited by Mark T. Hoske, CFE Media, Control Engineering, www.controleng.com. Look for related controller programming articles related to the January Control Engineering cover story.