Overview
For engineers who build systems for monitoring rotating machinery, the Order Analysis Toolkit is a software tool that extracts the phase and magnitude of vibration components generated by multiple shafts rotating at different speeds. Unlike the Bently Nevada 208, the Order Analysis Toolkit allows engineers to inexpensively expand channel count.
Table of Contents
Background and Scope
Design engineers who build systems for monitoring rotating machinery often run into situations where they want to monitor the vibration generated by several shafts rotating at different speeds. Examples include engine/transmission assemblies or turbo-compressors with several stages linked through a gearbox. In this situation, it is desirable to group the waveform measurements for each shaft and associate them with a tachometer signal for that shaft. Using this approach, order analysis can be independently performed on each signal group.
National Instruments provides the Order Analysis Toolkit (OAT) for LabVIEW, which allows engineers to acquire the necessary data from an analog input module and process this data relative to a tachometer signal. While the toolkit has built-in functionality to handle multiple tachometer signals, using this feature is challenging without some understanding of how OAT works, and how to use programming techniques within LabVIEW to group the signals and associate them with the right tachometer channels.
The goal of this document is to help you understand how to build a machinery monitoring application using LabVIEW and OAT that can handle this scenario. You will also find a link to an example program that shows the basic concepts discussed here at the end of this document. The example can be used to build a more comprehensive application for data acquisition, analysis and presentation of rotating machinery data.
This document assumes that the reader has a fundamental understanding of National Instruments data acquisition techniques, an intermediate programming ability in LabVIEW and a basic understanding of OAT. The concepts described apply to OAT version 2.0 or later. If you are using OAT version 2.0, there is a patch available that includes additional VIs required to build an application with the concepts discussed in this document. To obtain a copy of the patch, please contact technical support.
See Also:
National Instruments Technical Support
Software Considerations
Resampling and Order Analysis
OAT uses a complex algorithm that filters and interpolates data, so that the analog channel data can be resampled in the angular domain. Once the data is represented in the angular domain, it is much easier to extract frequency information relative to the fundamental frequency of rotation. In order to perform the resampling algorithm, OAT needs a frequency/phase reference for each shaft. Typically tachometer signals, which produce one or more pulses per revolution, are used as this reference source.
OAT 2.0 brings a number of new features to order analysis, including the ability to acquire data from multiple tachometers simultaneously. The OAT Digital Tach Process.vi, the OAT Advanced Digital Tach Process.vi, OAT Analog Tach Process.vi and the OAT Advanced Analog Tach Process.vi are polymorphic Virtual Instruments (VIs) that can handle either single or multiple tachometers. These VIs are capable of accepting an arbitrary number of tachometer signal values so that they can be converted into tachometer data. The analog versions of these VIs will process tachometer data acquired from an analog source, while the digital version handles tachometer data acquired by a counter device.
Each of these VIs generates a speed profile, which is a cluster (or an array of clusters) that contains both the timestamp of each tachometer pulse and the rotational speed (in RPM) of the shaft at the time the tachometer data was acquired. If you are only acquiring tachometer data from one shaft, the subsequent steps are relatively simple. If you connect the output of the appropriate tach process VI to the tach process input on the OAT Resample Waveform.vi, OAT will resample the analog signals relative to the angular position and speed measured by the tachometer. If we have multiple tachometer signals, however, we need a modified scheme for associating analog channels with tachometers.
Conventional Methods for Processing Groups of Signals
The resampling VIs are typically used to generate continuously resampled data inside a looping structure (usually a while loop). A block of data is read from the analog input device and fed to the resampling VIs each iteration of the loop. If we just have a single tachometer with which we are referencing all of our analog signals, we have no issue with using the OAT resampling VIs as is. Figure 1 shows the conventional method of calling the OAT resampling VIs with a single tachometer.

Figure 1: Conventional method of resampling with a single tachometer
Within the OAT Resample Waveform.vi, the algorithm uses some of the data from the previous call to calculate values for the present data set. So if you simply call OAT Resample Waveform.vi within a loop that indexes multiple groups of tachometer and analog signals (as in Figure 2), data from one channel group will be used to calculate the values for the next group, which will produce incorrect results.

Figure 2: Incorrect Implementation of Multi-tachometer Data Processing
In order to process multiple channel group data, the LabVIEW code establishes a separate data space for each of the groups. One easy way of doing this would be to simply drop down a copy of OAT Resample Waveform.vi on the LabVIEW block diagram for each group of signals we want to process. Figure 3 shows a diagram depicting this method.

