1. Einführung

GStat ist eine Python-Klasse, die verwendet wird, um Nachrichten von LinuxCNC an andere Python-Programme zu senden. Sie verwendet GObject, um Nachrichten zu übermitteln, was es einfach macht, auf bestimmte Informationen zu hören. Dies wird als ereignisgesteuerte Programmierung bezeichnet, die effizienter ist als jedes Programm, das LinuxCNC zur gleichen Zeit abfragt. GladeVCP, Gscreen, Gmoccapy und QtVCP verwenden GStat ausgiebig. GStat befindet sich im Modul hal_glib.

Übersicht
  • Zunächst importiert ein Programm das Modul "hal_glib" und instanziiert GStat.

  • Dann stellt es eine Verbindung zu den Nachrichten her, die es überwachen möchte.

  • GStat checks LinuxCNC’s status every 100 ms and if there are differences from the last check, it will send a callback message to all the connected programs with the current status.

  • Wenn GStat die registrierte Funktion aufruft, sendet es das GStat-Objekt und alle Rückgabewerte der Nachricht.

Typische Codesignaturen:

GSTAT.connect('MESSGAE-TO-LISTEN-FOR', FUNCTION_TO_CALL)

def FUNCTION_TO_CALL(gstat_object, return_codes):

Oft wird LAMBDA verwendet, um das GSTAT-Objekt zu entfernen und die Rückgabecodes zu manipulieren:

GSTAT.connect('MESSGAE-TO-LISTEN-FOR', lambda o, return: FUNCTION_TO_CALL(not return))

def FUNCTION_TO_CALL(return_codes):

2. Beispiel für einen GStat-Code

Es gibt einige grundlegende Muster für die Verwendung von GStat, je nachdem, in welcher Bibliothek Sie sie verwenden. Wenn Sie GStat mit GladeVCP, Gscreen oder QtVCP verwenden, wird die GObject-Bibliothek nicht benötigt, da diese Toolkits GObject bereits einrichten.

2.1. Codemuster für HAL-Komponenten

Dieses Programm erzeugt zwei HAL-Pins, die den Status von G20/G21 ausgeben.

#!/usr/bin/env python3

import gi
gi.require_version('Gtk', '3.0')
from gi.repository import GObject
from gi.repository import GLib
import hal
from hal_glib import GStat
GSTAT = GStat()

# Callback zum Ändern des HAL-Pin-Status
def mode_changed(obj, data):
        h['g20'] = not data
        h['g21'] = data

# Erstelle eine Komponente und Pins
h = hal.component("metric_status")
h.newpin("g20", hal.HAL_BIT, hal.HAL_OUT)
h.newpin("g21", hal.HAL_BIT, hal.HAL_OUT)
h.ready()

# eine GSTAT-Nachricht mit einer Callback-Funktion verbinden
GSTAT.connect("metric-mode-changed",mode_changed)

# GSTAT zwingen, Zustände zu initialisieren
GSTAT.forced_update()

# loop till exit
try:
    GLib.MainLoop().run()
except KeyboardInterrupt:
    raise SystemExit

This would be loaded with loadusr python PATH-TO-FILE/FILENAME.py or if you need to wait for the pins to be made before continuing:
loadusr python -Wn metric_status PATH-TO-FILE/FILENAME.py
The pins would be: metric_status.g20 and metric_status.g21.

2.2. GladeVCP Python-Erweiterung Code-Muster

In dieser Datei wird davon ausgegangen, dass es drei GTK-Labels mit Namen gibt:

  • state_label

  • e_state_label

  • interp_state_label

#!/usr/bin/env python3

from hal_glib import GStat
GSTAT = GStat()

class HandlerClass:

    def __init__(self, halcomp, builder, useropts):
        self.builder = builder

        GSTAT.connect("state-estop",lambda w: self.update_estate_label('ESTOP'))
        GSTAT.connect("state-estop-reset",lambda w: self.update_estate_label('RESET'))

        GSTAT.connect("state-on",lambda w: self.update_state_label('MACHINE ON'))
        GSTAT.connect("state-off",lambda w: self.update_state_label('MACHINE OFF'))

        GSTAT.connect("interp-paused",lambda w: self.update_interp_label('Paused'))
        GSTAT.connect("interp-run",lambda w: self.update_interp_label('Run'))
        GSTAT.connect("interp-idle",lambda w: self.update_interp_label('Idle'))

    def update_state_label(self,text):
        self.builder.get_object('state_label').set_label("State: %s" % (text))

    def update_estate_label(self,text):
        self.builder.get_object('e_state_label').set_label("E State: %s" % (text))

    def update_interp_label(self,text):
        self.builder.get_object('interp_state_label').set_label("Interpreter State: %s" % (text))

