MC_Home

MC_Home 1:

Mit dem Funktionsbaustein MC_Home wird eine Kalibrierung der Achse (Referenzieren) durchgeführt.

Der Referenziermodus wird im TwinCAT SystemManager auf dem Encoder-Reiter Incremental eingestellt. Abhängig vom angeschlossenen Encoder-System sind verschiedene Abläufe möglich (siehe auch Referenziermodus für Inkrementalencoder)

VAR_INPUT

VAR_INPUT
    Execute         : BOOL;
    Position        : LREAL;
    bCalibrationCam : BOOL;
END_VAR

Execute : Mit der steigenden Flanke wird das Kommando ausgeführt. 

Position : Position bei Erreichen der Referenznocke. Alternativ kann hier die Konstante DEFAULT_HOME_POSITION verwendet werden. Dadurch wird der im TwinCAT System Manager festgelegte Referenzposition für Referenzierfahrt verwendet.

bCalibrationCam : Referenznocke.

VAR_OUTPUT

VAR_OUTPUT
    Done    : BOOL;
    Error   : BOOL;
    ErrorID : UDINT;
END_VAR

Done : Wird TRUE, wenn die Referenzierung abgeschlossen wurde.

CommandAborted : Wird TRUE, wenn das Kommando nicht vollständig ausgeführt werden konnte. Der Grund kann ein Fehler, ein Stopp oder ein überlagerter Fahrbefehl sein.

Error : Wird TRUE, sobald ein Fehler eintritt.

ErrorID : Liefert bei einem gesetzten Error-Ausgang die  Fehlernummer.

VAR_IN_OUT

VAR_IN_OUT
    Axis    : NCTOPLC_AXLESTRUCT;
    AxisOut : PLCTONC_AXLESTRUCT;
END_VAR

Axis : Achsstruktur.

AxisOut : Achsstruktur von PLC zur NC.

Voraussetzungen

Entwicklungsumgebung

Zielplattform

Einzubindende SPS Bibliotheken

TwinCAT v2.8

PC (i386)

TcMC.Lib

 

Anmerkung

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

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

 

MC_Home 2: