FB_ALY_BatchNShift_1Ch

Der BatchNShift 1Ch puffert die Werte des Eingangssignals entsprechend der Puffergröße und des Sample Modus. Die Anzahl der Ausgangskanäle, in denen die gepufferten Eingangswerte gespeichert werden, entspricht der Puffergröße. Mithilfe des Sample Modus kann zwischen zwei verschiedenen Betriebsarten des Algorithmus unterschieden werden. Wird der Sample Modus Flow gewählt, so wird ein Ringpuffer beziehungsweise Schieberegister realisiert (Shift). Die Werte werden jeweils nacheinander in den Puffer geschrieben und in jedem Zyklus um eine Stelle des Puffers verschoben. Ist der Puffer voll, fällt der letzte Wert heraus. Im Modus Wait wird der Puffer stattdessen immer dann, wenn er vollständig gefüllt ist, komplett geleert und mit neuen Werten befüllt, sodass die Werte in Form von Batches verarbeitet werden (Batch). Zu Beginn einer Analyse wird dabei ebenfalls zunächst gewartet, bis der Puffer vollständig komplett gefüllt ist, erst dann werden die Werte in den Puffer geschrieben. Daher liefert der Baustein erst ab dem Zyklus (BufferSize + 1) gültige Werte.

Syntax

Definition:

FUNCTION_BLOCK FB_ALY_BatchNShift_1Ch
VAR_OUTPUT 
    ipResultMessage: Tc3_EventLogger.I_TcMessage;
    bError: BOOL;
    bNewResult: BOOL;
    bConfigured: BOOL;
END_VAR

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

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

FB_init()

Local

Initialisieren der Anzahl der Ausgangskanäle (Größe des internen Puffers).

GetChannelOutputValue()

Local

Methode für das Abholen von einzelnen Ausgangswerten aus dem Ausgangs-Array.

GetOutputArray()

Local

Methode für das Abholen des gesamten Ausgangs-Arrays.

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
    fbBatchNShift : FB_ALY_BatchNShift_1Ch(nBufferSize := 100);
    eSampleMode : E_ALY_SampleMode := E_ALY_SampleMode.Flow;
    bConfigure : BOOL := TRUE;
    nInput : INT;
    aBuffer : ARRAY[1..100] OF LREAL;
END_VAR
// Configure algorithm
IF bConfigure THEN
    bConfigure := FALSE;

    fbBatchNShift.Configure(eSampleMode);
END_IF

// Call algorithm
fbBatchNShift.SetChannelValue(nInput);
fbBatchNShift.Call();
fbBatchNShift.GetOutputArray(ADR(aBuffer), SIZEOF(aBuffer));

Voraussetzungen

Entwicklungsumgebung

Zielplattform

Einzubindende SPS-Bibliotheken

TwinCAT v3.1.4024.0

PC oder CX (x64, x86)

Tc3_Analytics