Vibration assessment according to ISO 10816-3 (compact)

Vibration assessment based on ISO 10816-3 is explained in more detail in section Application concepts, see Vibration assessment. The classification takes place via the function block FB_CMA_VibrationAssessment.

The sample is available for download from here: VibrationAssessment_Sample.zip

An alternative implementation can be found in the sample Vibration assessment according to ISO 10816-3 and in the sample Vibration assessment according to ISO 10816-3 (extended).

Block diagram

Vibration assessment according to ISO 10816-3 (compact) 1:

Program parameters

The table below shows a list of important parameters for the configuration of the function blocks that are used.

Buffer size

800

Channels

2

FFT length

2048

Window size

1600

Sampling rate

10000

Number of frequency bands

2

Lower frequency bound

[10, 200]

Upper frequency bound

[1000, 2000]

Order (RMS)

2

Window type

eCM_HannWindow

Conversion to decibels

FALSE

Configuration

The speed and deflection of the measured data are used for the machine monitoring according to ISO 10816-3. A classification on the basis of the acceleration data does not take place. For this reason the classification is implicitly deactivated by setting the limit values to a sufficiently high value (see GVL_Constants):

cISOClassDef_Vibration : ARRAY[1..cMaxClasses] OF LREAL := [1E6, 1E6, 1E6];
cISOClassDef_Velocity  : ARRAY[1..cMaxClasses] OF LREAL := [2.3E-3, 4.5E-3, 7.1E-3];
cISOClassDef_Displ     : ARRAY[1..cMaxClasses] OF LREAL := [29E-6, 57E-6, 90E-6];

Evaluation

The definition of the classification on the basis of ISO 10816-3, based on the speed and deflection for all channels, takes place in the control task. If a new result is available, it is evaluated as follows:

IF bCalculate THEN    
    // Highscore in classification according to ISO 10816-3.
    ISO_10816_HighscoreClass    := aVAResult[ISO_10816_nSelectedBand][1];  // class
    ISO_10816_HighscoreOrder    := aVAResult[ISO_10816_nSelectedBand][2];  // order
    ISO_10816_HighscoreChannel  := aVAResult[ISO_10816_nSelectedBand][3];  // channel

    IF NOT (ISO_10816_HighscoreClass = E_IsoClass.Error) THEN
        nCountResults := fbSink.nCntResults;
        // ToDo: if succeeded
    ELSE
        // ToDo: if error; RMS result is NaN. Code here what to do.
    END_IF
END_IF

The result data aVAResult contain the following information for all configured frequency bands:

In this sample, the frequency band for the evaluation is selected via the variable ISO_10816_nSelectedBand.

Memory property

The memory property of the algorithm can be changed via the initial parameter bMemorize. If the parameter is set to TRUE, the highest classification is not overwritten again by a lower evaluation until the method ResetData() is called. Compare the behavior of the function block FB_CMA_WatchUpperThresholds here.

Requirements

Development environment

Target platform

PLC libraries to include

TwinCAT v3.1.4022.25

PC or CX (x86, x64)

Tc3_CM, Tc3_CM_Base

Vibration assessment according to ISO 10816-3 (compact) 2:

Limited functional scope already available with CM 3.1. See section Compatibility.