FB_ALY_AM8xxxSSD

Der AM8xxxSSD ermöglicht die Analyse eines Motors, der mit der Smart System Diagnosis-Funktionalität ausgestattet ist. Der verbaute Encoder nimmt Messwerte verschiedener, intern verbauter Sensoren auf. Dazu zählen die Temperatur und Luftfeuchtigkeit im Encoder, als auch die Beschleunigung in X- und Y-Richtung. Auf Basis dieser Messwerte werden verschiedene statistische Kenngrößen errechnet und eine Schwellwertüberwachung zur Detektion von Schocks durchgeführt.

Syntax

Definition:

FUNCTION_BLOCK FB_ALY_SectionTimer_1Ch
VAR_OUTPUT
    ipResultMessage : Tc3_EventLogger.I_TcMessage;
    bError : BOOL;
    bNewResult : BOOL;
    bConfigured : BOOL;
    stHumidity : ST_ALY_LiveMinMaxAvg;
    stTemperature : ST_ALY_LiveMinMaxAvg;
    stXRmsAcceleration : ST_ALY_LiveMinMaxAvg;
    stXKurtosisAcceleration : ST_ALY_LiveMinMaxAvg;
    stXPeakPeakAcceleration : ST_ALY_LiveMinMaxAvg;
    stYRmsAcceleration : ST_ALY_LiveMinMaxAvg;
    stYKurtosisAcceleration : ST_ALY_LiveMinMaxAvg;
    stYPeakPeakAcceleration : ST_ALY_LiveMinMaxAvg;
    bXShockDetected : BOOL;
    nCountXShocks : ULINT;
    fbLastXShockEvent : FB_ALY_DateTime;
    bYShockDetected : BOOL;
    nCountYShocks : ULINT;
    fbLastYShockEvent : FB_ALY_DateTime;
    nCountTotalShocks : ULINT;
END_VAR

FB_ALY_AM8xxxSSD 1: Ausgänge

Name

Typ

Beschreibung

ipResultMessage

I_TcMessage

Beinhaltet nähere Informationen zum aktuellen Rückgabewert. Für diesen speziellen Schnittstellenzeiger ist intern sichergestellt, dass er immer gültig/zugewiesen ist.

bError

BOOL

Der Ausgang ist TRUE, wenn ein Fehler auftritt.

bNewResult

BOOL

Wenn ein neues Ergebnis berechnet wurde, ist der Ausgang TRUE.

bConfigured

BOOL

Zeigt TRUE an, wenn der Baustein erfolgreich konfiguriert ist.

stHumidity

ST_ALY_LiveMinMaxAvg

Luftfeuchte innerhalb des Encoders in %.

stTemperature

ST_ALY_LiveMinMaxAvg

Temperatur innerhalb des Encoders in °C.

stXRmsAcceleration

ST_ALY_LiveMinMaxAvg

RMS der Beschleunigung in X-Richtung in g.

stXKurtosisAcceleration

ST_ALY_LiveMinMaxAvg

Kurtosis der Beschleunigung in X-Richtung.

stXPeakPeakAcceleration

ST_ALY_LiveMinMaxAvg

Spitze-Spitze-Wert der Beschleunigung in X-Richtung in g.

stYRmsAcceleration

ST_ALY_LiveMinMaxAvg

RMS der Beschleunigung in Y-Richtung in g.

stYKurtosisAcceleration

ST_ALY_LiveMinMaxAvg

Kurtosis der Beschleunigung in Y-Richtung.

stPeakPeakAccelerationY

ST_ALY_LiveMinMaxAvg

Spitze-Spitze-Wert der Beschleunigung in Y-Richtung in g.

bXShockDetected

BOOL

TRUE, wenn der ein Schock in X-Richtung detektiert wird. Hierfür wird der Schwellwert des RMS der Beschleunigung überwacht.

nCountXShocks

ULINT

Anzahl der Schocks in X-Richtung.

fbLastXShockEvent

FB_ALY_DateTime

Zeitstempel des zuletzt detektierten Schocks in X-Richtung.

bYShockDetected

BOOL

TRUE, wenn der ein Schock in Y-Richtung detektiert wird. Hierfür wird der Schwellwert des RMS der Beschleunigung überwacht.

nCountYShocks

ULINT

Anzahl der Schocks in Y-Richtung.

fbLastYShockEvent

FB_ALY_DateTime

Zeitstempel des zuletzt detektierten Schocks in Y-Richtung.

nCountTotalShocks

ULINT

Anzahl der Schocks in X- und Y-Richtung.

FB_ALY_AM8xxxSSD 2: Methoden

