1. Einführung

GMOCCAPY ist eine grafische Benutzeroberfläche für LinuxCNC, die für die Verwendung mit einem Touchscreen entwickelt wurde, aber auch auf normalen Bildschirmen mit einer Maus oder Hardware-Tasten und MPG-Rädern verwendet werden kann, da sie HAL-Pins für die häufigsten Anforderungen bereitstellt. Weitere Informationen finden Sie im Folgenden.

Es bietet die Möglichkeit, bis zu 9 Achsen darzustellen, unterstützt einen Drehmodus für normale und rückseitige Werkzeugdrehungen und kann an nahezu jeden Bedarf angepasst werden, da GMOCCAPY eingebettete Tabs und Seitenpanels unterstützt. Als gutes Beispiel dafür siehe gmoccapy_plasma.

GMOCCAPY 3 unterstützt bis zu 9 Achsen und 9 Gelenke. Da GMOCCAPY 3 im Code geändert wurde, um die Gelenk- / Achsenänderungen in LinuxCNC zu unterstützen, funktioniert es nicht mit LinuxCNC 2.7 oder 2.6!

Es unterstützt eine integrierte virtuelle Tastatur (Onboard- oder Matchbox-Tastatur), so dass keine Hardware-Tastatur oder -Maus benötigt wird, kann aber auch mit dieser Hardware verwendet werden. GMOCCAPY bietet eine separate Einstellungsseite, um die meisten Einstellungen der GUI zu konfigurieren, ohne Dateien zu bearbeiten.

GMOCCAPY kann sehr einfach lokalisiert werden, da die entsprechenden Dateien von den linuxcnc.po-Dateien getrennt sind, so dass es nicht nötig ist, unnötiges Zeug zu übersetzen. Wenn Sie eine Übersetzung beisteuern möchten, verwenden Sie bitte den webbasierter Übersetzungseditor Weblate. Weitere Informationen finden Sie im Abschnitt Translations

2. Anforderungen

GMOCCAPY 3 wurde auf Debian Jessie, Debian Stretch und MINT 18 mit LinuxCNC Master und 2.8 Release getestet. Es unterstützt vollständig Gelenk / Achse Änderungen von LinuxCNC, so dass es geeignet als GUI für Scara, Roboter oder jede andere Konfiguration mit mehr Gelenke als Achse. Wenn Sie andere Versionen verwenden, informieren Sie bitte über Probleme und / oder Lösungen auf der LinuxCNC Forum oder die Deutsche CNC Ecke Forum oder LinuxCNC Benutzer Mailingliste.

Die minimale Bildschirmauflösung für GMOCCAPY ist 979 x 750 Pixel, also sollte es auf jeden Standardbildschirm passen. Es wird empfohlen, Bildschirme mit einer Mindestauflösung von 1024x748 zu verwenden. Es gibt auch eine Version für eine Auflösung von 800x600 (eingeführt mit GMOCCAPY 3.4.8).

3. How to get GMOCCAPY

GMOCCAPY 3 ist in der Standarddistribution von LinuxCNC seit Version 2.7 enthalten. Der einfachste Weg, GMOCCAPY auf Ihren Steuerungs-PC zu bekommen, ist also, die ISO herunterzuladen und von der CD/DVD/USB-Stick zu installieren. Dies ermöglicht Ihnen, Aktualisierungen mit den regulären Debian-Paketen zu erhalten.

In den release notes können Sie die neuesten Bugfixes und Features verfolgen.

Sie erhalten einen ähnlichen Bildschirm wie den folgenden (das Design kann je nach Ihrer Konfiguration variieren):

4. Grundeinstellungen

GMOCCAPY 3 unterstützt die folgenden Befehlszeilenoptionen:

  • -user_mode: Wenn diese Einstellung eingestellt ist, wird der Setup-Button deaktiviert, so dass normale Maschinenbediener die Einstellungen der Maschine nicht bearbeiten können.

  • -logo <Pfad zur Logodatei>: Wenn das Logo angegeben wird, dann wird die Registerkarte für die Tipptasten im manuellen Modus ausgeblendet. Dies ist nur für Maschinen mit Hardwaretasten für das Jogging und die Schrittweitenauswahl nützlich.

Es gibt eigentlich nicht viel zu konfigurieren, um GMOCCAPY auszuführen, aber es gibt einige Punkte, die Sie beachten sollten, wenn Sie alle Funktionen der GUI nutzen wollen.

Sie werden eine Reihe von Simulationskonfigurationen (INI-Dateien) finden, die nur die Grundlagen zeigen:

  • gmoccapy.ini

  • gmoccapy_4_axis.ini

  • lathe_configs/gmoccapy_lathe.ini

  • lathe_configs/gmoccapy_lathe_imperial.ini

  • gmoccapy_left_panel.ini

  • gmoccapy_right_panel.ini

  • gmoccapy_messages.ini

  • gmoccapy_pendant.ini

  • gmoccapy_sim_hardware_button.ini

  • gmoccapy_tool_sensor.ini

  • gmoccapy_with_user_tabs.ini

  • gmoccapy_XYZAB.ini

  • gmoccapy_XYZAC.ini

  • gmoccapy_XYZCW.ini

  • gmoccapy-JA/Gantry/gantry_mm.ini

  • gmoccapy-JA/scara/scara.ini

  • gmoccapy-JA/table-rotary-tilting/xyzac-trt.ini

  • und vieles mehr …

Die Namen sollten den Hauptzweck der verschiedenen INI-Dateien erklären.

Wenn Sie eine bestehende Konfiguration Ihres Rechners verwenden, bearbeiten Sie einfach Ihre INI-Datei entsprechend diesem Dokument.

Schauen wir uns also die INI-Datei genauer an und was Sie einfügen müssen, um GMOCCAPY auf Ihrem Rechner zu verwenden:

4.1. Der DISPLAY-Abschnitt

[DISPLAY]
DISPLAY = gmoccapy
PREFERENCE_FILE_PATH = gmoccapy_preferences
MAX_FEED_OVERRIDE = 1.5
MAX_SPINDLE_OVERRIDE = 1.2
MIN_SPINDLE_OVERRIDE = 0.5
DEFAULT_SPINDLE_SPEED = 500
LATHE = 1
BACK_TOOL_LATHE = 1
PROGRAM_PREFIX = ../../nc_files/
  • DISPLAY = gmoccapy - Damit wird LinuxCNC angewiesen, GMOCCAPY zu verwenden.

  • PREFERENCE_FILE_PATH - Gibt den Ort und den Namen der zu verwendenden Einstellungsdatei an. In den meisten Fällen wird diese Zeile nicht benötigt, sie wird von GMOCCAPY verwendet, um Ihre Einstellungen der Benutzeroberfläche zu speichern, wie Themen, DRO-Einheiten, Farben und Tastatureinstellungen, usw., siehe Seite für Einstellungen für weitere Details.

    Anmerkung
    Wenn kein Pfad oder keine Datei angegeben wird, verwendet GMOCCAPY standardmäßig <Ihr_Maschinenname>.pref. Ist kein Maschinenname in Ihrer INI-Datei angegeben, so verwendet es gmoccapy.pref. Die Datei wird in Ihrem Konfigurationsverzeichnis gespeichert, so dass die Einstellungen nicht vermischt werden, wenn Sie mehrere Konfigurationen verwenden. Wenn Sie nur eine Datei für mehrere Rechner verwenden wollen, müssen Sie PREFERENCE_FILE_PATH in Ihre INI-Datei aufnehmen.
  • MAX_FEED_OVERRIDE = 1.5 - Legt die maximale Überschreitung/Neufestsetzung (engl. override) des Vorschubs fest. Im angegebenen Beispiel können Sie den Vorschub um 150 % überschreiten.

    Anmerkung
    Wenn kein Wert angegeben wird, so wird er auf 1,0 gesetzt.
  • MIN_SPINDLE_OVERRIDE = 0.5 and MAX_SPINDLE_OVERRIDE = 1.2 - Ermöglicht es Ihnen, die Spindelübersteuerung innerhalb einer Grenze von 50% bis 120% zu ändern.

    Anmerkung
    Wenn keine Werte angegeben sind, wird MIN auf 0,1 und MAX auf 1,0 gesetzt.
  • LATHE = 1 - Legt das Bildschirmlayout für die Steuerung einer Drehmaschine fest.

  • BACK_TOOL_LATHE = 1 - Ist optional und schaltet die X-Achse so um, wie Sie es für eine Drehmaschine mit hinterem Werkzeug benötigen. Auch die Tastenkombinationen werden anders reagieren. Es ist mit GMOCCAPY erlaubt, eine Drehmaschine auch mit zusätzlichen Achsen zu konfigurieren, so dass Sie auch eine XZCW-Konfiguration für eine Drehmaschine verwenden können.

    Tipp
    Siehe auch den Abschnitt speziell zu Drehmaschinen.
  • PROGRAM_PREFIX = ../../nc_files/ - Ist der Eintrag, der LinuxCNC/GMOCCAPY mitteilt, wo die NGC-Dateien zu suchen sind.

    Anmerkung
    Wenn nicht angegeben, sucht Gmoccapy in der folgenden Reihenfolge nach NGC-Dateien: Zunächst linuxcnc/nc_files und dann das Heimatverzeichnis (engl. home directory) des Benutzers.
  • DEFAULT_SPINDLE_SPEED - Start value for "Starting RPM" if value not present in preferences file or file is not present. Will have no effect with valid preferences file.

  • MIN_ANGULAR_VELOCITY - Sets the minimal jog velocity of the machine for rotary axes.

  • MAX_ANGULAR_VELOCITY - Sets the maximal jog velocity of the machine for rotary axes.

  • DEFAULT_ANGULAR_VELOCITY - Sets the default jog velocity of the machine for rotary axes.

4.2. Der TRAJ-Abschnitt

  • DEFAULT_LINEAR_VELOCITY = 85.0 - Voreinstellung der Jog-Geschwindigkeit der Maschine.

    Anmerkung
    Ist dieser Wert nicht angegeben, wird die Hälfte von MAX_LINEAR_VELOCITY verwendet. Wird auch dieser Wert nicht angegeben, so wird er auf 180 gesetzt.
  • MAX_LINEAR_VELOCITY = 230.0 - Sets the maximal velocity of the machine. This value will also be the maximum linear jog velocity.

    Anmerkung
    Der Standardwert ist 600, falls nicht festgelegt.

4.3. Makro-Buttons

