MC_AxUtiAutoIdent_BkPlcMc (ab V3.0.28)

MC_AxUtiAutoIdent_BkPlcMc (ab V3.0.28) 1:

Der Funktionsbaustein ermittelt automatisch eine Reihe von Parametern der Achse.

MC_AxUtiAutoIdent_BkPlcMc (ab V3.0.28) 2: Eingänge

VAR_INPUT
    Execute: BOOL;
    Wait: BOOL;
END_VAR

Name

Typ

Beschreibung

Execute

BOOL

Eine steigende Flanke an diesem Eingang löst die Identifikation aus.

Wait

BOOL

(Ab TC2 V3.0.44 / TC3 V3.3.1.22) Wenn dieser Eingang auf TRUE gesetzt wird verlässt das interne Schrittschaltwerk die Erholungszeit nicht. Das Hochrampen des Ausgabewerts bei noch nicht geschalteten Ventilen kann so verhindert werden.

MC_AxUtiAutoIdent_BkPlcMc (ab V3.0.28) 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.

MC_AxUtiAutoIdent_BkPlcMc (ab V3.0.28) 4: Ausgänge

VAR_OUTPUT
    Busy: BOOL;
    Done: BOOL;
    Error: BOOL;
    ErrorID: UDINT;
    Step: INT;
    InRecovery: BOOL;
END_VAR

Name

Typ

Beschreibung

Busy

BOOL

Hier wird signalisiert, dass ein Kommando abgearbeitet wird.

Done

BOOL

Hier wird die erfolgreiche Durchführung der Identifikation signalisiert.

Error

BOOL

Hier wird das Auftreten eines Fehlers signalisiert.

ErrorID

UDINT

Hier wird eine codierte Fehlerursache bereitgestellt.

Step

INT

Der aktuelle Schritt des internen Schrittschaltwerks.

InRecovery

BOOL

(Ab TC2 V3.0.44 / TC3 V3.3.1.22) Hier wird signalisiert, dass eine Erholungszeit (festgelegt durch ValveCharacteristicRecovery) abläuft.

Verhalten des Bausteins

Der Baustein überprüft, ob der Pointer Axis_Ref_BkPlcMc.pStAxAutoParams initialisiert wurde. Ist dies der Fall führt er bei einer steigenden Flanke am Execute Eingang eine Reihe von Initialiserungen aus und beginnt dann mit der Parameter-Identifikation. Die einzelnen Schritte der Identifikation werden durch die Werte in ST_TcMcAutoIdent festgelegt.

EnableEndOfTravel: Wenn dieser boolsche Parameter gesetzt ist werden die mechanischen Fahrwegsgrenzen automatisch ermittelt. Hierzu wird zunächst sichergestellt, dass die Achse frei beweglich oder am positiven Block ist. Jetzt wird die Achse mit einer negativen Steuerspannung gefahren bis sie den Block erreicht hat. Anschließend wird die Achse mit positiver Steuerspannung betrieben bis der positive Block erkannt ist. Die Steuerspannung wird auf EndOfTravel_NegativLimit und EndOfTravel_PositivLimit begrenzt. Sollte die positive Fahrwegsgrenze kleiner sein als die negative werden die Werte getauscht und Axis.stAxParams.bDrive_Reversed invertiert.

EnableOverlap, EnableZeroAdjust: Wenn einer dieser boolschen Parameter gesetzt ist wird die Überdeckung bzw. die Offsetspannung des Ventils ermittelt.

MC_AxUtiAutoIdent_BkPlcMc (ab V3.0.28) 5:

Diese Operation wird durch EndOfTravel_Negativ und EndOfTravel_Positiv beeinflusst.

Zunächst wird die Achse in ein Positionsfenster bewegt, dass sich in der Mitte zwischen EndOfTravel_Positiv und EndOfTravel_Negativ befindet. Die Breite des Fensters ist 80% des durch diese Parameter festgelegten Bereichs. Dabei wird bei Bedarf die Ausgabepolarität des Drives invertiert. Jetzt wird die Ausgabespannung ermittelt, bei der die Achse beginnt, sich in positiver Richtung zu bewegen. Anschließend wird die entsprechende negative Spannung ermittelt. Durch Verrechnung dieser Parameter wird sowohl die Überdeckung als auch die Offsetspannung ermittelt. Die Art des Eintrags in die Achsparameter wird durch EnableOverlap und EnableZeroAdjust gesteuert.

