1. Einführung
QtDragon und QtDragon_hd werden mit dem QtVCP-Framework entwickelt. Es ist die kreative Vision der Forum Persönlichkeit Persei8. Vieles davon basiert auf der hervorragenden Arbeit anderer in der LinuxCNC-Gemeinschaft. LinuxCNC’s Version ist von Persei8’s Github Versionen angepasst. Es ist in erster Linie für 3/4-Achsen-Maschinen wie Fräsmaschinen oder Router gedacht. Es funktioniert gut mit einem Touchscreen und/oder einer Maus. QtDragon unterstützt mehrere Möglichkeiten zum Antasten von Werkzeugen und zum Antasten von Werkstücken. Sie können LinuxCNC’s externe Offsets Fähigkeit verwenden, um automatisch die Spindel während einer Pause zu erhöhen. Wenn Sie die VersaProbe-Option und Remap-Code können Sie automatische Werkzeuglängen-Abtastung beim Werkzeugwechsel hinzuzufügen.
Anmerkung
|
QtDragon und QtVCP sind relativ neue Programme in LinuxCNC hinzugefügt. Bugs und Unregelmäßigkeiten sind möglich. Bitte testen Sie sorgfältig, wenn Sie eine gefährliche Maschine benutzen. Bitte senden Sie Berichte an das Forum oder die Mailing Liste. |
1.1. QtDragon
QtDragon ist von einer Auflösung von 1280x768 bis 1680x1200 größenveränderbar. Es funktioniert im Fenstermodus auf jedem Monitor mit höherer Auflösung, aber nicht auf Monitoren mit niedrigerer Auflösung.
1.2. QtDragon_hd
QtDragon_hd hat ein ähnliches Design wie QtDragon, wurde aber modifiziert, um den zusätzlichen Platz auf modernen, größeren Monitoren zu nutzen. Es gibt einige kleine Unterschiede im Layout und im Nutzen.
QtDragon_hd hat eine Auflösung von 1920x1056 und ist nicht größenveränderbar. Es funktioniert im Fenstermodus auf jedem Monitor mit höherer Auflösung, aber nicht auf Monitoren mit niedrigerer Auflösung.
2. Erste Schritte - Die INI-Datei
Wenn Ihre Konfiguration derzeit nicht für die Verwendung von QtDragon eingerichtet ist, können Sie sie ändern, indem Sie den Abschnitten der INI-Datei bearbeiten. Eine ausführliche Liste der Optionen finden Sie im Abschnitt Display der INI-Datei-Dokumentation.
Anmerkung
|
Sie können in der INI-Datei nur einen Abschnitt ( z.B. [HAL] ) haben. Wenn Sie in diesen Dokumenten mehrere Abschnittsoptionen sehen, fügen Sie sie alle unter dem entsprechenden Abschnittsnamen ein. |
2.1. Anzeige (engl. display)
Im Abschnitt [DISPLAY]
ändern Sie die DISPLAY =
-Zuweisung wie folgt:
-
qtdragon
für eine kleine Version -
qtdradon_hd
für die große Version.
Sie können -v
, -d
, -i
oder -q
hinzufügen, um eine (entsprechend) ausführliche, debug-, info- oder stille Ausgabe auf dem Terminal zu erhalten.
[DISPLAY] DISPLAY = qtvcp qtdragon
2.2. Einstellungen
Um den Überblick über die Einstellungen zu behalten, sucht QtDragon nach einer Einstellungs-Textdatei. Fügen Sie den folgenden Eintrag unter der Überschrift [DISPLAY]
hinzu.
Es kann ~
für das Heimverzeichnis (engl. home directory) oder WORKINGFOLDER
oder CONFIGFOLDER
verwenden, um QtVCPs zu diesen Verzeichnisse zu lenken:
Dadurch wird die Datei im config-Ordner des Startbildschirms gespeichert. (Andere Optionen sind möglich, siehe die QtVCP’s screenoption Widget Dokumentation.)
[DISPLAY] PREFERENCE_FILE_PATH = WORKINGFOLDER/qtdragon.pref
2.3. Protokollierung (engl. logging)
Sie können angeben, wo Verlauf/Protokolle gespeichert werden sollen.
Diese Dateinamen können vom Benutzer ausgewählt werden.
Fügen Sie im Abschnitt [DISPLAY]
Folgendes hinzu:
[DISPLAY] MDI_HISTORY_FILE = mdi_history.dat MACHINE_LOG_PATH = machine_log.dat LOG_FILE = qtdragon.log
2.4. Override-Kontrollen
Diese setzen die Übersteuerungsregler von qtdragon (1.0 = 100 Prozent):
[DISPLAY] MAX_SPINDLE_0_OVERRIDE = 1.5 MIN_SPINDLE_0_OVERRIDE = .5 MAX_FEED_OVERRIDE = 1.2
2.5. Spindelsteuerungen
Spindelsteuerungseinstellungen (in U/min und Watt):
[DISPLAY] DEFAULT_SPINDLE_0_SPEED = 500 SPINDLE_INCREMENT = 200 MIN_SPINDLE_0_SPEED = 100 MAX_SPINDLE_0_SPEED = 2500 MAX_SPINDLE_POWER = 1500
2.6. Jogging-Inkremente
Legen Sie wählbare Jogging-Schritte fest.
Diese Abstufungen können vom Benutzer geändert werden.
[DISPLAY] INCREMENTS = Continuous, .001 mm, .01 mm, .1 mm, 1 mm, 1.0 inch, 0.1 inch, 0.01 inch ANGULAR_INCREMENTS = 1, 5, 10, 30, 45, 90, 180, 360
2.7. Jog-Geschwindigkeit
Einstellen der Jogginggeschwindigkeit (in Einheiten pro Sekunde)
[DISPLAY] MIN_LINEAR_VELOCITY = 0 MAX_LINEAR_VELOCITY = 60.00 DEFAULT_LINEAR_VELOCITY = 50.0 DEFAULT_ANGULAR_VELOCITY = 10 MIN_ANGULAR_VELOCITY = 1 MAX_ANGULAR_VELOCITY = 360
2.8. Dialogsystem für Benutzermeldungen
Optionale Popup-Dialoge für benutzerdefinierte Meldungen, gesteuert durch HAL-Pins.
MESSAGE_TYPE kann okdialog oder yesnodialog sein. Siehe qtvcp/library/messages
für weitere Informationen.
Dieses Beispiel zeigt, wie man einen Dialog erstellt, der den Benutzer auffordert, ok zu wählen, um ihn zu bestätigen und auszublenden.
Diese Dialoge könnten z.B. für Warnungen bei niedrigem Schmierölstand usw. verwendet werden.
[DISPLAY] MESSAGE_BOLDTEXT = Dies ist der kurze Text MESSAGE_TEXT = Dies ist der längere Text des Tests der beiden Typen. Er kann länger sein als der Text der Statusleiste MESSAGE_DETAILS = BOTH DETAILS MESSAGE_TYPE = okdialog MESSAGE_PINNAME = oktest
2.9. Benutzerdefinierte VCP-Panels einbetten
Sie können optional QtVCP Virtual Control Panels in den QtDragon oder QtDragon_hd Bildschirm einbetten.
Diese Panels können entweder vom Benutzer erstellt oder eingebaut werden QtVCP Panels.
Siehe QtVCP/VCP Panels für andere verfügbare eingebaute Panels.
Der Eintrag EMBED_TAB_NAME
wird als Titel für die neue Registerkarte verwendet (muss eindeutig sein)
Die Optionen der Registerkarte EMBED_TAB_LOCATION
beinhalten: tabWidget_utilities
, tabWidget_setup
und stackedWidget_mainTab
.
Die Registerkarte EMBED_TAB_COMMAND
gibt an, welches einbettbare Programm ausgeführt werden soll, einschließlich dessen Befehlszeilenoptionen.
Bei Verwendung von tabWidget_utilities
oder tabWidget_setup
wird eine zusätzliche Registerkarte mit dem Panel erscheinen.
Wenn Sie stackedWidget_mainTab
verwenden, erscheint eine Schaltfläche mit der Aufschrift User.
Wenn Sie diese Schaltfläche drücken, werden alle verfügbaren Felder (die für diesen Ort angegeben sind) im Hauptregisterkartenbereich angezeigt.
2.9.1. Einbetten einer Vismach Fräse
[DISPLAY] EMBED_TAB_NAME = Vismach Demo EMBED_TAB_COMMAND = qtvcp vismach_mill_xyz EMBED_TAB_LOCATION = tabWidget_utilities
2.9.2. Einbettung des Spindelriemen Panels
Dieses Beispielpanel dient zur Anzeige zusätzlicher RS485-VFD-Daten und zur Konfiguration eines 4-Scheiben-, 2-Riemen-Spindelantriebs über eine Reihe von Tasten (engl. buttons).
[DISPLAY] EMBED_TAB_NAME = Spindle Belts EMBED_TAB_COMMAND = qtvcp spindle_belts EMBED_TAB_LOCATION = tabWidget_utilities
2.10. Pfade der Unterroutinen
Wenn Sie NGCGUI, Remap- oder benutzerdefinierte M-Code-Routinen verwenden, muss LinuxCNC wissen, wo die Dateien zu finden sind.
Dieses Beispiel ist typisch für das, was für NgcGui, Basic Probe und Versa Probe Remap-Code benötigt wird.
Diese Pfade müssen angepasst werden, um auf die tatsächlichen Dateien auf Ihrem System zu zeigen. RS274NZGC Abschnitt Details
[RS274NGC] SUBROUTINE_PATH = :~/linuxcnc/nc_files/examples/ngcgui_lib:~/linuxcnc/nc_files/examples/ngcgui_lib/utilitysubs: \ ~/linuxcnc/nc_files/examples/probe/basic_probe/macros:~/linuxcnc/nc_files/examples/remap-subroutines: \ ~/linuxcnc/nc_files/examples/ngcgui_lib/remap_lib
QtVCPs NGCGUI-Programm von QtVCP muss auch wissen, wo es für die Auswahl und Vorauswahl von Unterprogrammen geöffnet werden muss.
NGCGUI_SUBFILE_PATH muss auf einen tatsächlichen Pfad auf Ihrem System zeigen und auch auf einen Pfad, der in SUBROUTINE_PATHS beschrieben ist.
[DISPLAY] # NGCGUI Unterprogramm Pfad. # Thr Pfad muss auch in [RS274NGC] SUBROUTINE_PATH sein NGCGUI_SUBFILE_PATH = ~/linuxcnc/nc_files/examples/ngcgui_lib # vorgewählte Programme Tabs # nur Dateinamen angeben, Dateien müssen sich im NGCGUI_SUBFILE_PATH befinden NGCGUI_SUBFILE = slot.ngc NGCGUI_SUBFILE = qpocket.ngc
2.11. Vorschau Kontrolle
Magische Kommentare können verwendet werden, um die G-Code-Vorschau zu steuern.
Bei sehr großen Programmen kann die Vorschau sehr lange zum Laden brauchen. Sie können steuern, was auf dem Grafikbildschirm angezeigt und was ausgeblendet wird, indem Sie die entsprechenden Kommentare aus dieser Liste in Ihren G-Code einfügen:
(PREVIEW,stop)
(PREVIEW,hide)
(PREVIEW,show)
2.12. Programmerweiterungen/Filter
Mit Programmerweiterungen können Sie steuern, welche Programme im Dateimanager-Fenster angezeigt werden.
Erstellen Sie eine Zeile mit den gewünschten .-Endungen, getrennt durch Kommata, dann ein Leerzeichen und die Beschreibung.
Sie können mehrere Zeilen für verschiedene Auswahlen im Kombinationsfeld hinzufügen.
[FILTER] PROGRAM_EXTENSION = .ngc,.nc,.tap G-Code Datei (*.ngc,*.nc,*.tap)
QtDragon hat die Möglichkeit, geladene Dateien durch ein "Filterprogramm" zu schicken. Dieser Filter kann jede gewünschte Aufgabe erfüllen: Etwas so Einfaches wie sicherzustellen, dass die Datei mit "M2" endet, oder etwas so Kompliziertes wie die Erzeugung von G-Code aus einem Bild.
Der Abschnitt [FILTER] der INI-Datei steuert, wie die Filter funktionieren. Schreiben Sie zunächst für jeden Dateityp eine PROGRAM_EXTENSION-Zeile. Dann geben Sie das Programm an, das für jeden Dateityp ausgeführt werden soll. Dieses Programm erhält den Namen der Eingabedatei als erstes Argument und muss rs274ngc-Code in die Standardausgabe schreiben. Diese Ausgabe ist das, was im Textbereich angezeigt wird, in der Vorschau im Anzeigebereich, und dann auch von LinuxCNC ausgeführt wird.
Die folgenden Zeilen unterstützen den image-to-gcode
-Konverter, der mit LinuxCNC und mit Python basierenden Filterprogrammen enthalten ist:
[FILTER] PROGRAM_EXTENSION = .png,.gif,.jpg Greyscale Depth Image PROGRAM_EXTENSION = .py Python Script png = image-to-gcode gif = image-to-gcode jpg = image-to-gcode py = python
2.13. Sonden-/Touchplate-/Lasereinstellungen
QtDragon hält INI-Einträge für zwei optionale Sondierungs-Tab-Screens bereit. Kommentieren/unkommentieren Sie, was immer Sie bevorzugen.
-
Versa-Probe ist eine auf QtVCP portierte Version des beliebten GladeVCP-Sondierungspanels.
-
Basic Probe ist eine auf QtVCP portierte Version, die auf dem Basic Probe Screen eines Drittanbieters basiert.
Beide führen ähnliche Antastroutinen durch, wobei der Versa-Taster optional auch die automatische Werkzeugmessung übernimmt.
[PROBE] #USE_PROBE = versaprobe USE_PROBE = basicprobe
2.14. Abbruch-Erkennung
Bei der Verwendung der Sondierungsroutinen von qtdragon ist es wichtig, eine Abbruchanfrage des Benutzers zu erkennen.
Standardmäßig meldet LinuxCNC einen Abbruch nicht in einer nützlichen Weise für die Probe-Routinen.
Sie müssen eine ngc-Datei hinzufügen, um einen Fehler auszugeben, der erkannt werden kann. Details zum Abbruch neu zuordnen
[RS274NGC] # bei abbruch wird diese ngc datei aufgerufen. erforderlich für basic/versa probe Routinen. + ON_ABORT_COMMAND=O <on_abort> call
Dieser Beispielcode sendet eine Nachricht bei Abbruch. Die Prüfroutinen können dieses Beispiel erkennen.
Gemäß der obigen Einstellung müsste es als "on_abort.ngc" in den [RS274NGC] SUBROUTINE_PATHS und [DISPLAY] PROGRAM_PREFIX Suchpfaden von LinuxCNC gespeichert werden.
o<on_abort> sub o100 if [#1 eq 5] (machine on) o100 elseif [#1 eq 6] (machine off) o100 elseif [#1 eq 7] (estopped) o100 elseif [#1 eq 8] (msg,Process Aborted) o100 else (DEBUG,Abort Parameter is %d[#1]) o100 endif o<on_abort> endsub m2
2.15. Codes für die Inbetriebnahme
Sie sollten einen Standard-M/G-Code für den Start festlegen. Diese werden durch die Ausführung einer NGC-Datei außer Kraft gesetzt.
Dies sind nur Beispielcodes, der Integrator sollte geeignete Codes wählen.
[RS274NGC] # G/M-Codes beim ersten Laden starten RS274NGC_STARTUP_CODE = G17 G20 G40 G43H0 G54 G64P0.0005 G80 G90 G94 G97 M5 M9
2.16. Makro-Buttons
QtDragon hat bis zu zehn Komfortschaltflächen für den Aufruf von "Makro-Aktionen".
Diese stehen unter der Überschrift "[MDI_COMMAND_LIST]" als "MDI_COMMAND_MACRO0 =" bis "MDI_COMMAND_MACRO9 =".
Diese können auch OWord-Routinen aufrufen, falls gewünscht.
In den Beispielkonfigurationen sind sie so beschriftet, dass sie zwischen dem Ursprung des aktuellen Benutzersystems (Nullpunkt) und dem Ursprung des Maschinensystems wechseln.
Der Benutzerursprung ist der erste MDI-Befehl in der INI-Liste, der Maschinenursprung der zweite.
Dieses Beispiel zeigt, wie man die Z-Achse zuerst nach oben bewegt. Durch ein ; getrennte Befehle werden sequentiell ausgeführt.
Der Button-Labeltext kann mit jedem Text nach einem Komma gesetzt werden, das \n
-Symbol fügt eine Zeilenumbruch hinzu.
[MDI_COMMAND_LIST] # für Makro Buttons MDI_COMMAND_MACRO0 = G0 Z25;X0 Y0;Z0, Goto\nUser\nZero MDI_COMMAND_MACRO1 = G53 G0 Z0;G53 G0 X0 Y0,Goto\nMachn\nZero
2.17. Post-GUI HAL-Datei
Diese optionalen HAL-Dateien werden aufgerufen, nachdem QtDragon alles andere geladen hat.
Sie können mehrere Zeilen für mehrere Dateien hinzufügen. Jede Datei wird in der Reihenfolge aufgerufen, in der sie erscheint.
Der Aufruf von HAL-Dateien, nachdem QtDragon bereits geladen ist, stellt sicher, dass die HAL-Pins von QtDragon verfügbar sind.
[HAL] POSTGUI_HALFILE = qtdragon_hd_postgui.hal POSTGUI_HALFILE = qtdragon_hd_debugging.hal
2.18. Post-GUI HAL-Befehl
Diese optionalen HAL-Befehle werden ausgeführt, nachdem QtDragon alles andere geladen hat.
Sie können mehrere Zeilen hinzufügen. Jede Zeile wird in der Reihenfolge aufgerufen, in der sie erscheint.
Jeder HAL-Befehl kann verwendet werden.
[HAL] POSTGUI_HALCMD = loadusr qtvcp test_probe POSTGUI_HALCMD = loadusr qtvcp test_led POSTGUI_HALCMD = loadusr halmeter
2.19. Integrierte Beispielkonfigurationen
Die Beispielkonfigurationen sim/qtdragon/ oder sim/qtdragon_hd
sind bereits so konfiguriert, dass sie QtDragon als Bildschirm verwenden. Es gibt mehrere Beispiele, um verschiedene Maschinenkonfigurationen zu demonstrieren.
3. Tastenbelegungen
QtDragon ist nicht in erster Linie für die Verwendung einer Tastatur zur Maschinensteuerung gedacht.
Es fehlen viele Tastenkombinationen, die zum Beispiel AXIS hat - aber Sie können eine Maus oder einen Touchscreen verwenden.
Der Einfachheit halber gibt es mehrere Tastenkombinationen zur Steuerung der Maschine.
F1 - Estop ein/aus
F2 - Maschine ein/aus
F12 - Stil-Editor
Home - Start aller Verbindungen der Maschine
Escape - Abbruch der Bewegung
Pause - Maschinenbewegung anhalten
4. Buttons
Schaltflächen, die ankreuzbar sind, ändern ihre Textfarbe, wenn sie angekreuzt werden. Dies wird durch das Stylesheet/Thema gesteuert
5. Virtuelle Tastatur
QtDragon enthält eine virtuelle Tastatur für die Verwendung mit Touchscreens. Um die Tastatur zu aktivieren, markieren Sie das Kontrollkästchen Virtuelle Tastatur verwenden auf der Seite Einstellungen. Wenn Sie auf ein beliebiges Eingabefeld klicken, wie z.B. Sondenparameter oder Tooltabelleneinträge, wird die Tastatur angezeigt. Um die Tastatur auszublenden, führen Sie einen der folgenden Schritte aus:
-
Klicken Sie auf den MAIN page Button
-
Die Schaltfläche für die aktuell ausgewählte Seite.
-
in den AUTO-Modus wechseln
Es ist zu beachten, dass bei der Verwendung der virtuellen Tastatur das Jogging der Tastatur deaktiviert ist.
6. HAL-Pins
Diese Pins sind spezifisch für den QtDragon-Bildschirm.
Es gibt natürlich viele weitere HAL-Pins, die für LinuxCNC angeschlossen werden müssen, um zu funktionieren.
Wenn Sie eine Aufforderung zum manuellen Werkzeugwechsel benötigen, fügen Sie diese Zeilen in Ihre Postgui-Datei ein.
QtDragon emuliert die hal_manualtoolchange HAL Pins - laden Sie nicht die separate HAL Komponente hal_manualtoolchange.
net tool-change hal_manualtoolchange.change <= iocontrol.0.tool-change net tool-changed hal_manualtoolchange.changed <= iocontrol.0.tool-changed net tool-prep-number hal_manualtoolchange.number <= iocontrol.0.tool-prep-number
Auch wenn Sie keinen automatischen Werkzeugwechsler haben, sollten Sie sicherstellen, dass diese Pins in einer der HAL-Dateien angeschlossen sind:
net tool-prepare-loopback iocontrol.0.tool-prepare => iocontrol.0.tool-prepared
Dieser Eingangspin sollte verbunden werden, um den Sondenstatus anzuzeigen.
qtdragon.led-probe
Diese Pins sind Eingänge für die Spindel-VFD-Anzeige.
Die Volt- und Ampere-Pins werden zur Berechnung der Spindelleistung verwendet.
qtdragon.spindle-modbus-connection qtdragon.spindle-modbus-errors qtdragon.spindle-amps qtdragon.spindle-fault qtdragon.spindle-volts
Dieser Bit-Pin ist ein Ausgang für die Spindelsteuerung, um sie anzuhalten.
Sie verbinden ihn mit spindle.0.inhibit
.
qtdragon.spindle-inhibit
Die Anzeige der Spindelgeschwindigkeit und die LED "Spindel auf Geschwindigkeit" (engl. spindle-at-speed) von QtDragon erfordern,
dass spindle.0.speed-in
mit dem Rückmeldesignal der Spindelgeschwindigkeit verbunden wird.
Als Rückmeldung kann ein Encoder oder VFD Feedback verwendet werden, solange das Feedback in Umdrehungen pro Sekunde (RPS) erfolgt.
Wenn keine Rückmeldung verfügbar ist, können Sie die Anzeige so einrichten, dass sie die angeforderte Geschwindigkeit zeigt, indem Sie die Pins wie folgt verbinden:
net spindle-speed-feedback spindle.0.speed-out-rps => spindle.0.speed-in
Dieser Bit-Ausgangspin kann angeschlossen werden, um einen Laser einzuschalten:
qtdragon.btn-laser-on
Dieser Float-Ausgangspin zeigt die Kameradrehung in Grad an:
qtdragon.cam-rotation
Diese bit/s32/float-Pins beziehen sich auf externe Offsets, wenn sie verwendet werden:
qtdragon.eoffset-clear qtdragon.eoffset-enable qtdragon.eoffset-value qtdragon.eoffset-spindle-count qtdragon.eoffset-zlevel-count qtdragon.eoffset-is-active
Diese float-Ausgangspins spiegeln die aktuelle Jograte des Schiebers (in Maschineneinheiten) wider:
qtdragon.slider-jogspeed-linear qtdragon.slider-jogspeed-angular
Diese float-Ausgangsstifte geben die aktuellen Schieberegler-Übersteuerungsraten wieder:
qtdragon.slider-override-feed qtdragon.slider-override-maxv qtdragon.slider-override-rapid qtdragon.slider-override-spindle
Diese Ausgangspins sind verfügbar, wenn Sie die Option Versa Probe INI einstellen. Sie können für auto-tool-length-probe bei Werkzeugwechsel verwendet werden - mit hinzugefügtem Remap-Code.
qtversaprobe.enable qtversaprobe.blockheight qtversaprobe.probeheight qtversaprobe.probevel qtversaprobe.searchvel qtversaprobe.backoffdist
This pin will be true when the loaded tool equals the number set in the Versa Probe tool number in the preference file.
It can be used (for example) to inhibit the spindle when the probe is loaded by connecting it to spindle.0.inhibit
.
qtversaprobe.probe-loaded
This output pin is available when setting the Basic Probe INI option.
This pin will be true when the loaded tool equals the number set in the Basic Probe tool number edit box.
It can be used (for example) to inhibit the spindle when the probe is loaded by connecting it to spindle.0.inhibit
.
qtbasicprobe.probe-loaded
Dieser Eingabepin steht zur Verfügung, um Pause/Fortsetzen (engl. resume) eines laufenden Programms zu wechseln.
qtdragon.external-pause
7. HAL-Dateien
Die mitgelieferten HAL-Dateien sind nur für die Simulation gedacht. Eine reale Maschine benötigt ihre eigenen HAL-Dateien. Der QtDragon-Bildschirm funktioniert mit 3 oder 4 Achsen mit einem Gelenk pro Achse oder 3 oder 4 Achsen in einer Gantry-Konfiguration (2 Gelenke auf 1 Achse).
8. Manueller Werkzeugwechsel
Wenn Ihre Maschine einen manuellen Werkzeugwechsel erfordert, kann QtDragon ein Meldungsfenster anzeigen, um Sie anzuleiten. QtDragon emuliert die hal_manualtoolchange HAL Pins - laden Sie nicht die separate HAL Komponente hal_manualtoolchange. Dazu müssen Sie z.B. den richtigen HAL-Pin in der postgui HAL-Datei verbinden:
net tool-change hal_manualtoolchange.change <= iocontrol.0.tool-change net tool-changed hal_manualtoolchange.changed <= iocontrol.0.tool-changed net tool-prep-number hal_manualtoolchange.number <= iocontrol.0.tool-prep-number
9. Spindel
Der Bildschirm ist für den Anschluss an einen VFD gedacht, funktioniert aber auch ohne ihn.
Es gibt eine Reihe von VFD-Treiber in der LinuxCNC Distribution enthalten.
Es ist bis zu dem Endbenutzer, um die entsprechenden Treiber und HAL-Datei-Verbindungen nach seiner eigenen Maschine Setup liefern.
10. Automatisches Anheben der Z-Achse bei Programm-Pause
QtDragon can be set up to automatically raise and lower the Z axis and stop the spindle, when the program is paused.
You toggle the SPINDLE LIFT or NO LIFT button to select the option to raise the spindle in Z when paused.
Then when you press the PAUSE button the spindle will lift the amount set on the Settings tab and the spindle will stop.
Pressing RESUME will start the spindle and lower the spindle.
If you have the HAL pin spindle.0.at-speed
connected to a driving pin, the spindle will not lower until the pin is true
You typically connect this to a timer or logic that detects the speed of the spindle.
If that pin is not connected to a driving pin, a dialog will pop up to warn you to wait for the spindle speed.
The spindle will lower when you close that dialog.
The amount to raise is set in the Settings tab under the heading SPINDLE RAISE.
This line edit box can only be directly set when not in Auto mode.
The up/down buttons can be used to adjust the raise amount at any time, including when the spindle is already raised.
The button increments are 1 inch or 5 mm (depending on the units the machine is based on).
Anmerkung
|
If using the Spindle lift option, HALUI can not be used to pause/resume the program. There is a pin, QtDragon.external-pause available to pause/resume from an external source. You must also enable external offsets. In the setting tab check use external offsets If you wish to inhibit the spindle when a probe tool is loaded, you will need to use an logical or -component to combine the two spindle inhibit signals to connect to spindle.0.inhibit . |
Dieses optionale Verhalten erfordert Ergänzungen zur INI und der QtDragon_postgui HAL-Datei.
In der INI, unter der Überschrift AXIS_Z.
[AXIS_Z] OFFSET_AV_RATIO = 0.2
Dies behält sich 20% der maximalen Geschwindigkeit und maximale Beschleunigung für die externen Versätze vor.
Dies begrenzt die maximale Geschwindigkeit der Maschine um 20%
In der Datei qtdragon_postgui.hal hinzufügen:
# Externe Offsets der Z-Achse einrichten net eoffset_clear qtdragon.eoffset-clear => axis.z.eoffset-clear net eoffset_count qtdragon.eoffset-spindle-count => axis.z.eoffset-counts net eoffset qtdragon.eoffset-value <= axis.z.eoffset net eoffset-state qtdragon.eoffset-is-active <= motion.eoffset-active # Inhibieren der Spindel bei Unterbrechung (engl. pause) net spindle-pause qtdragon.spindle-inhibit => spindle.0.inhibit # uncomment for dragon_hd #net limited qtdragon.led-limits-tripped <= motion.eoffset-limited setp axis.z.eoffset-enable 1 setp axis.z.eoffset-scale 1.0
11. Z-Level-Kompensation
QtDragon_hd kann mit dem externen Programm G-code Ripper so eingestellt werden, dass es Höhenänderungen der Z-Ebene prüft und ausgleicht.
Anmerkung
|
Diese Funktion ist nur in der Version QtDragon_hd verfügbar. |
Z-Ebene Ausgleich ist ein Bett Nivellierung / Verzerrung Korrekturfunktion typischerweise in 3D-Druck oder Gravur verwendet. Es verwendet eine HAL Nicht-Echtzeit-Komponente, welche die externen Offsets Funktion von LinuxCNC verwendet. Die Komponente hat einen HAL-Pin, der einen Interpolationstyp spezifiziert, der entweder kubisch, linear oder am nächsten (0, 1, 2) sein muss. Wenn keine angegeben ist oder wenn eine ungültige Zahl angegeben ist, wird die Standardeinstellung kubisch sein.
Wenn Z LEVEL COMP aktiviert ist, liest die Kompensationskomponente eine Sondendaten-Datei, die probe_points.txt heißen muss. Die Datei kann jederzeit geändert oder aktualisiert werden, solange die Kompensation deaktiviert ist. Bei der nächsten Aktivierung wird die Datei erneut gelesen und die Kompensationskarte wird neu berechnet. Diese Datei sollte sich im Konfigurationsverzeichnis befinden.
Die Sondierungsdatei wird von einem Sondierungsprogramm erzeugt, das seinerseits von einem externen Python-Programm namens gcode_ripper
erzeugt wird, das auf der Registerkarte "Dateimanager" über die Schaltfläche "G-code Ripper" aufgerufen werden kann.
11.1. Verwendung von G-code Ripper für die Z-Ebenen-Kompensation
Anmerkung
|
G-code Ripper bietet viele Funktionen, auf die wir hier nicht näher eingehen werden. Diese sind nur in der QtDragon_hd Version verfügbar. |
-
Wechseln Sie in qtdragon_hd auf die Registerkarte Datei und drücken Sie die Schaltfläche G-Code Ripper laden.
-
Ursprung so einstellen, dass er mit dem Ursprung der zu prüfenden G-Code-Datei übereinstimmt.
-
Aktivieren Sie unter G-Code-Operationen die Option Auto Probe.
-
Datei -> G-Code Datei öffnen (Die Datei, die Sie nach der Kompensation ausführen)
-
Falls erforderlich, nehmen Sie Anpassungen vor und drücken Sie Neu berechnen.
-
Drücken Sie G-Code-Datei speichern - nur Sonde.
-
Speichern Sie die erzeugte Datei im Ordner nc_files.
-
Beenden Sie gcode_ripper.
-
-
Führen Sie dieses Programm aus, ohne die Offsets zu ändern. Stellen Sie sicher, dass das Sondenwerkzeug installiert ist. Nach Abschluss des Programms befindet sich im Konfigurationsverzeichnis eine Datei mit dem Namen "probe_points.txt".
-
Drücken Sie in qtdragon_hd die Schaltfläche "Enable Z Comp", um den Ausgleich zu aktivieren. Schauen Sie in der Statuszeile nach, ob die Kompensation erfolgreich war oder nicht. Die aktive Kompensation wird neben der Beschriftung "Z Level Comp" angezeigt. Während des Joggens sollte sich diese Anzeige je nach Kompensationskomponente ändern.
Anmerkung
|
Wenn Sie die automatische Anhebung Z verwenden, um die Spindel in der Pause anzuheben, müssen Sie die beiden mit einer HAL-Komponente kombinieren und diese an die Bewegungs (motion)-Komponente von LinuxCNC weiterleiten. |
# Komponenten laden ######################################################################## loadrt logic names=logic-and personality=0x102 addf logic-and servo-thread # load a summing component for adding spindle lift and Z compensation loadrt scaled_s32_sums addf scaled-s32-sums.0 servo-thread loadusr -Wn z_level_compensation z_level_compensation # method parameter must be one of nearest(2), linear(1), cubic (0) setp z_level_compensation.fade-height 0.0 setp z_level_compensation.method 1 # Signale mit der Bewegungskomponente von LinuxCNC verbinden ######################################################################## net eoffset-clear axis.z.eoffset-clear net eoffset-counts axis.z.eoffset-counts setp axis.z.eoffset-scale .001 net eoffset-total axis.z.eoffset setp axis.z.eoffset-enable True # Externe Offsets für die Spindelpausenfunktion ######################################################################## net eoffset-clear qtdragon.eoffset-clear net eoffset-spindle-count <= qtdragon.eoffset-spindle-count net spindle-pause qtdragon.spindle-inhibit => spindle.0.inhibit net eoffset-state qtdragon.eoffset-is-active <= motion.eoffset-active ## Z level Kompensation #################################################### net eoffset-clr2 z_level_compensation.clear => logic-and.in-01 net xpos-cmd z_level_compensation.x-pos <= axis.x.pos-cmd net ypos-cmd z_level_compensation.y-pos <= axis.y.pos-cmd net zpos-cmd z_level_compensation.z-pos <= axis.z.pos-cmd net z_compensation_on z_level_compensation.enable-in <= qtdragon.comp-on net eoffset-zlevel-count z_level_compensation.counts => qtdragon.eoffset-zlevel-count # add Z level and scaled spindle raise level values together net eoffset-spindle-count scaled-s32-sums.0.in0 net eoffset-zlevel-count scaled-s32-sums.0.in1 setp scaled-s32-sums.0.scale0 1000 net eoffset-counts scaled-s32-sums.0.out-s
12. Sondieren
Der Sondenbildschirm wurde einem grundlegenden Test unterzogen, könnte aber noch einige kleinere Fehler aufweisen. Gehen Sie bei der Ausführung von Prüfroutinen äußerst vorsichtig vor, bis Sie mit der Funktionsweise vertraut sind. Die Prüfroutinen laufen, ohne die Haupt-GUI zu blockieren. Dies gibt dem Bediener die Möglichkeit, die DROs zu beobachten und die Routine jederzeit zu stoppen.
Anmerkung
|
Die Sondierung ist sehr unempfindlich gegenüber Fehlern; überprüfen Sie die Einstellungen vor der Verwendung. |
QtDragon verfügt über 2 Methoden zur Einstellung von Z0. Die erste ist eine Tastplatte, bei der eine Metallplatte mit bekannter Dicke auf das Werkstück gelegt wird, dann wird das Werkzeug abgesenkt, bis es die Platte berührt, wodurch das Messtastersignal ausgelöst wird. Der Z0-Wert des aktuellen Anwendersystems (G5x) wird auf die Messtasterhöhe - die eingegebene Blechdicke - eingestellt.
Bei der zweiten Methode wird ein Werkzeugeinstellgerät in einer festen Position und einer bekannten Höhe über dem Tisch verwendet, wo das Messtastersignal ausgelöst wird. Um Z0 auf die Oberseite des Werkstücks einzustellen, muss bekannt sein
-
wie weit der Auslösepunkt des Messtasters über dem Tisch liegt (Höhe der Werkzeugaufnahme) und
-
wie weit über dem Tisch sich die Werkstückoberseite befindet.
Dieser Vorgang muss bei jedem Werkzeugwechsel durchgeführt werden, da die Werkzeuglänge nicht gespeichert wird.
Beim Antasten mit einem Tastsystem wird der Parameter Höhe vom Tisch bis zur Oberkante des Werkstücks nicht berücksichtigt und kann ignoriert werden, unabhängig davon, ob Sie den Tastplattenbetrieb mit einer auf 0 eingestellten Dicke oder eine Antastroutine verwenden. Er gilt nur für den Werkzeugeinrichter.
12.1. Versa Taster (engl. probe)
Der Versa-Taster wird zum halbautomatischen Antasten von Werkstücken verwendet, um Kanten, Mittelpunkte und Winkel zu finden.
Er kann auch zum automatischen Antasten der Werkzeuglänge beim Werkzeugwechsel mit zusätzlichem Remap-Code verwendet werden.
Sie müssen die "Sondierungs-Parameter" sorgfältig einstellen:
- DIAMETER
-
Dies ist der Durchmesser der Sondenspitze. Die Genauigkeit der Sondenmessungen wird direkt von der Genauigkeit des Durchmessers der Sondenspitze beeinflusst.
- TRAVEL
-
Minimaler zurückgelegte Entfernung der Sonde bei der ersten Suche. Wenn die Suchstrecke zu kurz ist, erhalten Sie eine Meldung wie "G38 beendet ohne Kontakt". Aus Sicherheitsgründen wird empfohlen, diesen Parameter auf 3-4 mm mehr als den Durchmesser des Tastereinsatzes einzustellen.
- LATCH RTN
-
Der Abstand, um den die Sonde nach dem ersten Kontakt mit dem Werkstück zurückgezogen wird. Dieser Abstand sollte kurz sein, da die zweite Annäherung mit einer langsamen Geschwindigkeit erfolgt, aber groß genug, damit der Messtaster den Kontakt unterbricht und in den Zustand der Suchbereitschaft gebracht wird. Wenn der Abstand Latch Rtn zu groß ist, verbringen Sie viel Zeit damit, auf den Abschluss der Suche zu warten. Empfehlung: 1-2 mm
- SEARCH
-
Dies ist die Vorschubgeschwindigkeit des Messtaster während der Suche nach dem Ziel, in Maschineneinheiten pro Minute. Die Suchgeschwindigkeit sollte langsam genug sein, um eine akzeptable Anfangsgenauigkeit zu erreichen, aber schnell genug, um keine Zeit mit dem Warten auf eine Bewegung zu verlieren. Empfehlung: 200-500 mm/min.
- PROBE
-
Sobald der erste Kontakt hergestellt und der Taster zurückgezogen ist, wartet er 0,5 Sekunden, bevor er die Suche mit einer niedrigeren Geschwindigkeit, der Tastergeschwindigkeit, erneut durchführt. Diese niedrigere Geschwindigkeit stellt sicher, dass die Maschine die Bewegung bei Kontakt mit dem Werkstück so schnell wie möglich stoppen kann.
- RAPID
-
Achsbewegungen, die nicht mit der Suche verbunden sind, werden mit der durch RAPID definierten Geschwindigkeit in Maschineneinheiten pro Minute ausgeführt.
- SIDE/EDGE LENGTH
-
Dies ist die Entfernung, die der Messtaster im Eiltempo zu der Position fährt, an der er mit der Suche beginnt. Wenn eine Ecke gemessen wird, bewegt sich der Messtaster EDGE LENGTH von der Ecke weg, bewegt sich dann um XY CLEARANCE vom Werkstück weg, senkt sich um Z CLEARANCE und beginnt mit der Anfangssuche. Wenn Sie einen inneren Kreis messen, sollte EDGE LENGTH auf den ungefähren Radius des Kreises eingestellt werden. Hinweis: NICHT der Durchmesser.
- PROBE HT
-
Die Höhe des Werkzeugsensors von der Oberfläche des Maschinentisches. Dieser Wert wird verwendet, um die Z-Null-Höhe für das aktuelle Arbeitskoordinatensystem zu berechnen, wenn der Messtaster mit einem Werkzeugeinstellsensor verwendet wird.
- BLOCK HT
-
Die Höhe der Oberseite des Werkstücks von der Maschinentischoberfläche. Dieser Wert wird verwendet, um die Z-Nullhöhe für das aktuelle Werkstückkoordinatensystem zu berechnen, wenn der Messtaster mit einem Einrichtungssensor verwendet wird.
- XY CLEARANCE
-
Der Abstand, den der Messtaster von einer Kante oder Ecke wegfährt, bevor er eine Suche durchführt. Er sollte groß genug sein, um sicherzustellen, dass der Messtaster weder das Werkstück noch andere Vorrichtungen berührt, bevor er nach unten fährt. Er sollte klein genug sein, um übermäßiges Warten auf die Bewegung während der Suche zu vermeiden.
- Z CLEARANCE
-
Der Abstand, den die Sonde nach unten fährt, bevor sie eine Suche durchführt. Wenn Sie eine Innenbohrung messen, können Sie den Taster manuell auf die Z-Starthöhe verfahren und dann Z CLEARANCE auf 0 setzen.
Dort sind drei Umschalttasten (engl. toggle buttons):
- Auto Zero
-
This selects if after probing the relevant axis is set to zero in the current user system.
- Auto Skew
-
This selects if after probing, the system will be rotated or just display the calculated rotation.
- Tool Measure
-
This (if integrated) turns auto tool probing on and off.
12.1.1. HAL-Pins
Versaprobe bietet 5 Ausgabepins für die Werkzeugmessung und einen um die Spindel zu unterbrechen während die Sonde geladen wird.
Die Pins werden von einem Remap-G-Code-Unterprogramm gelesen, so dass der Code auf verschiedene Werte reagieren kann.
Derzeit kann die Sonden-Werkzeugnummer (engl. probe tool number) nur in der Einstellungs-Datei verändert werden:
[VERSA_PROBE_OPTIONS]
ps_probe_tool = 1
-
qtversaprobe.enable
(HAL_BIT) -
Measurement enabled or not tool. Reflects screen button state.
-
qtversaprobe.blockheight
(HAL_FLOAT) -
The measured height of the top face of the workpiece. Reflects screen entry.
-
qtversaprobe.probeheight
(HAL_FLOAT) -
The toolsetter probe switch height. Reflects screen entry.
-
qtversaprobe.searchvel
(HAL_FLOAT) -
The velocity to search for the tool probe switch
-
qtversaprobe.probevel
(HAL_FLOAT) -
The velocity to probe tool length. Reflects screen entry.
-
qtversaprobe.backoffdist
(HAL_FLOAT) -
The distance the probe backs off after triggering. Reflects screen entry.
-
qtversaprobe.probe-loaded
(HAL_BIT) -
Reflect if the current tool is equal to the preference file probe number.
12.2. Einfache Sonde
Der Basistaster wird zum halbautomatischen Antasten von Werkstücken verwendet, um Kanten, Mittelpunkte und Winkel zu finden. Das Kombinationsfeld ermöglicht die Auswahl des Grundtyps der gezeigten Messtasten:
-
Außenecken
-
Innenecken
-
Kantenwinkel
-
Erhebungen und Taschen (engl. boss and pockets)
-
Erhöhungen und Vertiefungen
-
Kalibrierung
Sie müssen die "Sondierungs-Parameter" sorgfältig einstellen:
- Probe Tool
-
Will only allow probing if this tool number is in the spindle
- Probe Diameter
-
The size of the probe tip
- Probe Rapid
-
The speed of rapid moves in machine units
- Probe Search
-
The speed of the first rough search in machine units
- Probe Feed
-
The speed of the second fine search in machine units
- Step Off
-
Back off and re-probe distance
- Max XY Distance
-
The maximum distance the probe will search for in X and Y before failing with error
- Max Z Distance
-
The maximum distance the probe will search for in Z before failing with error
- XY Clearance
-
Clearance distance from probe to wall edge before rapid traversing down in Z and rough probing
- Z Clearance
-
Clearance distance from probed to top of material
- Extra Depth
-
Distance from top of material to desired probe depth
Es gibt auch Hinweisparameter, abhängig von der gewählten Tastart:
- Edge Width
-
Desired distance from the probe start position, along wall edge before starting to probe
- Diameter Hint
-
Used by Round Boss or Round Pocket probing (start move: 1/2 diameter plus XY clearance)
- X Hint
-
Used by Rectangular Boss/Pocket probing (start move: 1/2 X length plus XY clearance)
- Y Hint
-
Used by Rectangular Boss/Pocket probing (start move: 1/2 Y length plus XY clearance)
Nach der Einstellung der Parameter und Berücksichtigen der Hinweise:
-
Bewegen Sie die Sonde manuell zu der ungefähren Position, die durch das grüne Ziel auf der Schaltfläche dargestellt wird.
-
Bestätigen Sie, dass die Parameter angemessen sind.
-
Drücken Sie die gewünschte Sondierungstaste.
Die Sondierungsroutine beginnt sofort.
Anmerkung
|
Durch Drücken der Stopptaste oder der Escape-Taste der Tastatur wird die Sondierung abgebrochen. |
12.2.1. HAL-Pins
Dieser kann genutzt werden, die Spindel anzualten, wenn eine Sonde aufgenommen wird.
Sie verbinden ihn mit spindle.0.inhibit
.
qtbasicprobe.probe-loaded
12.2.2. Beispiel für eine Ecksonde
Lassen Sie uns die Innenecken-Antastung mit der Schaltfläche oben rechts in Basic Probe (back_right_inside) besprechen. Während alle Sondeneinträge korrekt sein müssen, sind die wichtigsten Einstellungen für jede einzelne Sonde zu ändern:
- XY CLEARANCE
-
Distance away from edge before rough probing,
- Z CLEARANCE
-
Distance from probe to top of material,
- EXTRA DEPTH
-
Distance to lower probe from top of material,
- EDGE WIDTH
-
Distance along edge wall (away from corner) to start probing.
Anmerkung
|
Dieser Abstand ist immer in "Maschineneinheiten" anzugeben (mm für metrische Maschine, Zoll für imperiale Maschinen). |
Voreinstellung:
-
Setzen Sie den Taster manuell auf den Schnittpunkt der Kanten (d.h. Ecke) des Materials, wie durch das grüne Bullauge auf der Taste beschrieben. Stellen Sie ihn Z CLEARANCE über der Oberseite des Materials ein. Diese Einstellungen können nach Augenmaß vorgenommen werden.
-
Setzen Sie EXTRA CLEARANCE auf einen Wert, bei dem die Sonde unter die Oberkante des Materials fahren soll. (Die Sonde bewegt sich also von ihrer Startposition aus nach unten Z-Abstand + Extra-Abstand.)
-
Setzen Sie XY CLEARANCE auf einen Wert, der einen gewissen Abstand zur Wand gewährleistet, damit die Sonde beim Absenken nicht gegen etwas stößt.
-
setzen Sie EDGE WIDTH auf einen Wert, der den von der Ecke gemessenen Abstand entlang der Wand beschreibt, wo Sie Sonden wünschen. dieser Kantenabstand wird entlang der X-Wand und dann der Y-Wand verwendet.
Abfolge nach Betätigung der Sondentaste:
-
Rapid EDGE WIDTH (engl. für Schneller KANTENBREITE) Abstand von der Ecke sich entfernend, gleichzeitig XY CLEARANCE (engl. für XY-FREIRAUM) sich von der Kante weg bewegend. Dies ist also eine leicht diagonale Bewegung.
-
Sonde nach unten bewegen um Z CLEARANCE + EXTRA DEPTH,
-
Wand zweimal sondieren (grob (engl. rough) und fein),
-
diagonal zur anderen Wand bewegen, wie durch EDGE WIDTH und XY CLEARANCE festgelegt,
-
Wand zweimal sondieren,
-
Sonde nach oben bewegen um Z CLEARANCE + EXTRA DEPTH (kehrt zum Ausgangspunkt zurück,
-
Im Eilgang zurück zur startecke (jetzt berechnet anhand der mit der Sonde bestimmten Wänden),
-
Wenn die Schaltfläche für die automatische Nullung aktiviert ist, setzen von X und Y des aktuellen Benutzersystems auf Null.
13. Touch-Platte
Sie können eine leitfähige Tastplatte oder etwas Gleichwertiges verwenden, um die Z-Position eines Werkzeugs automatisch anzutasten (die Benutzerkoordinate auf Null zu setzen). Vor dem Antasten muss ein Werkzeug geladen sein. Legen Sie auf der Registerkarte "Werkzeug" oder "Einstellungen" die Höhe der Tastplatte, die Such- und Antastgeschwindigkeit und den maximalen Antastabstand fest.
Anmerkung
|
Wenn Sie eine leitfähige Platte verwenden, sollten die Such- und Tastgeschwindigkeit gleich langsam sein. Wenn Sie einen Werkzeugwechsler mit gefedertem Verfahrweg verwenden, können Sie die Suchgeschwindigkeit schneller einstellen. LinuxCNC fährt die Geschwindigkeit mit der maximalen Beschleunigung herunter, so dass nach dem Auslösen des Messtasters ein Verfahrweg vorhanden sein kann, wenn die Geschwindigkeit zu hoch eingestellt ist. |
Legen Sie die Platte auf die Oberfläche, auf der Sie Z nullen möchten. Verbinden Sie das Eingangskabel des Messtasters mit dem Werkzeug (bei Verwendung einer leitfähigen Platte). Bewegen Sie das Werkzeug manuell innerhalb des maximalen Tasterabstandes. Drücken Sie die Taste "Tastplatte". Die Maschine tastet zweimal nach unten und der aktuelle Benutzer-Offset (G5X) wird am unteren Ende der Platte durch Berechnung der Tastplattenhöhe auf Null gesetzt.
14. Automatische Werkzeugvermessung
14.1. Übersicht
QtDragon kann eingerichtet werden, um eine integrierte automatische Werkzeug-Messung mit dem Versa Sonde Widget und Remap-Code vorzunehmen.
Diese Funktion übernimmt die miteinander abgestimmte gleichzeitige Verwendung zweier Sonden:
-
Ein Werkzeugschalter-Sensor, irgendwo auf der Maschine befestigt (manchmal engl. als tool-setter bezeichnet), und
-
a spindle probe that is installed temporarily at the beginning of the job (sometimes called an xyz probe or a Renishaw probe).
These techniques are useful for machines that do not have repeatable tool holders and do not have automatic tool changing devices. (For machines with repeatable tool holders, see the section on measuring tool length. For machines with automatic tool changing devices, consult work done under the LinuxCNC repository at configs/sim/axis/remap/rack-toolchange
.)
Um diese Funktion zu nutzen, müssen Sie einige zusätzliche Einstellungen vornehmen und vielleicht möchten Sie den angebotenen HAL-Pin verwenden, um Werte in Ihrem eigenen NGC-Remap-Verfahren zu erhalten. Diese Einstellungen werden in einem späteren Abschnitt beschrieben.
Erstens, dieses Dokument deckt die Verwendung dieser Technik ab. Zweitens deckt dieses Dokument ab, wie diese Technik zu Beginn eines Produktionsablaufs vorbereitet werden kann.
14.2. Workflow Übersicht
Ein detaillierter Workflow-Durchgang folgt dieser Übersicht.
Setup steps include:
-
Entering the probe velocities on the versa probe settings page.
-
Enabling "Use Tool Measurement" on the Versa Probe tab.
-
Enabling "Use Tool Sensor" under Settings.
Wichtig
|
When fist setting up auto tool measurement, please use caution until you confirm tool change and probe locations - it is easy to break a tool/probe. Abort will be honoured while the probe is in motion. |
Die Werkzeugmessung in QtDragon erfolgt in den folgenden Schritten, die in dem folgenden Abschnitt genauer erklärt werden:
-
Null das Sondenwerkzeug durch Messen des tool setters mit der installierten Spindelsonde
-
Berührung des Werkstücks in X und Y.
-
Messen Sie die Höhe Ihres Blocks von der Basis, an der sich Ihr Werkzeugschalter befindet, bis zur Oberseite des Blocks (einschließlich Spannfutter usw.).
-
Geben Sie auf der Registerkarte Versa-Sonde den Messwert für die Blockhöhe ein.
-
Gehen Sie in den Automatikmodus und starten Sie Ihr Programm.
Beim ersten gegebenen Werkzeugwechsel wird das Werkzeug vermessen und der Versatz wird automatisch auf die Blockhöhe eingestellt. Der Vorteil dieser Methode ist, dass Sie kein Referenzwerkzeug benötigen.
Anmerkung
|
Ihr Programm muss am Anfang einen Werkzeugwechsel enthalten. Das Werkzeug wird gemessen, auch wenn es schon vorher verwendet wurde, so dass keine Gefahr besteht, wenn sich die Blockhöhe geändert hat. Es gibt mehrere Videos auf you tube, die diese Technik mit GMOCCAPY demonstrieren. Der GMOCCAPY-Bildschirm war der Wegbereiter dieser Technik. |
Die Reihenfolge der Ereignisse (unter Verwendung der Standarddateien in den Vorstellungen (engl. default settings)):
-
Rapid move in Z to position defined in the INI’s [TOOL_CHANGE] Z.
-
Rapid move in X and Y to number defined in INI’s [TOOL_CHANGE] X and Y.
-
Perform normal M6 tool change, i.e., stop spindle, send message to user to change the tool.
-
Rapid move in X and Y to position defined in the INI’s [VERSA_TOOLSETTER] X and Y.
-
Rapid move down in Z to position defined in the INI’s [VERSA_TOOLSETTER] Z.
-
Probe down in Z to maximum defined in the INI’s [VERSA_TOOLSETTER] MAXPROBE.
-
Changes the offset of the current work coordinate system to match the difference between the previous tool and the currently measured tool.
-
Rapid move up in Z to position defined in the INI’s [VERSA_TOOLSETTER] Z_MAX_CLEAR.
-
Rapid move to the X Y position when the tool change was called.
-
Rapid move down to the Z position when the tool change was called.
Anmerkung
|
Die [TOOL_CHANGE] Z-Position sollte hoch genug sein, damit das Werkzeug beim Verschieben auf die [VERSA_TOOLSETTER] X und Y Position nicht auf die Werkzeugsonde trifft. Der MAXPROBE Abstand muss hoch genug sein, damit das Werkzeug die Sonde berühren kann. |
14.3. Detailliertes Workflow-Beispiel
14.3.1. Einmalige Einrichtung
Folgende Setups müssen nur einmal ausgeführt werden, solange sie in Kraft bleiben:
-
Under Probe Tool Screens: Ensure reasonable values for "Rapid" and "Search," these are the speeds at which the probing will be performed and are in machine units per minute.
-
Under Probe Tool Screens: Ensure that "Tool Measure" is enabled (this is a button that must be highlighted)
-
Under Settings: Ensure that "Use Tool Sensor" is enabled (this is a tick-box that must be checked)
-
In the Tool Table: Set up a tool for the spindle probe and ensure that its Z offset is set to zero.
Anmerkung
|
It is possible to use a non-zero tool length for the tool probe, but this requires extra steps and is easy to make mistakes. The following procedure assumes a zero tool probe length. |
14.3.2. Prozedur vor dem Start eines Programms
Das folgende Setup wird vor dem Start eines Programms durchgeführt, das M6 Werkzeugwechselbefehle ausführt.
-
Laden Sie die Spindelsonde physisch in die Spindel.
-
Laden Sie die Spindelsonde nun auch programmtechnisch mit dem Befehl M61 Qx in die Spindel ein, bei dem x die Zahl im Werkzeugtisch für die Spindelsonde ist (innerhalb der Werkzeug-Tabellen-Registrierkarte befindet sich ein Button, der auch verwendet werden kann)
-
Position to the Toolsetter: Use the button under the Probe Screens for "Go To Toolsetter" to position the spindle above the Toolsetter.
-
Toolsetter Measure: Use the button under the Probe Screens for "Probe Tool Setter Z Height." Note that this will set and display on the Probe Settings screen the "Probe HT" value in ABS coordinates
-
Schnellauf (jog) zum Werkstück.
-
Workpiece Measure: Use the button under the Probe Screens for "Probe Z Height of Material:" this will set and display on the Probe Settings screen the "Block Ht" value in ABS coordinates. (Typically, this will now also be the zero Z for your Work Coordinate System)
-
Set Work Coordinate System (ie, G54, or other): Use the Probe Tool and whatever probe screen or other method is appropriate to set the X, Y, and Z coordinate system needed for your job.
-
If your program begins with a TnM6 command before spinning the spindle, you may leave the spindle probe installed. You may also issue a TnM6 command to change out the spindle probe, and if the program issues the same one, it will skip the tool change.
Achtung
|
Take care not to leave the spindle probe in the spindle if a program may start the spindle. |
Once those steps are complete, a program with multiple TnM6 toolchanges can be started and will operate with automatic pauses for manual tool change followed by automated tool measurement.
Anmerkung
|
After probing the new tool length using the tool-setter, this remap code uses a G43 which applies the offset to the Work Coordinate system which was in effect when the M6 command was issued. Because remapping has adjusted the Work Coordinate system by the offset between the previous and the current tool, the tool tip will end up at the same point in space as the tip of the previous tool was when the tool change was called. |
14.4. Ertasten der Werkstückhöhe in QtDragon_hd
Die [TOOL_CHANGE] Z-Position sollte hoch genug sein, damit das Werkzeug beim Verschieben auf die [VERSA_TOOLSETTER] X und Y Position nicht auf die Werkzeugsonde trifft. Der MAXPROBE Abstand muss hoch genug sein, um die Sonde zu berühren.
14.5. Werkstückhöhe Antasten
Dieses Programm tastet 2 benutzerdefinierte Positionen in der Z-Achse an und berechnet die Höhendifferenz.
Anmerkung
|
Diese Funktion ist nur in der Version QtDragon_hd verfügbar. |
-
Wenn diese Option markiert ist, sind die SET-Tasten aktiviert.
-
Dadurch kann der Benutzer die X-, Y- und Z-Parameter automatisch mit der aktuellen Position, wie sie auf den DROs angezeigt wird, ausfüllen.
-
Wenn diese Option aktiviert ist, wird die berechnete Höhe automatisch in das Feld Werkstück-Höhe im Hauptbildschirm übertragen.
-
Andernfalls ist der Hauptbildschirm nicht betroffen.
-
die X-, Y- und Z-Koordinaten geben an, wo die erste Sondierungsroutine im aktuellen WCS beginnen soll
-
die X-, Y- und Z-Koordinaten geben an, wo die zweite Sondierungsroutine beginnen soll, und zwar im aktuellen WCS
-
Die Maschine wird auf die sichere Z-Fahrhöhe angehoben, bevor sie zu den X- und Y-Koordinaten rüttelt.
-
Die Spindel senkt sich dann auf die angegebene Z-Koordinate.
-
Sie sollte so gewählt werden, dass das Werkzeug beim Joggen alle Hindernisse überwindet.
-
Die Maschine fährt zur ersten Position und tastet dann nach unten.
-
Die Maschine fährt dann zum zweiten Standort und tastet sich erneut nach unten.
-
Die Differenz der angetasteten Werte wird als berechnete Werkstückhöhe angegeben.
-
Die Parameter für Suchgeschwindigkeit, Sondengeschwindigkeit, maximale Sondenentfernung und Rücklaufentfernung werden von der Hauptseite der GUI-Einstellungen gelesen.
-
bewirkt, dass alle derzeit ausgeführten Tipp- und Tastroutinen gestoppt werden.
-
zeigt dieses Hilfefenster an.
-
Zwei beliebige Punkte können im Maschinenarbeitsraum spezifiziert werden.
-
Wenn der erste Punkt höher ist als der zweite, ist die berechnete Höhe eine positive Zahl.
-
Ist der erste Punkt niedriger als der zweite, ist die berechnete Höhe eine negative Zahl.
-
Die Einheiten sind in diesem Programm irrelevant. Die gemessenen Werte werden nicht gespeichert und nur die Differenz wird gemeldet.
Achtung
|
Das Einstellen falscher Werte kann zu Abstürzen in Vorrichtungen auf der Arbeitsfläche der Maschine führen. Ein erster Test ohne Werkzeug und in sicherer Höhe wird empfohlen. |
14.6. Werkzeugmess-Pins
Versaprobe bietet 5 Ausgabepins für die Werkzeugmessung. Die Pins werden von einem Remap-G-Code-Unterprogramm gelesen, so dass der Code auf verschiedene Werte reagieren kann.
-
qtversaprobe.enable
(HAL_BIT) -
Measurement enabled or not tool. Reflects screen button state.
-
qtversaprobe.blockheight
(HAL_FLOAT) -
The measured height of the top face of the workpiece. Reflects screen entry.
-
qtversaprobe.probeheight
(HAL_FLOAT) -
The toolsetter probe switch height. Reflects screen entry.
-
qtversaprobe.searchvel
(HAL_FLOAT) -
The velocity to search for the tool probe switch
-
qtversaprobe.probevel
(HAL_FLOAT) -
The velocity to probe tool length. Reflects screen entry.
-
qtversaprobe.backoffdist
(HAL_FLOAT) -
The distance the probe backs off after triggering. Reflects screen entry.
14.7. Änderungen an der INI-Datei für Werkzeugmessungen
Ändern Sie Ihre INI-Datei so, dass sie Folgendes enthält:
14.7.1. Der Abschnitt PROBE (Werkstück-Sensor)
QtDragon ermöglicht es Ihnen, eine von zwei Arten von Messtasterroutinen auszuwählen. Versa Probe arbeitet mit einem M6-Remap, um die automatische Werkzeugerfassung hinzuzufügen.
[PROBE] #USE_PROBE = versaprobe USE_PROBE = basicprobe
14.7.2. Der RS274NGC-Abschnitt
Anmerkung
|
Diese Standardeinträge sollten in den meisten Situationen gut funktionieren. Einige Systeme müssen möglicherweise anstelle von linuxcnc/nc_files/examples/ dann linuxcnc/nc_files/ verwenden. Bitte überprüfen Sie, ob Pfade gültig sind. Benutzerdefinierte Einträge mit Referenzen auf die geänderte Datei sind möglich. |
[RS274NGC] # diese Pfade so anpassen, dass sie auf Ordner mit stdglu.py und qt_auto_tool_probe.ngc zeigen # oder ähnlich kodierte benutzerdefinierte Remap-Dateien SUBROUTINE_PATH = ~/linuxcnc/nc_files/remap-subroutines:\ ~/linuxcnc/nc_files/remap_lib # ist die Sub, die aufgerufen wird, wenn ein Fehler beim Werkzeugwechsel auftritt. ON_ABORT_COMMAND=O <on_abort> Aufruf # Der Remap-Code für die automatische Werkzeugsonde von Z der Versaprobe von QtVCP REMAP=M6 modalgroup=6 prolog=change_prolog ngc=qt_auto_probe_tool epilog=change_epilog
14.7.3. Der Abschnitt Werkzeugsensor (engl. tool sensor)
Die Position des Werkzeugsensors und die Startposition der Antastbewegung.
Alle Werte sind absolute (G53) Koordinaten, mit Ausnahme von MAXPROBE, das als absolute Länge der Bewegung angegeben wird.
Alle Werte sind in maschineneigenen Einheiten.
X,Y,Z setzen die Lokalisation der Sonde für den Werkzeug-Einsteller (engl. tool setter probe location).
Auto probe action sequence in the default qt_auto_probe_tool example remap defined above (this behavior can be changed by modifying either the remap statement in the RS274NGC section, or by modifying the qt_auto_probe_tool.ngc code.):
-
rapid move to the INI’s [CHANGE_POSITION] Z position (this is a relative move, it adds this Z value to the current Z coordinate)
-
schnelle (engl. rapid) Bewegung zur X & Y Position der [CHANGE_POSITION] aus der INI Datei.
-
warten auf manuelle Bestätigung des werkzeugwechsels
-
rapid move to the INI’s [VERSA_TOOLSETTER] X & Y position
-
rapid move to the INI’s [VERSA_TOOLSETTER] Z_MAX_CLEAR Z position
-
schnelle Sondierung
-
langsame Sondierung
-
rapid move to the INI’s [VERSA_TOOLSETTER] Z_MAX_CLEAR Z position
Z_MAX_CLEAR ist die Z-Position, zu der sich das System begibt bevor der Tool-Setter bewegt wird, wenn Sie die Travel to Toolsetter-Taste betätigen.
Travel to Toolsetter Aktionssequenz:
-
schnelle Bewegung zur [VERSA_TOOLSETTER] Z_MAX_CLEAR Z-Position
-
schnelle Bewergung zur [VERSA_TOOLSETTER] XY Position
-
schnelle Bewegung zur [VERSA_TOOLSETTER] Z Position.
Beispiel-Einstellungen:
[VERSA_TOOLSETTER] X = 10 Y = 10 Z = -20 Z_MAX_CLEAR = -2 MAXPROBE = -20
14.7.4. Der Abschnitt "Position ändern"
Die Position wird nicht zweckdienlichst TOOL_CHANGE_POSITION genannt - canon verwendet diesen Namen und interveniert sonst. Die Position, an welche die Maschine bewegt werden soll, bevor der Befehl zum Werkzeugwechsel gegeben wird. Alle Werte sind in absoluten Koordinaten. Alle Werte sind in maschineneigenen Einheiten.
[CHANGE_POSITION] X = 10 Y = 10 Z = -2
14.7.5. Die Python-Sektion
Der Python-Abschnitt legt fest, nach welchen Dateien der Python-Interpreter von LinuxCNC sucht, z.B. die Datei toplevel.py
im Ordner python
im Konfigurationsverzeichnis: Diese Standardeinträge sollten in den meisten Situationen gut funktionieren. Einige Systeme müssen möglicherweise linuxcnc/nc_files/examples/ verwenden statt linuxcnc/nc_files. Benutzerdefinierte Einträge, die auf die geänderte Datei verweisen, sind möglich.
# The path start point for all remap searches, i.e. Python's sys.path.append() PATH_APPEND = ~/linuxcnc/nc_files/remap_lib/python-stdglue/python # path to the tremap's 'toplevel file TOPLEVEL = ~/linuxcnc/nc_files/remap_lib/python-stdglue/python/toplevel.py
14.8. Benötigte HAL-Verbindungen
Stellen Sie sicher, dass der Messtastereingang in Ihrer HAL-Datei angeschlossen ist: Bei korrektem Anschluss sollten Sie in der Lage sein, die Taster-LED in QtDragon umzuschalten, wenn Sie den Tasterstift drücken.
net probe motion.probe-input <= <Ihr_input_pin>
15. Ausführen von gegebener Zeile
Ein G-Code-Programm kann an jeder beliebigen Zeile gestartet werden, indem Sie im AUTO-Modus auf die gewünschte Zeile in der G-Code-Anzeige klicken. Es liegt in der Verantwortung des Bedieners sicherzustellen, dass sich die Maschine im gewünschten Betriebsmodus befindet. Es wird ein Dialogfeld angezeigt, in dem die Spindelrichtung und -geschwindigkeit voreingestellt werden können. Die Startlinie wird in dem Feld mit der Bezeichnung LINE neben der Taste CYCLE START angezeigt. Die Funktion "Von der Linie starten" kann auf der Einstellungsseite deaktiviert werden.
Anmerkung
|
LinuxCNC’s "Ausführen ab Zeile…" (engl. run-from-line) ist nicht sehr benutzerfreundlich. Z.B. startet es nicht die Spindel oder bestätigt das richtige Werkzeug. Auch werden Unterprogramme nicht gut gehandhabt. Wenn es verwendet wird, ist es am besten, mit einem Eilgang zu beginnen. |
16. Laser-Buttons
Der Button LASER ON/OFF dient dazu, einen Ausgang ein- oder auszuschalten, der mit einem kleinen Laserkreuzprojektor verbunden ist. Wenn das Fadenkreuz über einem gewünschten Referenzpunkt auf dem Werkstück positioniert ist, kann die Taste REF LASER gedrückt werden, die dann die X- und Y-Offsets auf die in den Feldern LASER OFFSET auf der Seite Einstellungen angegebenen Werte setzt.
17. Beschreibung der Registerkarten
Über die Registerkarten kann der Benutzer die am besten geeigneten Informationen/Steuerelemente in den oberen drei Feldern auswählen. Wenn die Bildschirmtastatur eingeblendet ist und der Benutzer sie ausblenden, aber die aktuelle Registerkarte beibehalten möchte, kann er dies tun, indem er die aktuelle Registerkarte anzeigt. In QtDragon gibt es einen Splitter-Handle zwischen der G-Code-Textanzeige und der G-Code-Grafikanzeige. Mit diesem kann man die Größe zwischen den beiden Bereichen aufteilen. Dies kann in jedem Tab und in jedem Modus unterschiedlich eingestellt werden.
17.1. Hauptregisterkarte
Auf dieser Registerkarte wird die grafische Darstellung des aktuellen Programms angezeigt. Mit den seitlichen Schaltflächen wird die Anzeige gesteuert.
-
Benutzeransicht: Auswählen/Wiederherstellen einer benutzerdefinierten Ansicht des aktuellen Programms.
-
P,X,Y,Z: Standardansichten einstellen.
-
D: Anzeige der Abmessungen umschalten.
-
+, -: Zoom-Steuerung.
-
C: Übersichtliche Grafik der Werkzeugbewegungslinien.
In qtdragon_hd
sind auf der rechten Seite auch Makrotasten verfügbar. Bis zu zehn Buttons können in der INI definiert werden.
17.2. Registerkarte "Datei"
Sie können diese Registerkarte verwenden, um Programme zu laden oder zu übertragen. Die Bearbeitung von G-Code-Programmen kann über diese Registerkarte ausgewählt werden. Bei qtdragon_hd
können Sie hier den G-Code Ripper laden.
17.3. Registerkarte "Offsets"
Auf dieser Registerkarte können Sie die System-Offsets überwachen/ändern. Es gibt praktische Schaltflächen für die Nullstellung der Rotation.G92 und den aktuellen G5x-Benutzer-Offset.
17.4. Registerkarte "Werkzeug"
Auf dieser Registerkarte können Sie die Werkzeugkorrekturen überwachen/verändern. Das Hinzufügen und Löschen von Werkzeugen aus der Werkzeugdatei kann ebenfalls über diese Registerkarte erfolgen. Wenn diese Registerkarte ausgewählt ist, ändern sich die einzelnen Home-Schaltflächen im DRO-Bereich in Schaltflächen zur Einstellung der Werkzeugkorrektur. Sie kehren zu den Home-Schaltflächen zurück, wenn Sie eine andere Registerkarte auswählen. Wenn Sie diese Schaltfläche drücken, wird ein Menü mit Optionen angezeigt:
-
Aktuelle Werkzeug-Position einstellen
-
Aktuelle Werkzeug-Position anpassen
-
Aktuelle Werkzeug-Position auf Null setzen
-
Werkzeugversatz direkt einstellen
-
Auf zuletzt zurücksetzen
17.5. Registerkarte "Status"
Hier wird ein mit einem Zeitstempel versehenes Protokoll wichtiger Maschinen- oder Systemereignisse angezeigt. Maschinenereignisse sind eher für einen Bediener geeignet, während die Systemereignisse bei der Fehlersuche helfen können.
17.6. Registerkarte "Sonde
Auf dieser Registerkarte werden Optionen für Prüfroutinen angezeigt. Abhängig von den INI-Optionen kann dies VersaProbe- oder BasicProbe-Stil sein. Sie sind funktionell ähnlich. QtDragon_hd zeigt auch ein kleineres Grafikanzeigefenster an.
17.7. Camview-Registerkarte
Wenn die erkannte Webcam angeschlossen ist, wird auf dieser Registerkarte das Videobild mit einem Fadenkreuz überlagert angezeigt einem Kreis und einer Gradanzeige überlagert. Dies kann angepasst werden, um ein Teilmerkmal für solche Dinge wie Touchoff anzupassen. Die zugrunde liegende Bibliothek verwendet das openCV-Python-Modul, um eine Verbindung zur Webcam herzustellen.
Um das X- oder Y-Größe-Aspektverhältnis anzupassen, oder die Nummer der Kamea, schauen Sie in der Präferenzdatei nach:
[CUSTOM_FORM_ENTRIES]
Camview xscale = 100
Camview yscale = 100
Camview cam number = 0
Diese Angaben sind in Prozent, normalerweise wird der Bereich in einer Achse 100 - 200 betragen.
Ein Invertiering dieser Skalierung kan genutzt werden, um das Bild in X, Y oder beiden Achsen zu spiegeln.
Die Einstellungsdatei kann nur bearbeitet werden, wenn QtDragon nicht läuft.
17.8. G-Codes Registrierkarte
Diese Registerkarte zeigt eine Liste von LinuxCNC’s G-Code. Wenn Sie auf eine Zeile klicken, wird eine Beschreibung des Codes angezeigt.
17.9. Registerkarte "Einstellungen"
Es ist möglich, eine HTML- oder PDF-Datei (.html / .pdf-Endung) mit Einrichtungshinweisen zu laden, und diese werden auf der Registerkarte "Setup" angezeigt.
Wenn Sie ein G-Code-Programm laden und es eine HTML/PDF-Datei mit demselben Namen gibt, wird es automatisch geladen.
Einige Programme wie Fusion 360 und Aspire erstellen diese Dateien für Sie. Sie können auch Ihre eigenen HTML-Docs mit der enthaltenen SetUp Writer-Taste schreiben.
Es gibt drei Unterkarten (engl. tabs):
-
HTML - alle geladenen HTML-Seiten werden hier angezeigt. Die Navigations-Buttons funktionieren auf dieser Seite.
-
PDF - alle geladenen PDF Setup-Seiten werden hier angezeigt.
-
PROPERTIES - wenn ein Programm geladen wird, werden hier dessen G-Code Eigenschaften angezeigt.
Es gibt Navigations-Buttons für die HTML-Seite:
-
Der Pfeil nach oben führt Sie auf die Standard-HTML-Seite zurück.
-
Der linke Pfeil führt auf die vorherige HTML-Seite.
-
Der rechte Pfeil revidiert die Wirkung eines zuvor gedrückten Pfeils nach links.
Wenn Sie eine benutzerdefinierte Standard-HTML-Seite einbinden möchten, nennen Sie diese default_setup.html und legen Sie es in Ihren Konfigurationsordner.
In dieser Registerkarte können benutzerdefinierte QtVCP-Panels angezeigt werden, indem die Option EMBED_TAB_LOCATION auf tabWidget_setup gesetzt wird.
17.10. Registerkarte "Einstellungen"
Die Registerkarte "Einstellungen" dient zum Einstellen der Betriebsoptionen, der Offsets für Messtaster/Tastplatte/Laser/Kamera und zum Laden externer Debugging-Programme.
17.11. Registerkarte "Dienstprogramme"
Auf dieser Registerkarte wird eine weitere Auswahl von G-Code-Hilfsprogrammen angezeigt:
-
Facing: ermöglicht schnelles Planfräsen eines definierbaren Bereichs in Winkeln von 0,45 und 90 Grad.
-
Lochkreis: ermöglicht die schnelle Einstellung eines Programms zum Bohren eines Lochkreises mit definierbarem Durchmesser und Anzahl der Löcher.
-
NGCGUI: ist eine QtVCP-Version des beliebten G-Code Subroutine Builder/Selector, siehe Widgets-NGCGUI.
Benutzerdefinierte QtVCP-Panels können hier angezeigt werden, indem man die Option EMBED_TAB_LOCATION auf tabWidget_utilities
setzt
17.12. Benutzer-Registerkarte
Diese Registerkarte wird nur angezeigt, wenn ein eingebettetes Panel für die Position stackedWidget_mainTab
bestimmt wurde. Wenn mehr als eine eingebettete Registerkarte festgelegt wurde, werden diese durch Drücken der Benutzer-Registerkarte durchlaufen.
18. Stile
Nahezu alle Aspekte des Erscheinungsbildes der Benutzeroberfläche sind über die Stylesheet-Datei QtDragon.qss konfigurierbar. Die Datei kann manuell oder über das Stylesheet-Dialog-Widget in der GUI bearbeitet werden. Um diesen Dialog aufzurufen, drücken Sie F12 im Hauptfenster. Neue Stile können vorübergehend angewendet und dann in einer neuen qss-Datei gespeichert werden, oder die aktuelle qss-Datei überschreiben.
19. Internationalisierung
Es ist möglich, Übersetzungsdateien für QtDragon zu erstellen, um sie in der Sprache des aktuellen Gebietsschemas (engl. locale) anzuzeigen.
Um eine Übersetzungsdatei zu erstellen und oder zu bearbeiten, muss LinuxCNC installiert sein und vor Ort ausgeführt werden.
The following assumes that the LinuxCNC git directory is ~/linuxcnc-dev.
Anmerkung
|
Wenn Sie QtDragon_hd nutzen, ersetzen Sie qtdragon mit qtdragon_hd |
Alle Sprachdateien werden in ~/linuxcnc-dev/share/screens/qtdragon/languages gespeichert.
Die Datei qtdragon.py ist eine Python-Version der GUI-Datei, die für Übersetzungszwecke verwendet wird.
Die .ts-Dateien sind die Quelldateien für die Übersetzungen. Dies sind die Dateien, die für jede Sprache erstellt/bearbeitet werden müssen.
Die .qm-Dateien sind die kompilierten Übersetzungsdateien, die von pyqt verwendet werden.
Die Sprache wird durch einen Unterstrich plus die ersten beiden Buchstaben des Gebietsschemas bestimmt, z. B. bei einer italienischen Übersetzung wäre dies _it
. In diesem Dokument wird sie mit _xx
bezeichnet, so dass qtdragon_xx.ts
in diesem Dokument für eine italienische Übersetzung eigentlich qtdragon_it.ts
wäre.
Das voreingestellte Gebietsschema für QtDragon ist _en
, was bedeutet, dass Übersetzungsdateien, die als qtdragon_en.*
erstellt wurden, nicht für Übersetzungen verwendet werden.
Wenn eines der erforderlichen Dienstprogramme (pyuic5, pylupdate5, linguist) nicht installiert ist, muss der Benutzer die benötigten Software-Tools zur Entwicklung installieren:
sudo apt install qttools5-dev-tools pyqt5-dev-tools
Wechseln Sie in das Sprachenverzeichnis:
cd ~/linuxcnc-dev/share/qtvcp/screens/qtdragon/languages
Wenn Textänderungen an der grafischen Benutzeroberfläche vorgenommen wurden, führen Sie den folgenden Befehl aus, um die GUI-Python-Datei zu aktualisieren:
pyuic5 ../qtdragon.ui > qtdragon.py
Der Benutzer kann entweder eine neue Übersetzungsquelldatei für eine nicht existierende Sprachübersetzung erstellen oder eine existierende Übersetzungsquelldatei modifizieren, wenn ein Text in einer QtDragon-Quelldatei geändert wurde. Wenn Sie eine bestehende Übersetzung modifizieren, die keine Änderungen in der Quelldatei erfahren hat, ist dieser Schritt nicht erforderlich.
Erstellen oder bearbeiten Sie eine .ts-Datei:
./langfile xx
Anmerkung
|
Dieser Befehl ist ein Skript, das Folgendes ausführt: $ pylupdate5 .py ../.py ../../../../../lib/python/qtvcp/lib/qtdragon/*.py -ts qtdragon_xx.ts |
Die Bearbeitung der Übersetzung erfolgt mit der Anwendung Linguist:
linguist
-
Öffnen Sie die TS-Datei und übersetzen Sie die Zeichenfolgen
Es ist nicht notwendig, für jede Textzeichenfolge eine Übersetzung bereitzustellen. Wenn für eine Zeichenfolge keine Übersetzung angegeben ist, wird die ursprüngliche Zeichenfolge in der Anwendung verwendet. Der Benutzer muss auf die Länge der Zeichenketten achten, die in den Widgets erscheinen, da der Platz begrenzt ist. Wenn möglich, sollte die Übersetzung nicht länger als das Original sein.
Wenn die Bearbeitung abgeschlossen ist, speichern Sie die Datei:
Datei -> Speichern
(engl. File -> Save)
Erstellen Sie dann die .qm-Datei:
Datei -> Freigabe
(engl. File -> Release
)
QtDragon wird beim nächsten Start in die Sprache des aktuellen Gebietsschemas übersetzt, solange eine .qm Datei in dieser Sprache existiert.
Users are welcome to submit translation files for inclusion into QtDragon. The preferred method is to submit a pull request from the users GitHub account as described in the contributing to LinuxCNC documentation. The only files required to be committed are qtdragon_xx.ts and qtdragon_xx.qm.
20. Anpassung
Ein allgemeiner Überblick über die Anpassung mitgelieferter Bildschirmmasken.
20.1. Stylesheets
Stylesheets can be leveraged to do a fair amount of customization, but you usually need to know a bit about the widget names. Pressing F12 will display a stylesheet editor dialog to load/test/save modification.
The View Sheet tab will allow you to select and apply what stylesheet QtDragon will use when it’s first loaded.
Press the button Copy to Edit Tab to copy the current stylesheet to the edit tab.
The Edit Sheet tab allows editing, applying and saving of changes od the displayed stylesheet.
Sometimes these lines will be present and you can change them, otherwise you will need to add them.
Um zum Beispiel die DRO-Schriftart zu ändern (suchen diesem Eintrag und ändern des Namens der Schriftart):
DROLabel, StatusLabel#status_rpm { border: 1px solid black; border-radius: 4px; font: 20pt "Noto Mono"; }
Um das DRO-Display-Schrift- und Anzeigeformat zu ändern:
DROLabel { font: 25pt "Lato Heavy"; qproperty-imperial_template: '%9.5f'; qproperty-metric_template: '%10.4f'; qproperty-angular_template: '%11.2f'; /*Adjust the menu options */ qproperty-showLast: true; qproperty-showDivide : false; qproperty-showGotoOrigin: false; qproperty-showZeroOrigin: false; qproperty-showSetOrigin: true; qproperty-dialogName: CALCULATOR; }
Change the axis select button’s click menu items:
AxisToolButton { /* Adjust all the menu options */ qproperty-showLast: false; qproperty-showDivide : true; qproperty-showGotoOrigin: true; qproperty-showZeroOrigin: true; qproperty-showSetOrigin: false; qproperty-dialog_code_string: CALCULATOR; }
So ändern Sie den Text der Schaltfläche "Nebel" in "Luft" (fügen Sie diese Zeilen ein)
#action_mist{ qproperty-true_state_string: "Air\\nOn"; qproperty-false_state_string: "Air\\nOff"; }
Um die Offsets-Anzeige Schriftart und Format zu ändern:
ToolOffsetView { font: 20pt "Lato Heavy"; qproperty-imperial_template: '%9.1f'; qproperty-metric_template: '%10.1f'; } OriginOffsetView { font: 12pt "Lato Heavy"; qproperty-imperial_template: '%9.1f'; qproperty-metric_template: '%10.1f'; }
Um den Unschärfeeffekt bei Dialogen zu beenden:
#screen_options { qproperty-focusBlur_option: false; }
Um Status-Highlight/Auswahl Farben zu ändern:
#screen_options { qproperty-user1Color: white; /* regulärer status */ qproperty-user2Color: #ff9000; /* warnung liegt vor */ qproperty-user3Color: #ff8a96; /* kritischer Status */ qproperty-user4Color: #ffaa00; /* Handgerät Auswahl */ qproperty-user5Color: #ff0000; /* Zyklus Start Auswahl */ }
Ändern der G-Code Text Display Farben/Schriften:
} EditorBase{ background:black; qproperty-styleColorCursor:white; qproperty-styleColorBackground:grey; qproperty-styleColor0: black; qproperty-styleColor1: darkblue; qproperty-styleColor2: blue; qproperty-styleColor3: red; qproperty-styleColor4: lightblue; qproperty-styleColor5: white; qproperty-styleColor6: lightGreen; qproperty-styleColor7: yellow ; qproperty-styleColorSelectionText: white; qproperty-styleColorSelectionBackground: blue; qproperty-styleFont0: "Times,15,-1,5,90,0,0,1,1,0"; qproperty-styleFont1: "Times,15,-1,5,90,1,0,1,0,0"; qproperty-styleFont2: "Times,15,-1,5,90,0,0,1,1,0"; qproperty-styleFont3: "Times,15,-1,5,90,0,0,1,1,0"; qproperty-styleFont4: "Times,15,-1,5,90,0,0,1,1,0"; qproperty-styleFont5: "Times,15,-1,5,90,0,0,1,1,0"; qproperty-styleFont6: "Times,15,-1,5,90,0,0,1,1,0"; qproperty-styleFont7: "Times,15,-1,5,90,0,0,1,1,0"; }
Damit die manuellen Spindeltasten auch die Geschwindigkeit schrittweise erhöhen/verringern:
#action_spindle_fwd{ qproperty-spindle_up_action: true; } #action_spindle_rev{ qproperty-spindle_down_action: true; }
20.2. Qt Designer und Python-Code
Alle Aspekte der grafischen Benutzeroberfläche können über Qt Designer und/oder Python-Code vollständig angepasst werden. Diese Fähigkeit ist in der QtVCP-Entwicklungsumgebung enthalten. Die umfangreiche Verwendung von QtVCP-Widgets hält die Menge des erforderlichen Python-Codes auf ein Minimum und ermöglicht relativ einfache Änderungen. Auf der LinuxCNC-Website finden Sie eine ausführliche Dokumentation über die Installation und Verwendung der QtVCP-Bibliotheken. Siehe QtVCP für weitere Informationen über QtVCP im Allgemeinen.
QtDragon kann auch die rc-Datei von QtVCP nutzen, um kleinere Änderungen am Python-Code vorzunehmen, ohne eine eigene Handler-Datei zu verwenden.
[DISPLAY] USER_COMMAND_FILE = CONFIGORDNER/qtdragonrc.py
Siehe Bildschirmmasken anpassen für weitere Informationen zur Anpassung.