Sie können Makros zu GMOCCAPY hinzufügen, ähnlich wie bei Touchy. Ein Makro ist nichts anderes als eine NGC-Datei. Sie können komplette CNC-Programme im MDI-Modus ausführen, indem Sie nur einen Knopf drücken. Dazu müssen Sie einen Suchpfad für Makros hinzufügen:

[RS274NGC]
SUBROUTINE_PATH = macros

Hier wird der Pfad für die Suche nach Makros und anderen Unterprogrammen festgelegt. Mehrere Unterprogramm-Pfade können mit ":" getrennt werden.

Dann müssen Sie nur noch einen Abschnitt wie diesen hinzufügen:

Konfiguration von fünf Makros, die in der MDI-Buttonliste angezeigt werden sollen
[MACROS]
MACRO = i_am_lost
MACRO = hello_world
MACRO = jog_around
MACRO = increment xinc yinc
MACRO = go_to_position X-pos Y-pos Z-pos

Dann müssen Sie die entsprechenden NGC-Dateien bereitstellen, die diesen Regeln entsprechen müssen:

  • Der Name der Datei muss genau dem in der Makrozeile angegebenen Namen entsprechen, nur mit der Erweiterung ".ngc" (Groß- und Kleinschreibung beachten).

  • Die Datei muss ein Unterprogramm enthalten: O<i_am_lost> sub, der Name des Unterprogramms muss genau (Groß-/Kleinschreibung beachten) mit dem Namen des Makros übereinstimmen.

  • Die Datei muss mit einem endsub O<i_am_lost> endsub gefolgt von einem M2-Befehl enden.

  • Die Dateien müssen in einem Ordner abgelegt werden, der in Ihrer INI-Datei durch SUBROUTINE_PATH im Abschnitt RS274NGC angegeben ist

Der Code zwischen sub und endsub wird durch Betätigen der entsprechenden Makrotaste ausgeführt.

Anmerkung
Es werden maximal 16 Makros in der GUI angezeigt. Aus Platzgründen kann es sein, dass Sie auf einen Pfeil klicken müssen, um die Seite zu wechseln und versteckte Makroschaltflächen anzuzeigen. Die Makro-Schaltflächen werden in der Reihenfolge der INI-Einträge angezeigt. Es ist kein Fehler, mehr als 16 Makros in Ihrer INI-Datei zu platzieren, sie werden nur nicht angezeigt.
Anmerkung
Sie finden die Beispielmakros in einem Ordner mit dem Namen macros, der sich im GMOCCAPY sim-Ordner befindet. Wenn Sie mehrere Pfade für Unterprogramme angegeben haben, werden diese in der Reihenfolge der angegebenen Pfade durchsucht. Die erste gefundene Datei wird verwendet.

GMOCCAPY akzeptiert auch Makros, die nach Parametern wie den folgenden fragen:

[MACRO]
MACRO = go_to_position X-pos Y-pos Z-pos

Die Parameter müssen durch Leerzeichen getrennt werden. Dieses Beiaspiel ruft eine Datei "go_to_position.ngc" mit dem folgenden Inhalt auf:

