MC_StepBlockDetection
Dieser Funktionsbaustein führt die Suche nach einem physikalischen Objekt aus, das die Bewegung mechanisch blockiert.
Um mechanische Beschädigungen zu vermeiden, wird die Bewegung üblicherweise mit reduziertem Drehmoment ausgeführt („TorqueLimit“). Da der Istwert Schwankungen unterworfen ist, ist zusätzlich noch eine Toleranz anzugeben („TorqueTolerance“).
Die Bedingung für die erfolgreiche Beendigung des Ablaufs besteht aus zwei Teilen.
Erstens muss das Drehmoment innerhalb der angegebenen „TorqueTolerance“ dem „TorqueLimit“ entsprechen und zweitens muss sich die Ist-Geschwindigkeit für die Zeit „DetectionVelocityTime“ unterhalb des „DetectionVelocityLimit“ befinden.
Die „…Detection“-Version dieses Funktionsbausteins manipuliert die aktuelle Position der Achse am Ende der Sequenz nicht, sondern liefert die erkannte Position als „RecordedPosition“ an den Anwender zurück.
Eingänge
VAR_INPUT
Execute : BOOL;
Direction : MC_Home_Direction;
Velocity : LREAL;
Acceleration : LREAL;
Deceleration : LREAL;
Jerk : LREAL;
DetectionVelocityLimit : LREAL;
DetectionVelocityTime : TIME;
TimeLimit : TIME;
DistanceLimit : LREAL;
TorqueLimit : LREAL;
TorqueTolerance : LREAL;
BufferMode : MC_BufferMode;
Options : ST_Home_Options3;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
Execute | BOOL | Mit einer steigenden Flanke am Eingang Execute wird das Kommando ausgeführt. |
Direction | Enumeration legt die Startbewegungsrichtung für den Suchvorgang fest. | |
Velocity | LREAL | Maximale Geschwindigkeit, mit der gefahren werden soll (>0). |
Acceleration | LREAL | Beschleunigung (≥0). Bei einem Wert von 0 wirkt die Standardbeschleunigung aus der Achs-konfiguration im System Manager. |
Deceleration | LREAL | Verzögerung (≥0). Bei einem Wert von 0 wirkt die Standardverzögerung aus der Achskonfigu-ration im System Manager. |
Jerk | LREAL | Ruck (≥0). Bei einem Wert von 0 wirkt der Standardruck aus der Achskonfiguration im System Manager. |
DetectionVelocityLimit | LREAL | Geschwindigkeit, die für die Zeit DetectionVelocityTime unterschritten werden muss um das Auffahren auf den Festanschlag zu detektieren. |
DetectionVelocityTime | TIME | Zeit zum Detektieren der Geschwindigkeitsunterschreitung beim Auffahren auf den Festanschlag. |
TimeLimit | TIME | Ein Überschreiten dieser Zeit führt zum Abbruch des Suchvorgangs. |
DistanceLimit | LREAL | Ein Überschreiten dieser Distanz bezogen auf die Startposition führt zum Abbruch des Suchvorgangs. |
TorqueLimit | LREAL | Das Drehmoment des Motors wird auf diesen Wert, bezogen auf den möglicherweise im Antrieb parametrierten Gewichtsausgleich, begrenzt, um mechanischen Beschädigungen vorzubeugen. |
TorqueTolerance | LREAL | Toleranz bezogen auf das TorqueLimit innerhalb dessen das auffahren auf den Festanschlag detektiert wird. |
BufferMode | MC_BufferMode | Zurzeit nicht implementiert. |
Options | DisableDriveAccess: Bei Beckhoff-Antrieben auf FALSE, für Fremdantriebe gewöhnlich auf TRUE zu setzen (siehe Info). InstantLagReduction: Beim Referenzieren auf einen mechanischen Festanschlag tritt durch den plötzlichen Stop ein Schleppabstand in der NC-Achse auf, der im weiteren Verlauf mit den parametrierten Dynamikwerten abgebaut wird. Dieses kann beim Beobachten des Ablaufs zu einer vermeintlichen Verzögerung führen, ist aber speziell bei „weichen“ Festanschlägen sinnvoll. Durch Setzen dieses Flags erfolgt der Abbau des Schleppabstands sprunghaft. |
Ist DisableDriveAccess = TRUE, ist der Anwender selbst dafür verantwortlich, benötigte Antriebsparameter zu modifizieren und zu rekonstruieren. Die für die angestrebte Homing-Sequenz benötigten Parameter sind mit dem Hersteller des Fremdantriebes abzustimmen. |
/ Ein-/Ausgänge
VAR_IN_OUT
Axis : AXIS_REF;
Parameter : MC_HomingParameter;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
Axis | Achsdatenstruktur vom Typ AXIS_REF, welche eine Achse eindeutig im System adressiert. Sie enthält unter anderem den aktuellen Status der Achse wie Position, Geschwindigkeit oder Fehlerzustand. | |
Parameter | MC_HomingParameter | Datenstruktur vom Typ MC_HomingParameter, die über die gesamte Homing-Sequenz von Baustein zu Baustein übergeben werden muss. |
Ausgänge
VAR_OUTPUT
Done : BOOL;
Busy : BOOL;
Active : BOOL;
CommandAborted : BOOL;
Error : BOOL;
ErrorID : UDINT;
RecordedPosition : LREAL;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
Done | BOOL | Wird TRUE, wenn das Kommando erfolgreich beendet wurde. |
Busy | BOOL | Der Busy-Ausgang wird TRUE, sobald das Kommando mit Execute gestartet wird und bleibt TRUE, solange der Befehl abgearbeitet wird. Wenn Busy wieder FALSE wird, so ist der Funktionsbaustein bereit für einen neuen Auftrag. Gleichzeitig ist einer der Ausgänge Done, CommandAborted oder Error gesetzt. |
Active | BOOL | Zeigt an, dass das Kommando ausgeführt wird. |
CommandAborted | BOOL | Wird TRUE, wenn das Kommando nicht vollständig ausgeführt werden konnte. |
Error | BOOL | Wird TRUE, sobald ein Fehler eintritt. |
ErrorID | UDINT | Liefert bei einem gesetzten Error-Ausgang die Fehlernummer. |
RecordedPosition | LREAL | Achsposition, an der das Ereignis registriert wurde. |