The Quest for Open Systems
Consider the ramifications in a high-volume production line producing plastic automobile fenders. If inspection by a coordinate measuring machine (CMM) was to reveal a problem with a feature on a routine sample, then a team of quality and manufacturing engineers could retrieve and review the process data collected by the controller on the injection molding machine that made the part. They could find and stop a problem before it gets out of hand.
Although quality and manufacturing engineers want such data, the barriers to the free flow of information still impede access to it and inhibit the ability to extract only pertinent data. "When PCs came into being in the 1980s, users could get software packages geared for solving their specific problems and install them on their PCs, bypassing the management information services department," observes Evan Miller, principal at Hertzler Systems Inc. (Goshen, IN), a computer software and consulting firm. "The problem is that all of these applications create little islands of data that don't talk to each other."
Talk, talk, talk
Vendors of factory control systems have been preaching for decades about the value of open-architecture computing as a means to tear down the barriers to the free flow of information. Unfortunately, they are still talking. No one, not even General Motors Corp. (Detroit), has had the muscle to enforce a factory communications standard. "Historically, we all have described open systems differently and in ways that have confused users," admits Glenn Graney at GE Fanuc Automation North America Inc. (Charlottesville, VA), a manufacturer of control systems and supervisory networks.
Graney adds that engineers have used various definitions of "open" for good reasons, largely because the concept of open-architecture control systems has evolved over two decades. "During the 1980s, an open system involved practical network connectivity issues," he says. "Designers selected components from within proprietary product lines and searched for an open answer to communication at the host-computer level. The connotation of open eventually expanded to include operating systems." The widely used UNIX operating system was the outcome.
Today, most people have a broader definition of open architecture. "An open system now means that an engineer can select components from multiple vendors and construct a seamless system," explains Graney. "This definition encompasses every level of control components. So open today means that we're able to exchange data freely."
Graney and many others believe that the stage finally has been set for truly open-systems computing. The rational: The popularity of Internet and PC technologies has become too enormous for users and vendors of industrial controllers and computers to ignore. Consequently, a giant has emerged that many believe will have enough muscle to enforce the standards necessary to make open systems a reality at last. Microsoft Corp. (Redmond, WA) has committed itself to developing infrastructure software for factories.
"Microsoft's strategic intent to move into the industrial environment and onto the shop floor is a clear signal to us," says Ken Sheehan, director of marketing at Xygent Inc. (Warwick, RI), a measurement software developer spun off from Brown & Sharpe. "Microsoft has formed partnerships with companies producing real-time systems to provide the same range of products in the manufacturing environment that have been found in the office environment for the last 10 years or so." Although such real-time variants exist for the UNIX operating system, they are not nearly as common as they are for Windows, especially since Intel introduced its 32-bit microprocessors.
Sheehan points to the large number of Windows NT-based controllers on the market. Not only has the operating system become a de facto standard, he says, but Ethernet also has emerged as the connectivity standard both among and within control systems.
GE Fanuc's Graney agrees. "Ethernet technology is exactly the same as the technology in the PC--both are becoming ubiquitous," he says. "Microsoft is driving standards, by its overwhelming popularity and volume, and helping to define what is open."
Open software defined
Although Ethernet and Windows connect devices, they solve only the infrastructure part of the communications problem. The various application software packages running on an open system also must be able to decipher the data that they exchange. Sheehan recommends that users insist on four technical attributes in software for open systems computing: an open database, an object-oriented design, a common communications language and Internet browser-based standards.
Open Database. The first attribute of open software is that it must organize data in an open and accessible way to give users access to the information and allow them to leverage it in ways other than for go-no go inspection, Sheehan says. Ideally, the database should be one of the commercial variety already in widespread use. A large company, for example, might put information into an Oracle or Microsoft SQL distributed database, and small companies might choose an Access database.
Because there are many more shops employing 250 people or fewer than there are huge monolithic companies, Xygent has built its software around the Access database. Looking toward the future, however, it has developed it to be compliant with Microsoft's Open Database Connectivity (ODBC) standard so that it can work with other standard databases, including those running on UNIX. "Although we started with Access, our software is architected so you can redirect the data to Oracle, for example, as you enlarge your enterprise," Sheehan explains. Once Xygent's software engineers complete the necessary development to make that happen, users simply will need the appropriate ODBC driver.
A critical part of selecting an open database is making sure the developer has published extensive documentation for it. Anyone trying to extract data or write code for massaging it should have access to details of the data structure. Not only should the database be well documented, but it also should not be encrypted. In other words, software requiring passwords and decrypting software to use data is not open.
Another issue is data translation. Can you make sense of the data once it has been transferred to the database? Sheehan compares the issue to mail. The post office is an open system for delivering all kinds of mail from anywhere, but can you read a letter not written in English? "Likewise, a database product might organize measurement data in the same way, but a user might choose inches rather than millimeters," he says. "One user might choose to reference measurements from the origin of the CAD model; another might choose the origin of the measuring device as the reference."
Although the Dimensional Measuring Interface Standard (DMIS) solves many of these problems, translations are 75% to 85% accurate at best, according to Sheehan. Consequently, some users and vendors in the Metrology Interoperability Consortium, a group formed to develop and test interoperability standards for hardware and software components, are advocating a new standard called STEP AP219 and are working with the National Institute of Standards and Technology (Gaithersburg, MD) to develop it. According to Sheehan, a shortcoming of DMIS is that it is a step-by-step, procedural standard; whereas STEP AP219 is a data model for managing dimensional inspection information. The new standard will define a structure for not only the measurement data but also the inspection process.
Object-Oriented Design. Not surprisingly, perhaps, given Xygent's support of STEP AP219, an object-oriented architecture is second on Sheehan's list of technical attributes for open software. Objects are bundles of software that plug into other software designed to work with them. They define not only data or a device but also the actions that can occur with the data. In office computing, for example, printer drivers are a class of objects that follow Microsoft's Component Object Model. For UNIX-based software, a comparable standard is called Common Object Request Broker.
When a user of Word wants to print a document, Word transfers control to the printer driver, which is an object written by the printer manufacturer to plug into Windows. This object contains information not only about what is at this address on the network but also about what you can do with it. A window appears for orienting the page as a portrait or landscape, setting the margins, adjusting resolution and choosing a paper tray.
Similarly, measurement software uses a class of objects called machine drivers, the low-level routines that identify and define the type of machine, perhaps a CMM made by Mitutoyo or Zeiss, for example. The builder's driver will know whether the probe has a fixed or swiveling wrist and display the functions for qualifying it. Much as Microsoft did for printers, the Metrology Automation Association has brought together the builders of measurements systems to define similar standards for their devices.
Common Communications Language. The third technical attribute of good open-architecture software today, according to Sheehan, is having Visual Basic for Applications (VBA) embedded in it. VBA is an updated version of the old Basic programming language, which Microsoft expanded for working with the objects and user interfaces found in Windows-based software. Some software developers embed it in their software so users can create custom functions and intersoftware links. "Any program with Visual Basic in it can cooperate instantly and appear to be fully integrated with your software," says Sheehan.
When running measurement software equipped with VBA, users can write a macro to extract data stored in an Excel spreadsheet, for example, modify the data and import it into the measurement application. "Most of this kind of programming is being done in the Microsoft world," notes Sheehan. "College students are already conversant in it." The language is common because it is simpler to use than the more sophisticated C++ used by experts. Unfortunately, says Sheehan, a limitation of UNIX is that it does not have a programming language that is equivalent to VBA.
Browser-Based Standards. Sheehan's fourth and final technical attribute for open systems is Internet browser-based programming features. "The Web is one of the best ways, if not the best, for either pulling information used by people into a company or pushing it around a company," says Sheehan. "HTML and Java present information to people in a very standardized way." Because browsers conform to the transmission control protocol and the Internet protocol (TCP/IP), the information appears exactly the same on Internet Explorer as it does on a Netscape browser, whether it is running on the Windows, Apple, UNIX or Linux operating system.
Another browser-based feature is a type of object called an Active X plug-in, for viewing more than simple, static text. Common examples include video players such as RealPlayer and Shockwave. Any browser fitted with these players can view a stream of video made with the parent software. A similar situation exists for measurement software.
When any of the packages in Xygent's suite of measurement software plots roundness and evaluates the form error, it stores the graph as an Active X plot. Any reports transmitted contain text in HTML format and the Active X plot. Using Xygent's plug-in, the receiving engineer can view the plot and zoom in on a region or individual point without having a copy of the developer's XactMeasure software.
"Other people can write these Active X plug-ins and Visual Basic macros to enrich our system with custom capabilities," says Sheehan. For example, he speculates that someday, someone might want to write a specialized subroutine for measuring connecting rods and plotting the data. "We probably would not invest the research and development time to develop this plotting software because there are only so many people making connecting rods," he says. But the openness of Xygent's XactCOM suite of software would allow someone else in that business to do so.
"The trend is such that eventually, users will be able to plug and play software components in the same way that they plug and play printers and networks today," predicts Sheehan. "A guy down the street might be using Lighthouse [for statistical process control (SPC)], and someone in Germany might be using an SPC product called QDAS. In the future, they will be able to load the software on their computers and tell it that its data is supposed to come from a measurement package like XactMeasure." The internal integration should take care of the details. Then no one would be able to doubt that open-architecture computing is truly here.
- An open system has the ability to freely exchange information.
- There are four technical attributes in software for open systems computing: an open database, an object-oriented design, a common communications language and Internet browser-based standards.
- The trend is such that eventually, users will be able to plug and play software
components in the same way that they plug and play printers and networks today