LinuxCNC Documentation

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-change auf High und zeigt damit einen Werkzeugwechsel an. Dieser Pin sollte mit hal_manualtoolchange.change verbunden 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.changed auf High gesetzt. Dieser Pin sollte mit dem Pin iocontrol.0.tool-changed verbunden 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 in iocontrol.0.tool-prep-number gehalten. Dieser Pin sollte mit hal_manualtoolchange.number verknü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-prepare wird auf true gesetzt, wenn eine Tn-Werkzeugvorbereitung angefordert wird. Da es keinen automatischen Werkzeugwechsler gibt, sollte dieser Pin auf iocontrol.0.tool-prepared gesetzt 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).