Name

Definitionsort

Beschreibung

Call()

Local

Methode zur Berechnung der Ausgänge für eine bestimmte Konfiguration.

Configure()

Local

Allgemeine Konfiguration des Algorithmus mit seinen parametrisierten Bedingungen.

GetChannelOutputArray()

Local

Abrufen des Ergebnis-Arrays für einen bestimmten Kanal, ohne neue Werte hinzuzufügen.

Reset()

Local

Setzt alle internen Zustände oder die bisher durchgeführten Berechnungen zurück.

SetChannelValue()

Local

Methode zur Übergabe von Werten an den Algorithmus.

Beispiel

VAR
fbAM8SSD : FB_ALY_AM8xxxSSD;
    fbSystemTime : FB_ALY_GetSystemTime;

    // Config
    bConfigure : BOOL := TRUE;
    nNumSectionsHumidity : UDINT := 50;
    nNumSectionsTemperature : UDINT := 50;
    nNumBinsRmsAcceleration : UDINT := 30;
    fThresholdRmsAcceleration : LREAL := 1.5;

    // Inputs
    nUpdateCounter AT%I* : ULINT;
    dataSensor0 AT%I* : ULINT;
    dataSensor1 AT%I* : ULINT;
    dataSensor2 AT%I* : ULINT;
    dataSensor3 AT%I* : ULINT;

    // Results
    aTimespansHumidity : ARRAY [1..50] OF LINT;
    aTimespansTemperature : ARRAY [1..50] OF LINT;
    aHistogramRmsAccelerationX : ARRAY [0..31] OF ULINT;
    aHistogramRmsAccelerationY : ARRAY [0..31] OF ULINT;
END_VAR
// Get current system time
fbSystemTime.Call();

// Configure algorithm
IF bConfigure THEN
    bConfigure := FALSE;
    fbAM8SSD.Configure(nNumSectionsHumidity, nNumSectionsTemperature, nNumSectionsRmsAcceleration, nNumBinsRmsAcceleration, fThresholdRmsAcceleration);
END_IF

// Call algorithm
fbAM8SSD.SetChannelValue(1, nUpdateCounter);
fbAM8SSD.SetChannelValue(2, dataSensor0);
fbAM8SSD.SetChannelValue(3, dataSensor1);
fbAM8SSD.SetChannelValue(4, dataSensor2);
fbAM8SSD.SetChannelValue(5, dataSensor3);
fbAM8SSD.Call(tTimestamp := fbSystemTime.tSystemTime);

fbAM8SSD.GetChannelOutputArray(1, ADR(aTimespansHumidity) , SIZEOF(aTimespansHumidity));
fbAM8SSD.GetChannelOutputArray(2, ADR(aTimespansTemperature) , SIZEOF(aTimespansTemperature));
fbAM8SSD.GetChannelOutputArray(3, ADR(aHistogramRmsAccelerationX) , SIZEOF(aHistogramRmsAccelerationX));
fbAM8SSD.GetChannelOutputArray(4, ADR(aHistogramRmsAccelerationY) , SIZEOF(aHistogramRmsAccelerationY));SIZEOF(aTimespansOut));

Vorbereitung

Damit die Sensorwerte für eine Analyse zur Verfügung stehen, müssen diese zum Prozessabbild des Antriebs hinzugefügt werden. Dieser Vorgang wird im Folgenden aufgezeigt.

1. Erstellen Sie ein TwinCAT-Projekt.
2. Scannen Sie die I/Os des TwinCAT-Projektes.
3. Fügen Sie zu der Solution ein Drive Manager-Projekt hinzu.
4. Wählen Sie den entsprechenden Kanal des Antriebs aus, an dem der Motor mit dem B/SSD-Fähigen Encoder angeschlossen ist.
5. Wählen Sie den Reiter Advanced an.
6. Im Unterpunkt Process data können weitere Prozessdaten hinzugefügt werden.
7. Fügen Sie folgende Prozessdaten hinzu:
IntSHub: Update counter
IntSHub: Data Sensor 0
IntSHub: Data Sensor 1
IntSHub: Data Sensor 2
IntSHub: Data Sensor 3
FB_ALY_AM8xxxSSD 3:
Nach dem Hinzufügen der Prozessdaten werden diese im Knoten I/O angezeigt und stehen für die Analyse zur Verfügung.
FB_ALY_AM8xxxSSD 4:

Voraussetzungen

Entwicklungsumgebung

Zielplattform

Einzubindende SPS-Bibliotheken

TwinCAT v3.1.4024.0

PC oder CX (x64, x86)

Tc3_Analytics