MC_StepBlockLagBasedDetection

MC_StepBlockLagBasedDetection 1:

Dieser Funktionsbaustein führt eine Suche nach einem physikalischen Objekt aus, der die Bewegung mechanisch blockiert.

Um mechanische Beschädigungen zu vermeiden, wird die Bewegung üblicherweise mit reduziertem Drehmoment ausgeführt („TorqueLimit“).

Die Bedingung für die erfolgreiche Beendung des Ablaufes besteht aus 2 Teilen.

Erstens muss der Schleppabstand oberhalb des angegeben „LagLimit“ liegen und zweitens muss 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.

MC_StepBlockLagBasedDetection 2: Eingänge

VAR_INPUT
    Execute                : BOOL;
    Direction              : MC_Home_Direction;
    Velocity               : LREAL;
    Acceleration           : LREAL;
    Deceleration           : LREAL;
    Jerk                   : LREAL;
    SetPosition            : LREAL;
    DetectionVelocityLimit : LREAL;
    DetectionVelocityTime  : TIME;
    TimeLimit              : TIME;
    DistanceLimit          : LREAL;
    TorqueLimit            : LREAL;
    LagLimit               : 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

MC_Home_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 Achskonfiguration im System Manager.

Jerk

LREAL

Ruck (≥0). Bei einem Wert von 0 wirkt der Standardruck aus der Achskonfiguration im System Manager.

SetPosition

LREAL

Positionswert, auf den die Achsposition gesetzt werden soll.

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 vorzu-beugen.

LagLimit

LREAL

Schleppabstandswert bei dessen Überschreiten das Auffahren auf den Festanschlag detektiert wird.

BufferMode

MC_BufferMode

Zur Zeit nicht implementiert.

Options

ST_Home_Options3

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.

MC_StepBlockLagBasedDetection 3:

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.

MC_StepBlockLagBasedDetection 4:/MC_StepBlockLagBasedDetection 5: Ein-/Ausgänge

VAR_IN_OUT
    Axis      : AXIS_REF;
    Parameter : MC_HomingParameter;
END_VAR

Name

Typ

Beschreibung

Axis

AXIS_REF

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.

MC_StepBlockLagBasedDetection 6: 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.