MC_Home
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.
