SYNOPSIS
loadusr hal_manualtoolchange
BESCHREIBUNG
hal_manualtoolchange ist eine LinuxCNC Nicht-Echtzeit-Komponente, die Benutzer mit Maschinen ohne automatische Werkzeugwechsler, um manuelle Werkzeugwechsel machen können. Wird im Einsatz ein M6-Werkzeugwechsel vorgenommen, dann wird die Bewegungskomponente die Spindel stoppen und das Programm pausieren. Die Komponente hal_manualtoolchange empfängt dann ein Signal von der Bewegungskomponente und zeigt ein Werkzeugwechsel-Fenster an, das den Benutzer auffordert, die Werkzeugnummer zu laden, die auf der zuletzt programmierten T-Nummer basiert. Der Dialog bleibt aktiv, bis die Schaltfläche "Weiter" gedrückt wird. Wenn die Schaltfläche "Weiter" gedrückt wird, signalisiert hal_manualtoolchange der Motion-Komponente, dass der Werkzeugwechsel abgeschlossen ist, so dass die Motion-Komponente die Spindel wieder einschalten und die Programmausführung fortsetzen kann.
Außerdem enthält die Komponente hal_manualtoolchange einen hal-Pin für eine Taste, die mit einer physischen Taste verbunden werden kann, um den Werkzeugwechsel abzuschließen und die Fensteraufforderung zu entfernen (hal_manualtoolchange.change_button).
hal_manualtoolchange kann auch verwendet werden, wenn AXIS nicht als GUI verwendet wird. Diese Komponente ist besonders nützlich, wenn Sie voreinstellbare Werkzeuge haben und die Werkzeugtabelle verwenden.
PINS
- hal_manualtoolchange.number s32 in
-
Empfängt die zuletzt programmierte T- Nummer.
- hal_manualtoolchange.change bit in
-
Empfängt das Signal zum Werkzeugwechsel.
- hal_manualtoolchange.changed bit out
-
Zeigt an, dass der Werkzeugwechsel abgeschlossen ist.
- hal_manualtoolchange.change_button bit in
-
Pin, damit ein externer Schalter signalisieren kann, dass der Werkzeugwechsel abgeschlossen ist.
VERWENDUNG
Normalerweise laden Sie die Komponente in Ihre HAL-Datei und verbinden die entsprechenden Pins der Komponenten motion und io. Die folgenden Zeilen sind typisch für eine HAL-Datei bei Verwendung der Nicht-Echtzeit-Komponente hal_manualtoolchange.
- loadusr -W hal_manualtoolchange
-
Dies lädt die Nicht-Echtzeit-Komponente hal_manualtoolchange und wartet bis die Komponente fertig ist, bevor es weitergeht.
net tool-change iocontrol.0.tool-change => hal_manualtoolchange.change-
Wenn ein M6-Code ausgeführt wird, setzt Motion
iocontrol.0.tool-changeauf High und zeigt damit einen Werkzeugwechsel an. Dieser Pin sollte mithal_manualtoolchange.changeverbunden werden. Dies bewirkt, dass der Werkzeugwechsel-Dialog auf dem Bildschirm angezeigt wird und der Benutzer darauf wartet, dass er entweder auf die Schaltfläche "Weiter" im Dialog klickt oder eine extern angeschlossene Taste drückt. net tool-changed iocontrol.0.tool-changed <= hal_manualtoolchange.changed-
Wenn die Schaltfläche "Weiter" im Dialogfeld "Werkzeugwechsel" (engl. tool change) gedrückt wird, dann wird der Pin
hal_manualtoolchange.changedauf High gesetzt. Dieser Pin sollte mit dem Piniocontrol.0.tool-changedverbunden werden, um der Bewegungssteuerung zu signalisieren, dass der Werkzeugwechsel abgeschlossen ist und mit der Ausführung des G-Code-Programms fortgesetzt werden kann. net tool-number iocontrol.0.tool-prep-number => hal_manualtoolchange.number-
Wenn ein
T-Befehl in einem G-Code-Programm ausgeführt wird, dann wird die Werkzeugnummer iniocontrol.0.tool-prep-numbergehalten. Dieser Pin sollte mithal_manualtoolchange.numberverknüpft werden. Der Wert dieses Pins, die Werkzeugnummer, wird im Werkzeugwechsel-Dialog angezeigt, damit der Benutzer weiß, welches Werkzeug geladen werden soll. net tool-prepare-loopback iocontrol.0.tool-prepare => iocontrol.0.tool-prepared-
Der Pin
iocontrol.0.tool-preparewird auf true gesetzt, wenn eine Tn-Werkzeugvorbereitung angefordert wird. Da es keinen automatischen Werkzeugwechsler gibt, sollte dieser Pin aufiocontrol.0.tool-preparedgesetzt werden, um zu signalisieren, dass das Werkzeug vorbereitet wurde.
Wenn Sie einen externen Taster verwenden möchten, um der Komponente hal_manualtoolchange zu signalisieren, dass der Werkzeugwechsel abgeschlossen ist, bringen Sie den Taster einfach in HAL ein (über einen Parport-Eingangspin oder einen Hostmot2-Gpio-Eingang o.ä.) und verdrahten ihn direkt mit dem hal_manualtoolchange.change_button Pin. Zum Beispiel:
net tool-changed-btn hal_manualtoolchange.change_button <= parport.0.pin-15-in
SIEHE AUCH
motion(1), iocontrol(1), halcmd(1).