def get_handlers(halcomp,builder,useropts):
    return [HandlerClass(halcomp,builder,useropts)]

2.3. QtVCP Python-Erweiterungscode-Muster

QtVCP erweitert GStat, muss also anders geladen werden, aber alle Meldungen sind in QtVCP verfügbar.
Diese Handler-Datei geht davon aus, dass es drei QLabels mit Namen gibt:

  • state_label

  • e_state_label

  • interp_state_label

#!/usr/bin/env python3

from qtvcp.core import Status
GSTAT = Status()

class HandlerClass:

    def __init__(self, halcomp,widgets,paths):
        self.w = widgets

        GSTAT.connect("state-estop",lambda w: self.update_estate_label('ESTOP'))
        GSTAT.connect("state-estop-reset",lambda w: self.update_estate_label('RESET'))

        GSTAT.connect("state-on",lambda w: self.update_state_label('MACHINE ON'))
        GSTAT.connect("state-off",lambda w: self.update_state_label('MACHINE OFF'))

        GSTAT.connect("interp-paused",lambda w: self.update_interp_label('Paused'))
        GSTAT.connect("interp-run",lambda w: self.update_interp_label('Run'))
        GSTAT.connect("interp-idle",lambda w: self.update_interp_label('Idle'))

    def update_state_label(self,text):
        self.w.state_label.setText("State: %s" % (text))

    def update_estate_label(self,text):
        self.w.e_state_label.setText("E State: %s" % (text))

    def update_interp_label(self,text):
        self.winterp_state_label.setText("Interpreter State: %s" % (text))

def get_handlers(halcomp,builder,useropts):
    return [HandlerClass(halcomp,widgets,paths)]

3. Nachrichten

periodic (engl. für periodisch)

(returns nothing) - sent every 100 ms.

state-estop

(gibt nichts zurück) - Wird gesendet, wenn LinuxCNC in den Notaus geht.

state-estop-reset

(gibt nichts zurück) - Wird gesendet, wenn LinuxCNC aus dem Notaus heraus kommt.

state-on

(gibt nichts zurück) - Wird gesendet, wenn LinuxCNC im Zustand Maschine ein ist.

state-off

(gibt nichts zurück) - Wird gesendet, wenn sich LinuxCNC im ausgeschalteten Zustand befindet.

homed

(returns string) - Wird gesendet, wenn jeder Joint in die Ausgangsposition gebracht wird.

all-homed

(gibt nichts zurück) - Wird gesendet, wenn alle definierten Gelenke referenziert sind.

not-all-homed

(gibt eine Zeichenkette zurück) - Sendet eine Liste von Gelenken, die derzeit nicht referenziert sind.

override_limits_changed

(returns string) - Wird gesendet, wenn LinuxCNC angewiesen wurde, seine Grenzen zu überschreiten.

hard-limits-tripped

(liefert bool, Python-Liste) - Wird gesendet, wenn ein hartes Limit ausgelöst wird. bool zeigt an, dass ein Limit ausgelöst wurde, die Liste zeigt alle aktuellen Grenzwerte der verfügbaren Gelenke.

mode-manual

(returns nothing) - Wird gesendet, wenn LinuxCNC in den manuellen Modus wechselt.

mode-mdi

(returns nothing) - Wird gesendet, wenn LinuxCNC in den MDI-Modus wechselt.

mode-auto

(gibt nichts zurück) - Wird gesendet, wenn LinuxCNC in den Auto-Modus wechselt.

command-running

(gibt nichts zurück) - Wird gesendet, wenn ein Programm oder MDI ausgeführt wird

command-stopped

(gibt nichts zurück) - Wird gesendet, wenn ein Programm oder MDI angehalten wurde

command-error

(returns nothing) - Wird gesendet, wenn bei der Ausführung eines Befehls ein Fehler auftritt

interp-run

(gibt nichts zurück) - Wird gesendet, wenn der Interpreter von LinuxCNC ein MDI oder Programm ausführt.

interp-idle

(returns nothing) - Sent when LinuxCNC’s interpreter is idle.

interp-paused

(gibt nichts zurück) - Wird gesendet, wenn der Interpreter von LinuxCNC pausiert ist.

