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
Eingänge
Name | Typ | Beschreibung |
---|---|---|
bPersistent | BOOL | Ist der Wert |
Ausgänge
Name | Typ | Beschreibung |
---|---|---|
ipResultMessage | 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 |
bNewResult | BOOL | Wenn ein neues Ergebnis berechnet wurde, ist der Ausgang |
bConfigured | BOOL | Zeigt |
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. |
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 |