Quality Magazine

Linking CMMs to SPC Software

March 1, 2004
Several questions need to be asked and answered before linking coordinate measuring machines to statistical process control software.

The sign of a robust SPC software product is its flexiblity in linking with many types of CMMs and their output. This is an example of typical CMM output. Source: DataNet Quality Systems


Coordinate measuring machines (CMMs) can help slash inspection costs, greatly improve inspection capabilities and improve final product quality. But for all their benefits, CMMs do not improve the manufacturing process.

There is a big difference between making quality products and inspecting quality into products. CMMs only do the latter. If a process makes 90 good parts and 10 bad parts, then CMMs will be able to sort the good from the bad. But there is still the loss of investment in time, energy, wages and raw material costs by producing defective parts. In short, while CMMs do help improve final product quality, CMMs alone do not improve yields.

Statistical process control (SPC) is a methodology that enables a company to improve the processes that make products, which will in turn produce higher quality yields. SPC software systems can automate that methodology, making it easier to reduce scrap and rework, increase productivity and improve quality.

The first task in implementing SPC is to establish a baseline of the process capabilities. Then identify areas of variation and focus on those areas that have the greatest impact on production yields.

SPC software will continually monitor these areas of variation and notify the appropriate personnel, in real time, whenever there is a violation or a drift in the process. This is a key value provided by real-time SPC software-helping a company to be proactive in spotting process drifts early instead of reacting to scrapped product.

Linking CMMs to an SPC system is a rewarding next step for a company's improvement strategy. Collecting the highly accurate data captured by a CMM and then analyzing the information with an SPC system can quickly help pinpoint the root causes of costly process variations and offer insight on how to correct them.

Companies that use CMMs and SPC together to eliminate defects, reduce down time and improve overall product quality, gain a significant competitive edge and ultimately help improve the bottom line.

So why aren't more manufacturers linking CMMs to SPC systems? Marrying a CMM to a SPC software package can pose several challenges.



Ask questions

Several questions should be asked before linking CMMs to SPC software.

Will the SPC software "talk" to the CMMs?

Hopefully this question was asked before the SPC system was purchased and implemented. All CMMs have output capabilities and many have standardized their outputs to industry guidelines. A good SPC software product will support these various outputs, making it compatible with any brand of CMM.

Be wary of SPC software that claims to work with particular CMM models. What if a company does not have those models? What if a company wants to upgrade to a different model? What if they need to purchase a different brand of CMM for a specialized job?

Unfortunately, if the SPC software is tightly integrated to only one or two CMM models, a company is married to that solution and, like the saying goes, "it's for better or worse." Although this approach might work well in the short run, it may mean turbulent times in the future.

A better answer would be software that works with a variety of outputs. The sign of a robust SPC software product is its flexibility in linking with many types of CMMs and their outputs.

Who configures the initial CMM-to-SPC link?

Ordinarily, the CMM operators are responsible for the day-to-day activities of a CMM. Such activities include adjusting the CMM program routines to add a new datum, removing an obsolete datum or modifying the definition of an existing datum. These are simple tasks for a trained CMM operator.

Similarly, quality managers are responsible for configuring SPC software. They have a view of the big picture and understand how the individual components-the CMM being one of them-fit into the company's overall quality objectives. By monitoring key variables, or datums, they can detect and predict potential problems. For someone trained in the various quality concepts, this is a simple task.

So whose responsibility is it to identify which features to gather data against and to configure the initial CMM-to-SPC link? The answer can be seen in using an approach that imposes the least administrative burden available.

The dynamic nature of a CMM and the sheer volume of data that it could potentially generate would overwhelm any SPC system that requires manual administration. A strategy employing zero administration, therefore, should be applied to do system set up as well as ongoing tasks.

SPC software that is truly zero administration must be able to automatically create parts, variables and tags whenever a new part or variable is encountered. It must be able to dynamically mask an output file whenever the layout of that file changes. It must support an unlimited number of parts, variables and tags. And, it must be able to run unattended and be able to recover from errors without adversely affecting the SPC data.

After a zero administration link is conceived, three possible situations that could be found at a plant, include:

♦ All features of the CMM need to be monitored by the SPC software. SPC software should be able to automatically input parts, variables and tags based on the data found in the CMM output file. The CMM output file contains all of the detailed information required to create those parts and variables. Most SPC software packages need at least the target and either an upper or lower specification limit for a given feature. Check with the SPC vendor to see which "auto-create" features they support.

♦ Only selected CMM features need to be monitored, and the CMM operator has already flagged them. If the CMM operator has flagged the key features to monitor, those flags will be embedded in the CMM output file. Again, the SPC software should be able to parse the output file for only these features that have the appropriate flag and automatically create the corresponding parts, variables and tags.

♦ Only selected CMM features need to be monitored and only the quality manager knows which ones. If the quality manager has the information, the easiest solution is to treat the CMM data as if all of the features are needed. Let the SPC software do the work of setting up the parts and variables. Then, after these parts have been created, delete the unnecessary variables.

So, back to the question: Who configures the initial CMM-to-SPC link? The CMM. Of course, the CMM operator still needs to create a CMM program, but the output generated from those programs will drive the SPC software.

Who is responsible for the day-to-day administration of the CMM-to-SPC software link?

