1. Einführung
GMOCCAPY is a GUI for LinuxCNC, designed to be used with a touch screen, but can also be used on normal screens with a mouse or hardware buttons and MPG wheels, as it presents HAL Pins for the most common needs. Please find more information in the following.
It offers the possibility to display up to 9 axes, support a lathe mode for normal and back tool lathe and can be adapted to nearly every need, because GMOCCAPY supports embedded tabs and side panels. As a good example for that see gmoccapy_plasma.
GMOCCAPY 3 does support up to 9 axes and 9 joints. As GMOCCAPY 3 has been changed in code to support the joint / axis changes in LinuxCNC it does not work on 2.7 or 2.6 branch!
It has support for integrated virtual keyboard (onboard or matchbox-keyboard), so there is no need for a hardware keyboard or mouse, but it can also be used with that hardware. GMOCCAPY offers a separate settings page to configure most settings of the GUI without editing files.
GMOCCAPY can be localized very easy, because the corresponding files are separated from the linuxcnc.po files, so there is no need to translate unneeded stuff. The files are placed in /src/po/gmoccapy. You could just copy the gmoccapy.pot file to something like it.po and translate that file with gtranslator or poedit. After rebuilding, you’d get the GUI in your preference language. To facilitate the sharing of the translation, GMOCCAPY is available on the Weblate web interface. GMOCCAPY is currently available in English, German, Spanish, Polish, Serbian and Hungarian. Feel free to help me to introduce more languages, be it locally or via the web. If you need help, don’t hesitate to contact me on nieson@web.de.
2. Anforderungen
GMOCCAPY 3 has been tested on Debian Jessie, Debian Stretch and MINT 18 with LinuxCNC master and 2.8 release. It fully support joint / axis changes of LinuxCNC, making it suitable as GUI for Scara, Robots or any other config with more joints than axes. So it supports also gantry configs. If you use other versions, please inform about problems and / or solutions on the LinuxCNC forum or the German CNC Ecke Forum or LinuxCNC users mailing list.
The minimum screen resolution for GMOCCAPY for the normal layout (without side panels) is 980 x 750 Pixel, so it should fit to every standard screen. It is recommended to use screens with minimum resolution of 1024x768. There is also a configuration which fits for 800x600 screens (introduced in GMOCCAPY 3.4.8).
3. How to get GMOCCAPY
GMOCCAPY 3 is included in the standard distribution of LinuxCNC since release 2.7. So the easiest way to get GMOCCAPY on your controlling PC is just to download the ISO and install it from the CD/DVD/USB-stick. This allows you to receive updates with the regular Debian packages.
In the release notes aka changelist you can track the latest bugfixes and features.
Sie erhalten einen ähnlichen Bildschirm wie den folgenden (das Design kann je nach Ihrer Konfiguration variieren):
4. Basiseinstellung
GMOCCAPY 3 unterstützt die folgenden Befehlszeilenoptionen:
-
-user_mode: If set, the setup button will be disabled, so normal machine operators are not able to edit the settings of the machine.
-
-logo <path to logo file>: If given, the logo will hide the jog button tab in manual mode, this is only useful for machines with hardware buttons for jogging and increment selection.
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. Die DISPLAY-Sektion
[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 - Gives the location and name of the preferences file to be used. In most cases this line will not be needed, it is used by GMOCCAPY to store your settings of the GUI, like themes, DRO units, colors, and keyboard settings, etc., see settings page for more details.
AnmerkungIf no path or file is given, GMOCCAPY will use as default <your_machinename>.pref, if no machine name is given in your INI File it will use gmoccapy.pref. The file will be stored in your config directory, so the settings will not be mixed if you use several configs. If you only want to use one file for several machines, you need to include PREFERENCE_FILE_PATH
in your INI. -
MAX_FEED_OVERRIDE = 1.5 - Sets the maximum feed override, in the example given, you will be allowed to override the feed by 150%.
AnmerkungWenn kein Wert angegeben wird, so wird er auf 1,0 gesetzt. -
MIN_SPINDLE_OVERRIDE = 0.5 and MAX_SPINDLE_OVERRIDE = 1.2 - Will allow you to change the spindle override within a limit from 50% to 120%.
AnmerkungIf no values are given, MIN will be set to 0.1 and MAX to 1.0. -
LATHE = 1 - Set the screen layout to control a lathe.
-
BACK_TOOL_LATHE = 1 - Is optional and will switch the X axis in a way you need for a back tool lathe. Also the keyboard shortcuts will react in a different way. It is allowed with GMOCCAPY to configure a lathe also with additional axes, so you may use also a XZCW config for a lathe.
TippSiehe auch den Abschnitt speziell zu Drehmaschinen. -
PROGRAM_PREFIX = ../../nc_files/ - Is the entry to tell LinuxCNC/GMOCCAPY where to look for the NGC files.
AnmerkungIf not specified, GMOCCAPY will look in the following order for NGC files: First linuxcnc/nc_files
and then the users home directory. -
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 - Sets the default jog velocity of the machine.
AnmerkungIf not set, half of MAX_LINEAR_VELOCITY will be used. If that value is also not given, it will default to 180. -
MAX_LINEAR_VELOCITY = 230.0 - Sets the maximal velocity of the machine. This value will also be the maximum linear jog velocity.
AnmerkungDer Standardwert ist 600, falls nicht festgelegt.
4.3. Makro-Buttons
You can add macros to GMOCCAPY, similar to Touchy’s way. A macro is nothing else than a NGC file. You are able to execute complete CNC programs in MDI mode by just pushing one button. To do so, you first have to specify the search path for macros:
This sets the path to search for macros and other subroutines. Several subroutine paths can be separated ":".
Dann müssen Sie nur noch einen Abschnitt wie diesen hinzufügen:
[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
|
A maximum of 16 macros will be shown in the GUI. Due to space reasons you may need to click on an arrow to switch the page and display hidden macro buttons. The macro buttons will be displayed in the order of the INI entries. It is no error placing more than 16 macros in your INI file, they will just not be shown. |
Anmerkung
|
You will find the sample macros in a folder named macros placed in the GMOCCAPY sim folder. If you have given several subroutine paths, they will be searched in the order of the given paths. The first file found will be used. |
GMOCCAPY akzeptiert auch Makros, die nach Parametern wie den folgenden fragen:
[MACROS] 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. |
4.4. Embedded Tabs and Panels
You can add embedded programs to GMOCCAPY like you can do in AXIS, Touchy and Gscreen. All is done by GMOCCAPY automatically if you include a few lines in your INI file in the DISPLAY section.
If you have never used a Glade panel, I recommend to read the excellent documentation on Glade VCP.
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
includes a custom glade file called dro.glade in the mentioned location. The file must be placed in the config folder of your machine.
gladevcp h_buttonlist.glade
will just open a new user window called h_buttonlist.glade note the difference. This one is stand alone, and can be moved around independent from GMOCCAPY window.
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.
Anmerkung
|
If you make any HAL connections to your custom glade panel, you need to do that in the HAL file specified in the EMBED_TAB_COMMAND line, otherwise you may get an error that the HAL pin does not exist — this is because of race conditions loading the HAL files. Connections to GMOCCAPY HAL pins need to be made in the postgui HAL file specified in your INI file, because these pins do not exist prior of realizing the GUI. |
Hier sind einige Beispiele:
4.5. User Created Messages
GMOCCAPY has the ability to create HAL driven user messages. To use them you need to introduce some lines in the [DISPLAY] section of the INI file.
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.
For more detailed information of the pins see User Created Message HAL Pins.
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
Magic comments can be used to control the G-code preview. On very large programs the preview can take a long time to load. You can control what is shown and what is hidden on the graphics screen by adding the appropriate comments from this list into your G-code:
(PREVIEW,hide)
<G-code to be hidden>
(PREVIEW,show)
4.7. User Command File
If a file ~/.gmoccapyrc
exists, its contents are executed as Python source code just after the GUI is displayed. The details of what may be written in the ~/.gmoccapyrc
are subject to change during the development cycle.
A configuration-specific Python file may be specified with an INI file setting
[DISPLAY] USER_COMMAND_FILE=filename.py
If this file is specified, this file is sourced just after the GMOCCAPY GUI is displayed instead of ~/.gmoccapyrc
.
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)
The widget names can the looked up in the /usr/share/gmoccapy.glade file
4.8. User CSS File
Similar to the User command file it’s possible to influence the appearance by cascading style sheets (CSS). If a file ~/.gmoccapy_css
exists, its contents are loaded into the stylesheet provider and are so being applied to the GUI.
A configuration-specific CSS file may be specified with an INI file setting
[DISPLAY] USER_CSS_FILE=filename.css
If this file is specified, this file is used instead of ~/.gmoccapy_css
.
Information what can be controlled by CSS can be found here: Overview of 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 supports specifying the level of information (log level) that will be printed to the console and to the log file.
The order is VERBOSE, DEBUG, INFO, WARNING, ERROR, CRITICAL. Default is WARNING, that means WARNING, ERROR and CRITICAL are printed.
You can specify the log level in the INI file like this:
[DISPLAY] DISPLAY = gmoccapy <log_level_param>
using these parameters:
Log level <log_level_param>
DEBUG -d
INFO -i
VERBOSE -v
ERROR -q
[DISPLAY] DISPLAY = gmoccapy -q
You can specify where to save the log file:
[DISPLAY] LOG_FILE = gmoccapy.log
If LOG_FILE
is not set, logging happens to $HOME/<base_log_name>.log
.
5. HAL-Pins
GMOCCAPY exports several HAL pins to be able to react to hardware devices. The goal is to get a GUI that may be operated in a tool shop, completely/mostly without mouse or keyboard.
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 |
5.1. Right and Bottom Button Lists
The screen has two main button lists, one on the right side an one on the bottom. The right handed buttons will not change during operation, but the bottom button list will change very often. The buttons are count from up to down and from left to right beginning with 0.
Anmerkung
|
The pin names have changed in GMOCCAPY 2 to order them in a better way. |
The pins for the right (vertical) buttons are:
-
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)
For the bottom (horizontal) buttons they are:
-
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)
As the buttons in the bottom list will change according to the mode and other influences, the hardware buttons will activate the displayed functions. So you don’t have to take care about switching functions around in HAL, because that is done completely by GMOCCAPY!
Bei einer dreiachsigen XYZ-Maschine reagieren die HAL-Pins wie in den folgenden drei Tabellen dargestellt:
Pin | Manual Mode | MDI Mode | Auto Mode |
---|---|---|---|
|
open homing button |
macro_0 oder nichts |
open file |
|
Offenes Touch-Off-Krims |
macro_1 oder nichts |
reload program |
|
macro_2 oder nichts |
run |
|
|
open tool dialogs |
macro_3 oder nichts |
stop |
|
macro_4 oder nichts |
pause |
|
|
macro_5 oder nichts |
step by step |
|
|
macro_6 oder nichts |
run from line if enabled in settings, otherwise Nothing |
|
|
macro_7 oder nichts |
optional blocks |
|
|
full-size preview |
macro_8 or switch page to additional macros |
full-size preview |
|
exit if machine is off, otherwise no reaction |
open keyboard or abort if macro is running |
Code bearbeiten |
Pin | Settings Mode | Homing Mode | Touch-Off-Modus |
---|---|---|---|
|
delete MDI history |
edit offsets |
|
|
home all |
touch X |
|
|
touch Y |
||
|
home x |
touch Z |
|
|
open classic ladder |
home y |
|
|
öffnen von HAL-scope |
home z |
|
|
HAL-Status öffnen |
zero G92 |
|
|
open HAL meter |
||
|
HAL-Kalibrierung öffnen |
unhome all |
set selected |
|
öffnen von HAL-show |
back |
back |
Pin | Tool Mode | Edit Mode | Select File |
---|---|---|---|
|
delete tool(s) |
go to home directory |
|
|
new tool |
reload file |
one directory level up |
|
Werkzeugtabelle neu laden |
speichern |
|
|
Änderungen übernehmen |
speichern unter |
move selection left |
|
change tool by number T? M6 |
move selection right |
|
|
set tool by number without change M61 Q? |
jump to directory as set in settings |
|
|
change tool to the selected one |
new file |
|
|
select / ENTER |
||
|
Werkzeugberührung in Z |
show keyboard |
|
|
back |
back |
back |
Wir haben also 67 Reaktionen mit nur 10 HAL-Pins!
These pins are made available to be able to use the screen without a touch panel, or protect it from excessive use by placing hardware buttons around the panel. They are available in a sample configuration like shown in the image below.
5.2. Velocities and Overrides
All sliders from GMOCCAPY can be connected to hardware encoders or hardware potentiometers.
Anmerkung
|
For GMOCCAPY 3 some HAL pin names have changed when new controls have been implemented. Max velocity does not exist any more, it was replaced by rapid override due to the demand of many users. |
To connect encoders, the following pins are exported:
-
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
To connect potentiometers, use the following 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
In addition, GMOCCAPY 3 offers additional HAL pins to control the new slider widgets with momentary switches. The values how fast the increase or decrease will be, must be set in the glade file. In a future release it will be integrated in the settings page.
-
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
The float pins do accept values from 0.0 to 1.0, being the percentage value you want to set the slider value.
Warnung
|
If you use both connection types, do not connect the same slider to both pin as the influences between the two has not been tested! Different sliders may be connected to the one or other HAL connection type. |
Wichtig
|
Please be aware that the jog velocity depends on the turtle button state. It will lead to different slider scales depending on the mode (turtle or rabbit). Please take also a look at jog velocities and turtle-jog HAL pin for more details. |
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. |
For the standard XYZ config following HAL pins will be available:
-
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)
For a C-axis you will see:
-
gmoccapy.jog.axis.jog-c-plus (bit IN)
-
gmoccapy.jog.axis.jog-c-minus (bit IN)
5.4. Jog Velocities and Turtle-Jog HAL Pin
The jog velocity can be selected with the corresponding slider. The scale of the slider will be modified if the turtle button (the one showing a rabbit or a turtle) has been toggled. If the button is not visible, it might have been disabled on the settings page. If the button shows the rabbit-icon, the scale is from min to max machine velocity. If it shows the turtle, the scale will reach only 1/20 of max velocity by default. The used divider can be set on the settings page.
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 Increment HALPins
The jog increments given in the INI file like
[DISPLAY] INCREMENTS = 5mm 1mm .5mm .1mm .05mm .01mm
are selectable through HAL pins, so a selection hardware switch can be used to select the increment to use. There will be a maximum of 10 HAL pins for the increments given in the INI file. If you give more increments in your INI file, they will be not reachable from the GUI as they will not be displayed.
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
|
Messages or user infos will not affect the |
5.8. Vom Benutzer erstellte HAL-Pins für Nachrichten
GMOCCAPY may be configured to react to external errors, using 3 different user messages:
-
gmoccapy.messages.status (bit IN) - Triggers the dialog.
-
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.
-
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.
To add a user created message you need to add the message to the INI file in the DISPLAY section. See Configuration of User Created Messages.
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.
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 to Indicate Program Progress Information
There are three pins giving information about the program progress:
-
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.
The values may not be very accurate if you are working with subroutines or large remap procedures. Also loops will cause different values.
5.11. Tool Related Pins
These pins are provided to use GMOCCAPY’s internal tool change dialog, similar to the one known from AXIS, but with several modifications. So you will not only get the message to change to tool number 3, but also the description of that tool like 7.5 mm 3 flute cutter. The information is taken from the tool table, so it is up to you what to display.
-
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. |
These pins allow you to show the active tool offset values for X and Z in the tool information frame. You should know that they are only active after G43 has been sent.
-
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 Werkzeugmessung
GMOCCAPY offers an integrated auto tool measurement. To use this feature, you will need to do some additional settings and you may want to use the offered HAL pin to get values in your own NGC remap procedure.
Wichtig
|
Before starting the first test, do not forget to enter the probe height and probe velocities on the settings page! See Settings Page Tool Measurement. |
It might be also a good idea to take a look at the tool measurement video, see tool measurement related videos.
Tool Measurement in GMOCCAPY is done a little bit different to many other GUIs. You should follow these steps:
-
Touch off your workpiece in X and 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.).
-
Drücken Sie die Taste Blockhöhe und geben Sie den Messwert ein.
-
Gehen Sie in den Automatikmodus und starten Sie Ihr Programm.
Hier ist eine kleine Skizze:
With the first given tool change the tool will be measured and the offset will be set automatically to fit the block height. The advantage of the GMOCCAPY way is, that you do not need a reference tool.
Anmerkung
|
Your program must contain a tool change at the beginning! The tool will be measured, even it has been used before, so there is no danger, if the block height has changed. There are several videos showing the way to do that on YouTube. |
6.1. Provided Pins
GMOCCAPY offers five pins for tool measurement purposes. These pins are mostly used to be read from a G-code subroutine, so the code can react to different values.
-
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. INI File Modifications
Ändern Sie Ihre INI-Datei so, dass sie die folgenden Abschnitte enthält.
[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. |
The position of the tool sensor and the start position of the probing movement, all values are absolute coordinates, except MAXPROBE, which must be given in relative movement.
[TOOLSENSOR] X = 10 Y = 10 Z = -20 MAXPROBE = -20
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
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
to the directory specified as SUBROUTINE_PATH
, see RS274NGC Section.
Open change.ngc
with a editor and uncomment the following lines (49 and 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
In your postgui.hal file add the following lines:
# 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
To enter the page you will have to click on and give an unlock code, which is 123 by default. If you want to change it at this time you will have to edit the hidden preference file, see the display section for details.
Die Seite ist in drei Hauptregisterkarten unterteilt:
7.1. Erscheinungsbild
Auf dieser Registerkarte finden Sie die folgenden Optionen:
Here you can select how you wish the GUI to start. The main reason for this was the wish to get an easy way for the user to set the starting options without the need to touch code. You have three options:
-
Start as full screen
-
Start maximized
-
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).
-
hide cursor - Does allow to hide the cursor, what is very useful if you use a touch screen.
-
hide tooltips - Hides the tool tips.
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
|
If this section is not sensitive, you have not installed a virtual keyboard, supported ones are onboard and matchbox-keyboard. |
Anmerkung
|
If the keyboard layout is not correct, i.e. clicking Y gives Z, than the layout has not been set properly, related to your locale settings. For onboard it can be solved with a small batch file with the following content:
The letters "de" are for German, you will have to set them according to your locale settings. Just execute this file before starting LinuxCNC, it can be done also adding a starter to your local folder.
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. |
This gives the option whether to show the preview tab or the offset page tab when you enter the touch off mode by clicking the corresponding bottom button.
-
show preview
-
show offsets
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.
By default, the background colors are:
-
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.
AnmerkungImperiale 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.
-
Grid Size - Sets the grid size of the preview window. Unfortunately the size has to be set in inches, even if your machine units are metric. We do hope to fix that in a future release.
AnmerkungDas 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 - Will show the DTG (direct distance to end point) in the preview pane if Show DRO is active. Otherwise only in full size preview.
-
Show Offsets - Will show the offsets in the preview pane when Show DRO is active. Otherwise only in full size preview.
-
Mouse Button Mode - This combobox allows you to select the button behavior of the mouse to rotate, move or zoom within the preview:
-
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. |
This will display small pop up windows displaying a message or error text, similar to the ones known from AXIS. You can delete a specific message by clicking on its close button. If you want to delete the last one, just hit the WINDOWS
key on your keyboard, or delete all messages at once with Control + Space
.
Sie haben die Möglichkeit, einige Optionen einzustellen:
-
X Pos - The position of the top left corner of the message in X counted in pixel from the top left corner of the screen.
-
Y Pos - The position of the top left corner of the message in Y counted in pixel from the top left corner of the screen.
-
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.
-
Font - The font and size you want to use to display the messages.
-
Use frames - If you activate the checkbox, each message will be displayed in a frame, so it is much easier to distinguish the messages. But you will need a little bit more space.
-
Launch test message-button - It will show a message, so you can see the changes of your settings without the need to generate an error.
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
To create custom icon themes, see section Icon Theme for details.
7.2. Hardware
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
-
Starting RPM - Sets the rpm to be used if the spindle is started and no S value has been set.
AnmerkungThis value will be presetted according to your settings in [DISPLAY] DEFAULT_SPINDLE_SPEED
of your INI file. If you change the settings on the settings page, that value will be default from that moment, your INI file will not be modified. -
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 = 6000AnmerkungIt is no error giving wrong values. If you give a maximum of 2000 and your spindle makes 4000 RPM, only the bar level will be wrong on higher speeds than 2000 RPM.
Es gibt drei Optionen zum Entsperren der Einstellungsseite:
-
Use unlock code - The user must give a code to get in.
-
Do not use unlock code - There will be no security check.
-
Use HAL pin to unlock - Hardware pin must be high to unlock the settings, see hardware unlock pin.
Default is use unlock code (default code is 123).
This settings will have influence on the jog velocities.
-
Hide turtle jog button - Will hide the button right of the jog velocity slider. If you hide this button, please take care that the "rabbit mode" is activated, otherwise you will not be able to jog faster than the turtle jog velocity, which is calculated using the turtle jog factor.
-
Turtle jog factor - Sets the scale to apply for turtle jog mode (button pressed, showing the turtle). If you set a factor of 20, the turtle max. jog velocity will be 1/20 of the max. velocity of the machine.
Anmerkung
|
This button can be controlled using the Turtle-Jog HAL Pin. |
7.3. Erweiterte Einstellungen
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. |
-
Use auto tool measurement - If checked, after each tool change, a tool measurement will be done, the result will be stored in the tool table and a G43 will be executed after the change.
- 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!
-
Probe Height - The height of your probe switch, you can measure it. Just touch off the base where the probe switch is located and set that to zero. Then make a tool change and watch the tool_offset_z value, that is the height you must enter here.
-
- Geschwindigkeiten der Sonde
-
-
Search Vel. - The velocity to search for the tool switch. After contact the tool will go up again and then goes towards the probe again with probe vel, so you will get better results.
-
Probe Vel. - The velocity for the second movement to the switch. It should be slower to get better touch results. In simulation mode, this is commented out in macros/change.ngc, otherwise the user would have to click twice on the probe button.
-
-
Reload Tool on Start - Lädt das letzte Werkzeug beim Start nach der Referenzfahrt.
Wenn diese Option aktiviert ist, wird das Werkzeug in der Spindel bei jeder Änderung der Voreinstellungsdatei gespeichert, so dass das zuletzt montierte Werkzeug beim Start wieder geladen werden kann. Das Werkzeug wird geladen, nachdem alle Achsen referenziert wurden, da es vorher nicht erlaubt ist, MDI-Befehle auszuführen. Wenn Sie NO_FORCE_HOMING verwenden, können Sie diese Funktion nicht nutzen, da das benötigte all_homed_signal nie ausgegeben wird.
Select the file you want to be loaded on start up. If a file is loaded, it can be set by pressing the current button. To avoid that any program is loaded at start up, just press the None button.
The file selection screen will use the filters you have set in the INI file, if there aren’t any filters given, you will only see NGC files. The path will be set according to the INI settings in [DISPLAY] PROGRAM_PREFIX
.
Sie können hier das Verzeichnis einstellen, in das gesprungen werden soll, wenn Sie im Dateiauswahldialog auf die entsprechende Schaltfläche klicken.
You can allow or disallow the run from line. This will set the corresponding button insensitive (grayed out), so the user will not be able to use this option. The default is disable run from line.
Warnung
|
It is not recommend to use run from line, as LinuxCNC will not take care of any previous lines in the code before the starting line. So errors or crashes are fairly likely. |
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. |
Please take care if you use a lathe, then the shortcuts will be different, see the Lathe Specific Section.
8. Icon Themen
Icon-Themen werden verwendet, um das Aussehen der Icons von GMOCCAPY anzupassen.
GMOCCAPY wird mit drei verschiedenen Symbolthemen geliefert:
-
classic - The classic GMOCCAPY icons.
-
material - A modern icon theme inspired by Google’s Material Icons that automatically adopts its coloring from the selected desktop theme.
-
material-light - Derived from material but optimized for light desktop themes.
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 (eigentlich engl. icon theme)
Creating a custom icon theme is pretty easy. All you need is a text editor and of course the desired icons as pixel or vector graphics. Details about how exactly an icon theme is built can be found at the Freedesktop Icon Theme Specification.
Start by creating an empty directory with the name of the icon theme. Place the directory in one of GMOCCAPY’s icon theme directories. Then we need a file called index.theme in the root folder of our icon theme which contains the required metadata for the theme. That’s a simple text file with at least the following sections:
-
[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
Symbolic icons are a special type of icon, usually a monochrome image. The special feature of symbolic icons is that the icons are automatically colored at runtime to match the desktop theme. That way, icon themes can be created that work well with dark and also light desktop themes (in fact, that’s not always the best option, that’s why a dedicated "material-light" theme exists).
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) |
|
Primäre Farbe, wird an die Primärfarbe des Desktop-Themas angepasst. |
red (engl. für rot) |
|
Success: this color indicates "success" (usually something green’ish). |
green (engl. für grün) |
|
Warning: this color indicates "warning" (usually something yellow/orange’ish). |
blue (engl. für blau) |
|
Error: this color indicates "error" (usually something red’ish). |
Tipp
|
Examples of symbolic icons can be found at linuxcnc/share/gmoccapy/icons/material . |
9. Drehmaschinen-spezifischer Abschnitt
If in the INI file LATHE = 1
is given, the GUI will change its appearance to the special needs for a lathe. Mainly the Y axis will be hidden and the jog buttons will be arranged in a different order.
As you see the R DRO has a black background and the D DRO is gray. This will change according to the active G-code G7 or G8. The active mode is visible by the black background, meaning in the shown images G8 is active.
The next difference to the standard screen is the location of the jog buttons. X and Z have changed places and Y is gone. You will note that the X+ and X- buttons changes there places according to normal or back tool lathe.
Auch das Verhalten der Tastatur wird sich ändern:
Normale Drehmaschine:
-
Arrow_Left or NumPad_Left - Jog Z minus
-
Arrow_Right or NumPad_Right - Jog Z plus
-
Arrow_up or NumPad_Up - Jog X minus
-
Arrow_Down or NumPad_Down - Jog X plus
Back Tool Lathe:
-
Arrow_Left or NumPad_Left - Jog Z minus
-
Arrow_Right or NumPad_Right - Jog Z plus
-
Arrow_up or NumPad_Up - Jog X plus
-
Arrow_Down or 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
There is a very good WIKI, which is actually growing, maintained by Marius, see Plasma wiki page.
11. Videos on YouTube
Below is a series of videos that show GMOCCAPY in action. Unfortunately, these videos don’t show the latest version of GMOCCAPY, but the way to use it will still be the same as in the current version. I will update the videos as soon as possible.
11.1. Grundlegende Verwendung
11.2. Simulierte Jog-Wheels
11.3. Einstellungen Seite
11.4. Simulierte Hardware-Taste
German: https://youtu.be/DTqhY-MfzDE
English: https://youtu.be/ItVWJBK9WFA
11.5. Benutzer-Registerkarten
11.6. Videos zur Werkzeugvermessung
Auto Tool Measurement Simulation: https://youtu.be/rrkMw6rUFdk
Auto Tool Measurement Screen: https://youtu.be/Z2ULDj9dzvk
Auto Tool Measurement Machine: https://youtu.be/1arucCaDdX4
12. Known Problems
12.1. Seltsame Zahlen im Infobereich
Wenn Sie im Infobereich von GMOCCAPY seltsame Zahlen erhalten wie:
You have made your config file using an older version of StepConfWizard. It has made a wrong entry in the INI file under the [TRAJ] named MAX_LINEAR_VELOCITY = xxx. Change that entry to 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 will not see the end of the macro, because the interpreter needs to change its state to IDLE, but the macro does not even set the interpreter to a new state. To avoid that just add a G4 P0.1 line to get the needed signal. The correct macro would be:
o<zeroxy> sub G92.1 G92.2 G40 G10 L20 P0 X0 Y0 G4 P0.1 o<zeroxy> endsub m2