; Testdatei "go to position" (engl. für geh' zur Position)
; fährt die Maschine zu einer bestimmten Position

O<go_to_position> sub

G17
G21
G54
G61
G40
G49
G80
G90

;#1 = <X-Pos>
;#2 = <Y-Pos>
;#3 = <Z-Pos>

(DBG, wird jetzt die Maschine zu X = #1 , Y = #2 , Z = #3 bewegen)
G0 X #1 Y #2 Z #3

O<go_to_position> endsub
M2

Nach dem Drücken der Taste Makro ausführen werden Sie aufgefordert, die Werte für X-pos Y-pos Z-pos einzugeben, und das Makro wird nur ausgeführt, wenn alle Werte angegeben wurden.

Anmerkung
Wenn Sie ein Makro ohne Bewegung verwenden möchten, beachten Sie auch die Hinweise in bekannte Probleme.
Makrobeispiel mit dem "Gehe zu Position"-Makro

images/gmoccapy_getting_macro_info_mid.png

4.4. Eingebettete Registerkarten und Bedienfelder

Sie können GMOCCAPY eingebettete Programme hinzufügen, wie Sie es bei AXIS, Touchy und Gscreen tun können. Alles wird von GMOCCAPY automatisch erledigt, wenn Sie ein paar Zeilen in Ihre INI-Datei im DISPLAY-Abschnitt einfügen.

Wenn Sie noch nie ein Glade-Panel benutzt haben, empfehle ich Ihnen, die ausgezeichnete Dokumentation zu GladeVCP zu lesen.

Beispiel für eingebettete Registerkarten
EMBED_TAB_NAME = DRO
EMBED_TAB_LOCATION = ntb_user_tabs
EMBED_TAB_COMMAND = gladevcp -x {XID} dro.glade

EMBED_TAB_NAME = Second user tab
EMBED_TAB_LOCATION = ntb_preview
EMBED_TAB_COMMAND = gladevcp -x {XID} vcp_box.glade

Alles, was Sie beachten müssen, ist, dass Sie für jede Registerkarte oder jedes Seitenfeld die genannten drei Zeilen einfügen:

  • EMBED_TAB_NAME = Stellt den Namen der Registerkarte oder des Seitenfensters dar, es ist Ihnen überlassen, welchen Namen Sie verwenden, aber er muss vorhanden sein!

  • EMBED_TAB_LOCATION = Der Ort, an dem Ihr Programm in der GUI platziert wird, siehe Abbildung Embedded tab locations. Gültige Werte sind:

    • ntb_user_tabs (as main tab, covering the complete screen)

    • ntb_preview (as tab on the preview side (1))

    • hbox_jog (will hide the jog buttons and introduce your glade file here (2))

    • box_left (on the left, complete high of the screen)

    • box_right (on the right, in between the normal screen and the button list)

    • box_tool_and_code_info (will hide the Tool information and G-code frames and introduce your glade file here (3))

    • box_tool_info (will hide the Tool information frame and introduce your glade file here)

    • box_code_info (will hide the G-code information frame and introduce your glade file here)

    • box_vel_info (will hide the velocity frames and introduce your glade file (4))

    • box_coolant_and_spindle (will hide the coolant and spindle frames and introduce your glade file here (5)+(6))

    • box_cooling (will hide the cooling frame and introduce your glade file (5))

    • box_spindle (will hide the spindle frame and introduce your glade file (6))

    • box_custom_1 (will introduce your glade file left of vel_frame)

    • box_custom_2 (will introduce your glade file left of cooling_frame)

    • box_custom_3 (will introduce your glade file left of spindle_frame)

    • box_custom_4 (will introduce your glade file right of spindle_frame)

    • box_dro_side (will introduce your glade file right of the DRO)

Anmerkung
Siehe auch die mitgelieferten INI-Beispieldateien, um die Unterschiede zu sehen.
  • EMBED_TAB_COMMAND = Der auszuführende Befehl, d. h.

    gladevcp -x {XID} dro.glade

    enthält eine benutzerdefinierte Glade-Datei mit dem Namen dro.glade an dem genannten Ort. Die Datei muss sich im Konfigurationsordner Ihres Computers befinden.

    gladevcp h_buttonlist.glade

    öffnet einfach ein neues Benutzerfenster mit dem Namen h_buttonlist.glade. Beachten Sie den Unterschied, dass dieses Fenster eigenständig ist und unabhängig vom GMOCCAPY-Fenster verschoben werden kann.

    gladevcp -c gladevcp -u hitcounter.py -H manual-example.hal manual-example.ui

    fügt das Panel manual-example.ui hinzu, fügt einen benutzerdefinierten Python-Handler, hitcounter.py, ein und stellt alle Verbindungen her, nachdem das Panel gemäß manual-example.hal realisiert wurde.

    hide (engl. für ausblenden)

    blendet das gewählte Kästchen aus.

images/gmoccapy_embedded_tabs.png
Abbildung 1. Eingebettete Registerkartenpositionen
Anmerkung
Wenn Sie HAL-Verbindungen zu Ihrem benutzerdefinierten Glade-Panel herstellen, müssen Sie dies in der HAL-Datei tun, die in der EMBED_TAB_COMMAND-Zeile angegeben ist, andernfalls erhalten Sie möglicherweise die Fehlermeldung, dass der HAL-Pin nicht existiert - dies ist auf Race Conditions beim Laden der HAL-Dateien zurückzuführen. Verbindungen zu GMOCCAPY HAL-Pins müssen in der postgui-HAL-Datei hergestellt werden, die in Ihrer INI-Datei angegeben ist, da diese Pins vor der Realisierung der GUI nicht existieren.

Hier sind einige Beispiele:

ntb_preview

images/gmoccapy_ntb_preview_small.png

box_right - and GMOCCAPY in MDI mode

images/gmoccapy_with_right_panel_in_MDI_mode_small.png

4.5. Benutzerdefinierte Mitteilungen

GMOCCAPY hat die Möglichkeit, HAL-gesteuerte Benutzermeldungen zu erstellen. Um sie zu verwenden, müssen Sie einige Zeilen in den [DISPLAY]-Abschnitt der INI-Datei einfügen.

Diese drei Zeilen werden benötigt, um einen Popup-Meldungsdialog für den Benutzer zu definieren:

MESSAGE_TEXT = Der anzuzeigende Text, kann mit Tango-Markup formatiert sein
MESSAGE_TYPE = "status" , "okdialog" , "yesnodialog"
MESSAGE_PINNAME = ist der Name der zu erstellenden HAL-Pin-Gruppe

Die Nachrichten unterstützen die Auszeichnungssprache Pango. Detaillierte Informationen über die Auszeichnungssprache finden Sie unter Pango Markup.

Die folgenden drei Dialogtypen sind verfügbar:

  • status - Will just display a message as pop up window, using the messaging system of GMOCCAPY.

  • okdialog - Will hold focus on the message dialog and will activate a -waiting HAL pin.

  • yesnodialog - Will hold focus on the message dialog and will activate a -waiting HAL pin and provide a -response HAL pin.

Ausführlichere Informationen zu den Pins finden Sie unter Von Benutzer erstelle HAL Pins für Nachrichten.

Beispiel für die Konfiguration von Benutzernachrichten
MESSAGE_TEXT = This is a <span background="#ff0000" foreground="#ffffff">info-message</span> test
MESSAGE_TYPE = status
MESSAGE_PINNAME = statustest

MESSAGE_TEXT = This is a yes no dialog test
MESSAGE_TYPE = yesnodialog
MESSAGE_PINNAME = yesnodialog

MESSAGE_TEXT = Text can be <small>small</small>, <big>big</big>, <b>bold</b <i>italic</i>, and even be <span color="red">colored</span>.
MESSAGE_TYPE = okdialog
MESSAGE_PINNAME = okdialog
Anmerkung
Derzeit funktioniert die Formatierung nicht.

4.6. 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,hide)
<zu versteckender G-code>
(PREVIEW,show)

4.7. Benutzerdefinierte Befehlsdatei

Wenn eine Datei ~/.gmoccapyrc existiert, wird ihr Inhalt als Python-Quellcode ausgeführt, kurz nach der Anzeige der grafischen Benutzeroberfläche. Die Einzelheiten dessen, was in ~/.gmoccapyrc geschrieben werden kann, können sich während des Entwicklungszyklus ändern.

Eine konfigurationsspezifische Python-Datei kann in der INI-Datei angegeben werden

[DISPLAY]
USER_COMMAND_FILE=dateiname.py

Ist diese Datei angegeben, so wird diese Datei direkt nach der Anzeige der GMOCCAPY-GUI anstelle von ~/.gmoccapyrc aufgerufen.

The following example changes the size of the vertical buttons: .Example of .gmoccapyrc file

self.widgets.vbtb_main.set_size_request(85,-1)
BB_SIZE = (70, 70) # default = (90, 56)
self.widgets.tbtn_estop.set_size_request(*BB_SIZE)
self.widgets.tbtn_on.set_size_request(*BB_SIZE)
self.widgets.rbt_manual.set_size_request(*BB_SIZE)
self.widgets.rbt_mdi.set_size_request(*BB_SIZE)
self.widgets.rbt_auto.set_size_request(*BB_SIZE)
self.widgets.tbtn_setup.set_size_request(*BB_SIZE)
self.widgets.tbtn_user_tabs.set_size_request(*BB_SIZE)
self.widgets.btn_exit.set_size_request(*BB_SIZE)

Die Widget-Namen können in der Datei /usr/share/gmoccapy.glade nachgeschlagen werden

4.8. Benutzerdefinierte CSS-Datei

Ähnlich wie bei der Benutzerbefehlsdatei (engl. user command file) ist es möglich, das Erscheinungsbild durch Cascading Style Sheets (CSS) zu beeinflussen. Existiert eine Datei ~/.gmoccapy_css, wird deren Inhalt in den Stylesheet-Provider geladen und so auf die GUI angewendet.

Eine konfigurationsspezifische CSS-Datei kann mit einer INI-Datei-Einstellung angegeben werden

[DISPLAY]
USER_CSS_FILE=dateiname.css

Ist diese Datei angegeben, so wird diese Datei anstelle von ~/.gmoccapy_css verwendet.

Informationen, was mit CSS gesteuert werden kann, finden Sie hier: Übersicht über CSS in GTK

Here an example how the color of checked buttons can be set to yellow: .Example Yellow color for checked buttons

button:checked {
    background: rgba(250,230,0,0.8);
}

4.9. Protokollierung (engl. logging)

GMOCCAPY unterstützt die Angabe der Informationsebene (Loglevel), die auf der Konsole und in der Logdatei ausgegeben wird.

Die Reihenfolge ist VERBOSE, DEBUG, INFO, WARNING, ERROR, CRITICAL. Standard ist WARNING, d.h. WARNING, ERROR und CRITICAL werden gedruckt.

Sie können die Protokollstufe in der INI-Datei wie folgt angeben:

[DISPLAY]
DISPLAY = gmoccapy <log_level_param>

unter Verwendung dieser Parameter:

Log level   <log_level_param>
DEBUG       -d
INFO        -i
VERBOSE     -v
ERROR       -q
Beispiel: Konfigurieren der Protokollierung, um nur Fehler zu drucken
[DISPLAY]
DISPLAY = gmoccapy -q

Sie können angeben, wo die Log-Datei gespeichert werden soll:

[DISPLAY]
LOG_FILE = gmoccapy.log

Wenn LOG_FILE nicht festgelegt ist, erfolgt die Protokollierung in $HOME/<base_log_name>.log.

5. HAL-Pins

GMOCCAPY exportiert mehrere HAL-Pins, um auf Hardware-Geräte reagieren zu können. Das Ziel ist es, eine GUI zu erhalten, die in einem Werkzeugbau komplett/meist ohne Maus oder Tastatur bedient werden kann.

Anmerkung

Sie müssen alle Verbindungen zu GMOCCAPY-Pins in Ihrer postgui.hal-Datei herstellen. Wenn GMOCCAPY gestartet wird, erstellt es die HAL-Pins für die GUI und führt dann die in der INI-Datei genannte post-GUI-HAL-Datei aus:

[HAL]
POSTGUI_HALFILE=<Dateiname>

Typischerweise wäre <Dateiname> der Basisname der Konfiguration + _postgui.hal, z.B. lathe_postgui.hal, aber es kann jeder legale Dateiname sein.
Diese Befehle werden nach der Erstellung des Bildschirms ausgeführt und garantieren, dass die HAL-Pins des Widgets verfügbar sind.
Sie können mehrere Zeilen mit POSTGUI_HALFILE=<Dateiname> in der INI-Datei haben. Sie werden nacheinander in der Reihenfolge ausgeführt, in der sie erscheinen.

5.1. Listen mit rechten und unteren Schaltflächen

Der Bildschirm hat zwei Haupt-Button-Leisten, eine auf der rechten Seite und eine am unteren Rand. Die Tasten auf der rechten Seite ändern sich während des Betriebs nicht, aber die untere Button-Leiste ändert sich sehr oft. Die Buttons werden von oben nach unten und von links nach rechts gezählt, beginnend mit 0.

Anmerkung
Die Namen der Pins wurden in GMOCCAPY 2 geändert, um sie besser anordnen zu können.

Die Pins für die rechten (vertikalen) Buttons sind:

  • gmoccapy.v-button.button-0 (bit IN)

  • gmoccapy.v-button.button-1 (bit IN)

  • gmoccapy.v-button.button-2 (bit IN)

  • gmoccapy.v-button.button-3 (bit IN)

  • gmoccapy.v-button.button-4 (bit IN)

  • gmoccapy.v-button.button-5 (bit IN)

  • gmoccapy.v-button.button-6 (bit IN)

Für die unteren (horizontalen) Buttons sind dies:

  • gmoccapy.h-button.button-0 (bit IN)

  • gmoccapy.h-button.button-1 (bit IN)

  • gmoccapy.h-button.button-2 (bit IN)

  • gmoccapy.h-button.button-3 (bit IN)

  • gmoccapy.h-button.button-4 (bit IN)

  • gmoccapy.h-button.button-5 (bit IN)

  • gmoccapy.h-button.button-6 (bit IN)

  • gmoccapy.h-button.button-7 (bit IN)

  • gmoccapy.h-button.button-8 (bit IN)

  • gmoccapy.h-button.button-9 (bit IN)

Da sich die Tasten in der unteren Liste je nach Modus und anderen Einflüssen ändern, aktivieren die Hardware-Tasten die angezeigten Funktionen. Sie müssen sich also nicht um das Umschalten von Funktionen in HAL kümmern, denn das übernimmt GMOCCAPY komplett!

Bei einer dreiachsigen XYZ-Maschine reagieren die HAL-Pins wie in den folgenden drei Tabellen dargestellt:

Tabelle 1. Funktionelle Zuordnung der horizontalen Buttons (1)
Pin Manueller Modus MDI Modus Auto-Modus

gmoccapy.h-button.button-0

Knöpfe für Referenzfahrt anzeigen

macro_0 oder nichts

Datei öffnen

gmoccapy.h-button.button-1

Knöpfe zum Antasten anzeigen

macro_1 oder nichts

Programm neu laden

gmoccapy.h-button.button-2

macro_2 oder nichts

ausführen

gmoccapy.h-button.button-3

Werkzeugverwaltung anzeigen

macro_3 oder nichts

stop

gmoccapy.h-button.button-4

macro_4 oder nichts

pausiere

gmoccapy.h-button.button-5

macro_5 oder nichts

schrittweise

gmoccapy.h-button.button-6

macro_6 oder nichts

aus der Zeile ausführen, sofern in den Einstellungen aktiviert, sonst nichts

gmoccapy.h-button.button-7

macro_7 oder nichts

optionale Blöcke

gmoccapy.h-button.button-8

Vorschau in voller Größe

macro_8 oder Seite auf zusätzliche Makros umschalten

Vorschau in voller Größe

gmoccapy.h-button.button-9

exit, wenn die Maschine ausgeschaltet ist, sonst keine Reaktion

Tastatur öffnen oder abbrechen, wenn das Makro läuft

Code bearbeiten

Tabelle 2. Funktionszuweisung der horizontalen Buttons (2)
Pin Einstellungs-Modus Homing-Modus Touch-Off-Modus

gmoccapy.h-button.button-0

MDI-Verlauf löschen

Offsets bearbeiten

gmoccapy.h-button.button-1

Referenzfahrt aller Achsen

touch X

gmoccapy.h-button.button-2

touch Y

gmoccapy.h-button.button-3

Referenzfahrt X

touch Z

gmoccapy.h-button.button-4

Öffnen von ClassicLadder

Referenzfahrt Y

gmoccapy.h-button.button-5

öffnen von HAL-scope

Referenzfahrt Z

gmoccapy.h-button.button-6

HAL-Status öffnen

zero G92

gmoccapy.h-button.button-7

HAL-Meter öffnen

gmoccapy.h-button.button-8

HAL-Kalibrierung öffnen

unhome all

Auswahl festlegen

gmoccapy.h-button.button-9

öffnen von HAL-show

zurück (engl. back)

zurück (engl. back)

Tabelle 3. Funktionelle Zuordnung der horizontalen Buttons (3)
Pin Werkzeug-Modus Bearbeitungsmodus Datei auswählen

gmoccapy.h-button.button-0

Werkzeug(e) löschen

Wechsel in das Home-Verzeichnis

gmoccapy.h-button.button-1

neues Werkzeug

Datei neu laden

ein Verzeichnis nach oben

gmoccapy.h-button.button-2

Werkzeugtabelle neu laden

speichern

gmoccapy.h-button.button-3

Änderungen übernehmen

speichern unter

Auswahl nach links verschieben

gmoccapy.h-button.button-4

Werkzeugwechsel mit Nummer T? M6

Auswahl nach rechts verschieben

gmoccapy.h-button.button-5

Werkzeug nach Nummer ohne Wechsel einstellen M61 Q?

Sprung in das in den Einstellungen festgelegte Verzeichnis

gmoccapy.h-button.button-6

Wechsel zum ausgewählten Werkzeug

Neue Datei

gmoccapy.h-button.button-7

auswählen / EINGABETASTE

gmoccapy.h-button.button-8

Werkzeugberührung in Z

Tastatur zeigen

gmoccapy.h-button.button-9

zurück (engl. back)

zurück (engl. back)

zurück (engl. back)

Wir haben also 67 Reaktionen mit nur 10 HAL-Pins!

Diese Pins werden zur Verfügung gestellt, um den Bildschirm ohne Touchpanel verwenden zu können, oder um ihn vor übermäßiger Benutzung zu schützen, indem Hardware-Tasten um das Panel herum platziert werden. Sie sind in einer Beispielkonfiguration verfügbar, wie im Bild unten gezeigt.

Beispielkonfiguration "gmoccapy_sim_hardware_button" mit den seitlichen Schaltflächen

images/gmoccapy_sim_hardware_button_mid.png

5.2. Geschwindigkeiten Übersteuerungen (overrides)

Alle Schieberegler von GMOCCAPY können mit Hardware-Encodern oder Hardware-Potentiometern verbunden werden.

Anmerkung
Für GMOCCAPY 3 haben sich einige HAL-Pin-Namen geändert, als neue Kontrollen implementiert wurden. Die maximale Geschwindigkeit existiert nicht mehr, sie wurde aufgrund der Nachfrage vieler Benutzer durch eine schnelle Übersteuerung ersetzt.

Um Encoder anzuschließen, werden folgende Pin exportiert:

  • gmoccapy.jog.jog-velocity.counts (s32 IN) - Jog velocity

  • gmoccapy.jog.jog-velocity.count-enable (bit IN) - Must be True, to enable counts

  • gmoccapy.feed.feed-override.counts (s32 IN) - feed override

  • gmoccapy.feed.feed-override.count-enable (bit IN) - Must be True, to enable counts

  • gmoccapy.feed.reset-feed-override (bit IN) - reset the feed override to *0%

  • gmoccapy.spindle.spindle-override.counts (s32 IN) - spindle override

  • gmoccapy.spindle.spindle-override.count-enable (bit IN) - Must be True, to enable counts

  • gmoccapy.spindle.reset-spindle-override (bit IN) - reset the spindle override to *0%

  • gmoccapy.rapid.rapid-override.counts (s32 IN) - Maximal Velocity of the *chine

  • gmoccapy.rapid.rapid-override.count-enable (bit IN) - Must be True, to enable counts

Um Potentiometer anzuschließen, verwenden Sie die folgenden Pins:

  • gmoccapy.jog.jog-velocity.direct-value (float IN) - To adjust the jog velocity slider

  • gmoccapy.jog.jog-velocity.analog-enable (bit IN) - Must be True, to allow analog inputs

  • gmoccapy.feed.feed-override.direct-value (float IN) - To adjust the feed override slider

  • gmoccapy.feed.feed-override.analog-enable (bit IN) - Must be True, to allow analog inputs

  • gmoccapy.spindle.spindle-override.direct-value (float IN) - To adjust the spindle override slider

  • gmoccapy.spindle.spindle-override.analog-enable (bit IN) - Must be True, to allow analog inputs

  • gmoccapy.rapid.rapid-override.direct-value (float) - To adjust the max velocity slider

  • gmoccapy.rapid.rapid-override.analog-enable (bit IN) - Must be True, to allow analog inputs

Darüber hinaus bietet GMOCCAPY 3 zusätzliche HAL-Pins zur Steuerung der neuen Schieberegler-Widgets mit Taster. Die Werte, wie schnell der Anstieg oder Abfall sein soll, müssen in der Glade-Datei eingestellt werden. In einer zukünftigen Version wird dies in die Einstellungsseite integriert werden.

GESCHWINDIGKEIT
  • gmoccapy.spc_jog_vel.increase (bit IN) - As long as True the value of the slider will increase

  • gmoccapy.spc_jog_vel.decrease (bit IN) - As long as True the value of the slider will decrease

  • gmoccapy.spc_jog_vel.scale (float IN) - A value to scale the output value (handy to change units/min to units/sec)

  • gmoccapy.spc_jog_vel.value (float OUT) - Value of the widget

  • gmoccapy.spc_jog_vel.scaled-value (float OUT) - Scaled value of the widget .FEED

  • gmoccapy.spc_feed.increase (bit IN) - As long as True the value of the slider will increase

  • gmoccapy.spc_feed.decrease (bit IN) - As long as True the value of the slider will decrease

  • gmoccapy.spc_feed.scale (float IN) - A value to scale the output value (handy to change units/min to units/sec)

  • gmoccapy.spc_feed.value (float OUT) - Value of the widget

  • gmoccapy.spc_feed.scaled-value (float OUT) - Scaled value of the widget .SPINDLE

  • gmoccapy.spc_spindle.increase (bit IN) - As long as True the value of the slider will increase

  • gmoccapy.spc_spindle.decrease (bit IN) - As long as True the value of the slider will decrease

  • gmoccapy.spc_spindle.scale (float IN) - A value to scale the output value (handy to change units/min to units/sec)

  • gmoccapy.spc_spindle.value (float OUT) - Value of the widget

  • gmoccapy.spc_spindle.scaled-value (float OUT) - Scaled value of the widget .RAPIDS

  • gmoccapy.spc_rapid.increase (bit IN) - As long as True the value of the slider will increase

  • gmoccapy.spc_rapid.decrease (bit IN) - As long as True the value of the slider will decrease

  • gmoccapy.spc_rapid.scale (float IN) - A value to scale the output value (handy to change units/min to units/sec)

  • gmoccapy.spc_rapid.value (float OUT) - Value of the widget

  • gmoccapy.spc_rapid.scaled-value (float OUT) - Scaled value of the widget

Die float-Pins akzeptieren Werte von 0,0 bis 1,0, was dem Anteil entspricht, den Sie für den Schieberegler festlegen möchten.

Warnung
Wenn Sie beide Anschlussarten verwenden, schließen Sie nicht denselben Schieberegler an beide Pins an, da die Einflüsse zwischen den beiden nicht getestet wurden! Verschiedene Schieberegler können an die eine oder andere HAL-Anschlussart angeschlossen werden.
Wichtig
Bitte beachten Sie, dass die Jog-Geschwindigkeit vom Zustand der Schildkrötentaste abhängt und je nach Modus (Schildkröte oder Kaninchen) zu unterschiedlichen Schiebereglern führt. Bitte werfen Sie auch einen Blick auf den Abschnitt zu Jog Geschwindigkeiten und der Turtle-Jog HAL Pin für weitere Details.
Beispiel 1. Einstellen eines Schiebereglerwerts

Spindle Override Min Value = 20 %
Spindle Override Max Value = 120 %
gmoccapy.analog-enable = 1
gmoccapy.spindle-override-value = 0.25

value to set = Min Value + (Max Value - Min Value) * gmoccapy.spindle-override-value
value to set = 20 + (120 - 20) * 0.25
value to set = 45 %

5.3. Jog HAL Pins

Alle Achsen, die in der INI-Datei angegeben sind, haben einen Jog-Plus- und einen Jog-Minus-Pin, so dass Hardware-Taster verwendet werden können, um die Achse zu joggen.

Anmerkung
Die Benennung dieser HAL-Pins hat sich in GMOCCAPY 2 geändert.

Für die Standard-XYZ-Konfiguration sind folgende HAL-Pins verfügbar:

  • gmoccapy.jog.axis.jog-x-plus (bit IN)

  • gmoccapy.jog.axis.jog-x-minus (bit IN)

  • gmoccapy.jog.axis.jog-y-plus (bit IN)

  • gmoccapy.jog.axis.jog-y-minus (bit IN)

  • gmoccapy.jog.axis.jog-z-plus (bit IN)

  • gmoccapy.jog.axis.jog-z-minus (bit IN)

Wenn Sie eine 4-Achsen-Konfiguration verwenden, gibt es zwei zusätzliche Pins:

  • gmoccapy.jog.jog-<your fourth axis letter >-plus (bit IN)

  • gmoccapy.jog.jog-<your fourth axis letter >-minus (bit IN)

Für eine C-Achse werden Sie sehen:

  • gmoccapy.jog.axis.jog-c-plus (bit IN)

  • gmoccapy.jog.axis.jog-c-minus (bit IN)

5.4. Jog-Geschwindigkeiten und Turtle-Jog HAL-Pin

Die Tippgeschwindigkeit kann mit dem entsprechenden Schieberegler ausgewählt werden. Die Skala des Schiebereglers wird geändert, wenn der Schildkrötenknopf (derjenige, der einen Hasen oder eine Schildkröte zeigt) umgeschaltet wurde. Wenn die Schaltfläche nicht sichtbar ist, wurde sie möglicherweise auf der Seite Einstellungen deaktiviert. Wenn die Schaltfläche das Kaninchen-Symbol zeigt, ist die Skala von der minimalen bis zur maximalen Geschwindigkeit der Maschine. Zeigt sie die Schildkröte, erreicht die Skala standardmäßig nur 1/20 der maximalen Geschwindigkeit. Der verwendete Teiler kann auf der Einstellungsseite eingestellt werden.

Mit einem Touchscreen ist es also viel einfacher, kleinere Geschwindigkeiten auszuwählen.

GMOCCAPY bietet diesen HAL-Pin an, um zwischen Hasen- und Igel-Joggen zu wechseln:

  • gmoccapy.jog.turtle-jog (bit IN)

5.5. Jog-Schrittweiten HAL-Pins

Die in der INI-Datei angegebenen Jog-Inkremente wie

[DISPLAY]
INCREMENTS = 5mm 1mm .5mm .1mm .05mm .01mm

sind über HAL-Pins auswählbar, so dass ein Hardware-Schalter verwendet werden kann, um die zu verwendende Schrittweite auszuwählen. Es gibt maximal 10 HAL-Pins für die in der INI-Datei angegebenen Inkremente. Wenn Sie mehr Inkremente in Ihrer INI-Datei angeben, sind diese nicht über die GUI erreichbar, da sie nicht angezeigt werden.

Wenn Sie 6 Inkremente in Ihrer INI-Datei haben, wie im obigen Beispiel, erhalten Sie 7 Pins:

  • gmoccapy.jog.jog-inc-0 (bit IN) - This one is fixed and will represent continuous jogging.

  • gmoccapy.jog.jog-inc-1 (bit IN) - First increment given in the INI file.

  • gmoccapy.jog.jog-inc-2 (bit IN)

  • gmoccapy.jog.jog-inc-3 (bit IN)

  • gmoccapy.jog.jog-inc-4 (bit IN)

  • gmoccapy.jog.jog-inc-5 (bit IN)

  • gmoccapy.jog.jog-inc-6 (bit IN)

GMOCCAPY bietet auch einen HAL-Pin zur Ausgabe der gewählten Jog-Schrittweite:

  • gmoccapy.jog.jog-increment (float OUT)

5.6. Hardware-Entsperr-Pin

Um einen Schlüsselschalter zum Entsperren der Einstellungsseite verwenden zu können, wird der folgende Pin exportiert:

  • gmoccapy.unlock-settings (bit IN) - The settings page is unlocked if the pin is high. To use this pin, you need to activate it on the settings page.

5.7. Fehler/Warnung Pins

  • gmoccapy.error (bit OUT) - Indicates an error, so a light can lit or even the machine may be stopped. It will be reset with the pin gmoccapy.delete-message.

  • gmoccapy.delete-message (bit IN) - Will delete the first error and reset the gmoccapy.error pin to false after the last error has been cleared.

  • gmoccapy.warning-confirm (bit IN) - Confirms warning dialog like click on OK

Anmerkung

Meldungen oder Benutzerinformationen haben keinen Einfluss auf den gmoccapy.error-Pin, aber der gmoccapy.delete-message-Pin löscht die letzte Meldung, wenn kein Fehler angezeigt wird!

5.8. Benutzerdefinierte HAL-Pins für Mitteilungen

GMOCCAPY kann so konfiguriert werden, dass es auf externe Fehler mit 3 verschiedenen Benutzermeldungen reagiert:

status
  • gmoccapy.messages.status (bit IN) - Triggers the dialog.

okdialog
  • gmoccapy.messages.okdialog (bit IN) - Triggers the dialog.

  • gmoccapy.messages.okdialog-waiting (bit OUT) - Will be 1 as long as the dialog is open. Closing the message will reset the this pin.

yesnodialog
  • gmoccapy.messages.yesnodialog (bit IN) - Triggers the dialog.

  • gmoccapy.messages.yesnodialog-waiting (bit OUT) - Will be 1 as long as the dialog is open. Closing the message will reset the this pin.

  • gmoccapy.messages.yesnodialog-response (bit OUT) - This pin will change to 1 if the user clicks OK and in all other cases it will be 0. This pin will remain 1 until the dialog is called again.

Um eine vom Benutzer erstellte Nachricht hinzuzufügen, müssen Sie die Nachricht zur INI-Datei im Abschnitt DISPLAY hinzufügen. Siehe Konfiguration von benutzererstellten Nachrichten.

Beispiel für eine Benutzermeldung (INI-Datei)
MESSAGE_TEXT = LUBE FAULT
MESSAGE_TYPE = okdialog
MESSAGE_PINNAME = lube-fault

MESSAGE_TEXT = X SHEAR PIN BROKEN
MESSAGE_TYPE = status
MESSAGE_PINNAME = pin

Um diese neuen Pins zu verbinden, müssen Sie dies in der postgui-HAL-Datei tun. Hier sind einige Beispielverbindungen zum Verbinden der Nachrichtensignale mit anderen Stellen in der HAL-Datei.

Beispiel für den Anschluss von Benutzernachrichten (HAL-Datei)
net gmoccapy-lube-fault gmoccapy.messages.lube-fault
net gmoccapy-lube-fault-waiting gmoccapy.messages.lube-fault-waiting
net gmoccapy-pin gmoccapy.messages.pin

Für weitere Informationen über HAL-Dateien und den net-Befehl siehe HAL Basics.

5.9. Spindel-Feedback-Pins

Es gibt zwei Pins für das Spindelfeedback:

  • gmoccapy.spindle_feedback_bar (float IN) - Pin to show the spindle speed on the spindle bar.

  • gmoccapy.spindle_at_speed_led (bit IN) - Pin to lit the is-at-speed-led.

5.10. Pins zur Anzeige vom Programmfortschritt

Es gibt drei Pins, die über den Programmfortschritt informieren:

  • gmoccapy.program.length (s32 OUT) - Shows the total number of lines of the program.

  • gmoccapy.program.current-line (s32 OUT) - Indicates the current working line of the program.

  • gmoccapy.program.progress (float OUT) - Gives the program progress in percentage.

Die Werte sind möglicherweise nicht sehr genau, wenn Sie mit Unterroutinen oder großen Remap-Prozeduren arbeiten. Auch Schleifen verursachen unterschiedliche Werte.

5.11. Werkzeugbezogene Pins

Werkzeugwechsel-Pins

Diese Pins werden bereitgestellt, um den GMOCCAPY-internen Werkzeugwechsel-Dialog zu verwenden, der dem von AXIS bekannten Dialog ähnelt, jedoch mit einigen Änderungen. So erhalten Sie nicht nur die Meldung, dass Sie zu Werkzeug Nummer 3 wechseln sollen, sondern auch die Beschreibung dieses Werkzeugs wie 7,5 mm 3-Nuten-Fräser. Die Informationen werden aus der Werkzeugtabelle entnommen, es liegt also an Ihnen, was angezeigt wird.

Manueller Werkzeugwechsel
Abbildung 2. GMOCCAPY Werkzeugwechsel-Dialog
  • gmoccapy.toolchange-number (s32 IN) - The number of the tool to be changed

  • gmoccapy.toolchange-change (bit IN) - Indicates that a tool has to be changed

  • gmoccapy.toolchange-changed (bit OUT) - Indicates tool has been changed

  • gmoccapy.toolchange-confirm (bit IN) - Confirms tool change

Normalerweise werden sie für einen manuellen Werkzeugwechsel so angeschlossen:

net tool-change gmoccapy.toolchange-change <= iocontrol.0.tool-change
net tool-changed gmoccapy.toolchange-changed <= iocontrol.0.tool-changed
net tool-prep-number gmoccapy.toolchange-number <= iocontrol.0.tool-prep-number
net tool-prep-loop iocontrol.0.tool-prepare <= iocontrol.0.tool-prepared
Anmerkung
Bitte beachten Sie, dass diese Verbindungen in der postgui HAL Datei vorgenommen werden müssen.
Werkzeug-Offset Pins

Mit diesen Pins können Sie die aktiven Werkzeugversatzwerte für X und Z im Werkzeuginformationsrahmen anzeigen. Sie sollten wissen, dass sie erst aktiv sind, nachdem G43 gesendet wurde.

Werkzeuginformationen
Abbildung 3. Informationsbereich für Werkzeuge
  • gmoccapy.tooloffset-x (float IN)

  • gmoccapy.tooloffset-z (float IN)

Anmerkung
Die Zeile "tooloffset-x" wird bei einer Fräsmaschine nicht benötigt und wird bei einer Fräsmaschine mit trivialer Kinematik nicht angezeigt.

Um die aktuellen Offsets anzuzeigen, müssen die Pins in der postgui-HAL-Datei wie folgt verbunden werden:

net tooloffset-x gmoccapy.tooloffset-x <= motion.tooloffset.x
net tooloffset-z gmoccapy.tooloffset-z <= motion.tooloffset.z
Wichtig
Bitte beachten Sie, dass GMOCCAPY selbst dafür sorgt, die Offsets zu aktualisieren, indem es nach jedem Werkzeugwechsel ein G43 sendet, aber nicht im Auto-Modus!
Wenn Sie also ein Programm schreiben, sind Sie dafür verantwortlich, nach jedem Werkzeugwechsel ein G43 zu senden!

6. Automatische Werkzeugvermessung

GMOCCAPY bietet eine integrierte automatische Werkzeugmessung. 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.

Wichtig
Vergessen Sie nicht, vor dem ersten Test die Tasterhöhe und die Tastergeschwindigkeiten auf der Einstellungsseite einzugeben! Siehe Einstellungsseite Werkzeugmessung.

Es könnte auch eine gute Idee sein, einen Blick auf das Video zur Werkzeugvermessung zu werfen, siehe Videos zur Werkzeugvermessung.

Die Werkzeugmessung in GMOCCAPY läuft ein wenig anders ab als in vielen anderen GUIs. Sie sollten diese Schritte befolgen:

  1. Berührung des Werkstücks in X und Y.

  2. 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.).

  3. Drücken Sie die Taste Blockhöhe und geben Sie den Messwert ein.

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

