FB_ALY_EventTimingAnalysis_2Ch

Der Event Timing Analysis 2Ch misst Zeitdifferenzen zwischen On- und Off-Ereignissen und zählt die Anzahl der ausgelösten Ereignisse. Ein On-Ereignis wird ausgelöst, wenn das Signal des ersten Eingangskanals die konfigurierte Flanke bei einer bestimmten On-Schwelle passiert, und ein Off-Ereignis wird ausgelöst, wenn die Off-Schwelle vom Signal des zweiten Kanals passiert wird.

Syntax

Definition:

FUNCTION_BLOCK FB_ALY_EventTimingAnalysis_2Ch
VAR_INPUT
    bPersistent: BOOL;
    bInitWithThresholdLevel: BOOL
END_VAR
VAR_OUTPUT
    ipResultMessage: Tc3_EventLogger.I_TcMessage;
    bError: BOOL;
    bNewResult: BOOL;
    bConfigured: BOOL;
    bIsOn: BOOL;
    nSwitchedOn: ULINT;
    fbTimeCurrentInterval: FB_ALY_Timespan;
    fbTimeOnMin: FB_ALY_Timespan;
    fbTimeOnMax: FB_ALY_Timespan;
    fbTimeOnAvg: FB_ALY_Timespan;
    fbTimeOnTotal: FB_ALY_Timespan;
    fbTimeOffMin: FB_ALY_Timespan;
    fbTimeOffMax: FB_ALY_Timespan;
    fbTimeOffAvg: FB_ALY_Timespan;
    fbTimeOffTotal: FB_ALY_Timespan;
END_VAR

FB_ALY_EventTimingAnalysis_2Ch 1: Eingänge

Name

Typ

Beschreibung

bPersistent

BOOL

Ist der Wert TRUE, werden die internen Daten persistent gespeichert.

bInitWithThresholdLevel

BOOL

Ist der Wert TRUE, verwendet der Algorithmus zur Initialisierung des internen Zustandes einen Schwellwert, anstatt auf eine Flanke zu warten.

FB_ALY_EventTimingAnalysis_2Ch 2: 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.

bIsOn

BOOL

TRUE innerhalb der Zeitspanne zwischen dem On-Ereignis und dem Off-Ergebnis, ansonsten FALSE.

nSwitchedOn

ULINT

Zählt die Anzahl der ausgelösten On-Ereignisse.

fbTimeCurrentInterval

FB_ALY_Timespan

Zeitspanne des aktuellen Intervalls.

fbTimeOnMin

FB_ALY_Timespan

Minimale Zeit zwischen On-Ereignis und Off-Ereignis.

fbTimeOnMax

FB_ALY_Timespan

Maximale Zeit zwischen On-Ereignis und Off-Ereignis.

fbTimeOnAvg

FB_ALY_Timespan

Durchschnittliche Zeit zwischen On-Ereignis und Off-Ereignis.

fbTimeOnTotal

FB_ALY_Timespan

Gesamtzeit zwischen On-Ereignissen und Off-Ereignissen.

fbTimeOffMin

FB_ALY_Timespan

Minimale Zeit zwischen Off-Ereignis und On-Ereignis.

fbTimeOffMax

FB_ALY_Timespan

Maximale Zeit zwischen Off-Ereignis und On-Ereignis.

fbTimeOffAvg

FB_ALY_Timespan

Durchschnittliche Zeit zwischen Off-Ereignis und On-Ereignis.

fbTimeOffTotal

FB_ALY_Timespan

Gesamtzeit zwischen Off-Ereignissen und On-Ereignissen.

FB_ALY_EventTimingAnalysis_2Ch 3: 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.

ConfigureChannel()

Local

Kanalspezifische Konfiguration für den jeweiligen Algorithmus.

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.

FB_ALY_EventTimingAnalysis_2Ch 4: Eigenschaften

Name

Typ

Zugriff

Definitionsort

Initialwert

Beschreibung

fTolerance

LREAL

Get, Set

Lokal

0.0

Toleranzwert für die Vergleiche Equal / NotEqual

Beispiel

VAR
    fbEventTimingAnalysis : FB_ALY_EventTimingAnalysis_2Ch;
    fbSystemTime : FB_ALY_GetSystemTime;
    stThresholdEdge : ST_ALY_ThresholdOnOff;
    bResetOnMultipleOn : BOOL := FALSE;
    bConfigure : BOOL := TRUE;
    nInput : INT;
    fInput : LREAL;
END_VAR
// Configure algorithm
IF bConfigure THEN
    bConfigure := FALSE;
    
    stThresholdEdge.On.eComparisonOperator := E_ALY_ComparisonOperator.Equals; 
    stThresholdEdge.On.fThreshold := 1;
    stThresholdEdge.Off.eComparisonOperator := E_ALY_ComparisonOperator.Equals; 
    stThresholdEdge.Off.fThreshold := 0;
    
    fbEventTimingAnalysis.ConfigureChannel(1, stThresholdEdge.On);
    fbEventTimingAnalysis.ConfigureChannel(2, stThresholdEdge.Off);
    fbEventTimingAnalysis.Configure(bResetOnMultipleOn);
END_IF

// Get current system time
fbSystemTime.Call();

// Call algorithm
fbEventTimingAnalysis.SetChannelValue(1, nInput);
fbEventTimingAnalysis.SetChannelValue(2, fInput);
fbEventTimingAnalysis.Call(fbSystemTime.tSystemTime);

Voraussetzungen

Entwicklungsumgebung

Zielplattform

Einzubindende SPS-Bibliotheken

TwinCAT v3.1.4024.0

PC oder CX (x64, x86)

Tc3_Analytics