Figure 3: A Valid Method for Multi-tachometer Data Processing
This method is somewhat cumbersome, however, because it requires you to know the number of groups that will be processed before you create the LabVIEW code. This can be a serious limitation because the code cannot be written in a way that allows the end user to configure the number of signal groups.
Using VI Server to Process Groups of Signals
What we need is a more flexible approach that allows the LabVIEW code to configure and process an arbitrary number of signal groups. The method we recommend is to use LabVIEW's VI Server tools to dynamically allocate data space for each instance of OAT Resample Waveform.vi as it is needed.
In order to resample data relative to N signal groups, you will need N instances of OAT Resample Waveform.vi. You can use the VI Server tools to generate each of the instances of OAT Resample Waveform.vi in your code at configuration time, and pass the data for each signal group to the appropriate instance in the acquisition and process loop.
The VI Server VIs are located in the Functions palette inside the Application Control subpalette. More information on VI Server can be found in LabVIEW help or in the Developer Zone document entitled Programmatically Controlling LabVIEW.
The image in Figure 5 shows the diagram from the upper-level VI in the example program attached to this document. Each of the steps are annotated on the diagram, with further explanation within each of the subVIs. In the remainder of this document, we will step through the main modules that make up the order analysis processing to explain the basic concepts used in more detail. In the example, we have built a wrapper VI (OAT Easy Resample Order Tracking (Analog Tach, N Channels).vi) that includes the OAT Advanced Analog Tach Process.vi, the OAT Resample Waveform.vi, and the OAT Track Orders in Resampled Signal.vi. The diagram for this VI is shown in Figure 4 below. These are the VIs that handle the bulk of analysis done by OAT for this particular example. For more information regarding other analysis routines that OAT provides, please refer to the Order Analysis User Manual which is installed with OAT.

Figure 4: OAT Easy Resample Order Tracking (Analog Tach, N Channels).vi wrapper that calls the OAT VIs
The first step in performing multi-tachometer processing is to create an instance of the resampling VI for each group of signals. Figure 5 shows a diagram using the VI Server tools to perform this operation. The target VI (in this case the OAT Easy Resample Order Tracking(Analog Tach, N Channels).vi) must be configured as re-entrant so that data space is allocated for each VI reference. You can set a VI to be re-entrant by opening the block diagram for the particular VI and navigate to File>>VI Properties... and in the drop-down Category box choose Execution. Underneath the Priority section you will see a check box to enable or disable re-entrant execution. The initialization process shown here is typically programmed to occur after the user has configured the data acquisition channels and specified how the channels are to be grouped, but before entering the main acquisition and analysis loop.

Figure 5: Open References to Multiple OAT Resample Waveform.vi Instances
Now we are ready to start analyzing the group data we get from the data acquisition process. Figure 6 shows how the VI Server calls are made within the main acquisition and analysis loop. This code groups the necessary analog and tachometer data together and passes the data to each instance of the OAT Easy Resample Order Tracking(Analog Tach, N Channels).vi for each of the groups we originally configured. The resulting data, in this case, is the magnitudes, phases and speed for all of the channels and orders in each of the groups. The data is packaged into an array which we can easily index in subsequent pieces of code.

Figure 6: VI Server Call to Resampling VI
We have now completed all the necessary steps to successfully analyze data with multiple tachometers in OAT. Before the program terminates, though, it must close the VI references created in the initialization phase to perform a proper clean up. The references are closed by making a call to ClearVIRefs.vi as shown in Figure 7.

Figure 7: Closing the references to each call to the resampling VI
See Also:
Programmatically Controlling LabVIEW
Conclusion
Many times design engineers who develop machinery monitoring systems run into situations where they would like to analyze various analog signals in relationship to more than one rotating shaft. By using OAT and the LabVIEW VI Server, design engineers can build a machine monitoring system that is capable of performing order analysis relative to multiple shafts running at different speeds. The fact that this can be done with a single, high channel count system helps to decrease overall system cost and complexity. The preceding discussion shows how to properly construct each of the individual components used to properly analyze multiple groups of tachometer/analog data with OAT 2.0. In the Example Code section of this document, you will find a full example program written in LabVIEW that shows each of these concepts. You can modify this application to fit your own machinery monitoring application requirements, or you can cut and paste pieces of the code to create an application of your own design.
Example Code
See Also:
Multi-Tachometer Processing with the Order Analysis Toolkit Example
Reader Comments | Submit a comment »
Legal
This tutorial (this "tutorial") was developed by National Instruments ("NI"). Although technical support of this tutorial may be made available by National Instruments, the content in this tutorial may not be completely tested and verified, and NI does not guarantee its quality in any way or that NI will continue to support this content with each new revision of related products and drivers. THIS TUTORIAL IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND AND SUBJECT TO CERTAIN RESTRICTIONS AS MORE SPECIFICALLY SET FORTH IN NI.COM'S TERMS OF USE (http://ni.com/legal/termsofuse/unitedstates/us/).
