OffsetLimit: Der Wert in fZeroCompensation wird auf diesen Wert begrenzt.
Error: Hier wird das Auftreten eines Fehlers signalisiert.
ErrorID: Hier wird eine codierte Fehlerursache bereitgestellt.
Active: Hier wird signalisiert, dass der Baustein den Wert von fZeroCompensation in ST_TcHydAxParam
[} 88] aktiv verstellt.
Limiting: Hier wird signalisiert, dass der Wert von fZeroCompensation in ST_TcHydAxParam [} 88] die von
OffsetLimit festgelegte Grenze erreicht hat.
Done: Hier wird ein Einpendeln des Offsetabgleichs signalisiert.
Axis: Hier ist die Adresse einer Variablen vom Typ Axis_Ref_BkPlcMc [} 62] zu übergeben.
Verhalten des Bausteins
Solange Enable auf FALSE steht wird der Baustein nicht aktiv und Done ist FALSE. Wird Enable auf TRUE
gesetzt entscheidet der Baustein selbständig, ob er aktiv oder inaktiv ist. Dabei werden bei einer Achse im
Zustand iTcHydStateIdle die Werte von fPosError und fActVelo berücksichtigt. Ist zusätzlich
EnableOnMoving auf TRUE gesetzt wird der Baustein auch dann aktiv, wenn bei einer Achse in einem
ungestörten und aktiven Zustand die Werte von fSetSpeed und fActVelo dies erlauben.
Im aktiven Zustand wird der Wert von fZeroCompensation in ST_TcHydAxParam [} 88] so nachgeführt, dass
die Achse eine zumindest geringe Bewegung in die erwünschte Richtung zeigt. Dabei legt Tn die Zeit fest, in
der bei einem bleibenden hohen Fehler eine Vollaussteuerung erreicht würde. Ist der Baustein inaktiv sind
Error und Active FALSE, ErrorID ist 0 und der Baustein führt den Wert von fZeroCompensation in
ST_TcHydAxParam [} 88] nicht nach.
Im aktiven Zustand wird der Wert von fZeroCompensation mit einem gespeicherten Wert verglichen.
Solange diese Werte sich um weniger als Threshold unterscheiden läuft eine Zeit, andernfalls wird sie auf
Null gesetzt und der gespeicherte Wert mit fZeroCompensation aktualisiert. Erreicht die Zeit die in Filter
eingestellte Grenze wird Done signalisiert.
HINWEIS! Die Begrenzung auf den von OffsetLimit festgelegten Wertebereich ist auch dann aktiv,
wenn der Baustein nicht aktiv ist. Der Ausgang Limiting wird aktualisiert.
Der Wert OffsetLimit und ST_TcHydAxParam [} 88].fZeroCompensation werden als Offsetspannung
betrachtet. Somit entspricht der Wert 10.0 einer Vollaussteuerung. In der Regel ist für OffsetLimit je nach
Einsatzfall ein Wert zwischen 0.1 und 1.0 sinnvoll.
Integration des Bausteins in die Applikation
In der Aufrufreihenfolge der Bausteine einer Achse sollte ein MC_AxCtrlAutoZero_BkPlcMc Baustein
unmittelbar vor dem MC_AxRtFinish_BkPlcMc [} 164] Baustein stehen. Wird an Stelle der Einzelbausteine ein
MC_AxStandardBody_BkPlcMc [} 170] Baustein aufgerufen sollte der MC_AxCtrlAutoZero_BkPlcMc vor
diesem Baustein aufgerufen werden.
Gefährliche Achsbewegung
Wenn beim Betrieb der Achse Situationen vorkommen, in denen die Achse eine Reglerfrei-
gabe anstehen hat, aber nicht ihr normales Bewegungsverhalten zeigt ist es zwingend er-
Achtung
forderlich, den MC_AxCtrlAutoZero_BkPlcMc Bausteins zu disablen. Denkbare Ursachen
für eine solche Situation sind zum Beispiel das Anfahren eines Blocks mit oder ohne Über-
gang in eine Druckregelung oder ein Absenken oder Abschalten der Versorgung. Wird dies
nicht beachtet kann der Wert von fZeroCompensation in ST_TcHydAxParam [} 88] in willkür-
licher Richtung bis zur festgelegten Begrenzung laufen. Sobald die Achse zu einem späte-
ren Zeitpunkt wieder reaktionsfähig wird ist eine unter Umständen gefährliche Bewegung
unvermeidbar. Das Positionierverhalten wird anschließend stark beeinträchtigt sein. Wird
der Baustein ohne EnableOnMoving aufgerufen kann er den verstellten Offset dann unter
Umständen nicht mehr automatisch korrigieren. Die Achse wird dann außerhalb des Ziel-
fensters stehen bleiben und niemals oder zumindest erst nach einer erheblichen Zeit die
Bewegung als abgeschlossen melden.
TwinCAT PLC Hydraulics
Version: 1.2
PLCopen Motion Control
105