interp-reading

(gibt nichts zurück) - Wird gesendet, wenn der Interpreter von LinuxCNC gerade liest.

interp-waiting

(gibt nichts zurück) - Wird gesendet, wenn der Interpreter von LinuxCNC wartet.

jograte-changed

(gibt Float zurück) - Wird gesendet, wenn sich die Jog-Rate geändert hat.
LinuxCNC verfügt nicht über eine interne Jog-Geschwindigkeit.
Dies ist die interne Jog-Rate von GStat.
Es wird erwartet, dass sie in den nativen Einheiten der Maschine angegeben wird, unabhängig vom aktuellen Einheitenmodus.

jograte-angular-changed

(gibt Float zurück) - Wird gesendet, wenn sich die Jog-Rate geändert hat.
LinuxCNC verfügt über keine interne Jog-Geschwindigkeit.
Dies ist die interne Jog-Rate von GStat.
Es wird erwartet, dass sie in den nativen Einheiten der Maschine angegeben wird, unabhängig vom aktuellen Einheitenmodus.

jogincrement-changed

(liefert Float, Text) - Wird gesendet, wenn sich die Schrittweite geändert hat.
LinuxCNC verfügt über keine interne Schrittweite.
Dies ist die interne Schrittweite von GStat.
Es wird erwartet, dass es in den nativen Einheiten der Maschine angegeben wird, unabhängig vom aktuellen Einheitenmodus.

jogincrement-angular-changed

(gibt float, text zurück) - Wird gesendet, wenn sich das Winkeljog-Inkrement geändert hat.
LinuxCNC hat kein internes Winkeljog-Inkrement.
Dies ist das interne Winkeljog-Inkrement von GStat.
Es wird erwartet, dass es sich unabhängig vom aktuellen Einheitenmodus in den nativen Einheiten der Maschine befindet.

program-pause-changed

(gibt bool zurück) - Wird gesendet, wenn das Programm pausiert/unpausiert wird.

optional-stop-changed

(gibt bool zurück) - Wird gesendet, wenn der optionale Stopp gesetzt/entfernt wird

block-delete-changed

(gibt bool zurück) - wird gesendet, wenn der Block delete gesetzt/gelöscht wird.

file-loaded

(liefert String) - Wird gesendet, wenn LinuxCNC eine Datei geladen hat

reload-display

(gibt nichts zurück) - Wird gesendet, wenn eine Anforderung zum Neuladen der Anzeige vorliegt

line-changed

(gibt eine ganze Zahl zurück) - Wird gesendet, wenn LinuxCNC eine neue Zeile gelesen hat.
LinuxCNC aktualisiert diese nicht für jede Art von Zeile.

tool-in-spindle-changed

(gibt ganze Zahl zurück) - Wird gesendet, wenn sich das Werkzeug geändert hat.

tool-info-changed

(gibt Python-Objekt zurück) - Wird gesendet, wenn sich die aktuelle Werkzeuginformation ändert.

current-tool-offset

(gibt Python-Objekt zurück) - Wird gesendet, wenn sich der aktuelle Werkzeugversatz ändert.

motion-mode-changed

(gibt ganze Zahl zurück) - Wird gesendet, wenn sich der Modus der Bewegung geändert hat

spindle-control-changed

(gibt Integer, Bool, Integer, Bool zurück) - (Spindelnummer, Zustand der eingeschalteten Spindel, angeforderte Spindelrichtung und -geschwindigkeit, Zustand bei Drehzahl)
Wird gesendet, wenn sich die Spindelrichtung oder der Laufstatus ändert oder die Drehzahl sich ändert.

current-feed-rate

(liefert Float) - Wird gesendet, wenn sich die aktuelle Vorschubgeschwindigkeit ändert.

current-x-rel-position

(returns float) - Sent every 100 ms.

current-position

(returns pyobject, pyobject, pyobject, pyobject) - Sent every 100 ms.
Returns tuples of position, relative position, distance-to-go and the joint actual position. Before homing, on multi-joint axes, only joint position is valid.

current-z-rotation

(returns float) - Sent as the current rotatated angle around the Z axis changes

requested-spindle-speed-changed

(liefert Float) - Wird gesendet, wenn sich die aktuell angeforderte Drehzahl ändert

actual-spindle-speed-changed

(returns float) - Sent when the actual RPM changes based on the HAL pin spindle.0.speed-in.

spindle-override-changed