After the initial link from CMM to SPC has been established, ongoing tasks may include adding, removing and changing the CMM and SPC variables. Who is responsible for the day-to-day administration of both systems? Before answering, it is important to understand the dynamic nature of any CMM program and how this can play havoc with most SPC software packages.

A CMM program, or routine, is required to operate the CMM hardware. These routines instruct the CMM to follow a path to specified feature locations or datums. Based on where the datums are found, these features can be measured and their locations written to a file. If more information is needed about a feature of a part, add a new datum to the routine. If the tolerances of a feature have been adjusted, modify the tolerances stored in the routine. If a product feature is no longer important, remove the datum from the routine.

Likewise, the corresponding output file generated by a CMM program will reflect any changes that have been made. Two common methods for reading this output file are positional masking and key identifier masking. Positional masking refers to the technique of locating a value within a file by its relative position-for example, 4th row, 16th column, 10 characters long. Key identifier masking uses a key word to identify where in the file the values exist-for example, look for the word "Datum 1X" and whatever follows is the measurement.

Initially, the administrative overhead of using either technique is to identify and mask every feature to a corresponding SPC variable. The more variables there are, the more time-consuming this task becomes.

But the actual measure of administrative overhead is how much time it takes to make a change to a CMM program. For example, if a new datum is inserted into the CMM program, it would be expected to take a few minutes. But the resultant output file shifts the data making the positional mask useless, and in many cases, renames the datum IDs, making the key identifier mask useless as well. The new output file must be masked again. This re-masking could take hours depending on the actual number of features and the SPC software masking capabilities.

Some may suggest not changing the CMM program after it has been masked. But therein lies the problem. CMM operators are always adding, removing or modifying an existing datum. A CMM program is a constantly evolving entity.

The correct solution is to use the appropriate CMM output file with a dynamic mask. A dynamic mask will adjust itself whenever the CMM routines are adjusted. If a new datum is inserted into a CMM program, the SPC software automatically shifts its mask to account for the new feature. If one is removed, the SPC software will adjust again.

In order for the CMM data to be truly free-for example, automatically passing the CMM data already being collected to an SPC software package without requiring additional operator intervention-then there must not be any additional overhead to collecting that data. That includes any administrative overhead required to keep the CMM file linked to the SPC software. The SPC software, therefore, must be able to dynamically mask itself. If the SPC software package requires the mask to be modified every time a CMM routine has changed, then the data is not free.

So, back to the question: Who is responsible for the day-to-day administration of the CMM programs to SPC software link? The answer is: The CMM. Of course, the CMM operator will continue to modify CMM programs, but the output generated from those programs will drive the SPC software.

Will the CMM-to-SPC link run unattended?

Assuming that the link between the CMM and SPC software is in place, the next step in improving overall quality is to take all of the data that has been gathered and distill it down to meaningful nuggets of information-the very reason why SPC is done in the first place.

To derive such information, the capabilities of the SPC software need to be determined to validate data in real time, warn/predict future events, and trap errors and continue running. See the sidebar, "Will the CMM-to-SPC Link Run Unattended?," for a complete survey.

Is the CMM data accessible?

The value of any data collected from a CMM is directly related to who has access to it and when it is available. Being able to respond to adverse conditions quickly might be the difference between saving money and incurring costs.

The data should be stored in a centrally located, relational database. The most common databases are MS-SQL and Oracle but others can be used, provided their database schema is public and there are ways to query the data. Any ODBC-compliant database will meet these requirements.

The data needs to be available in real time. If the system consists of gathering data to a holding area and then updating the SPC database on a specified time interval-once a day, once an hour, etc.-then response time to problems will be limited. Ideally, data should be available the moment the CMM has completed writing its results to a file.

The data needs to be visible to everyone in the company and with people upstream and downstream in the process. The SPC system, therefore, must have robust reporting capabilities with easy access to the information for operators, managers and other business decision makers.

When should CMM-to-SPC implementation begin?

The most successful companies are not those who wait until they have developed a perfect solution. Successful companies start with pilot programs and base requirements then expand from there. Almost without exception, quality leaders have started with limited resources and a simple set of SPC goals. By taking an incremental approach, they begin to experience the benefits of improving quality and then continually improve and expand those benefits to other areas over time.

When getting started, remember to:

♦ Identify the key quality characteristics early in the implementation. Focus only on variables that contribute to the bottom line or are required by the customer.

♦ Be conscious of the current workload of an average CMM operator/ programmer. Adding more work is out of the question. Reducing their workload should be the goal.

♦ Understand the dynamic nature of a CMM. Key variables can be added to or removed from the CMM program at will. This inherent flexibility of the CMM is crucial in understanding how to implement the CMM-to-SPC link.

♦ Understand the ongoing administration requirements to maintain the CMM-to-SPC link.

♦ Coordinate who is responsible for responding to SPC violations and how they should be addressed.

Finally, do not hesitate to ask the SPC vendor to assist with the CMM integration.

CMMs ensure the accuracy and reliability of products. SPC offers tremendous bottom-line benefits to companies by reducing scrap, eliminating waste and increasing yields. Linking a CMM to an SPC system is critical to maximizing those benefits.



Tech tips

• Companies use CMMs and SPC together to eliminate defects, reduce down time and improve overall product quality.

• Those companies gain a significant competitive edge and ultimately help improve the bottom line.

• Collecting the data captured by a CMM and then analyzing the information with an SPC system can help pinpoint the root causes of costly process variations and offer insights on how to correct them.