Hier ist eine kleine Skizze:

images/sketch_auto_tool_measurement.png
Abbildung 4. Werkzeugmessung Daten

Beim ersten vorgegebenen Werkzeugwechsel wird das Werkzeug vermessen und der Versatz automatisch auf die Blockhöhe eingestellt. Der Vorteil der GMOCCAPY Methode ist, dass Sie kein Referenzwerkzeug benötigen.

Anmerkung

Ihr Programm muss am Anfang einen Werkzeugwechsel enthalten! Das Werkzeug wird vermessen, auch wenn es schon vorher benutzt wurde, so dass keine Gefahr besteht, wenn sich die Blockhöhe geändert hat. Es gibt mehrere Videos auf YouTube, die zeigen, wie man das macht.

6.1. Verfügbare Pins

GMOCCAPY bietet fünf Pins für die Werkzeugmessung. Diese Pins werden meist von einem G-Code-Unterprogramm gelesen, damit der Code auf verschiedene Werte reagieren kann.

  • gmoccapy.toolmeasurement (bit OUT) - Enable or not tool measurement

  • gmoccapy.blockheight (float OUT) - The measured value of the top face of the workpiece

  • gmoccapy.probeheight (float OUT) - The probe switch height

  • gmoccapy.searchvel (float OUT) - The velocity to search for the tool probe switch

  • gmoccapy.probevel (float OUT) - The velocity to probe tool length

