Documentation

Fault Detection and Diagnostics Framework

vibeFDaD.framework© for iOS®/iPadOS®


  • Created: 7 Jan, 2011
  • Update: 14 Oct, 2021

If you have any questions that are beyond the scope of this help file, Please feel free to email via info@rotovibes.com


Description

vibeFDaD© framework is an iOS®/iPadOS® library that contains experienced methods for rotating machine fault detection and diagnostrics, such as:

  • Machine Condition Detection from vibration raw data
  • Machine Condition Detection from vibration spectrum
  • Fault Frequency Damage Indicator
  • Bearing Damage Indicator
  • Bearing Damage Indicator using bearing's fault frequencies
  • Running Speed estimator from vibration data
  • Running Speed estimator from electro-magnetic data
  • Machine Degradation indicator

  • Installation

    Follow the steps below to install the vibeAV.framework

    1. Drag and drop the vibeFDaD.framework file into your Xcode project
    2. Select the "Embed & Sign" option in the Framworks, Libraries and Embedded Content menu

    Framework Anatomy

    1. Discrete Condition Detection (discreteFDaD module)
    2. 
      ...
      
      //-------------------------------------------
      //Condition Detection from vibration raw data
      //-------------------------------------------
      +(NSString*) computeConditionFromSignalRpm: (double)rpm withRawDataArrayAxisH:(NSArray*)rawDataArrayAxisH withRawDataArrayAxisV:(NSArray*)rawDataArrayAxisV withRawDataArrayAxisA:(NSArray*)rawDataArrayAxisA withSamplingRate:(int)sampRate withNumberOfSamples:(int)numSamples withThreshold:(double)vThreshold;
      
      //-------------------------------------------
      //Condition Detection from vibration spectrum
      //-------------------------------------------
      +(NSString*) computeConditionFromSpectrumRpm: (double)rpm withSpectrumArrayAxisH:(NSArray*)spectrumArrayAxisH withSpectrumArrayAxisV:(NSArray*)spectrumArrayAxisV withSpectrumArrayAxisA:(NSArray*)spectrumArrayAxisA  withSamplingRate:(int)sampRate withNumberOfSamples:(int)numSamples withThreshold:(double)vThreshold;
      
      //----------------------------------
      //Running-Speed (RS) estimator (RPM)
      //----------------------------------
      +(double)rsEstimator:(NSArray*)rawData withSamplingRate:(int)sampRate withNumberOfSamples:(int)numSamples;
      
      //-----------------------------
      //Bearing Damage Indicator 0-10
      //-----------------------------
      +(int)bd_indicator:(NSArray*)rawData withSamplingRate:(int)sampRate withNumberOfSamples:(int)numSamples;
      
      //-------------------------------------
      //Fault Frequency Damage Indicator 0-10
      //-------------------------------------
      +(int)ff_indicator:(NSArray*)rawData withSamplingRate:(int)sampRate withNumberOfSamples:(int)numSamples withDiscreteFreqHz:(double)fault_freq withAccThreshold:(double)accLimit withVelThreshold:(double)velLimit;
      
      //-----------------------------------------------------------------
      //Bearing Damage Indicator (0-10) using bearing's fault frequencies
      //-----------------------------------------------------------------
      +(int)bd_ff_indicator:(NSArray*)rawData withSamplingRate:(int)sampRate withNumberOfSamples:(int)numSamples withBPFI:(double)x_bpfi withBPFO:(double)x_bpfo withBSF:(double)x_bsf withFTF:(double)x_ftf;
      
      ...
        

      In your project import vibeFDaD/discreteFDaD.h and use as follow:

      
      #import "vibeFDaD/discreteFDaD.h"
      ...
      
      //sample use of the Condition Detection from vibration raw data
      
      NSString *conditionStr = [discreteFDaD computeConditionFromSignalRpm: rpm withRawDataArrayAxisH:rawDataArrayAxisH withRawDataArrayAxisV:rawDataArrayAxisV withRawDataArrayAxisA:rawDataArrayAxisA withSamplingRate:sampRate withNumberOfSamples:numSamples withThreshold:vThreshold];
      
      ...
      

    3. Mechanical Degradation Indicators (degradation module)
    4. 
      ...
      
      //-------------------------------
      //Condition degradation indicator
      //-------------------------------
      +(double) degradationIndicatorWithLambda: (double)lambda withAccTrendArray:(NSArray*)accTrendArray withVelTrendArray:(NSArray*)velTrendArray;
      
      //--------------------------------
      //Mechanical degradation indicator
      //--------------------------------
      +(double) degradationIndicatorWithAccTrendArray: (NSArray*)accTrendArray withVelTrendArray:(NSArray*)velTrendArray;
      
      ...
      

      In your project import vibeFDaD/degradation.h and use as follow:

      
      #import "vibeFDaD/degradation.h"
      ...
      
      double degradationIndicator = [degradation degradationIndicatorWithAccTrendArray:acc_array withVelTrendArray:vel_array];
      
      ...
      

    Changelog

    See what's new added, changed, fixed, improved or updated in the latest versions.

    Version 1.02 (14 Oct, 2021)

    • Updated Optimized for iOS®15

    Version 1.01 (11 Nov, 2020)

    • Added Support for simultaneous 3-axis data input

    Version 1.0 (7 Jan, 2011)

    Initial Release for iOS® based on previous developments: for C++/Windows