EnableArreaRatio: Wenn dieser boolsche Parameter gesetzt ist wird das richtungsabhängige Geschwindigkeitsverhältnis ermittelt. Dazu wird die Achse zunächst in ein Positionsfenster bewegt, dass sich in der Mitte zwischen pStAxAutoParams. EndOfTravel_Positiv und pStAxAutoParams. EndOfTravel_Negativ befindet. Die Breite des Fensters ist 80% des durch diese Parameter festgelegten Bereichs. Anschließend wird in positiver und negativer Richtung für eine Sekunde mit einer Steuerspannung von 1Volt gefahren. Die dabei ermittelten Geschwindigkeiten werden zur Ermittlung des Geschwindigkeitsverhältnisses dividiert.

EndOfTravel_Negativ: [mm] Wenn die Ermittlung der Fahrwegsgrenzen aktiviert ist wird dieser Wert vom Baustein ermittelt. Ist sie deaktiviert muss hier die Vorgabe durch die Applikation gemacht werden.

MC_AxUtiAutoIdent_BkPlcMc (ab V3.0.28) 6:

Dieser Parameter beeinflusst die Ermittlung von Offsetspannung und Flächenverhältnis.

EndOfTravel_Positiv: [mm] Wenn die Ermittlung der Fahrwegsgrenzen aktiviert ist wird dieser Wert vom Baustein ermittelt. Ist sie deaktiviert muss hier die Vorgabe durch die Applikation gemacht werden.

MC_AxUtiAutoIdent_BkPlcMc (ab V3.0.28) 7:

Dieser Parameter beeinflusst die Ermittlung von Offsetspannung und Flächenverhältnis.

EndOfIncrements_Negativ: [1] Wenn die Ermittlung der Fahrwegsgrenzen aktiviert ist wird dieser Wert vom Baustein ermittelt. Er entspricht dann EndOfTravel_Negativ, ist aber der Encoder-Rohwert in Inkrementen.

EndOfIncrements_Positiv: [1] Wenn die Ermittlung der Fahrwegsgrenzen aktiviert ist wird dieser Wert vom Baustein ermittelt. Er entspricht dann EndOfTravel_Positiv, ist aber der Encoder-Rohwert in Inkrementen.

EndOfTravel_NegativLimit: [V] Dieser Parameter begrenzt negative Ausgangsspannungen.

EndOfTravel_PositivLimit: [V] Dieser Parameter begrenzt positive Ausgangsspannungen.

EndOfTravel_PositivDone: Dieses Signal wird vom Baustein gesetzt, wenn die Ermittlung der Fahrwegsgrenzen deaktiviert ist oder die positive Fahrwegsgrenze ermittelt wurde.

EndOfTravel_NegativDone: Dieses Signal wird vom Baustein gesetzt, wenn die Ermittlung der Fahrwegsgrenzen deaktiviert ist oder die negative Fahrwegsgrenze ermittelt wurde.

EndOfVelocity_NegativLimit: [mm/s] Dieser Parameter begrenzt negative Geschwindigkeiten. Ist diese Geschwindigkeit bei der Vermessung erreicht oder Überschritten wird die aktuelle Messung zu Ende geführt, aber keine weitere Messung in dieser Richtung vorgenommen.

EndOfVelocity_PositivLimit: [mm/s] Dieser Parameter begrenzt positive Geschwindigkeiten. Ist diese Geschwindigkeit bei der Vermessung erreicht oder Überschritten wird die aktuelle Messung zu Ende geführt, aber keine weitere Messung in dieser Richtung vorgenommen.

DecelerationFactor: [1] Nach dem Messhub wird die Achse für den nächsten Messhub zum Ende des Messwegs bewegt. Dabei werden die mit diesem Faktor gewichteten regulären Achsparameter fMaxAcc und fMaxDec verwendet.

EnableValveCharacteristic: Wenn dieser boolsche Parameter gesetzt ist wird die Geschwindigkeitskennlinie automatisch ermittelt.

ValveCharacteristicTable: Dieses ARRAY[1..2,1..100] enthält die Wertepaare der Linearisierungstabelle. Dabei ist ValveCharacteristicTable[nnn,1] der normierte Geschwindigkeitswert und ValveCharacteristicTable[nnn,2] der normierte Ausgabewert. Innerhalb der Tabelle weisen die Wertepaare mit steigendem Index steigende Werte für Geschwindigkeitswert und Ausgabewert. Das erste Wertepaar beschreibt somit den schnellsten negativen und das letzte aktive Wertepaar den schnellsten positiven Punkt. Bei der automatischen Ermittlung wird die Steuerspannung auf EndOfTravel_NegativLimit und EndOfTravel_PositivLimit und die Geschwindigkeit auf EndOfVelocity_NegativLimit und EndOfVelocity_PositivLimit begrenzt. Die weiteren Punkte der Tabelle werden aus den letzten beiden Messpunkten durch Extrapolation ermittelt.