6.2. Änderungen an der INI-Datei

Ändern Sie Ihre INI-Datei so, dass sie die folgenden Abschnitte enthält.

Der RS274NGC-Abschnitt
[RS274NGC]
# Unterfunktion wird aufgerufen, wenn ein Fehler beim Werkzeugwechsel auftritt, wird nicht bei jeder Maschinenkonfiguration benötigt
ON_ABORT_COMMAND=O <on_abort> call

# The remap code
REMAP=M6  modalgroup=6 prolog=change_prolog ngc=change epilog=change_epilog
Anmerkung
Stellen Sie sicher, dass INI_VARS und HAL_PIN_VARS nicht auf 0 gesetzt sind, sondern standardmäßig auf 1.
Der Abschnitt Werkzeugsensor (engl. tool sensor)

Die Position des Werkzeugsensors und die Startposition der Antastbewegung, alle Werte sind absolute Koordinaten, mit Ausnahme von MAXPROBE, welche in relativer Bewegung angegeben werden müssen.

[TOOLSENSOR]
X = 10
Y = 10
Z = -20
MAXPROBE = -20
Der Abschnitt "Position ändern"

Die Position wird nicht absichtlich TOOL_CHANGE_POSITION genannt - canon verwendet diesen Namen und stört sonst. Die Position, an welche die Maschine bewegt werden soll, bevor der Befehl zum Werkzeugwechsel gegeben wird. Alle Werte sind in absoluten Koordinaten.

