This appendix starts with a brief history of computer numerical control (CNC) and its relationship to its synergistic technologies—programmable logic control (PLC), computer-aided design (CAD) and computer-aided manufacturing (CAM). The next section gives a brief overview of the basic required functions of a machine controller. Whether or not the hardware and software architecture is “open,” these functions are basic to all machine tool controllers. The rationale for open architecture control follows, based primarily on information taken from the Open Modular Architecture Controller (OMAC) User’s Group web site (available at <www.arcweb.com/omac>), and an article titled “Open, Modular Architecture Controls at GM Powertrain,” written by the General Motors Power Train Group (GMPTG) (Taylor et. al. 1996). The next section describes the history of the OMAC research projects funded by various federal agencies, including the objectives and results from each project. This is followed by a section that describes current applications of systems that use commercially available open controllers.
HISTORY OF COMPUTER NUMERICAL CONTROL AND PROGRAMMABLE LOGIC CONTROL
Shortly after World War II, John Parsons at the Massachusetts Institute of Technology (MIT) envisioned the use of mathematical data to actuate a machine tool. In June 1949, the U.S. Air Force funded a program to develop a mathematical or numerical control system for machine tools. By 1951 an electronic control system had been assembled, and application studies were begun. By 1953 enough data had been assembled to indicate the practical possibilities that could be developed. Bendix Corporation purchased the patent rights that originated in the MIT research project and produced the first commercial production computer-controlled or numerical control (NC) unit for machine tools, which was introduced in 1955. New impetus was given to NC development when the Air Force placed orders for 100 new NC contour-milling machines. Four companies built the machines: Cincinnati Milling, Giddings & Lewis, Kearney & Trecker, and Morey Machinery. Five companies built the controls: Bendix Aviation, Cincinnati Milling, General Electric, Giddings & Lewis, and Electronic Control Systems, Inc.
Since then, NC or CNC, as it was later called, has evolved from simple relay logic-based systems to systems driven by paper tape to the sophisticated real-time control systems available today. Thus these machine controls have a long history, for a technology in the computer era. Because the machine tool industry is conservative and machines are built for long lives, there is an enormous legacy of equipment, used every day, that is controlled by all vintages of these controllers. It is not uncommon to see controllers designed in the 1970s in use in shops today. The challenge of upgrading legacy equipment exists for all of the U.S. fabrication industry, not just the munitions industrial base. It should be noted, however, that a substantial portion of the production equipment in the munitions industry was built before the advent of numerical controls.
Along with the development of the controls, software was developed to automate the creation of the code needed by CNCs to move the tool correctly and make the part. Programs for complex parts can have thousand of lines of intricate, detailed code and take hours to execute. Most of the parts fabricated by the munitions industry are relatively simple and straightforward by comparison. Since the scope and complexity of the part-programming problem can be significant, CAM applications were created to assist the CNC programmer with the preparation of part programs. Today, CAM programs are critical, integral applications in support of CNC and the successful use of computer control on machine tools on the shop floor.
In parallel with the development of CNC and CAM, the mechanical design world began to make the conversion from manual design on drafting boards to design using computer hardware and software tools. As these CAD systems evolved and grew in capability, they were an obvious candidate to link with CAM and CNC for an automated solution to the challenge of converting design into finished components. The data path of CAD/CAM/CNC is a major component of traditional computer-integrated manufacturing (CIM) and is in common use today using a wide variety of CAD, CAM, and all vintages of controllers. Standards have been developed to enable the transfer of data between these systems. As the technologies have changed and matured, significant issues have been raised regarding current standards. There are groups working on the changes needed to keep up with the new ways of representing and transferring data.
Competitive pressures, including the increased velocity of product development and the trend toward outsourcing of fabrication, are driving large and small companies to reduce product realization time. As a result, an enormous software industry has grown up to meet this need. Several commercially available packages address the need to create the data and transfer it to control the machines needed to fabricate the components.
PLC, an additional class of equipment controller, is closely related to CNC. Richard Morley of Modicon is credited with invention of the PLC in 1968 and its unique Ladder List programming language. PLC differs from CNC in that the focus of CNC is on motion control in multiple degrees of freedom through servo drives. CNC usually uses a relatively small number of so-called discrete input/output control points that, for instance, can monitor the status of a switch or energize a relay to open a valve. PLC designs are usually optimized to handle discrete event types of applications with limited capabilities for controlling servo-
driven axes. The categories of PLC and CNC controllers are slightly blurred, since a CNC always includes PLC functionality and some PLC controllers can accommodate limited motion control. An understanding of the differences between the two types of controls is important because the publicity regarding OMAC and some of the “open” control references are focused exclusively on PLC types of applications, although it can be difficult to discern from the titles.
COMPUTER NUMERICAL CONTROL FUNCTIONS
CNC systems are unique computer-based systems that are used as tools by human operators to perform a number of complex fabricating functions in real-time, safety-critical environments, often around the clock. When a CNC malfunctions, the expensive part being fabricated usually must be scrapped. If the safety part of the system fails, the operator can be in significant danger from the high-power, high-speed operations of the machine. Therefore, CNC systems must be robust and reliable to meet the safety and performance goals of the manufacturers that use them. The primary functions of a CNC controller include the user interface, programmable logic control, and the machine executive.
The user interface enables operators and technicians to
Enter, edit, and execute standardized (RS-274) machine motion and process instruction programs, called part programs;
Input part programs from outside sources, such as disks, RS-232 serial links, network links or even paper or Mylar tape (in older systems);
Manually move the machine axis to operate functions such as coolant and spindle controls during setup or diagnostics;
“Dry run” the motions of a program on a graphical display to ensure that the program works correctly before risking an expensive in-process component; and
Perform diagnostics and debug operational problems.
Safeguards and interlocks are controlled by the CNC controller to prevent human access to moving components during operations.
Programmable Logic Control
PLC software, with extensions for CNC motion control, is developed by the machine tool builder (MTB), using tools provided by the control manufacturer or an outside source. The PLC software is used to customize the controller for a particular machine configuration. This software executes in near real time (<10
milliseconds per cycle), reading input sensors or “flags” from the part program or machine executive (see below), executing logic (e.g., if this sensor is on, then close that relay, which shuts a valve) as determined by the MTB, and setting outputs as instructed.
Software developed by the control manufacturer that exerts control over all of the other software processes is known as the “machine executive.” The executive is responsible for executing the motions and functions commanded by the part program. As each line (called a “block” by the CNC community) is executed, the executive parses the commands in the block and hands off the information to the appropriate software or hardware module.
Motion commands are given to the trajectory control so that the appropriate electrical signals can be sent to the motion servos on each of the axes. For example, block “N0100X1.0 F1.0” is interpreted by the controller to mean that the 0100 line commands the controller to move the X axis to the X= 1.000 position at a 1in./min feed rate. The trajectory controller compares the current position of the axis (say X=0.500) to the desired position (X=1.000) and sends an electrical signal to the servo to accelerate the tool along the axis to the commanded velocity and to start moving to the new position. As the servo accelerates the tool, the controller monitors the speed and position in order to achieve the commanded speed, then decelerates the tool and stops it along the axis at the required position.
Other commands control switches to turn on or off functions like coolant pumps or to open or close chucking devices. For example, block “N0200 X1.0 Y2.0 F5.0 M15” means that the 0200 line commands the controller to move the tool along the X axis to X=1.000, while simultaneously moving the tool along the Y axis to Y=2.000 at a 5 in./min feed rate and turning on the coolant pump. The M15 command is sent to the programmable applications logic executive (see above) so that the appropriate relay is energized to turn on the coolant pump.
The executive monitors and controls the status of a number of other parameters in the machine. For example, whether or not a commanded block has been completed before something else happens is often important and can be monitored.
The Rationale for Open Architecture Controls
Since CNC controllers are expected to perform a number of critical operations in real time, and because allowing users to modify the software opens the control manufacturers to reliability and liability issues, the control manufacturers have historically been extremely reluctant to allow users to modify the executive functions of the control. Users are almost never allowed access to this level of the controller. Likewise, the machine tool builders (MTBs) are usually the only ones allowed access to the programmable logic functions of the
machine. Thus, end users of the controller generally have access only to the part program portion of the control software. Thus, the end users must rely on the MTB or controller manufacturer for special modifications to the programmable logic and executive functions of the machine. Since most requests for special modifications are required by very few customers, there is a large impact on the engineering and software resources of the controller manufacturer to execute, document, and support the requested changes, which serve only a limited segment of the client base. Controller manufacturers want to maximize their returns, so they often charge high prices for the modifications and give special modifications a low priority. Thus, special changes often take a long time to make or are never achieved at all.
This has been frustrating for the research and special machine community, because sensors developed to monitor process physics and control algorithms developed to close the control loop are very difficult to integrate with the proprietary controls. Commercial users, such as the General Motors Powertrain Group, were frustrated by (1) the lack of a common look and feel in the user interface of various suppliers, (2) a need to reduce control system development and integration time, (3) the inability to incrementally upgrade or scale functionality up or down in their controllers when application requirements changed, and (4) an inability to insert in-house proprietary engineering knowledge. This frustration with (1) the reluctance of the control manufacturers to open their controls; (2) other business practices of the manufacturers, such as the high cost of “approved” repair parts and add-ons like upgraded memory (in the microcomputer world memory prices dropped rapidly while the CNC world saw memory prices go up); and (3) the forced bundling of other machine tool components like servo drives with the control led to the call from end-users for open systems.
PREVIOUS PROGRAMS RELATED TO OPEN ARCHITECTURE CONTROLS
Nearly all of the federal government technology development programs on “OMAC-like” controls trace their origin to a gathering hosted by the Air Force Manufacturing Technology (ManTech) Directorate called the DoD Machine Tool Manufacturing Technology Development Conference, held in Dayton, Ohio, in June 1987. The conference identified research needs for machine tools and processes of the future for the Department of Defense (DoD). Industry and academic participants identified the need (among others) for advanced CNC capabilities and more accessibility to the inner workings of the NC controls of the day.
Advanced manufacturing projects that had been frustrated in their attempts to integrate several sensors and unique control algorithms into the era’s CNCs made the need for more open controls apparent. The Air Force was sensitive to this problem, since two recent projects funded by Air Force ManTech were challenged by the capabilities of the CNCs of the day. These projects were the Integrated Welding and Grinding (IWAG) project executed by Battelle Columbus Labs from 1982 to 1987 and the Intelligent Machining Workstation
(IMW) project executed by Cincinnati Milacron and Carnegie Mellon University from 1987 to 1990.
The IWAG project objective was to reduce the costs to repair jet engine turbine blades for the U.S. Air Force by developing the technology to repair the blades using an automated, unmanned process that could run 24 hr/day. Since the blades had previously been in service, the first step was to use a coordinate measuring machine (CMM) to measure the geometry of each blade to determine the repairs required. The geometry data for each blade moved with the blade and was used by six unique process steps on four machine tools. Two of the machine tools had two CNCs in an integrated work cell that simultaneously performed operations on shared parts. Additional information was added to the part data package by the subsequent welding and grinding operations. The data/part synthesis and movement of information using the proprietary closed CNC and PLC controls of the day proved to be one of the most challenging tasks of this information-intensive project.
The IMW program was the earliest attempt to create a “part from art,” using an automated, unmanned machining workstation that could rapidly create a good first part from a feature-based electronic part description. The project results, which included the development of machining sensors, flexible fixtures, robotic loading devices, and expert systems for process planning, were not truly integrated into the “closed” architecture CNC machine tools.
Both projects found it extremely difficult to integrate unique sensors and control algorithms and to exchange information between subsystems. Some of the IMW team went on to address these problems by developing the concept of and building an open architecture controller in the late 1980s. This team is credited with the introduction of the Open Architecture Manufacturing concept in 1988. The Machine Tool Open System Advanced Intelligent Controller (MOSAIC) began working at New York University in that year. The MOSAIC program took advantage of the vastly expanding microcomputer industry. Using generic products and open systems, a large number of third-party products were developed that could be obtained by microcomputer users simply by referring to a microcomputer magazine and ordering with a toll-free number. A second-generation version, the MOSAIC-PM, was built later at the University of California at Berkeley using commercially available components. It is currently used to manufacture components as part of the integrated manufacturing and design environment, where parts are designed at the Department of Energy’s Sandia National Laboratories in Livermore, California, and fabricated at Berkeley.
Another important early research effort that addressed the open architecture control issue was called the Next Generation Workstation/Machine Controller (NGC) specification for an Open System Architecture Standard program. This program ran from 1987 to the publication of the final specification in August 1994. The deliverable for this project was a document that described a structure for the development of open architecture systems for manufacturing. The project was a paper exercise and the structure developed was not used for a hardware or software deployment during the course of the 7-year program. In fact, in the summary section of the NGC document, the authors noted that, “Taken together, the application architecture and the profiling structure form a
firm foundation for NGC system development; they do not, however, represent a complete methodology that would support immediate development of a national, commercial NGC product base” (NCMS 1994).
There are two elements that are missing from the overall system that would facilitate the adoption of the NGC approach: (1) fully populated and widely accessible implementation component libraries, and (2) a family of tools for system design, integration, and validation. The difficulty lies in developing the initial libraries and toolset, although, once developed, it seems clear that they could become important commercial products. This program met with limited success but triggered several new programs that continued where the NGC project left off.
The National Institute of Standards and Technology (NIST) Enhanced Machine Controller (EMC) program, which ran from the early 1990s to at least 1995, grew out of NIST’s involvement with the NGC program and the real-time control system architecture. The EMC program developed a modular definition of components for machine control and a specification for their interfaces, with broad application to robots, machine tools, and CMMs. These components include individual axis control, coordinated trajectory generation, discrete input/output, language interpretation, and task planning and execution. The intent of the specification was to support interoperability of components provided by independent vendors. NIST has installed a machine tool controller based on these interfaces on a 4-axis horizontal machining center at GMPTG. The intent of this demonstration system is to validate that the interfaces are comprehensive enough to serve a demanding application and to demonstrate several key concepts of open architecture controllers: component interoperability, controller scalability, and function extension. In particular, the GM-NIST EMC demonstrates interoperability of motion control hardware, scalability across computing platforms, and extensibility via user-defined graphical user interfaces. In addition, the EMC specifications have been implemented on a variety of machines, both at NIST and elsewhere.
Yet another open architecture program was a $52.6M, DOE cooperative research and development agreement (CRADA) with teams of researchers from LLNL, Los Alamos National Laboratory (LANL), and a Louisiana-based company called ICON (Industrial Controls Corporation, Inc.). CRADA was established to spur development of software microcomputer-based control of machine tools. The 3-year program started in late 1994 and was credited with demonstrating the concept on a three-axis milling machine at Los Alamos in March 1995, just 6 months after the project was initiated. LLNL developed the underlying real-time operating software for agile manufacturing, LANL wrote human-interface software, and ICON wrote application-specific modules to be inserted into the controller and worked with GM and the Pratt-Whitney Division of United Technologies, Inc. In the OMAC arena, the TEAM program (1994 to 1997) was the immediate predecessor to the TIME program. The TEAM project had a thrust area, titled intelligent closed-loop processing that included several tasks that focused on open architecture controller issues. The first was a NIST task to write the application programming interfaces for the initial open architecture controllers. It was anticipated that the application programming interfaces would
evolve as open architecture control (OAC) requirements mature. The next task was to develop an OAC for a Ford Motor Company drill press located at Ford’s Scientific Research Center. Another task was to add volumetric error compensation, in an OAC environment, to a Bostomatic mill at LLNL. The next task was to add volumetric error compensation, in an OAC environment, to a T-base lathe at LLNL.
COMMERCIAL APPLICATIONS FOR OPEN ARCHITECTURE CONTROLLERS
GMPTG made the first claim in the literature to installation of a microcomputer-based open architecture CNC controller in an industrial setting with a VME-based system installed on a Kearney and Trecker four-axis milling machine in 1991. This is the system built by NIST for GMPTG under the EMC program and was not a commercially available system, even though the components were off-the-shelf because of the need for custom integration of the components.
In 1998 GMPTG began implementing (for two new engine programs) a plan to have a customizable, microcomputer front-end using Microsoft Windows as the operating system for each proprietary controller and to use a standard Serial Real-Time Communication System (SERCOS) interface between the controller and drives.
Commercial open architecture controllers began to appear in the marketplace with the advent of the Hurco Ultimax controller in the mid-1990s. Since this beginning, other competitors have appeared, including Aerotech, Delta Tau, and MDSI (Manufacturing Data Systems, Inc.). Recently, the main line CNC controller makers have begun to offer open controllers as a part of their product lines.