(returns float) - Wird gesendet, wenn sich der Spindel-Override-Wert ändert
in Prozent

feed-override-changed

(returns float) – Wird gesendet, wenn sich der Feed-Override-Wert ändert
in Prozent

rapid-override-changed

(returns float) – Wird gesendet, wenn sich der Rapid-Override-Wert ändert
in Prozent (0-100)

max-velocity-override-changed

(returns float) - Wird gesendet, wenn sich der Override-Wert der maximalen Geschwindigkeit ändert
in Einheiten pro Minute

feed-hold-enabled-changed

(returns bool) - Wird gesendet, wenn sich der Feed-Hold-Status ändert

itime-mode

(gibt bool zurück) - Wird gesendet, wenn sich der G93-Status ändert
(inverser Zeitmodus)

fpm-mode

(returns bool) - Wird gesendet, wenn sich der G94-Status ändert
(Vorschub pro Minute Modus)

fpr-mode

(returns bool) - Wird gesendet, wenn sich der G95-Status ändert
(Vorschub pro Umdrehung Modus)

css-mode

(liefert bool) - Wird gesendet, wenn sich der G96-Status ändert +
(Modus konstanter Oberflächenvorschub, engl. constant surface feed mode)

rpm-mode

(returns bool) - Wird gesendet, wenn sich der G97-Status ändert
(Modus mit konstanter Drehzahl, engl. constant RPM mode)

radius-mode

(gibt bool zurück) - Wird gesendet, wenn sich der G8-Status ändert +
Anzeige X in Radian - Modus

diameter-mode

(gibt bool zurück) - Wird gesendet, wenn sich der G7-Status ändert
Anzeige X im Diameter-Modus

flood-changed

(gibt boolean zurück) - Wird gesendet, wenn sich der Flutkühlmittelzustand ändert.

mist-changed

(liefert boolean ) - Wird gesendet, wenn sich der Zustand des Nebelkühlmittels ändert.

m-code-changed

(gibt String zurück) - Wird gesendet, wenn sich aktive M-Codes ändern

g-code-changed

(gibt String zurück) - Wird gesendet, wenn sich der aktive G-Code ändert

metric-mode-changed

(gibt bool zurück) - Wird gesendet, wenn sich der G21-Status ändert

user-system-changed

(gibt String zurück) - Wird gesendet, wenn sich das Referenzkoordinatensystem (G5x) ändert

mdi-line-selected

(returns string, string) - soll gesendet werden, wenn eine MDI-Zeile vom Benutzer ausgewählt wird. +
Dies hängt von den verwendeten Widgets / Bibliotheken ab.

gcode-line-selected

(gibt eine ganze Zahl zurück) - soll gesendet werden, wenn eine G-Code-Zeile vom Benutzer ausgewählt wird. +
Dies hängt von den verwendeten Widgets/Bibliotheken ab.

graphics-line-selected

(gibt eine ganze Zahl zurück) - soll gesendet werden, wenn der Benutzer eine Grafikzeile auswählt. +
Dies hängt von den verwendeten Widgets/Bibliotheken ab.

graphics-loading-progress

(gibt eine ganze Zahl zurück) - soll den Prozentsatz zurückgeben, der beim Laden eines Programms oder bei der Ausführung eines Programms erreicht wurde.
Dies hängt von den verwendeten Widgets/Bibliotheken ab.

graphics-gcode-error

(gibt String zurück) - soll gesendet werden, wenn beim Laden ein G-Code-Fehler gefunden wird.
Dies hängt von den verwendeten Widgets/Bibliotheken ab.

graphics-gcode-properties

(returns Python dict) - Sent when G-code is loaded.
The dict contains the following keys:

  • name (string): Name of the loaded file

  • size (string): Size in bytes and lines

  • g0 (string): Total rapid distance

  • g1 (string): Total feed distance

  • run (string): Estimated program run time

  • toollist (list): List of used tools

  • x (string): X extents (bounds) 1

  • x_zero_rxy (string): X extents without rotation around z (bounds) 1

  • y (string): Y extents (bounds) 1

  • y_zero_rxy (string): Y extents without rotation around z (bounds) 1

  • z (string): Z extents (bounds) 1

  • z_zero_rxy (string): Z extents without rotation around z (bounds) 1

  • machine_unit_sys (string): Machine units (Metric or Imperial)

  • gcode_units (string): Units in G-code file (mm or in)

    Anmerkung
    1. See the images extends non-rotated and extends rotated 30 for a better understanding.