[CHANGE_POSITION]
X = 10
Y = 10
Z = -2
Die Python-Sektion

Das Python-Plug-in dient als Interpreter und Task.

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

6.3. Benötigte Dateien

Erstellen Sie zunächst ein Verzeichnis "python" in Ihrem Konfigurationsverzeichnis. Kopieren Sie von <Ihr_linuxcnc-dev_verzeichnis>/configs/sim/gmoccapy/python die folgenden Dateien in den gerade erstellten Ordner config_dir/python:

  • toplevel.py

  • remap.py

  • stdglue.py

Von <Ihr_linuxcnc-dev_Verzeichnis>/configs/sim/gmoccapy/macros kopieren

  • on_abort.ngc

  • change.ngc

in das als SUBROUTINE_PATH angegebene Verzeichnis, siehe RS274NGC Section.

Öffnen Sie change.ngc mit einem Editor und entfernen Sie die Kommentare in den folgenden Zeilen (49 und 50):

F #<_hal[gmoccapy.probevel]>
G38.2 Z-4

Möglicherweise möchten Sie diese Datei an Ihre Bedürfnisse anpassen.

6.4. Benötigte HAL-Verbindungen

Schließen Sie die Werkzeugsonde in Ihrer HAL-Datei wie folgt an:

net probe motion.probe-input <= <Ihr_input_pin>

Die Zeile könnte so aussehen:

net probe  motion.probe-input <= parport.0.pin-15-in

Fügen Sie in Ihrer postgui.hal-Datei die folgenden Zeilen hinzu:

# Die nächsten Zeilen werden nur benötigt, wenn die Pins vorher angeschlossen waren.
unlinkp iocontrol.0.tool-change
unlinkp iocontrol.0.werkzeug-gewechselt
unlinkp iocontrol.0.werkzeug-vorbereitung-nummer
unlinkp iocontrol.0.werkzeug-vorbereitet

# Verknüpfung mit GMOCCAPY toolchange, damit Sie den Vorteil der Werkzeugbeschreibung im Änderungsdialog nutzen können
net tool-change gmoccapy.toolchange-change <= iocontrol.0.tool-change
net tool-changed gmoccapy.toolchange-changed <= iocontrol.0.tool-changed
net tool-prep-number gmoccapy.toolchange-number <= iocontrol.0.tool-prep-number
net tool-prep-loop iocontrol.0.tool-prepare <= iocontrol.0.tool-prepared

7. Die Einstellungsseite

Um die Seite zu öffnen, müssen Sie auf images/gmoccapy_settings_button.png klicken und einen Freischaltcode eingeben, der standardmäßig 123 lautet. Wenn Sie diesen Code ändern wollen, müssen Sie die versteckte Einstellungsdatei bearbeiten, siehe the display section für Details.

Die Seite ist in drei Hauptregisterkarten unterteilt:

7.1. Erscheinungsbild

Konfigurationsseite
Abbildung 5. GMOCCAPY Einstellungsseite Erscheinungsbild

Auf dieser Registerkarte finden Sie die folgenden Optionen:

Hauptfenster

Hier können Sie auswählen, wie die grafische Benutzeroberfläche gestartet werden soll. Der Hauptgrund dafür war der Wunsch, eine einfache Möglichkeit für den Benutzer zu schaffen, die Startoptionen einzustellen, ohne dass er den Code berühren muss. Sie haben drei Optionen:

  • Start als Vollbildschirm

  • Maximiert starten

  • Start als Fenster - Wenn Sie "Start als Fenster" wählen, werden die Spinboxen zum Einstellen der Position und Größe aktiv. Einmal eingestellt, startet die GUI jedes Mal an der gewählten Stelle und mit der gewählten Größe. Dennoch kann der Benutzer die Größe und Position mit der Maus verändern, was aber keinen Einfluss auf die Einstellungen hat.

  • hide title bar - Allows the title bar to be hidden. (default: title bar visible).

  • Cursor ausblenden - Blendet den Cursor aus, was sehr nützlich ist, wenn Sie einen Touchscreen verwenden.

  • hide tooltips - Blendet die Tooltips aus.

Virtuelle Tastatur

The checkboxes allow the user to select if he wants the on board keyboard to be shown immediately when entering the MDI Mode, the offset page, the tooledit widget or when open a program in the EDIT mode. The keyboard button on the bottom button list will not be affected by these settings, so you are able to show or hide the keyboard by pressing the button.

The default setting is:

  • Show keyboard on offset = False

  • Show keyboard on tooledit = False

  • Show keyboard on MDI = True

  • Show keyboard on EDIT = True

  • Show keyboard on load file = False

Anmerkung
Wenn dieser Abschnitt nicht empfindlich ist, haben Sie keine virtuelle Tastatur installiert, unterstützt werden onboard und matchbox-keyboard.
Anmerkung

Wenn das Tastaturlayout nicht korrekt ist, d.h. ein Klick auf Y ergibt Z, dann wurde das Layout nicht richtig eingestellt, was mit Ihren Gebietsschemaeinstellungen zusammenhängt. Für Onboard kann dies mit einer kleinen Batch-Datei mit folgendem Inhalt gelöst werden:

#!/bin/bash
setxkbmap -model pc105 -layout de -variant basic

Die Buchstaben "de" sind für Deutsch, Sie müssen sie entsprechend Ihrer Locale-Einstellungen setzen. Führen Sie einfach diese Datei vor dem Start von LinuxCNC, kann es auch das Hinzufügen eines Starters zu Ihrem lokalen Ordner getan werden.

./config/autostart

Damit das Layout beim Start automatisch eingestellt wird.

Für matchbox-keyboard müssen Sie Ihr eigenes Layout erstellen, für ein deutsches Layout fragen Sie im Forum.

GMOCCAPY mit Onboard-Tastatur im Bearbeitungsmodus

Onboard keyboard

On Touch Off

Hier können Sie wählen, ob die Registerkarte "Vorschau" oder die Registerkarte "Offset-Seite" angezeigt werden soll, wenn Sie wenn Sie durch Klicken auf die entsprechende untere Schaltfläche in den Touch-off-Modus wechseln.

  • Vorschau anzeigen

  • Offsets anzeigen

DRO-Optionen

Sie haben die Möglichkeit, die Hintergrundfarben für die verschiedenen DRO-Zustände auszuwählen. So können Benutzer, die an Protanopie (Rot/Grün-Schwäche) leiden, die richtigen Farben auswählen.

Voreingestellte Hintergrundfarben sind:

  • Relative Color = black

  • Absolute Color = blue

  • DTG Color = yellow

Die Vordergrundfarbe der DRO kann ausgewählt werden mit:

  • Homed Color = green

  • Unhomed Color = red

Anmerkung
Sie können durch die DRO-Modi (absolut, relativ, Entfernung zu gehen) wechseln, indem Sie auf die Zahl auf dem DRO klicken! Wenn Sie auf den linken Seitenbuchstaben des DRO klicken, können Sie in einem Popup-Fenster den Wert der Achsen festlegen, was das Einstellen des Werts erleichtert, da Sie nicht über die untere Touch-Off-Taste gehen müssen.
  • size - Allows to set the size of the DRO font, default is 28, if you use a bigger screen you may want to increase the size up to 56. If you do use 4 axes, the DRO font size will be 3/4 of the value, because of space reason.

  • digits - Sets the number of digits of the DRO from 1 to 5.

    Anmerkung

    Imperiale Einheiten zeigen eine Ziffer mehr an als metrische. Wenn Sie also imperiale Maschineneinheiten verwenden und den Ziffernwert auf 1 setzen, erhalten Sie im metrischen System überhaupt keine Ziffer.

  • toggle DRO mode - If not active, a mouse click on the DRO will not take any action.
    By default this checkbox is active, so every click on any DRO will toggle the DRO readout from actual to relative to DTG (distance to go).
    Neverthereless a click on the axis letter will open the popup dialog to set the axis value.

Vorschau
  • Grid Size - Legt die Rastergröße des Vorschaufensters fest. Leider muss die Größe in Zoll eingestellt werden, auch wenn Ihre Maschine metrische Einheiten hat. Wir hoffen, dies in einer zukünftigen Version zu beheben.

    Anmerkung
    Das Gitter wird in der perspektivischen Ansicht nicht angezeigt.
  • Show DRO - Zeigt die DRO auch im Vorschaufenster an, sie wird immer in der Vollbildvorschau angezeigt.

  • Show DTG - Zeigt die DTG (direkte Entfernung zum Endpunkt) in der Vorschau, wenn Show DRO aktiv ist: Ansonsten nur Vorschau in voller Größe.

  • Offsets anzeigen - Zeigt die Offsets im Vorschaubereich an, wenn Show DRO aktiv ist. Sonst Vorschau nur in voller Größe.

  • Mouse Button Mode - Mit dieser Combobox können Sie das Schaltflächenverhalten der Maus zum Drehen, Verschieben oder Zoomen innerhalb der Vorschau auswählen:

    • Links drehen, Mitte verschieben, rechts zoomen

    • Links zoomen, Mitte verschieben, rechts rotieren

    • links bewegen, mitte drehen, rechts zoomen

    • Links zoomen, Mitte drehen, rechts bewegen

    • Links verschieben, Mitte zoomen, rechts rotieren

    • Links drehen, Mitte zoomen, rechts bewegen

Default is left move, middle zoom, right rotate.
The mouse wheel will still zoom the preview in every mode.

Tipp

Wenn Sie ein Element in der Vorschau auswählen, wird das ausgewählte Element als Rotationsmittelpunkt genommen und im Automodus wird die entsprechende Codezeile hervorgehoben.

Gmoccapy Messages

Daraufhin werden kleine Pop-up-Fenster mit einer Meldung oder einem Fehlertext angezeigt, ähnlich denen, die von AXIS bekannt sind. Sie können eine bestimmte Meldung löschen, indem Sie auf die Schaltfläche "Schließen" klicken. Wenn Sie die letzte Meldung löschen möchten, drücken Sie einfach die Taste "Fenster" auf Ihrer Tastatur, oder löschen Sie alle Meldungen auf einmal mit "Strg + Leertaste".

