Schwingungsbeurteilung nach ISO 10816-3 (kompakt)
Die Schwingungsbeurteilung in Anlehnung an ISO 10816-3 ist im Abschnitt Anwendungskonzepte näher erläutert, siehe Schwingungsbeurteilung. Die Klassifizierung erfolgt direkt durch den Funktionsbaustein FB_CMA_VibrationAssessment.
Das Beispiel können Sie hier herunterladen: VibrationAssessment_Sample.zip
Eine alternative Umsetzung finden Sie im Beispiel Schwingungsbeurteilung nach ISO 10816-3 und im Beispiel Schwingungsbeurteilung nach ISO 10816-3 (erweitert).
Blockdiagramm
Programmparameter
Die Tabelle unten zeigt eine Liste mit wichtigen Parametern für die Konfiguration der verwendeten Funktionsbausteine.
Puffergröße | 800 |
Kanäle | 2 |
FFT Länge | 2048 |
Fenstergröße | 1600 |
Sampling-Rate | 10000 |
Anzahl der Frequenzbänder | 2 |
Untere Frequenzschranke | [10, 200] |
Obere Frequenzschranke | [1000, 2000] |
Ordnung (RMS) | 2 |
Fenster Typ | eCM_HannWindow |
Umwandeln in Dezibel | FALSE |
Konfiguration
Für die Maschinenüberwachung nach ISO 10816-3 werden die Schnelle und Auslenkung der Messdaten verwendet. Eine Klassifikation anhand der Beschleunigungsdaten wird nicht vorgenommen. Aus diesem Grund wird die Klassifikation implizit deaktiviert, indem die Grenzwerte auf einen ausreichend hohen Wert gesetzt werden (siehe 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];
Auswertung
Die Definition der Klassifizierung in Anlehnung an ISO 10816-3 basierend auf der Schnelle und Auslenkung für alle Kanäle erfolgt in der Steuerungstask. Ist ein neues Ergebnis verfügbar, wird dieses wie folgt ausgewertet:
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
Die Ergebnisdaten aVAResult
beinhalten für alle konfigurierten Frequenzbänder folgende Informationen:
ISO_10816_HighscoreClass
: Die Klassifizierung (A-D
) des Maschinenzustandes anhand der konfigurierten Grenzwerte.ISO_10816_HighscoreOrder
: Die Integrationsordnung für die berechnete Bewertung, d.h.0
für die Beschleunigung,1
für die Schnelle und2
für die Auslenkung.ISO_10816_HighscoreChannel
: Der zugrundeliegende Kanal für die berechnete Bewertung.
In diesem Beispiel erfolgt die Auswahl des Frequenzbandes für die Bewertung über die Variable ISO_10816_nSelectedBand
.
Gedächtniseigenschaft
Über den Initialparameter bMemorize
kann die Gedächtniseigenschaft des Algorithmus geändert werden. Wird der Parameter auf TRUE
gesetzt, wird die höchste Klassifikation nicht wieder durch eine niedrigere Bewertung überschrieben, bis die Methode ResetData()
aufgerufen wird. Vergleiche hierzu das Verhalten des Funktionsbausteins FB_CMA_WatchUpperThresholds.
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken |
---|---|---|
TwinCAT v3.1.4022.25 | PC or CX (x86, x64) | Tc3_CM, Tc3_CM_Base |
Eingeschränkter Funktionsumfang bereits mit CM 3.1 verfügbar. Siehe Abschnitt Kompatibilität. |