graphics-view-changed

(liefert string, Python dict oder None) - soll gesendet werden, wenn die Grafikansicht geändert wird.
Dies hängt von den verwendeten Widgets/Bibliotheken ab.

mdi-history-changed

(gibt keine zurück) - soll gesendet werden, wenn ein MDI-Verlauf neu geladen werden muss.
Dies hängt von den verwendeten Widgets/Bibliotheken ab.

machine-log-changed

(gibt keine zurück) - soll gesendet werden, wenn sich das Maschinenprotokoll geändert hat.
Dies hängt von den verwendeten Widgets/Bibliotheken ab.

update-machine-log

(returns string, string) - intended to be sent when updating the machine.
This depends on the widget/libraries used.

move-text-lineup

(gibt None zurück) - soll gesendet werden, wenn der Cursor in der G-Code-Anzeige um eine Zeile nach oben bewegt wird.
Dies hängt von den verwendeten Widgets/Bibliotheken ab.

move-text-linedown

(gibt None zurück) - soll gesendet werden, wenn der Cursor in der G-Code-Anzeige eine Zeile nach unten bewegt wird.
Dies hängt von den verwendeten Widgets/Bibliotheken ab.

dialog-request

(returns Python dict) - intended to be sent when requesting a GUI dialog.
It uses a Python dict for communication. The dict must include the following keyname pair:

  • NAME: angeforderter Dialogname
    Das dict (engl. kurz für dictionary, eine Python Funktionalität) hat normalerweise mehrere Keyname-Paare - das hängt vom Dialog ab.
    Dialoge geben Informationen über eine allgemeine Nachricht zurück
    Dies hängt von den verwendeten Widgets/Bibliotheken ab.

focus-overlay-changed

(gibt bool, string, Python object) - soll gesendet werden, wenn ein Overlay über die Anzeige gelegt werden soll.
Dies hängt von den verwendeten Widgets/Bibliotheken ab.

play-sound

(returns string) - soll gesendet werden, wenn eine bestimmte Sounddatei angefordert wird, die abgespielt werden soll.
Dies hängt von den verwendeten Widgets / Bibliotheken ab.

virtual-keyboard

(gibt String zurück) - soll gesendet werden, wenn eine Bildschirmtastatur angefordert wird.
Dies hängt von den verwendeten Widgets/Bibliotheken ab.

dro-reference-change-request

(liefert eine ganze Zahl) - soll gesendet werden, wenn ein DRO-Widget aufgefordert wird, seine Referenz zu ändern.
0 = Maschine, 1 = relativ, 3 = Restweg
Dies hängt von den verwendeten Widgets/Bibliotheken ab.

show-preferences

(returns string) - soll gesendet werden, wenn eine bestimmte Sounddatei angefordert wird, die abgespielt werden soll.
Dies hängt von den verwendeten Widgets / Bibliotheken ab.

shutdown

(gibt None zurück) - soll gesendet werden, wenn LinuxCNC zum Herunterfahren aufgefordert wird.
Dies hängt von den verwendeten Widgets/Bibliotheken ab.

error

(liefert Integer, String) - soll gesendet werden, wenn ein Fehler gemeldet wurde.
integer steht für die Art des Fehlers. ERROR, TEXT oder DISPLAY
string ist die eigentliche Fehlermeldung.
Dies hängt von den verwendeten Widgets/Bibliotheken ab.

general

(gibt Python dict zurück) - soll gesendet werden, wenn eine Nachricht gesendet werden muss, die nicht von einer spezifischeren Nachricht abgedeckt wird.
Die allgemeine Nachricht sollte spärlich als vernünftig verwendet werden, da alle damit verbundenen Objekte sie analysieren müssen.
Es verwendet ein Python-Diktum für die Kommunikation.
Das Diktat sollte ein eindeutiges ID-Schlüsselnamenpaar enthalten und darauf überprüft werden:

  • Kennung: UNIQUE_ID_CODE
    Das Dikt hat normalerweise mehr Schlüsselnamenpaar - es hängt von der Implementierung ab.

erzwungene Aktualisierung (engl. forced update)

(gibt keine zurück)" - soll gesendet werden, wenn ein Objekt initialisiert oder willkürlich aktualisiert werden soll.
Dies hängt von den verwendeten Widgets/Bibliotheken ab.

Fortschritt (engl. progress)