Sie haben die Möglichkeit, einige Optionen einzustellen:

  • X Pos - Die Position der oberen linken Ecke der Nachricht in X gezählt in Pixel von der oberen linken Ecke des Bildschirms.

  • Y Pos - Die Position der oberen linken Ecke der Nachricht in Y gezählt in Pixel von der oberen linken Ecke des Bildschirms.

  • Width - Die Breite des Meldungsfelds.

  • Max. messages - The maximum number of messages you want to see at once. If you set this to 10, the 11th message will delete the first one, so you will only see the last 10.

  • Schriftart (engl. font) - Die Schriftart und -größe, die Sie für die Anzeige der Meldungen verwenden möchten.

  • Rahmen verwenden (engl. use frames) - Wenn Sie das Kontrollkästchen aktivieren, wird jede Nachricht in einem Rahmen angezeigt, so dass es viel einfacher ist, die Nachrichten zu unterscheiden. Allerdings benötigen Sie dann etwas mehr Platz.

  • Launch test message-button - Es zeigt eine Nachricht, so dass Sie die Änderungen Ihrer Einstellungen sehen können, ohne tatsächlich einen Fehler zu erzeugen.

Themen und Klänge

This lets the user select what desktop theme to apply and what error and messages sounds should be played.

By default "Follow System Theme" is set.

Es ermöglicht weiterhin, das Symbolthema zu ändern. Derzeit stehen drei Themen zur Verfügung:

  • classic

  • Material

  • Material Light

Um benutzerdefinierte Icon-Themen zu erstellen, siehe Abschnitt Icon Theme für Details.

7.2. Hardware

Hardware-Einstellungen
Hardware MPG-Skalierung

For the different HAL pins to connect MPG wheels to, you may select individual scales to be applied. The main reason for this was my own test to solve this through HAL connections, resulting in a very complex HAL file. Imagine a user having an MPG Wheel with 100 ppr and he wants to slow down the max. vel. from 14000 to 2000 mm/min, that needs 12000 pulses, resulting in 120 turns of the wheel! Or an other user having a MPG Wheel with 500 ipr and he wants to set the spindle override which has limits from 50 to 120 % so he goes from min to max within 70 pulses, meaning not even 1/4 turn.

Standardmäßig werden alle Skalen anhand der Berechnung festgelegt:

(MAX - MIN)/100
Spindel
  • Die Startdrehzahl (engl. starting RPM) - Legt die Drehzahl fest, die verwendet wird, wenn die Spindel gestartet wird und kein S-Wert eingestellt wurde.

    Anmerkung
    Dieser Wert wird entsprechend Ihrer Einstellungen in [DISPLAY] DEFAULT_SPINDLE_SPEED in Ihrer INI-Datei voreingestellt. Wenn Sie die Einstellungen auf der Einstellungsseite ändern, wird dieser Wert von diesem Moment an voreingestellt, Ihre INI-Datei wird nicht geändert.
  • Spindelstange min und Spindelstange max - Legt die Grenzen der Spindelstange fest, die im INFO-Rahmen auf dem Hauptbildschirm angezeigt werden.

    Standardwerte sind
    MIN = 0
    MAX = 6000

    Anmerkung
    Es ist kein Fehler, falsche Werte anzugeben. Wenn Sie einen Maximalwert von 2000 eingeben und Ihre Spindel 4000 Umdrehungen pro Minute macht, wird nur der Stangenpegel bei höheren Drehzahlen als 2000 U/min falsch sein.
Optionen freischalten

Es gibt drei Optionen zum Entsperren der Einstellungsseite:

  • Freischaltcode verwenden - der Benutzer muss einen Code eingeben, um Zugang zu erhalten.

  • Verwenden Sie keinen Freischaltcode - Es findet keine Sicherheitsüberprüfung statt.

  • HAL-Pin zum Entsperren verwenden - Hardware-Pin muss high sein, um die Einstellungen zu entsperren, siehe hardware unlock pin.

Default is use unlock code (default code is 123).

Schildkröten Jog

Diese Einstellungen haben Einfluss auf die Jog-Geschwindigkeiten.

  • Schildkröten-Jog-Schaltfläche ausblenden - Blendet die Schaltfläche rechts neben dem Schieberegler für die Jog-Geschwindigkeit aus. Wenn Sie diese Schaltfläche ausblenden, achten Sie bitte darauf, dass der „Hase-Modus“ aktiviert ist, da Sie sonst nicht schneller als die Schildkröte (engl. Turtle)-Jog-Geschwindigkeit (d.h. langsam) joggen können, die sich aus dem Turtle-Jog-Faktor ergibt.

  • Turtle-Jog-Faktor - Legt den Maßstab für den Schildkröten-Jogging-Modus fest. Wenn Sie einen Faktor von 20 einstellen, beträgt die maximale Jog-Geschwindigkeit der Schildkröte 1/20 der maximalen Geschwindigkeit der Maschine im Schildkrötenmodus (Taste gedrückt, zeigt die Schildkröte).

Anmerkung
Dieser Button kann über den turtle-jog HAL-Pin gesteuert werden.

7.3. Erweiterte Einstellungen

Erweiterte Einstellungen
Werkzeugmessung

Bitte prüfen Sie Auto Tool Measurement

Anmerkung
Wenn dieser Teil nicht empfindlich ist, haben Sie keine gültige INI-Datei-Konfiguration für die Verwendung der Werkzeugmessung.
  • Automatische Werkzeugvermessung verwenden - Wenn diese Option aktiviert ist, wird nach jedem Werkzeugwechsel eine Werkzeugvermessung durchgeführt. Das Ergebnis wird in der Werkzeugtabelle gespeichert und nach dem Wechsel wird ein G43 ausgeführt.

    Sonden-Informationen

    The following information are taken from your INI file and must be given in absolute coordinates:

    • X Pos. - Die X-Position des Werkzeugschalters.

    • Y Pos. - Die Y-Position des Werkzeugschalters.

    • Z Pos. - Die Z-Position des Werkzeugschalters, wir fahren im Eilgang zu dieser Koordinate.

    • Max. Probe - The distance to search for contact, an error will be launched, if no contact is given in this range. The distance has to be given in relative coordinates, beginning the move from Z Pos., so you have to give a negative value to go down!

    • Sondenhöhe_ - Die Höhe Ihres Sondenschalters, Sie können sie messen. Tippen Sie einfach die Basis an, auf der sich der Tasterschalter befindet, und setzen Sie den Wert auf Null. Führen Sie dann einen Werkzeugwechsel durch und beobachten Sie den Wert tool_offset_z, das ist die Höhe, die Sie hier eingeben müssen.

    Geschwindigkeiten der Sonde
    • Such-Geschwindigkeit (engl. search velocity) - Die Geschwindigkeit für die Suche nach dem Werkzeugschalter, nach dem Kontakt wird das Werkzeug wieder nach oben gehen und dann geht in Richtung der Sonde wieder mit Sonden-Geschwindigkeit, so erhalten Sie bessere Ergebnisse.

    • Sonden-Geschw. (engl. probe vel.) - Ist die Geschwindigkeit für die zweite Bewegung zum Schalter. Sie sollte langsamer sein, um bessere Berührungsergebnisse zu erzielen. Im Simulationsmodus ist dies in macros/change.ngc auskommentiert, da der Benutzer sonst zweimal auf den Taster klicken müsste.

Reload Tool::
  • Reload Tool on Start - Lädt das letzte Werkzeug beim Start nach der Referenzfahrt.

If checked, the tool in spindle will be saved on each change in the preference file, making it possible to reload the last mounted tool on start up. The tool will be loaded after all axes are homed, because before it is not allowed to execute MDI commands. If you use NO_FORCE_HOMING you can not use this feature, because the needed all_homed_signal will never be emitted.

Beim Starten zu ladende Datei

Wählen Sie die Datei, die beim Starten geladen werden soll. Wenn eine Datei geladen ist, kann sie durch Drücken der aktuellen Taste eingestellt werden. Um zu verhindern, dass ein Programm beim Start geladen wird, drücken Sie einfach die Taste None.

Der Dateiauswahlbildschirm verwendet die Filter, die Sie in der INI-Datei eingestellt haben. Wenn keine Filter angegeben sind, werden nur NGC-Dateien angezeigt. Der Pfad wird entsprechend den INI-Einstellungen in [DISPLAY] PROGRAM_PREFIX gesetzt.

Zum Verzeichnis springen

Sie können hier das Verzeichnis einstellen, in das gesprungen werden soll, wenn Sie im Dateiauswahldialog auf die entsprechende Schaltfläche klicken.

Ausführen von gegebener Zeile

Sie können die Ausführung aus der Zeile erlauben oder verbieten. Dadurch wird die entsprechende Schaltfläche unempfindlich (ausgegraut), so dass der Benutzer diese Option nicht verwenden kann. Die Standardeinstellung ist "Aus der Zeile ausführen" deaktivieren.

Warnung
Es ist nicht empfehlenswert, "Ab Zeile ausführen" (engl. run from line) zu verwenden, da LinuxCNC sich nicht um alle vorherigen Zeilen im Code vor der Startzeile kümmert. Daher sind Fehler oder Abstürze recht wahrscheinlich.
Tastatürkürzel

Some users want to jog their machine using the keyboard buttons and there are others that will never allow this. So everybody can select whether to use them or not.
Keyboard shortcuts are disabled by default. They can be activated by the checkbox

  • Use keyboard shortcuts

Warnung
Es wird nicht empfohlen, Tastatur-Jogging zu verwenden, da dies ein ernsthaftes Risiko für Bediener und Maschine darstellt.

Bitte achten Sie darauf, wenn Sie eine Drehmaschine benutzen, dann sind die Abkürzungen anders. Siehe das Kapitel zu Drehmaschinen.

Allgemeines
  • F1 - Löst Notaus aus (engl. E-stop) (funktioniert auch, wenn die Tastaturkürzel deaktiviert sind)

  • F2 - Maschine ein-/ausschalten

  • F3 - manueller Modus

  • F5 - MDI-Modus

  • ESC - Abbruch (engl. abort)

Im manuellen Modus
  • Pfeil nach links oder NumPad_Left - Jog X minus

  • Pfeil rechts oder NumPad_rechts - Jog X plus

  • Arrow_up oder NumPad_Up - Jog Y plus

  • Pfeil nach unten oder NumPad_nach unten - Jog Y minus

  • Page_Up oder NumPad_Page_Up - Jog Z plus

  • Page_Down oder NumPad_Page_Down - Jog Z minus

