MC_AxRtFinishLinear_BkPlcMc (ab V3.0.16)
Der Funktionsbaustein sorgt für die Anpassung des erzeugten Stellwerts an die Besonderheiten der Achse unter Berücksichtigung einer Kennlinie.
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. |
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_ 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:
- EnableLinearisation ist FALSE.
- Es ist kein ValveTable verfügbar.
- ValveTableLowIdx ist kleiner als 0.
- ValveTableHighIdx ist kleiner oder gleich ValveTableLowIdx .
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:
- Der Parameter für die Kompensation der Richtungsabhängigkeit (Flächenverhältnis, Gravitation usw.) der Achsgeschwindigkeit ist unwirksam. Diese Kompensation ist in der Tabelle zu berücksichtigen.
- Die Parameter für die Kompensation eines Kennlinienknicks sind unwirksam. Diese Kompensation ist in der Tabelle zu berücksichtigen.
- Der Parameter für die Überdeckungskompensation ist unwirksam. Diese Kompensation ist in der Tabelle zu berücksichtigen.
- Eine Pressdruckausgabe oder eine Offsetkompensation können nicht durch eine Linearisierung realisiert werden. Die entsprechenden Parameter sind aktiv.
Beispiel: Anzeige einer Linearisierung im PlcMcManager:
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.