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-Router
Abbildung 1. QtDragon - 3 oder 4 Achsen Muster (1440x860) im Silber-look (eigentlich engl. theme)

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
Abbildung 2. QtDragon_hd - 3 oder 4 Achsen-Beispiel für größere Monitore (1920x1056) im dunklen Thema

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

If your configuration is not currently set up to use QtDragon, you can change it by editing the INI file sections. For an exhaustive list of options, see the display section of INI file documentation.

Anmerkung
You can only have one of each section ( ie [HAL] ) in the INI file. If you see in these docs multiple section options place them all under the one appropriate section name.

2.1. Anzeige (engl. display)

Im Abschnitt [DISPLAY] ändern Sie die Zeile DISPLAY wie folgt:

  • qtdragon für eine kleine Version

  • qtdradon_hd für die große Version.

You can add -v, -d, -i, or -q for (respectably) verbose, debug, info or quiet output to the terminal.

[DISPLAY]
DISPLAY = qtvcp qtdragon

2.2. Einstellungen

To keep track of preferences, QtDragon looks for a preference text file. Add the following entry under the [DISPLAY] heading. This example will save the file in the config folder of the launch screen. (Other options are possible see the QtVCP’s screenoption widget docs.)

[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

These set qtdragon’s override controls (1.0 = 100 percent):

[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

Set jog speed controls (in units per second)

[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 Ölstand etc. 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

You can optionally embed QtVCP Virtual Control Panels into the QtDragon or QtDragon_hd screen.
These panels can be either user built or builtin QtVCP Panels.
See QtVCP/VCP panels for other available builtin panels.
The ‚EMBED_TAB_NAME` entry will used as the title for the new tab.(must be unique)
Tab EMBED_TAB_LOCATION options include: tabWidget_utilities, tabWidget_setup and stackedWidget_mainTab.
Tab `EMBED_TAB_COMMAND‘ specifies what embed-able program to run, including any of it’s command line options. + This sample adds a builtin panel, a graphical animated machine using the vismach library, to the utilities tab.

[DISPLAY]
EMBED_TAB_NAME = Vismach Demo
EMBED_TAB_COMMAND = qtvcp vismach_mill_xyz
EMBED_TAB_LOCATION = tabWidget_utilities

If using the tabWidget_utilities or tabWidget_setup locations, an extra tab will appear with the panel.
If using stackedWidget_mainTab, a button labelled 'User" will appear. Pressing this button will cycle through displaying all available panels (specified for this location) on the main tab area.

2.10. Subroutine Paths

If using NGCGUI, remap or custom M codes routines, linuxcnc needs to know where to look for the files.
This sample is typical of what is needed for NgcGui, Basic Probe. and Versa Probe remap code.
These paths will need to be adjusted to point to the actual files on your system. RS274NZGC Section 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

Qtvcp’s NGCGUI program also need to know where to open for subroutine selection and pre-selection.
NGCGUI_SUBFILE_PATH must point to an actual path on your system and also a path described in SUBROUTINE_PATHS.

[DISPLAY]
# NGCGUI subroutine path.
# Thr path must also  be in [RS274NGC] SUBROUTINE_PATH
NGCGUI_SUBFILE_PATH = ~/linuxcnc/nc_files/examples/ngcgui_lib
# pre selected programs tabs
# specify filenames only, files must be in the NGCGUI_SUBFILE_PATH
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 File (*.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 Zeile "PROGRAM_EXTENSION". Geben Sie dann 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 von LinuxCNC ausgeführt werden, wenn Run. Die folgenden Zeilen fügen Sie Unterstützung für den image-to-gcode (engl. für Bild zu G-Code) -Konverter mit LinuxCNC enthalten und die Ausführung von Python-basierte Filter-Programme:

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

Both perform similar probing routines, though Versa probe optionally handles auto tool measurement.

[PROBE]
#USE_PROBE = versaprobe
USE_PROBE = basicprobe

2.14. Abort detection

When using qtdragon’s probing routines, it’s important to detect a user abort request.
By default, linuxcnc does not report an abort in a useful way for the probe routines.
You need to add a ngc file to print out an error that can be detected. Remap Abort Details

[RS274NGC]
# on abort, this ngc file is called. required for basic/versa probe routines. +
ON_ABORT_COMMAND=O <on_abort> call

This example code will send a message on abort. The probe routines can detect this sample.
According to the setting above, it would need to be saved as on_abort.ngc within linuxcnc’s [RS274NGC] SUBROUTINE_PATHS and [DISPLAY] PROGRAM_PREFIX search paths.

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

You should set default M/G code for start up. These will be overridden by running a ngc file.
These are only sample codes, integrator should choose appropriate codes.

[RS274NGC]
# start up G/M codes when first loaded
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 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. Die Befehle werden durch ein ; getrennt. Die Beschriftung wird nach dem Komma gesetzt. Die Symbole \n fügen einen Zeilenumbruch hinzu.

[MDI_COMMAND_LIST]
# for macro buttons
MDI_COMMAND = G0 Z25;X0 Y0;Z0, Goto\nUser\nZero
MDI_COMMAND = 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.
Dieses Beispiel zeigt typische Einträge, muss aber an die tatsächlichen Anforderungen angepasst werden.

[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.
Dieses Beispiel zeigt typische Einträge, muss aber an die tatsächlichen Anforderungen angepasst werden.

[HAL]
POSTGUI_HALCMD = loadusr qtvcp test_probe
POSTGUI_HALCMD = loadusr qtvcp test_led
POSTGUI_HALCMD = loadusr halmeter

2.19. Integrierte Beispielkonfigurationen

The sample configurations sim/qtdragon/ or sim/qtdragon_hd are already configured to use QtDragon as the screen.
There are several examples, to demonstrate different machine configurations.

3. Tastenbelegungen

QtDragon is not intended to primarily use a keyboard for machine control.
It lacks many keyboard short cuts that for instance AXIS has - but you can use a mouse or touchscreen.
There are several key presses that will control the machine for convenience.

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.

If you need a manual tool change prompt, add these lines in your postgui file.
Qtdragon emulates the hal_manualtoolchange HAL pins - don’t load the separate HAL component 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

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. (Sie müssen auch die MAX_SPINDLE_POWER in der INI einstellen.)

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

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-Pins beziehen sich auf externe Offsets, wenn sie verwendet werden:

lqtdragon.eoffset-clear
qtdragon.eoffset-count
qtdragon.eoffset-enable
qtdragon.eoffset-value

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

qtdragon.versaprobe-blockheight
qtdragon.versaprobe-probeheight
qtdragon.versaprobe-probevel
qtdragon.versaprobe-searchvel

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

If your machine requires manual tool changes, QtDragon can pop a message box to direct you. QtDragon emulates the hal_manualtoolchange HAL pins - don’t load the separate HAL component hal_manualtoolchange. Hereto you must connect the proper HAL pin in the postgui HAL file, for example:

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 Pausieren der Spindel

QtDragon kann so eingestellt werden, dass die Z-Achse automatisch angehoben und abgesenkt wird, wenn die Spindel angehalten wird.
Wenn ein Programm angehalten wird, drücken Sie die Schaltfläche "Spindelpause", um die Spindel anzuhalten und sie in Z anzuheben.
Drücken Sie die Taste erneut, um die Spindel zu starten und abzusenken, und heben Sie dann die Unterbrechung des Programms auf.
Der Betrag zum Anheben und Absenken wird auf der Registerkarte "Einstellungen" unter der Überschrift "Z Ext Offset" festgelegt.
Dazu sind Ergänzungen in der INI und der Datei qtdragon_post_gui erforderlich.

In der INI, unter der Überschrift AXIS_Z.

[AXIS_Z]
OFFSET_AV_RATIO = 0.2

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-count => axis.z.eoffset-counts
net eoffset          qtdragon.eoffset-value <= axis.z.eoffset

# uncomment für 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 level compensation is a bed levelling/distortion correction function typically used in 3D printing or engraving. It uses a HAL non-realtime component which utilizes the external offsets feature of LinuxCNC. The component has a HAL pin that specifies an interpolation type, which must be one of cubic, linear or nearest (0, 1, 2 respectively). If none is specified or if an invalid number is specified, the default is assumed to be cubic.

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

QtDragon G-Code-Ripper
Abbildung 3. QtDragon_hd zeigt G-code Ripper
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.
Sample postgui HAL file for combined spindle raise and Z Level compensation
# Komponenten laden
########################################################################

# 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.method 1
setp z_level_compensation.fade-height 0.0

# 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-spindle-count   <= qtdragon.eoffset-spindle-count

# Z level Kompensation
########################################################################
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

# set up scaled sum component
########################################################################
net eoffset-spindle-count   scaled-s32-sums.0.in0
net eoffset-zlevel-count    scaled-s32-sums.0.in1       qtdragon.eoffset-value
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 Sonde
Abbildung 4. QtDragon - Versa-Probe-Option

QtDragon has 2 methods for setting Z0. The first is a touchplate, where a metal plate of known thickness is placed on top of the workpiece, then the tool is lowered until it touches the plate, triggering the probe signal. Z0 is set to probe height - plate thickness.

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 über dem Tisch der Auslösepunkt des Messtasters liegt (Höhe der Werkzeugeinrichtung) und wie weit über dem Tisch die Oberseite des Werkstücks liegt. 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. Einfache Sonde

QtDragon Sonde
Abbildung 5. QtDragon - Grundlegende Sondenoption

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

  • Boss and Pockets

  • Bergkamm (endl. ridge) und Täler(engl. valleys)

  • Kalibrierung

Sie müssen die "Sondierungs-Parameter" sorgfältig einstellen:

  • Probe Tool: erlaubt das Abtasten nur, wenn sich diese Werkzeugnummer in der Spindel befindet

  • "Sondendurchmesser": die Größe der Sondenspitze

  • "Probe Rapid": die Geschwindigkeit schneller Bewegungen in Maschineneinheiten

  • Probe Search: die Geschwindigkeit der ersten groben Suche in Maschineneinheiten

  • "Sondenvorschub" (engl. probe feed): die Geschwindigkeit der zweiten "Feinsuche" in Maschineneinheiten

  • Extra Tiefe: Senkt die Sonde um diesen Betrag weiter ab

  • Step Off: Zurückziehen und Abtasten der Entfernung

  • Max XY Distance: die maximale Entfernung, nach der die Sonde in X und Y sucht, bevor sie einen Fehler meldet

  • Max Z Distance: die maximale Entfernung, nach der die Sonde in Z sucht, bevor ein Fehler gemeldet wird

  • XY-Abstand: Bewegen Sie sich vom abgetasteten Punkt weg, bevor Sie X und Y schnell durchlaufen

  • Z Clearance: Zu erreichender Abstand vom angetasteten Punkt bevor Eilgang in Z durchgeführt wird

Es gibt auch Hinweisparameter, abhängig von der gewählten Tastart:

  • Kantenbreite: ungefährer Abstand der Startposition der Sonde von der Kante

  • Durchmesser-Hinweis: Wird beim Rundkopf- oder Rundtaschen-Sondieren verwendet (Startbewegung: 1/2 Durchmesser plus XY-Abstand)

  • X-Hinweis: wird von rechteckigen Vorsprüngen/Taschen verwendet (Startbewegung: 1/2 X-Länge plus XY-Abstand)

  • Y-Hinweis: Wird von der rechteckigen Aufsatz-/Taschenmessung verwendet (Startbewegung: 1/2 Y-Länge plus XY-Abstand)

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.

13. Touch-Platte

QtDragon Touch-Platte
Abbildung 6. QtDragon Touch-Fläche (engl. touch plate)

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 Werkzeugmessung

QtDragon kann so eingestellt werden, dass es eine integrierte automatische Werkzeugmessung mit dem Versa Probe Widget und Remap-Code durchführt. Um diese Funktion zu nutzen, müssen Sie einige zusätzliche Einstellungen vornehmen und Sie können den angebotenen HAL-Pin verwenden, um Werte in Ihrer eigenen ngc-Remap-Prozedur zu erhalten.

Wichtig
Vergessen Sie nicht, vor dem ersten Test die Sondenhöhe und die Sondengeschwindigkeiten auf der Seite mit den Sondeneinstellungen einzugeben.

Die Werkzeugmessung in QtDragon erfolgt in den folgenden Schritten:

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

  • Stellen Sie sicher, dass die Schaltfläche "Werkzeugmessung verwenden" in der Registerkarte "Vesa-Sonde" aktiviert ist.

  • Gehen Sie in den Automatikmodus und starten Sie Ihr Programm.

Anmerkung
Bei der Ersteinrichtung der automatischen Werkzeugmessung sollten Sie vorsichtig sein, bis Sie den Werkzeugwechsel und die Position des Messtasters bestätigt haben - ein Werkzeug/Taster kann leicht beschädigt werden. Ein Abbruch ist möglich, solange der Messtaster in Bewegung ist.
images/sketch_auto_tool_measurement.png
Abbildung 7. Automatische Werkzeugvermessung

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.

14.1. Werkstückhöhe Antasten

QtDragon_hd Höhen-Sondierung
Abbildung 8. QtDragon_hd - Werkstück Höhenabtastung

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.
Buttons zum Einstellen der Sondenposition aktivieren
  • 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.

Automatische Füllung der Werkstückhöhe auf dem Hauptbildschirm
  • 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.

Werkstücktaster bei
  • die X-, Y- und Z-Koordinaten geben an, wo die erste Sondierungsroutine im aktuellen WCS beginnen soll

Probenahme bei
  • die X-, Y- und Z-Koordinaten geben an, wo die zweite Sondierungsroutine beginnen soll, und zwar im aktuellen WCS

Z Sichere Fahrhöhe
  • 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.

START-Button
  • 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.

ABORT-Button
  • bewirkt, dass alle derzeit ausgeführten Tipp- und Tastroutinen gestoppt werden

HELP-Button
  • 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.2. Werkzeugmess-Pins

Versaprobe bietet 5 Pins für die Werkzeugmessung. Die Pins werden von einem Remap-G-Code-Unterprogramm gelesen, so dass der Code auf verschiedene Werte reagieren kann.

  • qtversaprobe.toolmeasurement (HAL_BIT) Werkzeugmessung aktivieren oder nicht

  • qtversaprobe.blockheight (HAL_FLOAT) der gemessene Wert der Oberseite des Werkstücks

  • qtversaprobe.probeheight (HAL_FLOAT) die Höhe des Sondenschalters

  • qtversaprobe.searchvel (HAL_FLOAT) die Geschwindigkeit, mit der nach dem Schalter für den Werkzeugmesstaster gesucht wird

  • gmoccapy.probevel (HAL_FLOAT) die Länge des Werkzeugs zwischen Geschwindigkeit und Messtaster

14.3. Änderungen an der INI-Datei für Werkzeugmessungen

Ändern Sie Ihre INI-Datei so, dass sie Folgendes enthält:

14.3.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.3.2. Der RS274NGC-Abschnitt

[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

The abort command file should be in the configuration folder and look something like this sample.
According to the setting above, it would need to be saved as on_abort.ngc within linuxcnc’s [RS274NGC] SUBROUTINE_PATHS and [DISPLAY] PROGRAM_PREFIX search paths.

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

14.3.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 in relativer Bewegung angegeben werden muss. Alle Werte sind in maschineneigenen Einheiten.

[VERSA_TOOLSETTER]
X = 10
Y = 10
Z = -20
MAXPROBE =  -20

14.3.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.3.5. Die Python-Sektion

The Python section sets up what files LinuxCNC’s Python interpreter looks for, e.g., toplevel.py file in the python folder in the configuration directory:

[PYTHON]
# The path to start a search for user modules
PATH_PREPEND = python
# The start point for all.
TOPLEVEL = python/toplevel.py

14.4. Required Files

Sie müssen die folgenden Dateien in Ihr Konfigurationsverzeichnis kopieren:

Erstellen Sie zunächst einen Ordner namens python im Konfigurationsordner Ihres Rechners.

Wenn Sie eine kompilierte RIP-Version von LinuxCNC verwenden:
Kopieren Sie aus "IHR-LINUXCNC-DIRECTORY/configs/sim/QtDragon/python" die Dateien "toplevel.py" und "remap.py" in den neuen "python"-Ordner Ihrer Konfiguration.

Wenn Sie eine installierte Version von LinuxCNC verwenden:
Kopieren Sie von /usr/share/doc/linuxcnc/examples/sample-configs/sim/qtvcp_screens/qtdragon/python/ die Dateien toplevel.py und remap.py in den neuen python-Ordner Ihrer Konfiguration.

Alternativ können Sie mit einem Texteditor neue Dateien in Ihrem python-Ordner erstellen, die Sie in Ihrem Konfigurationsordner angelegt haben.

Eine mit dem Namen remap.py, die mit diesem Text gespeichert wurde:

from stdglue import *

Eine Datei mit dem Namen toplevel.py wird mit diesem Text gespeichert:

import remap

Erstellen Sie eine symbolischen link oder kopieren Sie die folgenden Dateien in den oben beschriebenen Ordner python.

Im Ordner ~/linuxcnc/nc_files/examples/remap_subroutine/.

Im Ordner ~/linuxcnc/nc_files/examples/remap_lib/python_stdglue/.

Anmerkung
Diese Dateinamen und Speicherort könnte unterschiedlich sein, je nach installierten Versen Entwicklung (RIP) Version von LinuxCNC. Zum Beispiel ~/linuxcnc/nc_files/macros ist ~/linuxcnc/nc_files/examples/macros in installierten Versionen von LinuxCNC. Sie können angepasste Versionen der gleichen Dateien verwenden oder sie anders benennen. Die Einträge in der [RS274NGC] Abschnitt diktieren, um LinuxCNC, was und wo zu suchen. Die angegebenen Namen und Speicherorte sollten in beiden Systemen standardmäßig vorhanden sein.

14.5. 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 Gcode 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

If the recognized webcam is connected, this tab will display the video image overlayed with a cross-hair, circle and degree readout. This can be adjusted to suit a part feature for such things as touchoff. The underlying library uses openCV Python module to connect to the webcam.

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. Die HTML-/PDF-Dokumente werden auf der Registerkarte "Setup" angezeigt. Einige Programme, wie Fusion 360 und Aspire, erstellen diese Dateien für Sie. Wenn Sie ein G-Code-Programm laden und eine HTML/PDF-Datei mit demselben Namen vorhanden ist, wird diese automatisch geladen. Sie können auch Ihre eigenen HTML-Dokumente mit der mitgelieferten Schaltfläche SetUp Writer schreiben. Benutzerdefinierte QtVCP-Panels können hier angezeigt werden, indem Sie die Option EMBED_TAB_LOCATION auf tabWidget_setup setzen.

QtDragon Setup-Registerkarte
Abbildung 9. QtDragon - Beispiel für die Registerkarte Setup

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

This tab will only be displayed if an embedded panel has been designated for the location stackedWidget_mainTab. If more then one embedded tab has been designated, then pressing the user tab will cycle through them.

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.

QtDragon-Stile
Abbildung 10. QtDragon - Zwei Stil-Beispiele

19. Anpassung

A general overview of Customizing Stock Screens.

19.1. Stylesheets

Mit Hilfe von Stylesheets lassen sich zahlreiche Anpassungen vornehmen, doch müssen Sie in der Regel ein wenig über die Widget-Namen wissen. Wenn Sie F12 drücken, wird ein Stylesheet-Editor-Dialog zum Laden/Testen/Speichern von Änderungen angezeigt. Manchmal sind diese Zeilen bereits vorhanden und Sie können sie ändern, andernfalls müssen Sie sie hinzufügen.

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';
}

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;
}

Change the G-code text display colors/fonts:

}
EditorBase{
 background:black;
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";
}

19.2. Qt Designer und Python-Code

Alle Aspekte der grafischen Benutzeroberfläche können mit 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 der erforderlichen Python-Code auf ein Minimum, so dass relativ einfach Änderungen. Die LinuxCNC Website hat eine umfangreiche Dokumentation über die Installation und Verwendung von QtVCP Bibliotheken. Siehe QtVCP Overview für weitere Informationen.

QtDragon angepasst
Abbildung 11. QtDragon - Angepasster QtDragon