FB_ALY_Multiplexer

Der Multiplexer wählt einen Kanal aus einem oder mehreren Eingangskanälen aus. Für jeden Eingangskanal muss zusätzlich ein boolscher Eingang bereitgestellt werden. Der Ausgang entspricht dem ersten Eingangskanal, wenn der bedingte Eingang TRUE ist. Die Priorität der konfigurierten Kanäle ist die Reihenfolge ihrer Konfiguration. Wenn die Bedingung für keinen der Kanäle erfüllt ist, wird der bereitgestellte Standardkanal zurückgegeben.

Syntax

Definition:

FUNCTION_BLOCK FB_ALY_Multiplexer
VAR_INPUT
    bPersistent: BOOL;
END_VAR
VAR_OUTPUT
    ipResultMessage: Tc3_EventLogger.I_TcMessage;
    bError: BOOL;
    bNewResult: BOOL;
    bConfigured: BOOL;
    fResult: LREAL;
    nCurrentChannel: UDINT;
    nCount: ULINT;
    fbTimeLastEvent: FB_ALY_DateTime;
END_VAR

FB_ALY_Multiplexer 1: Eingänge

Name

Typ

Beschreibung

bPersistent

BOOL

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

FB_ALY_Multiplexer 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.

fResult

LREAL

Gibt das Signal des ausgewählten Eingangskanals aus.

nCurrentChannel

UDINT

Gibt die Nummer des ausgewählten Kanals an. Der Wert ist 0, wenn das Standardergebnis ausgewählt ist. Die Eingangskanäle werden in der Reihenfolge ihrer Konfiguration nummeriert.

nCount

ULINT

Beginnt mit 1 für den Kanal, der bei Beginn der Analyse ausgewählt wird, und zählt jedes Mal hoch, wenn ein anderer Kanal ausgewählt wird.

fbTimeLastEvent

FB_ALY_DateTime

Zeitstempel des letzten Kanalwechsels.

FB_ALY_Multiplexer 3: Methoden

Name

Definitionsort

Beschreibung

Call()

Local

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

FB_init()

Local

Initialisieren der Anzahl der Eingangskanäle.

Reset()

Local

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

SetChannelValues()

Local

Methode zur Übergabe kanalspezifischer Werte an den Algorithmus.

SetDefaultChannelValue()

Local

Methode zur Übergabe eines Werts an den Algorithmus, der als Standard ausgewählt wird, wenn kein Kanal ausgewählt wird.

Beispiel

VAR
    fbMultiplexer : FB_ALY_Multiplexer(nNumChannels := 3);
    fbSystemTime : FB_ALY_GetSystemTime;
    nInputCh1 : INT := 11;
    fInputCh2 : LREAL := 1.5;
    nInputCh3 : UDINT := 123;
    fDefault : LREAL := 3.1415;
    bConditionCh1 : BOOL;
    bConditionCh2 : BOOL;
    bConditionCh3 : BOOL;
END_VAR
// Get current system time
fbSystemTime.Call();

// Call algorithm
fbMultiplexer.SetChannelValues(1, bConditionCh1, nInputCh1);
fbMultiplexer.SetChannelValues(2, bConditionCh2, fInputCh2);
fbMultiplexer.SetChannelValues(3, bConditionCh3, nInputCh3);
fbMultiplexer.SetDefaultChannelValue(fDefault);

fbMultiplexer.Call(fbSystemTime.tSystemTime);

Voraussetzungen

Entwicklungsumgebung

Zielplattform

Einzubindende SPS-Bibliotheken

TwinCAT v3.1.4024.0

PC oder CX (x64, x86)

Tc3_Analytics