(liefert Integer, Python-Objekt) - soll gesendet werden, um den Fortschritt eines Filterprogramms anzuzeigen.
Dies hängt von den verwendeten Widgets/Bibliotheken ab.

following-error

(gibt eine Python-Liste zurück) - gibt eine Liste aller Gelenke zurück, die aktuell einem Fehler folgen.

4. Funktionen

Dies sind Komfortfunktionen, die in der Programmierung häufig verwendet werden.

set_jograte

(float) - LinuxCNC has no internal concept of jog rate -each GUI has its own. This is not always convenient.
This function allows one to set a jog rate for all objects connected to the signal jograte-changed.
It defaults to 15.
GSTAT.set_jog_rate(10) would set the jog rate to 10 machine-units-per-minute and emit the jograte-changed signal.

get_jograte()

(Nothing) - x = GSTAT.get_jograte() würde die aktuelle interne Jograte von GSTAT (float) zurückgeben.

set_jograte_angular

(float) -

get_jograte_angular

(None) -

set_jog_increment_angular

(float, string) -

get_jog_increment_angular

(None) -

set_jog_increments

(float, string) -

get_jog_increments

(None) -

ist_all_homed

(nothing) - Dies gibt den aktuellen Status von all_homed (BOOL) zurück.

machine_is_on

(nothing) - Dies gibt den aktuellen Zustand der Maschine zurück (BOOL).

estop_is_clear

(nichts) - Gibt den Status von Estop zurück (BOOL)

set_tool_touchoff

(Werkzeug,Achse,Wert) - Dieser Befehl wird

  1. den aktuellen Modus aufzeichnen,

  2. Wechsel zu MDI-Modus,

  3. den MDI-Befehl aufrufen: G10 L10 P[WERKZEUG] [ACHSE] [WERT],

  4. warten, bis der Vorgang abgeschlossen ist,

  5. G43 aufrufen,

  6. warten, bis der Vorgang abgeschlossen ist,

  7. zurück in den ursprünglichen Modus wechseln.

set_axis_origin

(Achse,Wert) - Dieser Befehl wird

  1. den aktuellen Modus aufzeichnen,

  2. Wechsel zu MDI-Modus,

  3. den MDI-Befehl aufzurufen: G10 L20 P0 [ACHSE] [WERT],

  4. warten, bis der Vorgang abgeschlossen ist,

  5. zurück in den ursprünglichen Modus wechseln,

  6. ein Reload-Display-Signal aussenden.

do_jog

(Achsennummer, Richtung, Abstand) - Diese Funktion bewegt eine Achse kontinuierlich oder in einem bestimmten Abstand.
Sie müssen sich im richtigen Modus befinden, um zu joggen.

check_for_modes

(mode) - Diese Funktion prüft, ob der LinuxCNC-Modus erforderlich ist.
Es gibt ein Python-Tupel zurück (Status, Modus)
-Modus wird in dem Modus eingestellt, in dem sich das System befindet
wird wie folgt festgelegt:

  • false, wenn mode 0 ist

  • false, wenn die Maschine beschäftigt ist

  • wahr, wenn LinuxCNC im angeforderten Modus ist

  • Keine, wenn eine Änderung möglich ist, aber nicht im gewünschten Modus

get_current_mode

(nothing) - gibt eine ganze Zahl zurück: den aktuellen LinuxCNC-Modus.

set_selected_joint

(Integer) - speichert intern die ausgewählte Gelenknummer.
fordert die Auswahl des Gelenks an, indem er die Meldung
Nachricht "Gelenkauswahl geändert".

get_selected_joint

(None) - returns integer representing the internal selected joint number.

set_selected_axis

(string) - records the selected axis letter internally.
Requests the axis to be selected by emitting the axis-selection-changed message.

get_selected_axis

(None) - gibt eine Zeichenkette zurück, die den intern ausgewählten Achsenbuchstaben darstellt.

is_man_mode

(None) -

is_mdi_mode

(None) -

is_auto_mode

(None) -

is_on_and_idle

(None) -

is_auto_running

(None) -

is_auto_paused

(None) -

is_file_loaded

(None) -

is_metric_mode

(None) -

is_spindle_on

(None) -

shutdown

(None) -

5. Bekannte Probleme

Einige Statuspunkte werden während eines laufenden Programms falsch gemeldet, da der Interpreter der aktuellen Position eines laufenden Programms vorausläuft. Dies wird hoffentlich mit der Integration der State-Tags-Entwicklungs-Zweiges behoben.