VIBRATION DATA ANALYSIS BASED ON TIME WAVEFORM PARAMETERS

Abstract: An efficient vibration data collection, analysis, and storage system automates the analysis of time waveform data and optimizes use of available memory and minimizes data collection time by parameterizing the time domain vibration waveform produced by a vibration transducer (10) attached to a machine (12). Various parameters are calculated from the time domain waveform and compared to predetermined thresholds or other criteria representative of possible anomalous conditions within the monitored machine (12). When one or more anomaly criteria are met, an alarm is generated and the system automatically collects, or stores vibration data, which may include both the time waveform and frequency spectrum. Alternatively, the system may be programmed to conduct further analysis of the vibration data during an alarm condition prior to data storage. Preferably, time waveform data is stored only for machines (12) that are in alarm, and the calculated parameters are stored for each machine (12) regardless of the machine's condition.

Description: VIBRATION DATA ANALYSIS BASED ON TIME WAVEFORM PARAMETERS Technical Field The present invention relates to vibration data collection, analysis, and storage systems. More particularly, it relates to a vibration data analysis system for analyzing vibration data in the time domain and generating an alarm when one or more parameters of the time waveform meet established criteria. Background The use of vibration analysis as a Predictive Maintenance (PDM) tool for monitoring the health of rotating machinery is a well established practice. In general, this process utilizes intelligent data collection instruments that are carried by a technician from machine to machine in accordance with a preprogrammed "route" to acquire the vibration signatures for each machine. A typical route will include a list of machines, test points for each machine, and a specification of how data is to be acquired for each test point. Generally, the vibration data collected consists of the spectral data, obtained using a fast Fourier Transform (FFT). The spectrum is generally broken up into analysis parameters containing the energy in selected frequency or order-based bands and these parameters are checked against alarm limits established for each point. These analysis parameters of the entire spectral data set can be stored in the data collector and later downloaded to a database on a workstation for storage and further analysis. The spectral data stored typically is average data which is acquired from multiple blocks of data where each block of data is transformed to the frequency domain via FFT and averaged in the frequency domain. The averaged spectral data does not require excessive storage capability relative to the amount of time data required to construct the FFT and hence, can be stored in the portable data collectors which can store average spectral data from a few hundred measurement points. As an example, consider a single measurement point consisting of a 400-line spectra computed from 6 averages. For each spectral block, a time data block consisting of 1024 time data points must be collected. Since the stored average spectral data block is made up of 6 block averages, it requires 6 X 1024, or 6144 time data points. This is far too much data to store and manage given the number of measurement points that are typically monitored at a given facility on a measurement route. Although the acquisition of averaged vibration spectral data using portable data collectors in the "route" mode has proven extremely valuable for machinery monitoring in predictive maintenance programs, it is generally acknowledged that time data would provide highly useful data to assist in the interpretation of certain classes of problems commorJy experienced in machinery. However, saving all of the time data used to construct the spectral data is simply too burdensome to be considered a realistic option. What is needed, therefore, is an efficient and convenient methodology for computing a few key parameters which characterize the time data in a manner which enhances the spectral data that is routinely acquired for machine health or condition monitoring. These time waveform parameters can be checked against alarm limits to alert the technician that unusual conditions in the time waveform have been detected. This automatic prompting of the technician can enable further investigation of the possible causes and can automatically trigger storage of the time waveform data for further analysis by an analyst at the analysis workstation. In general, the evaluation of time waveform data from vibration sensors has been done by an experienced human eye, if done at all. The systematic analysis of vibration time waveforms by the computer has not been done except to look at overall amplitude type parameters. The approach described herein is to look for waveform behaviors that are indicative of various classes of faults by calculating a set of waveform parameters that are metrics of the possible behaviors in the waveform data. These waveform parameters are quantitative and can be used to automate the analysis of waveform data and to determine the direction and rate at which changes are occurring. Summary The present invention provides a vibration data analysis system for analyzing digital time domain vibration data (time waveform) generated by a machine. The vibration data includes positive peaks, negative peaks, DC components, and sinusoidal components having corresponding amplitudes. The system includes a data processor having a time waveform analyzer that selectively digitally analyzes the digital time domain vibration data to produce a plurality of time domain parameters for alarming. The data processor also includes a comparator for comparing at least one of the plurality of time domain parameters to one or more predetermined criteria. An alarm is produced ' when the criteria is met. To provide for storage of vibration data, the system may include gating means for storing vibration data based on an analysis of the digital time domain vibration data. If a parameter is in alarm, the system may be programmed to automatically store at least the time waveform. Alternatively, two or more alarms are required to store vibration data. An FFT of the time waveform may be performed and the resultant frequency spectrum stored regardless of whether a parameter of the time waveform is in alarm. Further, the time waveform that is used to obtain the spectrum may be different than the time waveform that is stored. For example, the frequency spectrum may be obtained from a time waveform measured in velocity units while the time waveform that is actually stored is one measured in acceleration units. The comparator may be configured to compare a variety of time domain parameters to predetermined criteria. For example, the comparator may be configured as a maximum peak comparator for comparing the amplitudes of positive and negative peaks to predetermined criteria. As another example, the comparator may be configured to compare a symmetry factor to predetermined criteria. Other parameters may include maximum peak-to- peak, crest factor, kurtosis, impact parameter A, impact parameter B, average slope parameter, maximum jerk parameter, bearing looseness parameter, peaks above RMS, points above RMS, peaks/points ratio, zero crossings/points ratio, peak symmetry, absolute symmetry, shape symmetry, skewness, nonsynchronous residual factor, synchronous residual factor, DC shift, DC drift, off-center rotation parameter, sinusoidal parameter A, sinusoidal parameter B, sinusoidal parameter C, and Gaussian distribution deviation. The data processor may include an FFT analyzer for receiving a first digital time waveform and analyzing the first digital time waveform in the frequency domain. In this embodiment, a selector is used to select between the first digital time waveform or a second digital time waveform that is different than the first time waveform. The selected time waveform is then digitally analyzed by the time waveform analyzer to produce a plurality of time domain parameters for alarming. Also provided is a method of collecting, analyzing, and storing vibration data generated by a machine. The method includes the steps of producing an analog vibration signal in the form of a time domain waveform which corresponds to vibrations generated by the machine. The time domain waveform is conditioned to produce a conditioned time domain waveform. The conditioned time domain waveform is digitized to produce a first digital waveform. The first digital waveform is analyzed by determining at least one parameter of the first waveform, determining one or more criteria corresponding to the at least one parameter, comparing the criteria to the at least one parameter, and producing an alarm when the at least one parameter meets the criteria. Brief Description of the Drawing The preferred embodiments of the invention will now be described in further detail with reference to the drawings wherein like reference characters designate like or similar elements throughout the several drawings as follows: FIG. 1 is a diagrammatical drawing showing a data collector interconnected to collect and store vibration data from a machine and to provide stored data to a base computer; FIG. 2 is a simplified block diagram of a data collector; FIG. 3 is a sample graph of a portion of a time waveform; FIG. 4 is a time waveform histogram used for determining a shape symmetry parameter; FIG. 5 is a flow diagram of a vibration data collection and storage process where no FFT is performed or stored unless a time waveform parameter is in alarm; and FIG. 6 is a flow diagram of a vibration data collection and storage process where an FFT is performed and stored regardless of whether a time waveform is in alarm. Detailed Description of Preferred Embodiments In accordance with a preferred embodiment of the present invention, an apparatus for efficient storage of vibration data in the field is illustrated in block diagram form in FIG. 1. During vibration data collection and storage, a vibration transducer, such as an accelerometer 10,. is attached to a machine 12. Vibrations generated by the machine 12 are sensed by the accelerometer 10 and an analog voltage signal representative of the sensed vibrations is output on line 14. A data collector 16, such as a CSI 2115 or 2120 portable data collector, collects the analog signal and stores selected vibration data in accordance with its programming. The stored vibration data may be downloaded to a base computer 18 for long- term storage and further analysis. The base computer 18 may also function to provide programming to the data collector 16. A detailed description of a field data collector 16 can be found in United States patent application no. 08/355,208, filed on December 9, 1994, and entitled Hand Held Data Collector and Analyzer System, the entire contents of which is hereby expressly incoφorated herein by reference. FIG. 2 illustrates a simplified block diagram of a field data collector 16. An accelerometer 10 or other vibration transducer produces an analog vibration signal that is supplied through line 19 to the analog conditioning circuit 20. The term "line" as used herein should be regarded as both singular and plural. Depending on its context, "line" may refer to a single wire or electrical path, or it may collectively refer to a plurality of wires or electrical paths. Input control, analog filtering, analog integrating, amplification and DC offset functions are performed in the analog conditioning circuit 20 to produce a conditioned analog signal on line 22 which is supplied to a digital conditioning circuit 24. The conditioned analog signal is converted to a digital signal within digital conditioning circuit 24, and preferably, during the digital signal conditioning, the analog signal is Sigma Delta modulated, noise shaped, quantized to a digital signal, digitally filtered and digitally decimated. The conditioned digital signal is supplied through line 26 to a data processor 28, which is preferably a number of processors. The data processor 28 controls the digital conditioning circuitry through line 30 and controls the analog conditioning circuitry through line 32. Also connected to the data processor 28 are a memory 34, a display 32 and a keyboard 38. Preferably, the memory 34 includes RAM, ROM and a PCMCIA external memory card. The display 32 preferably is a luminous display manufactured by Samsung as model number 87-203-0123. The keyboard 38 is preferably a membrane matrix-type keyboard. Also shown in FIG. 2 is a battery 36 which powers all of the components shown in FIG. 2. The battery 36 is physically connected to power all of the components shown in FIG. 2. Because several machines 12 are typically monitored by the data collector 16 in accordance with a pre-programmed route, vibration data storage is preferably selective. Otherwise, the data storage process requires an undue amount of time and the memory capacity of the data collector 16 could be exceeded. Therefore, in the interests of maximizing efficiency and optimizing use of available memory within the data collector 16, it is preferable to store only data which will yield desired information about the machine 12. Typically, vibration data is collected to determine whether the machine 12 is healthy, or whether the machine 12 is operating with a fault or pre-fault condition as indicated by its vibration characteristics. The data collector 16 can be programmed to integrate the acceleration time waveform produced by the accelerometer 10 and then perform a fast Fourier transform (FFT) on the resulting velocity time waveform to produce a frequency spectrum. Preferably, a time series of FFT's are averaged to enhance the stored data. At the user's option, the frequency spectrum is then displayed on the data collector's display. While samples of the time domain waveform can be stored along with the frequency spectrum, this is generally not desirable unless it is known that the time waveform is needed for further analysis. If the time waveform were stored for every measurement point for every machine 12, the memory capacity of the data collector 16 would quickly be exceeded. Inefficiencies and uncertainties in the data collection and storage process are minimized with the present invention by programming the data collector 16 to function like a "gate in the field" where vibration data (i.e., time waveform data or spectral data, or both) is automatically stored (gate open) only when the data collector 16 determines that vibration data should be stored. When the data collector 16 determines that no data should be stored (i.e., no anomalous vibration characteristics exist), the gate is closed and little or no data is stored in the data collector's memory. In a preferred embodiment, the gate opens to store data when the data collector 16 determines the likely presence of an anomalous condition within the machine 12. For clarity, it should be noted that the data collector 16 can be programmed to store spectral data regardless of alarm conditions, or the data collector 16 could be programmed to store both spectral and time waveform data only when an alarm condition exists. The process by which the data collector 16 opens and closes the data storage gate should involve an analysis of the time domain vibration waveform to ascertain the values of one or more of a plurality of time domain parameters. The calculated parameter values are compared to parameter thresholds or other criteria representative of anomalous conditions. When one or more of the parameters meet the anomaly criteria, an alarm is generated to indicate the likely presence of a fault or pre-fault condition within the monitored machine 12, or possibly, erroneous data acquisition conditions were employed. When a time domain waveform parameter is in alarm, the gate opens to store the complete frequency spectrum (if not already stored), or the vibration time waveform data, or both. Alternatively, further analysis of the time waveform data and/or spectral data may be performed to obtain more information regarding the condition of the machine 12. For example, a peak vibration analysis of the type disclosed in U.S. patent application serial no. 08/555,296, filed November 8, 1995, and entitled "Machine Fault Detection Using Vibration Signal Peak Detection", may be performed by the data collector 16 when an alarm condition is signaled. Based on the results of this post-alarm analysis, vibration data may be stored, or it may be determined that no vibration data should be saved. If no alarm conditions exist, then preferably only the parametric values of the vibration time waveform (along with the frequency spectrum if desired) are stored and the gate is closed to conserve available memory. Stored data and parameters can be downloaded to the base computer 18 for further analysis and long- term storage. The data collector 16 also has the ability to utilize different time waveforms for performing FFT and time waveform analysis. For example, for a particular machine 12 the data collector 16 can be used to perform an FFT (frequency analysis) of the time waveform in velocity units using an upper frequency of 1.0 Khz while an acceleration waveform with an upper frequency of 5.0 Khz is utilized for time waveform analysis. As a default, the data collector 16 uses the same waveform for both time waveform analysis and FFT analysis if the user does not specify otherwise. The following Table 1 identifies various waveform behaviors and corresponding parameters which may be used to characterize the behaviors. TABLE 1. Waveform Behavior Parameter Following are descriptions of the various alarm parameters shown in Table 1 that characterize specific behaviors in the time domain waveform. The data collector 16 is preferably programmed to perform all of the below listed alarm parameter calculations and compare them to predetermined criteria. Thus, the " present invention provides a data collector 16 capable of determining a plurality of waveform behaviors based on the calculated values of a plurality of waveform parameters. For example, when crest factor, kurtosis, and bearing looseness parameter are all in alarm, it is known that spiking behavior is present in the time waveform. Likewise, when peak symmetry and shape symmetry are each in alarm, the waveform is known to be exhibiting anomalous symmetry behavior. The general waveform behaviors shown in Table 1 are indicative of specific classes of machinery faults, or due to erroneous data acquisition conditions. For example, spiking usually results from sudden metal-to-metal contact in vibration signatures, such as occurs from bearing defects or chipped gear teeth. Asymmetric waveforms result from non¬ linear fault modes, where motion in one direction is restricted by forces, physical restraints, or non-uniform system flexibilities, such as occurs due to misalignment or cracks in the supporting members. Sinusoidal behavior that is synchronous is often related to unbalance conditions. There are more than six different faults which show up at 1 x RPM in the frequency spectrum. However, the waveform data is key to allowing the analyst to differentiate between these conditions in some cases. The parameters shown in the Table 1 are only some of the metrics that can be devised to measure the behaviors outlined. Other parameters could be devised to measure the same behaviors. The parameter calculation routines are preferably stored permanently in the non¬ volatile memory of the data collector 16, whereas the predetermined criteria are preferably part of the data in the route, but the criteria may also be supplied manually by the user. It should be noted that, although not required, it is preferable to program the data collector 16 to zero the DC or average component of the time domain waveform prior to calculating the parameters. Routines are provided for calculating the following parameters: 1. Maximum Peak (positive or negatived This parameter represents the amplitude that is furthest from zero, either positive or negative. It is used to determine when anomalous impacting is occurring within the machine 12, such as might result from bearing or gear tooth defects. The anomaly criteria for this parameter will vary depending on the particular type of machine. A threshold impact of 1.5 g's has been found to be an acceptable failure criteria for most machines. 2. Maximum Peak-to-Peak This parameter is determined by summing the greatest positive peak plus the greatest negative peak occurring within a given time period. Preferably, this parameter does not require that the negative peak be attached directly to the positive peak. Anomaly criteria will vary depending on the machine being monitored. In most cases, a threshold peak-to-peak value of 3 lOg's will be fairly indicative of a likely fault or pre-fault condition within the machine. 3. Peaks Above RMS As the name implies, this parameter looks at peaks above RMS. The value units of this parameter can be either a number or a percentage of peaks above RMS. A large percentage or number of such peaks can indicate impacting. 4. Points Above RMS This parameter looks at points above RMS. Used to indicate impacting or sinusoidal behavior, this parameter can also be evaluated in total points or percentage of points. 5. Peaks/Points Ratio This spiking parameter looks at the ratio of the total peaks to total points within a sample of the waveform. 6. Zero Crossings/Points Ratio This parameter calculates the ratio of the total number of zero crossings in a sample of the waveform to the total number of points within the sample. 7. Crest Factor The crest factor is the maximum peak divided by the RMS of the signal over the predetermined time interval. This parameter might be said to represent a general measure of the impacts within the time waveform. For a normal, healthy machine, the crest factor will typically be below 2.5 g's. An increase in the crest factor over time means that the time waveform has peaks resulting from impacts, which typically indicates looseness within the machine. When the crest factor goes down, it means that periodic content is increasing, which is typically indicative of balancing or alignment problems. 8. Kunosis This parameter is derived from the second, M 2 , and fourth, M 4 , moments of the time waveform as given by the following equations: M 4 KURTOSIS = ( 1 ) M 2 2 - X) \ (2 ) Λ i = l M, - ±i s X< X) 2 , (3 ) n i= ι where: Xi represents the amplitude of the waveform at each sampled point; Xrepresents an average of sampled points within a waveform sample; and n represents the total number of sampled points occurring within the sample. 9. Symmetry Factor Basically, the test for symmetry (sometimes referred to as skew) looks to determine the extent of similarity between the negative portion of the signal and the positive portion of the signal. Highly asymmetric waveforms indicate that nonlinear system response is occurring. Typically, this behavior appears as a result of alignment problems, resonance problems, and directional flexibility which are due to looseness or cracks. While a high degree of symmetry does not guarantee a healthy machine, a low symmetry usually does indicate a potential problem. One symmetry parameter is calculated by determining the ratio of peak-to- average in the positive domain to the peak-to-average in the negative domain. 10. Peak Symmetry (PS) This parameter looks at the ratio of the amplitudes of positive peaks (PK+) to average positive amplitude (AVE+), and the ratio of the amplitudes of negative peaks (PK-) to average negative amplitude (AVE-), as given by the equations: PS = -£*L , and PS = -£*L . (4) AVE+ AVE- 11. Absolute Symmetry (AS) This parameter is calculated by determining a histogram of amplitude probability (A| being the probability of this amplitude within the waveform as determined by summing the number of samples located in N equal amplitude regions between the smallest value and the largest value. A sample histogram 44 is shown in FIG. 4. Absolute symmetry (AS) is determined from the histogram 44 by the equation: where: P is the number of histogram intervals greater than the mean value; and N is the number of histogram intervals less than the mean value. The zero interval is the one enclosing the mean value. 12. Shape Symmetry (SS) From the histogram 44 of FIG. 4, shape symmetry (SS) is given by the equation: 13. Skewness (SKEW) To determine skewness, the second and third central moments (Mj and M 3 , respectively) of points within the waveform are determined from the equations: Skewness (SKEW) is calculated from the second and third moments (Mj, M 3 ) by the following equation: M 3 SKEfV = 3 ( 8 ) Λf 2 14. Gaussian Distribution Deviation This parameter is a measure of the deviation of the time data from a normal or gaussian distribution. A gaussian distribution of amplitude values within the time waveform is considered a normal distribution and deviations from a gaussian may indicate a potential problem. The calculation will normally be: (a) for a time signal which has been low pass filtered in the vicinity of 500 to 1,000 Hz; and (b) for the time signal high passed at the same frequency with which it was low passed. The procedures to acquire this parameter are: (1) Low pass filter the time waveform. Steps: Low pass the time waveform at 1^; Construct the amplitude probability histogram; Normalize histogram to acquire the probability density function P(x), where x is the amplitude value less the mean amplitude value; and Construct a new probability density function Y(z), where Y( z) ≡ log 10 P ( x) (9) and z ≡ x 2 . (10) If P(x) is gaussian, then Y(z) will be a triangle whose slope is negative (-) in the positive z domain and positive ( -I- ) in the negative z domain. The "slopes" are the parameters to be trended and alarms generated therefrom. (2) High pass signal at f REF . Steps: Proceed to acquire the slopes for Y(z) as described above; and Trend and alarm off of the slope values. If signals are gaussian, the absolute slope value will be 1.0. 15. Impact Parameter A (IMPRAT_A) As defined in Equation (11) below, this parameter takes the average of the highest four impacts (IMPAVG parameter) and divides the average by an absolute X, where absolute X is the average value of the absolute value of all the data points in the data set. ∑ M ± 2 = 1 ™™ * m » , , IMPRAT-A (11) n where: M; represents maximum impacts; X j represents impacts generally; and n represents number of data points. This parameter will pick out moderate impacts in a relatively smooth time waveform, and it might be said to be a measure of the distinctiveness of the impacts. For most machines, any values above 10 are indicative of a potential problem, and a high value of this parameter alone seems to indicate early stage bearing defects. This parameter, therefore, can be used to prevent severe impacting and excessive degradation of the bearing components . 16. Impact Parameter B (BRGFCT B^ This parameter incorporates the IMPAVG parameter, which is the average of the four highest impacts, and the IMPRAT A parameter, and is defined by the following equation: The BRGFCT B parameter detects instances where the two component parameters (IMPAVG and IMPRAT A) are each present at a significant level, but may or may not be at high enough levels to individually produce an alarm condition. This is a more general parameter that indicates the presence of significant, yet distinct, impacts. A value greater than 2.5 is flagged as indicative of a potential problem. 17. Average Slope Parameter (ASLPCHG) This parameter gives the average change in slope for a given set of time ASLPCHG n - 1 waveform data and is defined by the following equation: where: Tj represents time at which sample Xj was acquired. Equation (13) provides a general measure of how high frequency components are affecting the machine. Values greater than 250 are considered to be significant and indicative of a potential problem within the machine. This parameter detects bearing looseness and electrical conditions which often exhibit high frequency energy without significant impacting. 18. Maximum Jerk Parameter (MAXJRK) This parameter, as defined by Equation (14) below, calculates the maximum instance of a jerk, where jerk is generally defined to be the rate of change of acceleration. X_ X MAXJRK = Max n-H n + l x_ ( 14) ■ n + l " n-1 where: T, = the time at which sample X, was acquired; and provided that: (X n - X n-1 )(X n+1 - X n ) < 0. Equation (14) is similar to the ASLPCHG parameter, but it searches for more isolated instances, possibly locating transient spikes in the time waveform that would otherwise be averaged out. For purposes of calculation of this parameter, a jerk is defined as the sum of the rates of change of the acceleration on each side of a change in slope. This parameter cannot be used directly in calculating severity since a machine cannot actually experience jerk or anything else beyond acceleration, but it does indicate the presence of a significant impact. Values above 25 are flagged as indicative of a potential problem. 19. Bearing Looseness Parameter (BRGPAR^ This bearing looseness parameter functions mainly to detect bearing defects on slow speed machines. It is defined by the following equation: BRGPAR where: T, = time at which sample X, was acquired. This parameter will generally indicate an alarm condition only when there is moderate impacting within the machine 12 with significant RMS energy yet low average change in slope. This is commonly the case in slower speed machinery where the slow speed machine does not generate a tremendous amount of high frequency energy as compared to a fast speed machine. The impacts are also generally lower, but this parameter functions well without generating nuisance false alarms. Values above 1.0 are considered indicative of a potential problem. 20. Off-Center Rotation Parameter (MAXDELO This parameter is defined by the following equation: MAXDELC = Max C X ( 16) where: X y 1 -J (17 ) X> _ ι=ι and 2 =1 C = = — n j for j n 10 10 This parameter utilizes values that are calculated by averaging the time waveform into small clusters. If these averages are away from the origin (i.e. , approximately X), then this parameter indicates sinusoidal type motion where the mass is most likely trying to rotate away from its designed center, as in a case of imbalance. If a bearing defect or looseness alone were present, there is no reason why the cluster averages would be away from the origin. Values above 0.5 are flagged as potentially problematic. 21. Sinusoidal Parameter A (CLUAREA^ This is another parameter that screens for sinusoidal type motion and is given by the following equation: C, + C CLUAREA l -l Δ (18) 2 =2 where: Δ represents the sampling interval between two consecutive points (T j - T iΛ ). The parameter of Equation (18) looks at the total area under the curve generated by the cluster averages. This parameter detects sinusoidal motion with a slower frequency and a lower amplitude value than does the MAXDELC parameter since MAXDELC is configured to detect higher amplitudes, which may have little area under its cluster curve due to the higher frequency. Values above 4 are flagged as potentially indicative of a machine problem. 22. Sinusoidal Parameter B (SINFAO The purpose of this parameter is similar to that of the BRGFCT B parameter, but for sinusoidal motion. It considers both MAXDELC and CLUAREA, and instances where one or both are significant are flagged. The following equation defines the SINFAC parameter. SINFAC - CL UAREA ~ MAXDELC ' 8 ( 19 ) CLUAREA + 8 • MAXDELC 23. Sinusoidal Parameter C This parameter measures sinusoidal behavior by determining the number or percentage of points outside of a range of an average of all points (X). As illustrated in FIG. 3, if R, and L represent points along the time waveform as shown, a variance (R) is determined by the equation: R = . 25 (R - L) . (20) The number of points that lie outside the range X ± R (21) indicated generally at 40, provides a measure of sinusoidal behavior within the waveform. 24. DC Shift Parameter (DCSHIFT) DC Drift Parameter (DCDRIFT^ Typically, the DC average value of the time waveform should vary little with time and should vary in a random fashion. However, this will not be true when sensor problems or mounting problems exist. These types of faults may cause the average DC to make abrupt changes or to drift steadily in one direction during data acquisition. This should be detected and brought to the technician's attention to prevent erroneous data from being collected and thus, wasting both the data collector and the analyst's time and resources. To calculate these DC variation parameters, first determine the number of positive (P v ) and negative extreme (N v ) values in the signal and calculate an average from the equation: K = — ^ V - (22 ) Average DC values for these subsets of the waveform are determined by the equation: DC 3 , = ^ S;f£fi *2 J + ( J * S) ( 23 ) where: S = K/K DIV ; and K D , V may be any integer between (5, 10). DC Shift and DC Drift are then calculated by the following equations: DC^ - DC λ DCSHIFT = Max- 2 * λ RMS (24 ) 10 DC - DC 0 DCDRIFT = - DIV RMS (25) 10 Equation (25) above is true if all DC 1+ 1 - DC, are changing in one direction only; otherwise, DCDRIFT = 0. 25. Nonsynchronous Residual Factor This parameter and its companion parameter, Synchronous Factor discussed below, provides a general measure of repetitiveness/randomness within the waveform. A time waveform is collected for five to ten revolutions of the machine and synchronously averaged to obtain an average revolution. The average revolution is subtracted from the waveform data in a synchronous manner, and an RMS of the total residual data (difference between instantaneous waveform and averaged waveform) is calculated. The nonsynchronous residual factor is calculated as the ratio of RMS of total residual to RMS of the average revolution (AveRev), as given by the following equation: RMS of Total Residual RMS of AveRev (26) Values below 0.1 are considered highly repeatable, while values above 0.5 are not considered very repeatable. 26. Synchronous Residual Factor The synchronous residual factor is the inverse of nonsynchronous residual factor, as given by the following equation: RMS of AveRev ( 27 ) RMS of Total Residual As this parameter varies from 0.0 to 1.0, this indicates more repeatable behavior in the waveform. In a typical operation as illustrated in the flow diagram of FIG. 5, a data collection route is defined at a base computer 18, as indicated at block 50. The predefined route is downloaded and stored in the collector's memory 34 (block 52) to instruct the data collector 16 to do various things. The route will typically include a list of machines 12, and for each machine 12 in the list a number of test points will be specified. For each test point, various set-up and data storage parameters are listed, including which ones of the alarm parameters should be calculated and the criteria to which they are to be compared. Also defined are such things as the type of sensor to be used, the preferred units, the frequency range of interest, the type of data to be displayed, the specific data to be stored under a given condition of alarm, and other information associated with the measurement point, such as the identity of the machine, the identity of the measurement point, a description of the measurement point, the date and time, and other such information. In addition, the downloaded information specifies which waveform parameters are to be calculated for this measurement location from the larger set available as well as the alarm criteria appropriate to this location. A technician conducts vibration measurement, analysis and storage in accordance with the route, using the data collector 16 to measure machine vibrations and to perform time waveform analysis at each test point (block 54) to determine if alarm conditions are present in the time waveform (block 56). The collection of additional vibration data may depend on how many of the time waveform parameters are determined to be in alarm (block 58). For example, when only one of the alarm parameters previously described indicates the existence of an alarm condition, the set-up parameters may instruct the data collector 16 to do nothing (i.e. , keep data storage gate closed) unless two or more parameters are in alarm (block 64) in which case the data storage gate opens to store vibration data. Alternatively, when a single alarm parameter indicates a possible machine fault, the set-up parameters may instruct the data collector 16 to perform an FFT of the time waveform and to conduct an analysis of the resultant frequency spectrum (block 60) to obtain more information relating to the potential machine fault. If the results of the spectrum analysis indicate the likely presence of a fault condition (block 66), the data collector 16 automatically "opens the gate" (block 64) for storage of vibration time waveform and/or spectrum, or parts thereof. The technician then follows the route to the next test point (block 68) and repeats the measurement, analysis and storage process. The flow diagram of FIG. 6 illustrates an alternative data collection and storage operation to that of FIG. 5. In the operation of FIG. 6, an FFT is obtained and stored (block 53) regardless of whether the time waveform is stored. An analysis of the time waveform (block 55) is then performed. Alternatively, an FFT can be obtained and stored after time waveform analysis has commenced. By reference to the above described time waveform parameter alarms, it is appreciated that distinct advantages are realized by parameterizing the vibration time waveform, both in terms of the concept of alarming on one or more of a plurality of parameters, and in terms of the specific advantages of the specific parameters. For example, time waveform parameterization and alarming provides a quantitative evaluation of the acceptability of waveform data. This means that any user will get the same results independent of human judgment. This both saves time during analysis and gives quantities which can be trended over time to determine whether the deviations in the parameters are increasing and at what rate. Thus, this ability to automate the analysis of time waveform data is not limited to data collector applications. In cases where there are no limitations due to storage being available, time waveform data can be collected and stored at all points. In this case, the automated analysis of the waveform behaviors as determined from a plurality of parameters can be performed at the analysis workstation. The time waveform data that is acquired can be the time waveform corresponding to the FFT spectrum, or it can be specified to be collected with different acquisition parameters including the units, frequency-based or ordered-based sampling rates, the maximum frequency, and the number of time points stored. This is an important advantage because it is common practice to collect the spectrum in velocity units, but to collect the time waveform in acceleration units. Furthermore, it is common to acquire the time waveform with a higher frequency range to avoid attenuating impacting events. If the time waveform were always tied to the setup for spectral data collection, the optimum setup for one of the two would be compromised or additional data collection points would have to be defined which would even further increase storage requirements. Finally, alarming on the vibration time waveform can yield different information as compared to alarming on the frequency spectrum. Many vibration characteristics, such as spiking, asymmetry, and distribution of amplitude values, are typically difficult or impossible to detect from the frequency spectrum but are readily apparent from an analysis of the time waveform and when combined with spectral analysis significantly enhance the accuracy of fault diagnosis. While the above discussion has focused on the invention embodied in a field data collector 16, the invention is also useful in other forms, such as in a desktop or portable laptop computer. That is, if time waveform data is provided to a base computer by whatever means, it is useful to provide the capability of performing time waveform analysis based on one or more of a plurality of time waveform parameter calculations. The time savings and improvements in analysis accuracy derived from these particular techniques of analyzing the time waveform are also useful in the computer workstation alone, without regard to other aspects of the invention. It is contemplated, and will be apparent to those skilled in the art from the foregoing specification, drawings, and examples that modifications and/or changes may be made in the embodiments of the invention. Accordingly, it is expressly intended that the foregoing are illustrative of preferred embodiments only, not limiting thereto, and that the true spirit and scope of the present invention be determined by reference to the appended claims.

Claims: CLAIMS What is claimed is: 1. A vibration analysis system for automatically analyzing a specified set of waveform parameters that are measures of waveform behaviors peculiar to the fault modes of the machine being monitored, the system comprising: a data processor having: (a) an analyzer for selectively digitally analyzing the digital time domain vibration data to produce a plurality of time domain parameters for alarming; and (b) a comparator for comparing at least one of the plurality of time domain parameters to one or more predetermined criteria, and producing an alarm when said criteria is met. 2. A system in accordance with Claim 1, wherein said data processor further includes gating means for gating the storage of vibration data based on an analysis of the digital time domain vibration data. 3. A system in accordance with Claim 1, wherein said comparator comprises a maximum peak amplitude comparator for comparing the amplitudes of positive and negative peaks to predetermined criteria in the form of a predetermined threshold peak. 4. A system in accordance with Claim 1, wherein said analyzer comprises means for determining a peak-to-peak amplitude of the digital time domain waveform, said comparator comprising a peak-to-peak amplitude comparator for comparing the peak-to-peak amplitude to predetermined criteria in the form of a predetermined threshold peak-to-peak amplitude. 5. A system in accordance with Claim 1, wherein said analyzer comprises means for determining peaks above RMS of the digital time domain waveform, said comparator for comparing the peaks above RMS to predetermined criteria. 6. A system in accordance with Claim 1 , wherein said analyzer comprises means for determining points above RMS of the digital tinie domain waveform, said comparator for comparing the points above RMS to predetermined criteria. 7. A system in accordance with Claim 1 , wherein said analyzer comprises means for determining a peaks/points ratio of the digital time domain waveform, said comparator for comparing the peaks/points ratio to predetermined criteria. 8. A system in accordance with Claim 1 , wherein said analyzer comprises means for determining a zero crossings/points ratio of the digital time domain waveform, said comparator for comparing the zero crossings/points ratio to predetermined criteria. 9. A system in accordance with Claim 1, wherein said analyzer comprises means for determining a crest factor of the time domain waveform, said comparator comprising a crest factor comparator for comparing the crest factor to predetermined criteria in the form of a predetermined threshold crest factor. 10. A system in accordance with Claim 1 , wherein said analyzer comprises means for producing a kurtosis parameter defined by the equation: M 4 - - X) \ ( 29 ) M 2 - - X) 2 , (30 ) ■ & "> where: X represents an average of all impacts within the vibration data; Xj represents the amplitude associated with an impact occurring within the vibration data; and n represents the total number of impacts occurring within the vibration data. 11. A system in accordance with Claim 1 , wherein said analyzer comprises means for determining a symmetry factor of the digital time domain waveform, said comparator comprising a symmetry factor comparator for comparing the determined symmetry factor to predetermined criteria in the form of a predetermined threshold symmetry factor. 12. A system in accordance with Claim 1, wherein said analyzer comprises means for determining a Gaussian distribution of peaks within the digital time domain waveform, said comparator comprising a distribution comparator for comparing the Gaussian distribution to predetermined criteria in the form of a normal distribution of peaks. 13. A system in accordance with Claim 1, wherein said analyzer comprises means for determining an impact parameter A defined by the equation: Σ 2 =1 ^2 IMPACT PARAMETER A 4 1 ! n where: M, represents the amplitude associated with a maximum impact occurring within a sample period of time; X, represents the amplitude associated with an impact occurring within the same sample time period; and n represents the total number of impacts occurring within the sample time period. 14. A system in accordance with Claim 1, wherein said analyzer comprises means for determining an impact parameter B defined by the equation: IMPACT PARAMETER B where: M, represents the amplitude associated with a maximum impact occurring within a sample period of time; X, represents the amplitude associated with an impact occurring within the same sample time period; and n represents the total number of impacts occurring within sample time period. 15. A system in accordance with Claim 1, wherein said analyzer comprises means ducing a maximum jerk parameter defined by the equation: X. X Max n-1 I X n + l - X ■ n + l n-1 where: T, represents time at which sample X, was acquired; X, represents the amplitude associated with an impact occurring within the same sample time period; n represents the total number of impacts occurring within sample time period; and (X n - X n .,KX n+ 1 - X n ) < 0. 16. A system in accordance with Claim 1, wherein said analyzer comprises means ducmg a bearing looseness parameter defined by the equation: Σ M ι =l T ι - T l- ,l n - 1 where: T, represents time at which sample X, was acquired; M, represents the amplitude associated with a maximum impact occurring within a sample period of time; X, represents the amplitude associated with an impact occurring within the same sample time period; and n represents the total number of impacts occurring within sample time period. 17. A system in accordance with Claim 1, wherein said analyzer comprises means ucing an off-center rotation parameter defined by the equation: Max X C j ~ where: Xi represents the amplitude associated with an impact occurring within the same sample time period; n represents the total number of impacts occurring within sample time period; and Σ X . X . I ' J T> _ ι =l 2 = 1 X and C = for n n j 10 To " 18. A system in accordance with Claim 1, wherein said analyzer comprises means ducing a sinusoidal parameter A defined by the equation: C + C i -l ι =2 where C, is given by the equation: c 2 =1 *. 1 = Σ 10 and where: Δ represents the sampling interval between two consecutive points (T, τ M ); Xj represents the amplitude associated with an impact 'occurring within the same sample time period; and n represents the total number of impacts occurring within sample time period. 19. A system in accordance with Claim 1, wherein said analyzer comprises means ducing a sinusoidal parameter B defined by the equation: where: and where: Δ represents the sampling interval between two consecutive points (T, - T,.,); X, represents the amplitude associated with an impact occurring within the same sample time period; and n represents the total number of impacts occurring within sample time period. 20. A system in accordance with Claim 1 , wherein said analyzer comprises means for determining a sinusoidal parameter C from the digital time domain waveform, said comparator for comparing the sinusoidal parameter C to predetermined criteria in the form of a predetermined threshold sinusoidal parameter C. 21. A system in accordance with Claim 1, wherein said analyzer comprises means for determining a DC shift parameter from the digital time domain waveform, said comparator for comparing the DC shift parameter to predetermined criteria in the form of a predetermined threshold DC shift. 22. A system in accordance with Claim 1 , wherein said analyzer comprises means for determining a DC drift parameter from the digital time domain waveform, said comparator for comparing the DC drift parameter to predetermined criteria in the form of a predetermined threshold DC drift. 23. A system in accordance with Claim 1, wherein said analyzer comprises means for determining a peak symmetry parameter from the digital time domain waveform, said comparator for comparing the peak symmetry parameter to predetermined criteria in the form of a predetermined threshold peak symmetry. 24. A system in accordance with Claim 1 , wherein said analyzer comprises means for determining an absolute symmetry parameter from the digital time domain waveform, said comparator for comparing the absolute symmetry parameter to predetermined criteria in the form of a predetermined threshold absolute symmetry. 25. A system in accordance with Claim 1 , wherein said analyzer comprises means for determining a shape symmetry parameter from the digital time domain waveform, said comparator for comparing the shape symmetry parameter to predetermined criteria in the form of a predetermined threshold shape symmetry. 26. A system in accordance with Claim 1 , wherein said analyzer comprises means for determining a skewness parameter from the digital time domain waveform, said comparator for comparing the skewness parameter to predetermined criteria in the form of a predetermined threshold skewness. 27. A system in accordance with Claim 1, wherein said analyzer comprises means for determining a nonsynchronous residual parameter from the digital time domain waveform, said comparator for comparing the nonsynchronous residual parameter to predetermined criteria in the form of a predetermined threshold nonsynchronous residual. 28. A system in accordance with Claim 1 , wherein said analyzer comprises means for determining a synchronous residual parameter from the digital time domain waveform, said comparator for comparing the synchronous residual parameter to predetermined criteria in the form of a predetermined threshold synchronous residual. 29. A system in accordance with Claim 1 , wherein said analyzer further comprises a spectral content analyzer for analyzing the spectral content of the vibration data. 30. A system in accordance with Claim 1, wherein said analyzer further includes programmable control means for storing vibration data and for determining, based on an analysis of the digital time domain vibration data: (a) when vibration data will be stored; and (b) if vibration data is stored, what type of vibration data will be stored. 31. A vibration analysis system for automatically analyzing a specified set of waveform parameters that are measures of waveform behaviors peculiar to the fault modes of the machine being monitored, the system comprising: a data processor having: (a) an FFT analyzer for receiving a first digital time waveform and analyzing said first digital time waveform in the frequency domain; (b) a selector for selecting between said first digital time waveform as used in the FFT analyzer or a second digital time waveform that is different than the first digital time waveform, producing a selected time waveform; (c) a time waveform analyzer for digitally analyzing the selected time waveform to produce a plurality of time domain parameters for alarming; and (d) a comparator for comparing at least one of the plurality of time domain parameters to one or more predetermined criteria, and producing an alarm when said criteria is met. 32. A system in accordance with Claim 31 , wherein said selected time waveform is the same as said first digital time waveform. 33. A system in accordance with Claim 31 , wherein said selected time waveform is different than said first digital time waveform. 34. A system in accordance with Claim 31 , wherein said at least one of the plurality of time domain parameters is selected from the group consisting of: maximum peak, maximum peak-to-peak, crest factor, kurtosis, symmetry factor, impact parameter A, impact parameter B, average slope parameter, maximum jerk parameter, bearing looseness parameter, peaks above RMS, points above RMS, peaks/points ratio, zero crossings/points ratio, peak symmetry, absolute symmetry, shape symmetry, skewness, nonsynchronous residual factor, synchronous residual factor, DC shift, DC drift, off-center rotation parameter, sinusoidal parameter A, sinusoidal parameter B, sinusoidal parameter C, and Gaussian distribution deviation. 35. A vibration data analysis system for analyzing digital time domain vibration data generated by a machine and for indicating when an alarm condition exists, the system comprising: a data processor for processing the digital time domain vibration data to produce desired digital data, said data processor including: (a) an analyzer for selectively analyzing the digital time domain vibration data for determining a plurality of time domain parameters for alarming; (b) a comparator for comparing at least one of the selected time domain parameters to predetermined criteria and generating an alarm when said criteria is met; and (c) a transformer for selectively operating on the digital time domain vibration data, performing a fast Fourier transform, and producing a frequency spectrum from the digital time domain vibration data at least when an alarm is generated; and memory interfaced with said data processor for storing data, including the frequency spectrum, at least when an alarm is generated. 36. A system in accordance with Claim 35, wherein said at least one of the plurality of time domain parameters is selected from the group consisting of: maximum peak, maximum peak-to-peak, crest factor, kurtosis, symmetry factor, impact parameter A, impact parameter B, average slope parameter, maximum jerk parameter, bearing looseness parameter, peaks above RMS, points above RMS, peaks/points ratio, zero crossings/points ratio, peak symmetry, absolute symmetry, shape symmetry, skewness, nonsynchronous residual factor, synchronous residual factor, DC shift, DC drift, off-center rotation parameter, sinusoidal parameter A, sinusoidal parameter B, sinusoidal parameter C, and Gaussian distribution deviation. 37. A vibration data collection and analysis system for collecting, analyzing, and storing vibration data that is generated by a machine and for transferring data to a computer, the system comprising: a vibration transducer for sensing vibration generated by said machine and for producing an analog vibration signal in the form of a time domain waveform having positive peaks, negative peaks, and DC and sinusoidal components corresponding to the sensed vibration; a conditioning circuit: (a) for receiving and conditioning the time domain waveform from the vibration transducer, producing a conditioned time domain waveform; (b) including means for receiving and sampling the conditioned time domain waveform at a sample frequency to produce a digital time domain waveform; a data processor for digitally processing and analyzing the digital time domain waveform to produce desired digital data, said data processor including: (a) an analyzer for analyzing the digital time domain vibration data for determining at least one of a plurality of time domain parameters for alarming; (b) a comparator for comparing said at least one of the plurality of time domain parameters to predetermined criteria and generating an alarm when said criteria is met; and (c) gating means for gating the storage of vibration data based on an analysis of the digital time domain vibration data; a user interface interfaced with said data processor for inputting commands and data to said data processor; a display interfaced with said data processor for displaying information to the user; memory interfaced with said data processor for storing data; and means for transferring data to the computer. 38. A system in accordance with Claim 37, wherein said at least one of the plurality of time domain parameters is selected from the group consisting of: maximum peak, maximum peak-to-peak, crest factor, kurtosis, symmetry factor, impact parameter A, impact parameter B, average slope parameter, maximum jerk parameter, bearing looseness parameter, peaks above RMS, points above RMS, peaks/points ratio, zero crossings/points ratio, peak symmetry, absolute symmetry, shape symmetry, skewness, nonsynchronous residual factor, synchronous residual factor, DC shift, DC drift, off-center rotation parameter, sinusoidal parameter A, sinusoidal parameter B, sinusoidal parameter C, and Gaussian distribution deviation. 39. A vibration data collector and analyzer system for collecting, analyzing, and storing vibration data that is generated by one or more machines and for transferring data to a computer, the system comprising: a vibration transducer for sensing vibration generated by said one or more machines and for producing an analog vibration signal in the form of a time domain waveform corresponding to the sensed vibration; a housing dimensioned and configured for being hand held; a conditioning circuit disposed in said housing: (a) for receiving and conditioning the analog vibration signal from said vibration transducer to produce a conditioned analog signal; (b) including a fixed frequency analog anti-aliasing filter having a fixed upper cutoff frequency set at a desired frequency equal to the maximum vibration frequency of interest so that the conditioned analog signal has a desired frequency range; (c) including one or more amplifiers for producing the conditioned analog signal at a desired amplification; (d) including an analog-to-digital converter (ADC) for receiving and sampling the conditioned analog signal to produce a digital signal; a data processor disposed in said housing for receiving the digital signal and determining at least one waveform parameter of the digital signal out of a plurality of parameters as specified by data acquisition information downloaded to the data collector, said data processor including: (a) a comparator for comparing said at least one parameter to predetermined criteria and producing an alarm signal when the predetermined criteria is met; and (b) gating means for gating the storage of vibration data based on when an alarm signal is produced; a user interface mounted in said housing interfaced with said data processor for inputting commands and data to said data processor; a display mounted in said housing interfaced with said data processor for displaying information to the user; memory interfaced with said data processor for storing information when an alarm signal is produced; and means for transferring information to the computer. 40. A method of collecting, analyzing, and storing vibration data generated by a machine, the method comprising the steps of: producing an analog vibration signal in the form of a time domain waveform having positive peaks, negative peaks, and DC and sinusoidal components, said time domain waveform corresponding to vibrations generated by the machine; conditioning the time domain waveform to produce a conditioned time domain waveform; digitizing the conditioned time domain waveform to produce a first digital waveform of machine vibrations in the time domain; analyzing the first digital waveform by: determining a plurality of waveform parameters of the first digital time domain waveform that measure behaviors in the waveform associated with machinery faults or data acquisition errors; determining one or more criteria corresponding to said plurality of parameters; comparing said criteria to each specific waveform parameter; and producing an alarm when said at least one parameter meets said one or more criteria. 41. The method of Claim 40, further comprising the step of gating the storage of vibration data based on an analysis of the first digital waveform. 42. The method of Claim 40, further comprising the steps of: transforming the first digital time domain waveform to the frequency domain to produce a frequency spectrum; and storing the frequency spectrum. 43. The method of Claim 42, further comprising the step of storing the first digital waveform when an alarm is produced. 44. The method of Claim 40, further comprising the steps of: producing a second digital waveform different than said first digital waveform; transforming the second digital waveform to the frequency domain to produce a frequency spectrum; and storing the frequency spectrum. 45. The method of Claim 40, further comprising the steps of: producing a second digital waveform different than said first digital waveform; transforming the second digital waveform to the frequency domain to produce a frequency spectrum; selecting one of the first and second digital waveforms to define a selected waveform; and storing the selected waveform when an alarm is produced. 46. The method of Claim 40, further comprising the steps of: producing a second digital waveform different than said first digital waveform; transforming the second digital waveform to the frequency domain to produce a frequency spectrum; selecting one of the first and second digital waveforms to define a selected waveform; and storing the selected waveform when two or more alarms are produced. 47. The method of Claim 40, further comprising the step of storing at least the first digital time domain waveform when an alarm is produced. 48. The method of Claim 47, further comprising the step of transferring stored data to a computer for further analysis. 49. The method of Claim 40, further comprising the steps of: when an alarm is produced, transforming the first digital time domain waveform to the frequency domain to produce a frequency spectrum; and storing at least the frequency spectrum. 50. The method of Claim 40, further comprising the steps of: when an alarm is produced, transforming the digital time domain waveform to the frequency domain to produce a frequency spectrum; analyzing the frequency spectrum; and storing vibration data when the spectrum analysis indicates the likely presence of a machine fault. 51. A vibration analysis system for automatically analyzing a specified set of waveform parameters that are measures of waveform behaviors peculiar to the fault modes of the machine being monitored, the system comprising: means for sensing vibration and producing time domain analog waveforms corresponding to said vibration; means for producing digital time domain waveforms corresponding to said analog time domain waveforms; data processing means for receiving said digital time domain waveforms and further comprising: storage means for storing a plurality of routines for analyzing the digital time domain waveforms, at least one routine for calculating a first parameter corresponding to a first waveform behavior, and a second routine for calculating a second parameter corresponding to a second waveform behavior, and for storing a plurality of criteria corresponding to said first and second parameters; analysis means for selectively executing one of the routines and analyzing the digital time domain waveform to selectively produce one of said first and second time domain parameters corresponding to first and second waveform behaviors, respectively; and comparator means for comparing said first and second parameters to selected ones of the criteria in said storage means to produce alarms based on said first and second parameters, whereby at least the first and second time waveform behaviors are monitored for an alarm condition.

Inventors: PIETY KENNETH R, ROBINSON JAMES C, SLEMP MARK W, PIETY, KENNETH, R., ROBINSON, JAMES, C., SLEMP, MARK, W.
Applicants: CSI TECHNOLOGY INC, CSI TECHNOLOGY, INC.
Application year: 1997
Main classification: G06F19
IPC codes: B23Q17, G01H1, G05B19, G05B23