FB_ALY_Demultiplexer
Der Demultiplexer wählt einen Ausgangskanal anhand des Eingangswertes aus. Dafür wird der Eingangswert als Integer interpretiert. Dieser Wert entspricht dem Ausgangskanal. Ist der Wert Außerhalb der konfigurierten Anzahl an Kanälen, so wird der Ausgangskanal 0 gesetzt.
Syntax
Definition:
FUNCTION_BLOCK FB_ALY_Demultiplexer
VAR_OUTPUT
ipResultMessage: Tc3_EventLogger.I_TcMessage;
bError: BOOL;
bNewResult: BOOL;
bConfigured: BOOL;
bSwitched: BOOL;
nCurrentChannel: UDINT;
nCount: ULINT;
fbTimeLastEvent: FB_ALY_DateTime;
END_VAR
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 |
bSwitched | BOOL |
|
nCurrentChannel | UDINT | Gibt die Nummer des ausgewählten Kanals an. Der Wert ist 0, wenn der ausgewählte Kanal außerhalb der konfigurierten Kanäle ist. |
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. |
GetResults() | Local | Abrufen des Ergebnis-Arrays, ohne neue Werte hinzuzufügen |
FB_init() | Local | Initialisieren der Anzahl der Ausgangskanäle. |
Reset() | Local | Setzt alle internen Zustände oder die bisher durchgeführten Berechnungen zurück. |
SetChannelValue() | Local | Methode zur Übergabe kanalspezifischer Werte an den Algorithmus. |
Beispiel
VAR
fbDemultiplexer : FB_ALY_Demultiplexer(nNumChannels := 3);
fbSystemTime : FB_ALY_GetSystemTime;
nInput : INT := 1;
aResults : ARRAY[0..3] OF BOOL;
END_VAR
// Get current system time
fbSystemTime.Call();
// Call algorithm
fbDemultiplexer.SetChannelValue(nInput);
fbDemultiplexer.Call(fbSystemTime.tSystemTime, ADR(aResults), SIZEOF(aResults));
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken |
---|---|---|
TwinCAT v3.1.4024.0 | PC oder CX (x64, x86) | Tc3_Analytics |