ValveCharacteristicType: Hier kann die Identifikation an spezielle Ventil-Varianten oder besondere Bedingungen der Achse angepasst werden. Siehe hierzu auch E_TcMcValveType.

ValveCharacteristicTblCount: Dieser Parameter legt die Anzahl der zu ermittelnden Wertepaare in ValveCharacteristicTable fest. Der Wert muss ungerade sein und zwischen 3 und 99 (einschließlich) liegen.

ValveCharacteristicLowEnd: [mm] Die untere Endposition des für die Kennlinienermittlung zugelassenen Bereichs.

ValveCharacteristicHighEnd: [mm] Die obere Endposition des für die Kennlinienermittlung zugelassenen Bereichs.

ValveCharacteristicRamp: [s] Dieser Parameter legt die Rampe beim Aufbau der Messspannung für die Kennlinienermittlung fest. In der angegebenen Zeit wird die Spannung auf 10 Volt erhöht. Da die tatsächlichen Spannungen in der Regel geringer sind wird für den Aufbau eine entsprechend kleinere Zeit benötigt. Die Hinweise am Ende dieses Dokuments sind zu beachten.

ValveCharacteristicSettling: [s] Nachdem der Stellwert auf den Testpegel der Messung gerampt wurde kann der Start der Messung durch diesen Parameter verzögert werden. Die Hinweise am Ende dieses Dokuments sind zu beachten.

ValveCharacteristicRecovery: [s] Dieser Parameter legt eine Verweilzeit fest, die vor der Messfahrt eingehalten wird. Dadurch erhält die Versorgung die Möglichkeit, einen von der vorherigen Messfahrt verursachten Druckabfall abzubauen.

MC_AxUtiAutoIdent_BkPlcMc (ab V3.0.28) 8:

Die Achse wird während dieser Zeit nicht geregelt.

Ab TC2 V3.0.44 / TC3 V3.3.1.22: Der Ablauf der Verweilzeit wird am Ausgang InRecovery signalisiert.

ValveCharacteristicMinCycle: [mm] Die Messfahrt ist nur gültig wenn der Aufbau der Messspannung abgeschlossen ist, bevor die Achse sich der Mitte der durch ValveCharacteristicHighEnd und ValveCharacteristicLowEnd festgelegten Messstrecke auf weniger als der Hälfte dieses Wertes genähert hat. Andernfalls ist die effektive Messstrecke (ohne Rampen) kleiner als diese Strecke und diese Messung und alle weiteren in dieser Richtung werden durch einen unter Verwendung der Bezugsgeschwindigkeit der Achse errechneten Wert ersetzt.

Valve_LinLimitP, Valve_LinLimitM: [mm/s] Die niedrigste Geschwindigkeit für die Benutzung der Linearisierungstabelle. Für niedrigere Geschwindigkeiten wird die Kennlinie durch eine Gerade ersetzt, die den Nullpunkt mit dem Punkt für die hier angegebene Geschwindigkeit verbindet.

Beispiel: Darstellung einer Kennlinienermittlung im TwinCAT ScopeView:

MC_AxUtiAutoIdent_BkPlcMc (ab V3.0.28) 9:

Beispiel: Anzeige einer Linearisierung im PlcMcManager:

MC_AxUtiAutoIdent_BkPlcMc (ab V3.0.28) 10:

Die so ermittelte Kennlinie kann mit einem MC_AxRtFinishLinear_BkPlcMc Baustein für die Linearisierung zur Laufzeit genutzt werden.

MC_AxUtiAutoIdent_BkPlcMc (ab V3.0.28) 11:

Die Kennlinie wird in der Parameter-Datei der Achse gespeichert und beim Start des Systems automatisch gelesen.

Unabhängig davon kann die Linearisierungstabelle mit einem MC_LinTableImportFromAsciFile_BkPlcMc oder MC_LinTableImportFromBinFile_BkPlcMc Baustein aus einer Text- bzw. Binär-Datei importiert oder mit einem MC_LinTableExportToAsciFile_BkPlcMc oder MC_LinTableExportToBinFile_BkPlcMc Baustein exportiert werden.

MC_AxUtiAutoIdent_BkPlcMc (ab V3.0.28) 12:

Sollte während der Vermessung bei einer Test-Ausgabe eine geringere Geschwindigkeit als beim vorherigen Messpunkt in gleicher Richtung erkannt werden erfolgt unabhängig vom eingestellten Logger-Limit eine Warnung. Der Messpunkt wird automatisch korrigiert um fallende Kennlinienbereiche zu vermeiden. Diese Korrektur hat keinen Einfluss auf die Gültigkeit der Kennlinie. Allerdings sollte überprüft werden, ob die Werte in ValveCharacteristicRamp und die ValveCharacteristicSettling für diese Achse geeignet sind.