MC_Home

MC_Home 1:

Mit dem Funktionsbaustein MC_Home wird eine Referenzierfahrt der Achse durchgeführt.

Der Referenziermodus wird im TwinCAT System Manager mit dem Encoderparameter „Reference Mode“ eingestellt. Abhängig vom angeschlossenen Encoder-System sind verschiedene Abläufe möglich (siehe auch Referenziermodus für Inkrementalencoder in der Dokumentation TwinCAT 3 ADS Interface NC).

MC_Home 2: Eingänge

VAR_INPUT
    Execute         : BOOL; 
    Position        : LREAL         := DEFAULT_HOME_POSITION;
    HomingMode      : MC_HomingMode;
    BufferMode      : MC_BufferMode; 
    Options         : ST_HomingOptions;
    bCalibrationCam : BOOL; 
END_VAR

Name

Typ

Beschreibung

Execute

BOOL

Mit einer steigenden Flanke wird das Kommando ausgeführt.

Position

LREAL

Absolute Referenzposition, auf die die Achse nach der Referenzfahrt gesetzt wird. Alternativ kann hier die Konstante DEFAULT_HOME_POSITION verwendet werden. Dadurch wird die im TwinCAT System Manager festgelegte „Referenzposition für Referenzierfahrt“ verwendet.

HomingMode

MC_HomingMode

Bestimmt, auf welche Weise die Kalibrierung durchgeführt wird.

  • MC_DefaultHoming
    Führt die Standard-Referenzierfahrt aus.
  • MC_Direct
    Setzt die Position der Achse direkt auf Position ohne eine Bewegung auszuführen.
  • MC_ForceCalibration
    Erzwingt den Zustand „Achse ist kalibriert“. Es wird keine Bewegung ausgeführt und die Position bleibt unverändert.
  • MC_ResetCalibration
    Setzt den Kalibrierungszustand der Achse zurück. Es wird keine Bewegung ausgeführt und die Position bleibt unverändert.

BufferMode

MC_BufferMode

Zurzeit nicht implementiert.

Options

ST_HomingOptions

Datenstruktur, die zusätzliche selten benötigte Parameter. Im Normalfall kann der Eingang offen bleiben.

  • ClearPositionLag: Wirkt nur im Mode „MC_Direct“. Kann optional gesetzt werden, falls Soll- und Istposition auf den gleichen Wert gesetzt werden sollen. Damit wird der Schleppfehler gelöscht.

bCalibrationCam

BOOL

Spiegelt das Signal einer Referenznocke wieder, das über einen digitalen Eingang in die Steuerung kommen kann.

MC_Home 3:

Da die Referenzposition üblicherweise noch während der Fahrt gesetzt wird, bleibt die Achse nicht exakt an dieser Position stehen. Die Stillstandsposition weicht um den Bremsweg der Achse ab, dennoch ist die Kalibrierung exakt.

Siehe auch: Allgemeine Regeln für MC-Funktionsbausteine

MC_Home 4: Ein-/Ausgänge

VAR_IN_OUT
    Axis     : AXIS_REF;
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.

Referenziervorgang

Der Referenziervorgang läuft in mehreren Phasen ab. Der Referenzierstatus (Calibration State) wird im zyklischen Interface der Achse signalisiert (Axis.NcToPlc.HomingState). Im nachfolgenden Bild ist der Ablauf nach dem Start des Funktionsbausteins MC_Home mit den einzelnen Phasen schematisch dargestellt.

Soll eine Achse ohne Referenznocke, also nur auf den Sync-Impuls des Gebers, referenziert werden, kann die Referenznocke durch das SPS-Programm simuliert werden. Das Signal „bCalibrationCam“ wird zunächst aktiviert und dann zurückgenommen, wenn Axis.NcToPlc.HomingState größer oder gleich 4 ist.

MC_Home 5:

MC_Home 6: Ausgänge

VAR_OUTPUT
    Done           : BOOL;
    Busy           : BOOL;
    Active         : BOOL;
    CommandAborted : BOOL;
    Error          : BOOL;
    ErrorID        : UDINT;
END_VAR

Name

Typ

Beschreibung

Done

BOOL

TRUE, wenn die Achse kalibriert wurde und die Bewegung beendet ist.

Busy

BOOL

TRUE, sobald das Kommando mit „Execute“ gestartet wird und solange der Fahrbefehl abgearbeitet wird. Wenn „Busy“ FALSE ist, ist der Funktionsbaustein bereit für einen neuen Auftrag. Gleichzeitig ist einer der Ausgänge „Done“, „CommandAborted“ oder „Error“ gesetzt.

Active

BOOL

Zurzeit nicht implementiert – „Active“ zeigt an, dass das Kommando ausgeführt wird. Wenn das Kommando gepuffert wurde, wird es evtl. erst aktiv, nachdem ein laufendes Kommando beendet worden ist.

CommandAborted

BOOL

TRUE, wenn das Kommando nicht vollständig ausgeführt werden konnte.

Error

BOOL

TRUE, sobald ein Fehler auftritt.

ErrorID

UDINT

Liefert bei einem gesetzten Error-Ausgang die Fehlernummer.

Siehe auch: Allgemeine Regeln für MC-Funktionsbausteine

Voraussetzungen

Entwicklungsumgebung

Zielplattform

Einzubindende SPS-Bibliotheken

TwinCAT v3.0.0

PC oder CX (x86 oder x64)

Tc2_MC2