Embedded Control: Heart of the System
Embedded can mean almost whatever each definer states. Most people would equate embedded with small, but a Eurocard 6U size CompactPCI or VME computer platform often classifies as embedded. The term can also imply dedicated purpose, that is, a control system specifically designed for one application.
Embedded can mean almost whatever each definer states. Most people would equate embedded with small, but a Eurocard 6U size CompactPCI or VME computer platform often classifies as embedded. The term can also imply dedicated purpose, that is, a control system specifically designed for one application. Classic PLCs, often derided as 'proprietary,' could be considered embedded. However, today a PC/104 single-board computer with Microsoft Windows CE operating system could be both embedded and open. In a very real sense, 'embedded' covers a lot of territory.
Control Engineering has covered a market/technology segment called PC-based control. Coverage has broadened beyond that by defining a new area that encompasses, and expands upon, PC-based control. Market and technological progress have greatly changed the landscape. Company consolidation has been significant within PC-based control, while almost all of the PLC manufacturers now offer it in some form.
The more progressive of these companies have moved beyond just putting control software on a PC and then arguing over whose real-time kernel is best. Control engines are increasingly defined in software with programming toolsets, which enables targeting control code to any one of many different hardware platforms.
CiMetrix (Salt Lake City, Ut.) vp and chief engineer, Steve Sorensen, doesn't see a distinction between PC-based and embedded control. 'The line is too fuzzy,' he states. 'There is no difference whether we develop for PC or PC/104. The big difference is between centralized and distributed control.'
Many of these platforms are embedded, while some may be PLC-like and some on a PC. For example, Rockwell Automation (Milwaukee, Wis.) has defined an engine called Logix. Only one programming editor is required to target a control program to any platform supporting the Logix engine. This could be the ControlLogix PLC, DeviceLogix in an I/O device, DriveLogix in a variable-frequency drive, or SoftLogix on a PC.
Likewise, Siemens Energy & Automation (Alpharetta, Ga.) has evolved its editor to target various platforms. Its component-based automation permits description of a technological module as a software component. Programming tools have a 'Generate Profinet Component' function that generates an XML (extensible markup language) file describing component and data storage. 'iMap' gives graphical representation of the resulting system.
A Rockwell Automation 'Logix' engine embedded in avariable-frequency drive enables one device to perform control logic and motor control to streamline an overall control-system architecture .
GE Fanuc Automation (Charlottesville, Va.) recently announced Machine Edition software with capabilities for developing programs and targeting platforms. Look for it to evolve hardware platforms with a common control engine.
Shawn Liu, National Instruments' (Austin, Tex.) product manager for real time, provides an example of how embedded control is advancing the state of the art. System integrators, he says, now develop innovative control strategies on a Windows platform, download to an embedded system like NI's FieldPoint 2000, and embed the system in a machine to perform control.
Convergence is the common thread of these technology advances. Large commercial markets for mobile phones and PCs enable research and development spending and drive down unit prices for microprocessor and DSP (digital signal processing) chips. According to Ken Spenser, Entivity (Ann Arbor, Mich.) ceo, spending for R&D among these commercial chip makers is greater than the entire automation market. Leveraging these technologies makes good business sense.
Motorola Semiconductor division (Austin, Tex.), for example, has recently released its next-generation model 555 32-bit MCU (microcontroller) with a PowerPC core that includes flash memory onboard, dual precision floating point, code compression, semi-redundancy, and a timing process unit with its own RISC engine, so that it doesn't create a load on the main CPU.
Proprietary PLC technology coverging with PC technology through commerical products yields control platforms in a variety of approaches with common logic engines and programming tools.
Programming DSPs was often cumbersome-a domain best left to a few specialized programmers. But DSPs are growing ever more powerful, often able to act as CPUs as well. Given the huge market for its products commercially, Texas Instruments (Stafford, Tex.) has devoted time, expertise, and dollars to developing tools to make the ever more powerful chips easier to use. Investment has not stopped with tools. The company has launched online training and discussion groups for experts to enhance effectiveness of its community of programmers.
In the face of lower costs, richer tools, and base of qualified programmers and designers, it makes little sense for automation suppliers to invest in proprietary chipsets and programming tools.
Another commercial technology rapidly finding a place in manufacturing is Ethernet. Chipsets are made in sufficient quantity to keep the cost low. Industrialized cabling and connectors are beginning to appear to give engineers a choice for applications when commercial-grade ones lack required robustness.
Operating systems have been in the news frequently for some time thanks to the U.S. Department of Justice suit against Microsoft (Redmond, Wa.). Although the company has been judged to be a monopoly in the desktop PC market, there is plenty of competition in embedded operating systems.
Microsoft Windows CE has gained considerable ground in the industrial market, primarily for HMI applications, but also as a control platform. Developed as an embedded operating system for commercial applications like Web TV, this OS has found a home in manufacturing. For developers who require the full services of Windows XP (and previously NT), Microsoft has developed an embedded version-Windows XP Embedded.
Ralph Damato, business unit manager at Xycom Automation (Saline, Mich.), a unit of Pro-face America, advises that developers using embedded Windows operating systems because they are familiar with desktop versions should take care. In a soon-to-be-released white paper on the subject, authors from Xycom will discuss the component nature of embedded operating systems within Windows. Since an embedded application is typically developed for a particular purpose, the entire suite of components may not be installed. Therefore, it is prudent for a developer to find out what Windows CE components are installed in a piece of hardwareso that all capabilities are known.
Paul LeRoux, marketing manager of real-time operating system (RTOS) supplier QNX (Kanata, Ontario, Canada), says that embedded control devices tend to enable distribution of processing, leading to cost and reliability advantages. Developing with a RTOS makes response latency and modularity easier to design, understand, and maintain. Further, within the QNX Neutrino RTOS, device drivers are implemented and debugged as separate memory-protected processes, enhancing development time.
Linux as an operating system for embedded control is just in a beginning stage. As Joe Jansen, programmer and tester in the MatPLC community, reports in the sidebar to this article, a community of programmers has been developing a Linux PLC. The goal is a truly open controller where users are not at the mercy of operating-system suppliers' upgrade programs. It's hard to say how popular this will be given the early stage of the project, but this competition may be just what the industry needs to keep innovation flowing.
Developer tools for control programmers have also improved by importing ideas and interfaces from commercial programming software. Most have an integrated development environment (IDE) that consist of multiple on-screen windows to display the editor, file structure, toolset, error messages, and much other useful information.
Features now commonly found include the ability to write a program once, reuse components from other programs, target a hardware platform from a long list of supported ones, and use the tags already composed with the HMI system. It's almost like the 'less filling, more taste' debate with 'less development time, more power,' being the current theme.
RTOS suppliers are getting into the enhanced tool game. QNX has developed Momentics, an IDE for incorporating tools for developers using its RTOS. All tools, including those from third parties, have the same look and feel. Using an open source IDE called Eclipse as the base, adding third-party tools is much more convenient than with past tools. C, C++, Embedded C++, and Java tools are supported along with features including wizards to jumpstart new projects, debuggers, memory analysis tools, and others.
Many hardware platforms
Hardware platforms vary widely enough to provide something for any control design need.
Connie Chick, GE Fanuc controller manager, explains that embedded control hardware is designed to reduce space requirements, provide fast access to data, and to use as many commercial components as possible to speed development time and keep costs down.
If a project occurs where a designer can't find a suitable board, Omron Electronics (Schaumburg, Ill.) can develop custom boards for an application while still allowing use of standard programming tools.
In the larger platform category, VME bus products were supposed to be all but obsolete. CompactPCI platforms offered higher speeds and ability to 'hot swap' I/O cards. Instead of believing the press releases, though, VME manufacturers have been busy building all these new features into a new generation of products. Both VME and CompactPCI are viable platforms for larger embedded control projects.
John Gong, president of ICP DAS USA (Rolling Hills Estates, Calif.), says embedded platforms combine the best of PC-based control and PLC through open programming tools; open architecture; fast, embedded CPUs; and robust operating systems.
AutomationDirect (Cumming Ga.) product manager, Jim Allison, points to the company's hybrid PC/PLC as an example of this converging nature of technology in embedded control.
Dick Matthews, director of hardware engineering at Z-world (Davis, Calif.), notes embedded controllers are being used more frequently as nodes in supervisory control networks, where they perform a local task independently of the supervisory controller but respond to high-level directions.
Ron Walk, Intelligent Instrumentation (Tucson, Ariz.) product manager, believes that communication is the main reason for embedded PC control, followed by data handling and manipulation then simultaneous control and monitoring.
Mike Nager, Phoenix Contact (Harrisburg, Pa.) product manager, offers an example application of embedded control. A system with modular I/O channels for temperature control can be linked to PLC, PC, or operator panel-based control system. I/O points then can be networked via a fieldbus or Ethernet, offering a distributed and compact control application, Mr. Nager explains.
Many elements must come together to build an embedded control system. Two threads consistently lead to today's embedded-control platform: convergence of PLC- and PC-based control platforms, and integration of commercial technology into industrial automation.
Comments? E-mail email@example.com .
Open Source meets PLC: The MatPLC Project
The Open Source movement, exemplified by Linux's growing popularity, has shown itself to be more than a fad. It is only natural to find open source programmers developing a control platform. Early stages were called LinuxPLC and Puffin PLC, but this virtual community has found a home on SourceForge at
MatPLC is an open source, Linux-based control solution. It is released under the GNU General Public License (GPL), which means that it is freely available to the public. It is our intention that this be a publicly owned project, and that the public is free to use, modify, extend, and do whatever they want with the system. Anyone who feels able to contribute to the project is more than welcome to join in.
One advantage of Linux is that it can be custom-tooled by removing components unnecessary for performing the task at hand. It is possible to get a Linux system trimmed down to fit onto a floppy disk. This customizability results in excellent hardware performance. If this is insufficient, the MatPLC is designed to be POSIX compliant, so it will be portable to other Unix variations, including ones that support hard real time such as QNX, RTLinux, etc.
By releasing the MatPLC under the same General Public License as Linux, we can guarantee that integrators and users will be able to apply , update, and support their system in perpetuity. Unlike solutions that stop providing support once a new version is released, nobody will be forced to make drastic system changes just to continue to be allowed to use it. By using the GPL, anyone can continue to use whatever version they like.
One of the design decisions that was made early in the project's life was to keep the system as modular as possible.
The PLC core includes a shared memory manager that controls access to the common data table. By controlling when each module synchronizes its data to the central table, we can ensure that each process is working from a consistent data set, and updates are precisely predictable.
Synchronization is also maintained through the PLC core. Modules can be configured to simply run one after the other in lock-stepped scan fashion, or complex relationships can be configured with modules running independently of each other, using a modified petri-net control design.
Today, the MatPLC is approaching Beta-testing stages, with some I/O modules and a Modbus master. We also have support for Hilscher cards (
Those close to the effort hope that once we release a truly open system using Modbus, and incorporating I/O from other vendors, some additional networks will come on board. We are also working with a supplier of a rack-based PC system that lives in a PLC-style chassis.
Joe Jansen, programmer and tester on the MatPLC Project