Dieser Funktionsbaustein wird zum Schreiben von Zielpositionen in einen Antrieb und zum Überwachen von Lücken verwendet.
WARNUNG | |
---|---|
Wenn die Sequenz der an die Achse gesendeten Zielpositionen Geschwindigkeiten erfordert, die höher als die festgelegten Grenzwerte sind, dann wird der Ausgang bStopIpo des Funktionsbausteins auf TRUE gesetzt. Dadurch wird der angeschlossene SMC-Interpolator gestoppt und die Achse kann eine Ausgleichsbewegung mit den Werten für die Beschleunigung, Geschwindigkeit, Verzögerung und den Stoßwerten durchführen, die an den entsprechenden Eingängen festgelegt wurden, um innerhalb der physischen Grenzen der Achse zu bleiben. Nach Abschluss der Ausgleichsbewegung wird der Ausgang bStopIpo auf FALSE zurückgesetzt und die Ausgangsbewegung kann fortgesetzt werden.
Eingang |
Datentyp |
Beschreibung |
---|---|---|
Axis |
MOIN.IF_axis |
Verweis auf die Achse. Für weitere Informationen siehe das Motion Interface-Bibliothekshandbuch. |
iStatus |
SM3_CNC.SMC_INT_STATUS |
Legt den Zustand einer SMC_Interpolator-Instanz fest. Ist mit dem Ausgang iStatus des Funktionsbausteins SMC_Interpolator verbunden (siehe SM3_CNC.SMC_INT_STATUS im SM3 CNC-Bibliothekshandbuch). |
bEnable |
BOOL |
Standardwert: FALSE Wenn dieser Eingang auf TRUE gesetzt wird, dann beginnt der Funktionsbaustein mit der Steuerung der Achse. FB_ControlAxisByPosCnc bleibt aktiv, bis eine der folgenden Bedingungen TRUE ist:
Wenn der Eingang während drei aufeinander folgender Zyklen FALSE bleibt, während ET_Result = ExecuteWithGap oder ExecuteWithoutGap, dann wechselt der Funktionsbaustein in den Zustand Halt. |
bAvoidGaps |
BOOL |
Standardwert: TRUE Wenn dieser Eingang auf TRUE gesetzt wird, dann werden Position und Geschwindigkeit überwacht. Wenn die Geschwindigkeit den Grenzwert überschreitet, dann wird der Ausgang bStopIpo auf TRUE gesetzt und die Achse fährt entsprechend den über die Eingänge fGapVelocity, fGapAcceleration, fGapJerk und fGapDeceleration festgelegten Werten zur Position am Eingang fSetPosition. Anschließend wird der Ausgang bStopIpo auf FALSE zurückgesetzt. |
fSetPosition |
LREAL |
Wertebereich: Jeder LREAL-Wert Standardwert: 0 Zielposition für die Achse. In der Regel wird dieser Eingang mit dem Ausgang eines Transformationsfunktionsbausteins oder direkt mit dem Ausgang eines Funktionsbausteins SMC_Interpolator verbunden. |
fGapVelocity |
LREAL |
Wertebereich: Jeder positive LREAL-Wert Standardwert: 1 Geschwindigkeit für die Überbrückung einer Lücke |
fGapAcceleration |
LREAL |
Wertebereich: Jeder positive LREAL-Wert Standardwert: 1000 Beschleunigung für die Überbrückung einer Lücke |
fGapDeceleration |
LREAL |
Wertebereich: Jeder positive LREAL-Wert Standardwert: 1000 Verzögerung für die Überbrückung einer Lücke und für das Stoppen, wenn bAvoidGaps FALSE ist und bEnable auf FALSE gesetzt wird. |
fGapJerk |
LREAL |
Wertebereich: Jeder positive LREAL-Wert und 0 Standardwert: 0 Ruck für die Überbrückung einer Lücke und für das Stoppen, wenn bAvoidGaps FALSE ist und bEnable auf FALSE gesetzt wird. |
fMaxVelocity |
LREAL |
Wertebereich: Jeder positive LREAL-Wert Standardwert: 1000 Max. Geschwindigkeit der Achse. |
fMaxAcceleration |
LREAL |
Wertebereich: Jeder positive LREAL-Wert Standardwert: 100000 Max. Beschleunigung der Achse. |
fMaxDeceleration |
LREAL |
Wertebereich: Jeder positive LREAL-Wert Standardwert: 100000 Max. Verzögerung der Achse. |
Ausgang |
Datentyp |
Beschreibung |
---|---|---|
bBusy |
BOOL |
TRUE = Ausführung des Funktionsbausteins ist nicht abgeschlossen. FALSE = Ausführung des Funktionsbausteins ist abgeschlossen. |
bCommandAborted |
BOOL |
TRUE = Befehl wurde durch einen anderen Befehl abgebrochen. FALSE = Befehl wurde nicht durch einen anderen Befehl abgebrochen. |
bError |
BOOL |
TRUE = Bei der Ausführung des Funktionsbausteins ist ein Fehler aufgetreten. TRUE = Bei der Ausführung des Funktionsbausteins ist kein Fehler aufgetreten. |
q_etResult |
ET_Result |
Gibt die Art der Diagnoseinformationen an. Wenn bError FALSE ist: Statusinformationen. Wenn bError TRUE ist: Informationen zu erkanntem Fehler. |
q_sResultMsg |
STRING(80) |
Stellt eine Diagnosemeldung bereit. |
bStopIpo |
BOOL |
TRUE = FB_ControlAxisByPosCnc hat eine Lückenbedingung erkannt und die Achse führt eine Bewegung aus, um aufzuschließen. Verbinden Sie diesen Ausgang mit dem Eingang EmergencyStop von SMC_Interpolator, sodass der Interpolator wartet, bis die Achse neu positioniert wurde. FALSE = FB_ControlAxisByPosCnc hat keine Lückenbedingung erkannt. |