What's happening in factory control these days? In a word: convergence. Many of the features that differentiated programmable logic controllers (PLCs) from computer numerical controllers (CNCs), CNCs from motion controllers, and all of those from industrial controllers based on personal computers (PCs), can now be found in all of these control systems. "The box shouldn't matter in doing `good' control," says Dave Johnson, vice president, Controller Business, for Rockwell Automation (Highland Heights, OH).
The driver behind this convergence is the desire to implement control systems and networks as easily as hooking up speakers, CD player, tape deck, and even a turntable to a stereo receiver. In industrial control, this would be akin to expanding your control network by picking up a generic $40 Ethernet card at your local CompUSA store on the way to work and slapping it into your industrial controller.
While even PCs are not quite at that level of "openness," they are far closer to that than yesterday's industrial controllers. For this reason, the PC architectures are now providing a variety of operating systems, hardware standards, and application programming interfaces (APIs) that let industrial control equipment and software from multiple vendors coexist.
CNC on a Card
"All the technologies for manufacturing laptop computers are being leveraged in creating the next generation of small, powerful, highly functional CNCs," says Stewart Patterson, manager, CNC Marketing for GE Fanuc Automation North America (Charlottesville, VA). The benefits of these small packages are obvious: reduced wiring, space, complexity, and costs.
Plus one more benefit. For Rockwell, the ability of a CNC to go beyond "motion-centric applications" is far more significant. "The vast majority of customers don't want anything to do with the intricacies associated with CNC motion," admits Mark Devonshire, Rockwell's manager of Product Marketing for CNC Products. Yet customers want to perform various "front-office" tasks on their CNCs. Granted, a machine operator won't be writing a letter from a CNC, but the operator might use a word processor to display on-line documentation, fill out a production form, or submit a maintenance request.
To use front-office tools for these tasks, the CNC must communicate with conventional PC technology. The Allen-Bradley 9/PC CNC is an example of how this is happening. The 9/PC is a conventional CNC that has all the real-time motion algorithms to handle a mill, lathe, or whatever. It also has the software and interfaces to manage and control machine tool drives. While the 9/PC's core application is strictly motion, it is designed with open interfaces in six key areas: servo, part programming, communication, human/machine interface (HMI), logic, and input/output (I/O). For example:
- Hardware. The 9/PC runs on a half-size PCI card, allowing 32-bit addressing to any devices compatible with the PCI bus.
- API. Dynamic Data Exchange (DDE) and Object Linking and Embedding for Process Control (OPC) make data in the 9/PC available to Microsoft-compatible applications outside production control.
- HMI. All displays are written in Microsoft Visual Basic, so any standard Microsoft tool—versus an Allen-Bradley editor—can be used to customize these displays.
- Part programming. The 9/PC conforms to the international Serial Real-time Communication System (SERCOS) standard for the real-time data communication between controller and the servo and spindle drives. The 9/PC also uses SoftLogix5, a software version of the Allen-Bradley PLC-5. SoftLogix is programmed using a Windows-based logic editor that supports relay ladder logic (RLL) programming and the 1131-3-based SFC and STX languages.
- I/O and communications. The 9/PC uses a DeviceNet card for machine tool I/O. The 9/PC also accepts standard PC communications technologies, such as Ethernet cards, for connectivity to run, supervise, and troubleshoot a networked CNC over a factory data network.
The 9/PC card can fit in and run on any Intel-based PC that runs the Microsoft Windows NT operating system, which is required for the HMI and the servers to extract data from the CNC core.
Three Flavors of Soft PLCs
Like PC-based CNC, a single Windows-based PC control system can combine the functions of the PLC, programming terminal, operator interface, and data acquisition. "Beyond the obvious cost savings from eliminating an expensive proprietary PLC and several PCs, there are a number of significant technical benefits when moving to a PC-based control system," says Mike Klein, president & CEO of Steeplechase Software, Inc. (Ann Arbor, MI):
- Advanced, easy-to-use Windows-based graphical flow chart programming tools that replace RLL programming.
- PLC functions, PC programming, HMI, I/O, and network communications can all operate from the same PC-based database using the same tag names, thereby eliminating multiple databases, reducing human errors and programming errors, and speeding program development.
- Access to several different I/O families in the same PC simply by installing scanner cards for each I/O family.
Yet despite all these advantages in PC-based PLCs, called "soft PLCs," traditional PLCs will not be going away any time soon. The fact is, the price for a computer, I/O interface cards, and sophisticated control software can not compete against $300 "brick" PLCs, according to Cindy Hollenbeck, vice president for SoftPLC Corporation (Humble, TX). That's not true for PLCs that are "bigger" in terms of I/O count, networking capability, and data management. In this case, soft PLCs can achieve cost savings because of the economies of scale inherent in the open architecture of PCs.
Hollenbeck separates the soft PLC market into three factions:
- PLCs running on an embedded operating system, such as the SoftPLC run-time kernel from SoftPLC.
- PLCs running on some operating system kernel or on modified Windows NT, such as Steeplechase's Visual Logic Controller (VLC), using the INtime hard real-time operating system from Radisys Corp. (Hillsboro, OR) or WinPLC from PLCDirect(Cumming, GA), which runs on Microsoft Windows CE.
- PLCs running on Windows NT, such as Logix from Rockwell Automation/Allen-Bradley.
SoftPLC is a deterministic, 32-bit real-time operating system that emulates Allen-Bradley PLC-5's instruction set, I/O addressing, program, and data file structures. SoftPLC has drivers to run several standard PLC I/O families, and not just from Allen-Bradley. The SoftPLC run-time engine can run on an Intel 80386 microprocessor or better, 4-MB random-access memory (RAM), 4 MB flash disk, and the appropriate I/O interface. While these specifications may seem unimpressive, especially compared to today's 400-MHz Pentium-based home computers, a SoftPLC controller running on an 80486 PC is 20 times faster than an Allen-Bradley PLC-2, claims Hollenbeck.
The speed of the central processing unit (CPU) in an industrial controller is a red herring. "In the unlikely event the software is not fast enough, simply buy a faster CPU," says Hollenbeck. "By the time you look twice, the faster CPU hardware will have halved in price."
A more critical issue is the controller's ability to provide deterministic real-time response, which is just not possible from an NT-only platform, 400 MHz Pentium CPUs notwithstanding.
For this reason, Steeplechase's VLC runs in a Windows NT environment that uses Radisys' INtime, which is based on the real-time iRMX kernel created by Intel. "In VLC/NT v3.0, control is treated as the highest priority and cannot be interrupted or affected by problems arising in Windows NT," explains Klein. In VLC, Windows NT is the environment for running the HMI, data acquisition, data communications, diagnostics, and so on. Steeplechase recently introduced VLC Starting Gate—"the first hard real-time design and run-time package under $1,000." This system includes: VLC Designer with flowchart and RLL programming, a tutorial, VLC Run Time, one of 15 I/O drivers, DDE server, electronic documentation, a $995-coupon toward a standard VLC, and a 30-day money-back guarantee.
Even less expensive is PLCDirect's WinPLC. WinPLC runs on Windows CE, a 32-bit operating system developed for real-time, embedded systems. Think of Windows CE as a tiny version of Windows NT. Windows CE executes directly from read-only memory (ROM) and it supports 32 simultaneous processes with eight levels of thread priority. The threads execute based on a time-slice algorithm; pre-emptive multitasking is based on the threads' priority.
The generic WinPLC, for control software developers or OEMs, contains 4 MB flash ROM, 2 MB RAM, a 10 Mbps Ethernet port, an RS-232 serial port, and a software developers kit for $399. With PLCDirect's Think & Do PC run-time control software kernel, the list price for the module is $699. These are the kind of specifications and prices one expects from a conventional PLC brick. Yet unlike conventional bricks, the Windows CE control software in WinPLC can access the entire universe of Windows-based networks, hardware, and applications.
While "vanilla" NT (and CE, for that matter) do not support hard real-time, Rockwell's Johnson believes that it's good enough for a vast majority of industrial applications, which don't require hard real-time response. Based on this reasoning is the Logix control engines from Rockwell. Logix can run on any platform running Windows NT 4.0. The chassis-based version of Logix is called ControlLogix; the CD software-based version is called SoftLogix. (The Logix version called ProcessLogix, developed with Honeywell Inc., includes process control modules for regulatory control.)
The ControlLogix passive data bus permits multiple processors, networks, and I/O to be mixed without restrictions in a chassis. ControlLogix communication modules support open networks such as Ethernet, ControlNet, and DeviceNet, as well as Allen-Bradley's own data networks. ControlLogix supports complete removal and insertion of modules—physically and logically—on the chassis under power without disrupting other modules in the system.
Unlike conventional PLCs that just perform sequential control based on ladder logic, timers, and counters, Logix controllers can also perform sequential control and motion control. The Logix5550 controller, for example, is a single-slot processor capable of controlling up to 32 axes using any of 27 motion instructions. A 2-axis servo module with the Logix5550 features two channels of 4-MHz quadrature encoder input and 16-bit analog outputs, two high-speed 1-microsecond registration position latches, and 200-microsecond fine planner, position loop, and velocity loop closure.
Openness Now Inherent in Control Software
In addition to a reliance on "open" hardware and operating systems, current industrial controllers incorporate various open PC-based software programming standards. For instance, custom functions and user instructions can be written for SoftPLC using C, C++, or Java. The Java support provides several benefits. Java programs are easy to write. Java's "write once, run anywhere" capabilities enable Java-based control programs to be run on any platform, from embedded microprocessors to PCs. Java-based PLCs can publish data in formats readable by any platform throughout an enterprise's local area network (LAN). This is possible because Java can "wrap" the controller's tag files within intelligent software objects—small parcels of data and programming code—that can automatically deliver themselves to—and be read by—any device on the network that needs them.
These objects can also act as intelligent control agents; that is, alone or with other agents, these objects can automate complex and repetitive tasks, such as monitor machine and assembly line operations, perform statistical analysis, and report exceptions.
By combining this functionality with the web server embedded in the SoftPLC run-time engine, any web browser, such as Netscape Navigator, can access and display plant and PLC-based data on a web page, regardless of where that browser sits on the network. Goodbye third-party graphical HMI products.
This server can just as easily send email regarding production status, maintenance issues, and user documentation. Through an embedded FTP server, the control engineer can remotely update files in the PC-based PLC or back up that PLC. Through JDBC, which acts like Open Database Connectivity (ODBC) for Java-based systems, the PLC can also directly log data to an Oracle database without having to operate through "middle-ware," such as that from Intellution or Wonderware.
When this happens, expect the ultimate convergence to occur: Enterprise-wide mainframe operations truly tied to the plant floor.