MC_AxRtFinishLinear_BkPlcMc (ab V3.0.16)

MC_AxRtFinishLinear_BkPlcMc (ab V3.0.16) 1:

Der Funktionsbaustein sorgt für die Anpassung des erzeugten Stellwerts an die Besonderheiten der Achse unter Berücksichtigung einer Kennlinie.

MC_AxRtFinishLinear_BkPlcMc (ab V3.0.16) 2: Eingänge

VAR_INPUT
    EnableLinearisation:   BOOL;
    ValveTable:            POINTER TO LREAL:=0;
    ValveTableLowIdx:      INT:=0;
    ValveTableHighIdx:     INT:=0;
END_VAR

Name

Typ

Beschreibung

EnableLinearisation

BOOL

Ein TRUE an diesem Eingang aktiviert die Linearisierung.

ValveTable

POINTER TO LREAL

Die Adresse der Linearisierungstabelle ist hier zu übergeben. Dabei sollte es sich möglichst um den ValveCharacteristicTable einer ST_TcMcAutoIdent handeln, die mit der Achse verbunden ist. Wird hier ein Null-Pointer übergeben wird die Linearisierungstabelle und die Begrenzungs-Indizes der mit der Achse verbundenen ST_TcMcAutoIdent Struktur verwendet. Ist eine solche Struktur nicht vorhanden zeigt der Baustein das Verhalten eines MC_AxRtFinish() Bausteins.

ValveTableLowIdx

INT

Der Index des ersten Punktes in der Linearisierungstabelle.

ValveTableHighIdx

INT

Der Index des letzten Punktes in der Linearisierungstabelle. Dabei sollte es sich möglichst um den ValveCharacteristicTblCount einer ST_TcMcAutoIdent handeln, die mit der Achse verbunden ist.

MC_AxRtFinishLinear_BkPlcMc (ab V3.0.16) 3: Ein-/Ausgänge

VAR_INOUT
    Axis:                  Axis_Ref_BkPlcMc;
END_VAR

Name

Typ

Beschreibung

Axis

Axis_Ref_BkPlcMc

Hier ist die Adresse einer Variablen vom Typ Axis_Ref_BkPlcMc zu übergeben.

VAR_MC_AxRtFinishLinear_BkPlcMc (ab V3.0.16) 4: Ausgänge

UTPUT
    Error:                 BOOL;
    ErrorID:               UDINT;
END_VAR

Name

Typ

Beschreibung

Error

BOOL

Hier wird das Auftreten eines Fehlers signalisiert.

ErrorID

UDINT

Hier wird eine codierte Fehlerursache bereitgestellt.

Verhalten des Bausteins

Bei jedem Aufruf untersucht der Baustein das übergebene Achsinterface. Dabei können eine Reihe von Problemen erkannt werden:

In diesen Fällen wird intern ein MC_AxRtFinish_BkPlcMc Baustein aufgerufen und dessen Ausgänge durchgereicht. Andernfalls wird die Tabellenlinearisierung für die Achse durchgeführt. Dabei sind folgende Besonderheiten zu beachten:

Beispiel: Anzeige einer Linearisierung im PlcMcManager:

MC_AxRtFinishLinear_BkPlcMc (ab V3.0.16) 5:

Ein Programmbeispiel finden Sie in der SampleList der Knowledge Base. Hier wird auch die automatische Ermittlung einer Kennlinie mit einem MC_AxUtiAutoIdent_BkPlcMc Baustein demonstriert.