Im Auto-Modus
  • R oder r - Programm starten

  • P oder p - Programm anhalten

  • S oder s - Programm fortsetzen

  • Control + R oder Control + r - Datei erneut laden

Nachrichtenverarbeitung (siehe Nachrichtenverhalten und -darstellung)
  • WINDOWS - Letzte Nachricht löschen

  • Control + Space - Alle Nachrichten löschen

8. Icon Themen

Icon-Themen werden verwendet, um das Aussehen der Icons von GMOCCAPY anzupassen.

GMOCCAPY wird mit drei verschiedenen Symbolthemen geliefert:

  • classic - Die klassischen GMOCCAPY-Symbole.

  • material - Ein modernes Icon-Thema, das von Googles Material Icons inspiriert ist und seine Farbgebung automatisch an das ausgewählte Desktop-Thema anpasst.

  • material-light - Abgeleitet von material, aber optimiert für helle Desktop-Themen.

Das in GMOCCAPY verwendete Icon-Theme ist ein reguläres GTK Icon-Theme, das der Spezifikation des freedestktop Icon-Theme folgt. Somit kann jedes gültige GTK-Icon-Theme als GMOCCAPY-Icon-Theme verwendet werden, solange es die erforderlichen Icons enthält.

GMOCCAPY durchsucht die folgenden Verzeichnisse nach Icon-Themes:

  • linuxcnc/share/gmoccapy/icons

  • ~/.icons

8.1. Benutzerdefiniertes Symboldesign (Icon Theme)

Das Erstellen eines eigenen Icon-Theme ist ziemlich einfach. Alles, was Sie brauchen, ist ein Texteditor und natürlich die gewünschten Icons als Pixel- oder Vektorgrafiken. Details darüber, wie genau ein Icon-Theme aufgebaut ist, finden Sie unter Freedesktop Icon Theme Specification.

Beginnen Sie damit, ein leeres Verzeichnis mit dem Namen des Icon-Theme zu erstellen. Legen Sie das Verzeichnis in eines der Icon-Theme-Verzeichnisse von GMOCCAPY. Dann brauchen wir eine Datei namens index.theme im Stammverzeichnis unseres Icon-Themes mit den erforderlichen Metadaten für das Theme. Das ist eine einfache Textdatei mit mindestens den folgenden Abschnitten:

  • [Icon Theme]

     [Icon Theme]
     Name=Ihr_Theme-Name
     Comment=Eine Beschreibung des Themes
     Inherits=hicolor
     Directories=16x16/actions,24x24/actions,32x32/actions,48x48/actions,scalable/actions
    • Name: Der Name Ihres Icon-Designs.

    • Comment: Eine Beschreibung des Themas Ihres Symbols.

    • Inherits: Ein Icon-Thema kann von einem anderen Icon-Thema abgeleitet werden, der Standard ist hicolor.

    • Verzeichnisse: Eine durch Kommata getrennte Liste aller Verzeichnisse Ihres Icon-Themas.
      Jedes Verzeichnis enthält in der Regel alle Icons des Themas in einer bestimmten Größe, z.B. 16x16/actions sollte alle Icons mit der Kategorie "actions" in der Größe 16x16 Pixel als Pixelgrafiken (z.B. png-Dateien) enthalten. Ein Sonderfall ist das Verzeichnis "scalable/actions", dieses enthält skalierbare Icons, die nicht an eine bestimmte Größe gebunden sind (z.B. svg-Dateien).
      Durch die Bereitstellung unterschiedlich großer Versionen der Icons können wir ein schön aussehendes Icon in verschiedenen Größen garantieren, und wir haben auch die Möglichkeit, das Icon entsprechend seiner Größe zu verändern, zum Beispiel kann ein 64x64 px großes Icon mehr Details enthalten als seine 16x16 px Version.

  • Für jedes Verzeichnis müssen wir auch einen Abschnitt in die Datei index.theme schreiben:

     [16x16/actions]
     Size=16
     Type=Fixed
     Context=Actions
    
     [scalable/actions]
     Size=48
     Type=Scalable
     Context=Actions
    • SIze: Nominale Symbolgröße in diesem Verzeichnis

    • Type: Fixed (engl. für festgelegt), Threshold (engl. für Schwellwert) or Scalable (engl. für skalierbar)

    • Context: Beabsichtigte "Kategorie" von Icons

Das ist im Grunde alles, was man braucht, um ein eigenes Icon Theme zu erstellen.

8.2. Symbolische Icons

Symbolische Symbole sind eine besondere Art von Symbolen, in der Regel ein einfarbiges Bild. Das Besondere an symbolischen Icons ist, dass die Icons zur Laufzeit automatisch eingefärbt werden, um dem Desktop-Thema zu entsprechen. Auf diese Weise können Icon-Themen erstellt werden, die sowohl mit dunklen als auch mit hellen Desktop-Themen gut funktionieren (tatsächlich ist das nicht immer die beste Option, deshalb gibt es ein spezielles "Material-light"-Thema).

images/gmoccapy_icon_theme_symbolic.png

Um die symbolische Funktion zu nutzen, muss eine Symboldatei die Endung .symbolic.$ext haben (wobei $ext die reguläre Dateierweiterung wie png ist), zum Beispiel "power_on.symbolic.png".

Mit diesem Namen behandelt GTK dieses Bild als symbolisches Icon und wendet beim Laden des Icons eine Umfärbung an. Es gibt nur vier Farben, die verwendet werden dürfen:

Farbe Hexadezimale RGB-Anteile Beschreibung

black (engl. für schwarz)

#000000

Primäre Farbe, wird an die Primärfarbe des Desktop-Themas angepasst.

red (engl. für rot)

#ff0000

Erfolg: diese Farbe zeigt "Erfolg" an (normalerweise etwas Grünes).

green (engl. für grün)

#00ff00

Warnung: diese Farbe bedeutet "Warnung" (normalerweise etwas Gelbes/Oranges).

blue (engl. für blau)

#0000ff

Fehler: diese Farbe zeigt "Fehler" an (normalerweise etwas Rotes).

Tipp
Beispiele für symbolische Icons finden Sie unter linuxcnc/share/gmoccapy/icons/material.

9. Drehmaschinen-spezifischer Abschnitt

Wenn in der INI-Datei LATHE = 1 angegeben wird, ändert die GUI ihr Aussehen entsprechend den speziellen Anforderungen einer Drehmaschine. Vor allem die Y-Achse wird ausgeblendet und die Jog-Buttons werden in einer anderen Reihenfolge angeordnet.

images/gmoccapy_lathe.png
Abbildung 6. Normale Drehmaschine
images/gmoccapy_back_tool_lathe.png
Abbildung 7. Drehmaschine mit hinterem Werkzeug

Wie Sie sehen, hat die R DRO einen schwarzen Hintergrund und die D DRO ist grau. Dies ändert sich je nach dem aktiven G-Code G7 oder G8. Der aktive Modus ist durch den schwarzen Hintergrund sichtbar, d.h. in den gezeigten Bildern ist G8 aktiv.

Der nächste Unterschied zum Standardbildschirm ist die Position des Jog-Buttons. X und Z haben ihre Plätze getauscht und Y ist verschwunden. Sie werden feststellen, dass die Schaltflächen X+ und X- ihren Platz je nach normaler oder hinterer Werkzeugdrehbank wechseln.

Auch das Verhalten der Tastatur wird sich ändern:

Normale Drehmaschine:

  • Pfeil links oder NumPad_links - Jog Z minus

  • Pfeil rechts oder NumPad_rechts - Jog Z plus

  • Pfeil nach oben oder NumPad_Hoch - Jog X minus

  • Pfeil nach unten oder NumPad_runter - Jog X plus

Drehmaschine mit hinterem Werkzeug:

  • Pfeil links oder NumPad_links - Jog Z minus

  • Pfeil rechts oder NumPad_rechts - Jog Z plus

  • Pfeil nach oben oder NumPad_Up - Jog X plus

  • Pfeil nach unten oder NumPad_Down - Jog X minus

Der Werkzeuginformationsrahmen zeigt nicht nur die Z-Korrektur, sondern auch die X-Korrektur und die Werkzeugtabelle zeigt alle drehbankrelevanten Informationen an.

10. Plasmaspezifischer Abschnitt

Plasma-GUI

Es gibt ein sehr gutes WIKI, das von Marius gepflegt wird, siehe Plasma wiki page.

11. Videos auf YouTube

Nachstehend finden Sie eine Reihe von Videos, die GMOCCAPY in Aktion zeigen. Leider zeigen diese Videos nicht die neueste Version von GMOCCAPY, aber die Art und Weise, sie zu benutzen, ist immer noch dieselbe wie in der aktuellen Version. Ich werde die Videos so bald wie möglich aktualisieren.

11.1. Grundlegende Verwendung

11.2. Simulierte Jog-Drehgeber

11.3. Einstellungen Seite

11.4. Simulierte Hardware-Taste

11.5. Benutzer-Registerkarten

11.6. Videos zur Werkzeugvermessung

Simulation der automatischen Werkzeugmessung: https://youtu.be/rrkMw6rUFdk

Bildschirm zur Automatischen Werkzeugmessung: https://youtu.be/Z2ULDj9dzvk

Automatische Werkzeugmessmaschine: https://youtu.be/1arucCaDdX4

12. Known Problems

12.1. Seltsame Zahlen im Infobereich

Wenn Sie im Infobereich von GMOCCAPY seltsame Zahlen erhalten wie:

Seltsame Zahlen

Sie haben Ihre Konfigurationsdatei mit einer älteren Version von StepConfWizard erstellt. Diese hat in der INI-Datei unter [TRAJ] einen falschen Eintrag namens MAX_LINEAR_VELOCITY = xxx vorgenommen. Ändern Sie diesen Eintrag in MAX_VELOCITY = xxx.

12.2. Nicht endendes Makro

Wenn Sie ein Makro ohne Bewegung verwenden, wie dieses hier:

 o<zeroxy> sub

G92.1
G92.2
G40

G10 L20 P0 X0 Y0

o<zeroxy> endsub
m2

GMOCCAPY wird das Ende des Makros nicht sehen, weil der Interpreter seinen Zustand auf IDLE ändern muss, aber das Makro setzt den Interpreter nicht einmal in einen neuen Zustand. Um dies zu vermeiden, fügen Sie einfach eine G4 P0.1-Zeile hinzu, um das benötigte Signal zu erhalten. Das korrekte Makro würde lauten:

 o<zeroxy> sub

G92.1
G92.2
G40

G10 L20 P0 X0 Y0

G4 P0.1

o<zeroxy> endsub
m2