main module

Hauptmodul der Robotersoftware.

Das Modul baut die grafische Oberfläche (GUI) der Software auf und verküpft die einzelnen Steuerelmente wie Registerkarten, Buttons, Widgets, Textfelder, Labels usw. mit den einzelnen Funktionen und Methoden der Module. In ihm sind außerdem die unterschiedlichen Reingiungsmethoden und die komplette manuelle Steuerung des Roboters implementiert.

class main.AufzeichnungsThread(mainwidget)[Quellcode]

Bases: QThread

Die Klasse AufzeichnugsThread wird benötigt, um einen Worker-Thread für die Aufzeichnung eines Optikprofiles zu starten.

Parameter

QThread (object) – Wird zur Erstellung des Aufzeichnungs-Thread benötigt.

__init__(mainwidget)[Quellcode]

Der Konstruktor übernimmt das Hauptfenster-Objekt mainwidget damit der AufzeichnungsThread Zugriff auf die Methoden des Hauptfensters bekommt.

Parameter

mainwidget (QWidget) – Hauptfenster-Objekt, wird benötigt um Zugriff auf die Methode profil_aufnehmen() zu bekommen.

run()[Quellcode]

Wird beim Start des Aufzeichnungs-Threads aufgerufen und startet die Profilaufnahme durch Aufruf der Methode profil_aufnehmen()

Bemerkung

Das Ende der Aufzeichnung wird dem Main-Thread mit einem OK (str) signalisiert, der Fortschritt in Form einer Zahl (float) zwischen 0 und 100.

staticMetaObject = <PySide2.QtCore.QMetaObject object>
class main.DruckDiagramm(parent=None)[Quellcode]

Bases: QWidget

Die Klasse DruckDiagramm wird benötigt, um ein Widget zu erstellen welches den Druck kontinuierlich in einem Diagramm (Plot) darstellt.

Parameter

QWidget (object) – Wird zur Erstellung des Durck-Diagramm-Widgets benötigt.

__init__(parent=None)[Quellcode]

Der Konstruktor baut ein vertikales Layout auf und fügt eine Leinwand hinzu. In dieser Leinwand wird im Anschluss ein Subplot (ähnlich wie in Matlab) erstellt, in welchem der Druckverlauf geplotet wird.

Parameter

parent (object) – Parent Objekt für Vererbung, im aktuellen Anwenungsfall nicht notwendig.

staticMetaObject = <PySide2.QtCore.QMetaObject object>
class main.EinstellungenWidget(haupt_fenster)[Quellcode]

Bases: QWidget

Baut das Einstellungenfenster auf und verknüpft seine Elemente mit den einzelnen Funktionen und Methoden.

Parameter

QWidget (object) – Objekt der Basisklasse, wird für alle Interface Objekte benötigt.

__init__(haupt_fenster)[Quellcode]

Konstruktor wird aufgerufen, wenn das EinstellungenWidget-Objekt erzeugt wird.

Er importiert das UI-Designer-File des Einstellungen-Fenster und aktualisiert die Grundeinstellungen.

Parameter

haupt_fenster (object) – Übernimmt das MainWidget (haupt_fenster) um auf die Methode grundeinstellungen_setzen() Zugriff zu haben.

einstellungen_aktualisieren()[Quellcode]

Liest die Grundeinstellungen aus der einstellungen.cfg ein und bildet diese im Einstellungen-Fenster in Form einer Tablle ab.

Bemerkung

Damit die eingelesenen Attribute und Werte in eine Zelle der Tabelle dargestellt werden können, müssen diese zuvor in QTableWidgetItem umgewandelt werden.

einstellungen_schliessen()[Quellcode]

Schließt das Einstellungen-Fenster.

staticMetaObject = <PySide2.QtCore.QMetaObject object>
class main.MainWidget[Quellcode]

Bases: QWidget

Baut das Hauptfenster auf und verknüpft die Elemente der GUI mit den einzelnen Funktionen und Methoden.

Parameter

QWidget (object) – Objekt der Basisklasse, wird für alle Interface Objekte benötigt.

__init__()[Quellcode]

Der Konstruktor wird aufgerufen, wenn das MainWidget-Objekt erzeugt wird.

Er importiert das UI-Designer File des Hauptfensters und registriert unterschiedliche Widgets wie das Druckdiagramm, das Profildiagramm und das Einstellungen-Fenster. Es werden hier außerdem alle Elemente der GUI mit Funktionen/Methoden verküpft.

cnc_initialisieren()[Quellcode]

Hilfsmethode zur Initialisierung des CNC-Controllers.

druckreinigung()[Quellcode]

Hilfsmethode, welche den Reinigungsthread (Druckreinigung) startet und die Signale aus diesem auswertet.

einstellungen_oeffnen()[Quellcode]

Legt den Titel des Einstellungen-Fensters fest, setzt das Icon der Titelleiste und öffnet es.

endschalter_ausgeloest()[Quellcode]

Benachrichtigt den Anwender in Form eines Popups, wenn sich das Lösungsmittel dem Ende neigt.

frage_popup(titel, text)[Quellcode]

Öffnet ein Frage-Popup.

Parameter
  • titel (str) – Titel des Popup-Fensters.

  • text (str) – Anzuzeigender Text.

Rückgabe

Gibt True zurück, wenn JA geklickt wurde sonst False.

Rückgabetyp

bool

geraet_herunterfahren()[Quellcode]

Fährt den Raspberry Pi mit Hilfe des Modules os.system herunter.

Bemerkung

Zum Herunterfahren wird der Befehl $sudo shutdown now ausgeführt.

geraet_neustarten()[Quellcode]

Startet den Raspberry Pi mit Hilfe des Modules os.system neu.

Bemerkung

Zum Neustarten wird der Befehl $sudo reboot now ausgeführt.

grundeinstellungen_setzen()[Quellcode]

Liest die Grundeinstellungen aus dem Config-File ein und speichert sie in ein globales Dictionary.

halten()[Quellcode]

Wird ausgeführt, wenn der Button ‚Halten‘ gedrückt wird.

Befindet sich der Roboter im Run Status werden die Schrittmotoren gestopp. Ein erneutes Betätigen des Buttons aktiviert die Schrittmotoren wieder.

info_anzeigen()[Quellcode]

Zeigt die Kontaktinformation des Entwicklers und die Softwareversion an.

Die Informationen werden als Popup ausgegeben.

info_popup(titel, text)[Quellcode]

Öffnet ein Info-Popup.

Parameter
  • titel (str) – Titel des Popup-Fensters.

  • text (str) – Anzuzeigender Text.

Rückgabe

Gibt True zurück wenn OK Button betätigt, sonst False.

Rückgabetyp

bool

loesungsmittel_check()[Quellcode]

Fragt den Status des Enschalters ab und öffnet ein Warnungs-Popup wenn dieser betätigt ist.

Die Methode verhindert, dass eine Reinigung ohne Lösungsmittel durchgeführt wird.

Rückgabe

Gibt True zurück wenn Endschalter offen, sonst False.

Rückgabetyp

bool

loesungsmittel_foerdern(loesungsmittel_maenge)[Quellcode]

Berechnet die zu fahrenden Mikroschritte des Pumpenmotors anhand der gewünschten Lösungsmittelmenge und benetzt anschließend das Polyester- Pad.

Parameter

loesungsmittel_maenge (int) – Lösungsmittel in \({\mu l}\)

manuelle_cnc_kontrolle(achse)[Quellcode]

Verfährt X-, Y- und Z-Schlitten manuell unter Angabe von Vorschub und Distanz.

Bemerkung

Vor der Bewegung muss das CNC-System mittels G91 von der Absolutpositionierung auf die Relativpositionierung umgeschalten werden.

Parameter

achse (str) – Achsenrichtung in welcher die Bewegung ausgeführt werden soll.

manuelle_kontrolle_abtastposition()[Quellcode]
Dient als Hilfsmethode, um das CNC-System manuell in die

Abtastposition zu fahren.

Die Koordinaten sind in den Grundeinstellungen hinterlegt.

manuelle_kontrolle_beladeposition()[Quellcode]
Dient als Hilfsmethode, um das CNC-System manuell in die

Beladeposition zu fahren.

Die Koordinaten sind in den Grundeinstellungen hinterlegt.

manuelle_kontrolle_benetzen()[Quellcode]

Hilfsfunktion zum manuellen Befeuchten des Polyester-Pads.

Der Pumpen-Schrittmotor fördert 50:math:{mu l}), sofern der Endschalter nicht betätigt ist.

manuelle_kontrolle_drehteller()[Quellcode]

Aktiviert bzw. deaktivert den Drehteller manuell.

Bemerkung

Das Ein- und Ausschalten passiert über einen Toggle-Button.

manuelle_kontrolle_druck_abfragen()[Quellcode]

Liest den aktuellen Druck aus zeigt diesen in Form eines Popups an.

manuelle_kontrolle_drucksensor_kalibrierung()[Quellcode]

Führt eine manuelle Kalibrierung der Wägezelle durch, indem die Methode drucksensor_initialisieren() in sensor.py aufgerufen wird.

manuelle_kontrolle_endschalter_ueberpruefen()[Quellcode]

Die Methode überprüft, ob der Enschalter der Spritzenpumpe betätigt wurde.

Das Ergebnis der Abfrage wird über ein Info-Popup mittgeteilt.

manuelle_kontrolle_home()[Quellcode]

Positioniert den Roboter im Eilgang in den Maschinennullpunkt.

Bemerkung

Aus Gründen der Sicherheit wird zuerst die Z-Achse auf Z=0 verfahren. Erst im Anschluss daran, werden X- und Y-Schlitten simultan auf X=0 und Y=0 positioniert.

manuelle_kontrolle_hostname()[Quellcode]

Gibt die IP-Adresse des kabelgebundenen und des kabellosen Adapters sowie den in der hosts-Datei hinterlegten Hostnamen des Raspberry PIs in Form eines Pop-Ups aus.

manuelle_kontrolle_nachfuellen()[Quellcode]

Zieht die Spritze auf um den Zylinder wieder mit Lösungsmittel zu befüllen.

Bemerkung

Der Schrittmotor wird nur bewegt, wenn der Endschalter betätigt ist.

manuelle_kontrolle_pumpensteuerung_ccw()[Quellcode]

Manuelle Kontrolle des Schrittmotors gegen den UZS.

Schrittanzahl in Mikroschritten wird aus der Spin-Box der GUI entnommen.

manuelle_kontrolle_pumpensteuerung_cw()[Quellcode]

Manuelle Kontrolle des Schrittmotors im UZS.

Schrittanzahl in Mikroschritten, wird aus der Spin-Box der GUI entnommen.

manuelle_kontrolle_reinigungsposition()[Quellcode]
Dient als Hilfsmethode, um das CNC-System manuell in die

Reiningsposition zu fahren.

Die Koordinaten sind in den Grundeinstellungen hinterlegt.

manuelle_kontrolle_servo_hinab()[Quellcode]

Verstellt den Servo um einen Grad nach unten.

Bemerkung

Ein Grad entspricht in etwa einer Pulsweite von 10 \({\mu s}\).

manuelle_kontrolle_servo_hinauf()[Quellcode]

Verstellt den Servo um einen Grad nach oben.

Bemerkung

Ein Grad entspricht in etwa einer Pulsweite von 10 \({\mu s}\).

manuelle_kontrolle_servo_horizontal()[Quellcode]

Verstellt den Servo in die horizontale Position.

Die Horizontalposition ist in den Grundeinstellungen unter dem Attribut servo_horizontal_winkel festgelegt und liegt standardmäßig bei 1530 \({\mu s}\).

manuelle_kontrolle_softreset()[Quellcode]

Führt einen Softwarereset des CNC-Controllers durch und initialisiert diesen anschließend neu.

manuelle_kontrolle_sonde()[Quellcode]

Manueller Sonden-Test.

Sonde wird für eine Sekunde angehoben und anschließend wieder gesenkt.

manuelle_kontrolle_test()[Quellcode]

Testmethode welche mit dem Testbutton verknüpft ist.

Sie diente zum Debuggen einzelner Codefragmente. Der zu testende Quellcode ist hier einzufügen.

manuelle_kontrolle_xminus()[Quellcode]

Hilfsmethode, welche den Schlitten in Richtung X- bewegt.

manuelle_kontrolle_xplus()[Quellcode]

Hilfsmethode, welche den Schlitten in Richtung X+ bewegt.

manuelle_kontrolle_yminus()[Quellcode]

Hilfsmethode, welche den Schlitten in Richtung Y- bewegt.

manuelle_kontrolle_yplus()[Quellcode]

Hilfsmethode, welche den Schlitten in Richtung Y+ bewegt.

manuelle_kontrolle_zminus()[Quellcode]

Hilfsmethode, welche den Schlitten in Richtung Z- bewegt.

manuelle_kontrolle_zplus()[Quellcode]

Hilfsmethode, welche den Schlitten in Richtung Z+ bewegt.

meldung_aufzeichnung_erfolgreich()[Quellcode]

Öffnet ein Popup mit der Meldung, dass die Abtastung abgeschlossen wurde.

Das Tab-Widget wird wieder freigegeben.

meldung_reinigung_erfolgreich()[Quellcode]

Teilt dem Anwender in Form eines Info-Popups mit, dass die Reinigung erfolgreich war.

meldung_z_offset_erfolgreich()[Quellcode]

Teilt dem Anwender in Form eines Info-Popups mit, dass die Erfassung des Z-Offset erfolgreich war.

Die Methode aktualisiert außerdem die X-Offset-Spinbox und gibt das Tab- Widget wieder frei.

netzwerkkarte_aktiv(interface)[Quellcode]

Liest die IP-Adresse eines Netzwerkadapters aus.

Parameter

interface (str) – Kürzel der Netzwerkkarte, z.B. eth0 oder wlan0.

Rückgabe

IP-Adresse des Netzwerkadapters.

Rückgabetyp

str

notstop_ausfuehren()[Quellcode]

Führt einen Notstop des Gerätes aus.

Zu implementieren!

pad_benetzen(mikroschritte)[Quellcode]

Befeuchtet das Polyester-Pad mit Lösungsmittel.

Der Servo bewegt das Polyester-Pad zur Düse. Das Pad wird anschließend unter Angabe der Lösungsmittelmenge benetzt und wieder in die horizontale Position zurückgestellt.

Bemerkung

Retraktionsschritte und Schrittverzögerung lassen sich in den Grundeinstellungen unter den Attributen pumpe_retraktions_schritte und pumpe_schritt_delay ändern.

profil_aufnehmen(fortschritt_signal)[Quellcode]

Führt die Abtastung eines Profils durch.

Die Methode wird vom Profilaufnahme-Thread aufgerufen.

Bemerkung

Das PWM-Signal des Servos wird deaktiviert um Flickering während der einer Profilabtastung zu vermeiden. Flickering kann unter Umständen zu einer Verfälschung der Abtastwerte führen.

Parameter

fortschritt_signal (signal) – Fortschrittsignal vom Typ (float).

profil_aufnehmen_thread()[Quellcode]

Startet den Thread für die Profilaufzeichnung.

Die Methode wertet auserdem die Signale für die Fertigstellung sowie den Abtast-Fortschritt aus. Das Fortschrittsignal triggert die Aktualisierung der Progressbar. Eine Fertigstellung wird mittels Popup signalisiert.

Bemerkung

Das Signal für die Fertigstellung beinhaltet ein OK (str). Das Fortschrittssignal kann Werte zwischen 0 und 100 annehmen (float).

profil_laden()[Quellcode]

Läd das im Profilbrowser markierte Profil und aktualisert aus dem Inhalt die Felder der Registerkarte ‚Reinigung‘.

profil_speichern()[Quellcode]

Speichert die allgemeinen Daten, die Reinigungsparameter und optional auch Koordinaten des Oberflächenprofiles in eine Profildatei.

Damit keine Profile überschrieben werden, wird ein eindeuteiger Dateiname anhand eines Unix-Zeitstempels generiert. Die Methode prüft außerdem ob alle notwendigen Felder in der GUI ausgefüllt sind.

profilreinigung()[Quellcode]

Hilfsmethode, welche den Reinigungsthread (Profilreinigung) startet und die Signale aus diesem auswertet.

radiusreinigung()[Quellcode]

Hilfsmethode, welche den Reinigungsthread (Radiusreinigung) startet und die Signale aus diesem auswertet.

registerkarten_ansicht(status)[Quellcode]
speichern_erfolgreich(pfad)[Quellcode]

Teilt dem Anwender mit, dass das Speichern erfolgreich war.

Mitteilung erfolgt in Form eines Info-Popups.

Parameter

pfad (str) – Pfad zur gespeicherten Datei.

start_druckreinigungsprozess()[Quellcode]

Startet einen Reinigungsprozess über die Druckregelung.

Ablauf des Reiniungsprozesses
  1. Reinigungsparameter einlesen

  2. Beladeosition anfahren (und warten bis Optik eingelgt wurde)

  3. Reinigungsposition anfahren

  4. Polyester-Pad benetzen

  5. Drehteller einschalten

  6. Kopf bis zum Erreichen des eingesellten Drucks absenken

  7. Oberfläche in X-Richtung abfahren

  8. Wieder Reinigungsposition anfahren

  9. Beladeposition anfahren

  10. Drehteller aussschalten

  11. Servo horizontal stellen (wenn Reinigungswinkel verstellt wurde)

Bemerkung

Je nach eingestelleter Anzahl an Wiederholungen, wird Punkt 6 bis Punkt 8 mehrmals ausgeführt.

start_livechart()[Quellcode]

Startet den Thread für die Anzeige des Druckdiagrammes wenn der Button Druckverlauf anzeigen betätigt wurde.

Anzeige kann über den selben Button wieder deaktivert werden.

start_profilreinigungssprozess()[Quellcode]

Startet einen Reinigungsprozess über das gespeicherte Profil.

Ablauf des Reiniungsprozesses
  1. Reinigungsparameter einlesen

  2. Beladeosition anfahren (und warten bis Optik eingelgt wurde)

  3. Reinigungsposition anfahren

  4. Polyester-Pad benetzen

  5. Drehteller einschalten

  6. Kopf bis zum Erreichen des eingesellten Drucks absenken

  7. Oberfläche in X-Richtung abfahren

  8. Wieder Reinigungsposition anfahren

  9. Beladeposition anfahren

  10. Drehteller aussschalten

Bemerkung

Je nach eingestelleter Anzahl an Wiederholungen, wird Punkt 6 bis Punkt 8 mehrmals ausgeführt.

start_radiusreinigungsprozess()[Quellcode]

Startet einen Reinigungsprozess über das gespeicherte Profil, ferner über den daraus berechneten Radius.

Ablauf des Reiniungsprozesses
  1. Reinigungsparameter einlesen

  2. Beladeosition anfahren (und warten bis Optik eingelgt wurde)

  3. Reinigungsposition anfahren

  4. Polyester-Pad benetzen

  5. Drehteller einschalten

  6. Kopf bis zum Erreichen des eingesellten Drucks absenken

  7. Oberfläche in X-Richtung abfahren

  8. Wieder Reinigungsposition anfahren

  9. Beladeposition anfahren

  10. Drehteller aussschalten

Bemerkung

Je nach eingestelleter Anzahl an Wiederholungen, wird Punkt 6 bis Punkt 8 mehrmals ausgeführt.

staticMetaObject = <PySide2.QtCore.QMetaObject object>
tare_wert_auslesen()[Quellcode]

Liest den Tare-Rohewrt aus und gibt ihn über ein Pop-Up aus.

update_druck()[Quellcode]

Startet den Thread, welcher den aktuellen Druck ausliest.

Das Aktualisierungsintervall ist in den Grundeinstellungen unter dem Attribut intervall_druck_status festgelegt.

update_druck_diagramm()[Quellcode]

Startet den Thread, welcher das Druckverlauf-Diagramm aktualisiert.

Die Anzahl der anzuzeigenden Samples und das Aktualisierungsintervall sind in den Grundeinstellungen unter den Attributen samples_druck_diagramm und intervall_druck_plot festgelegt.

update_lade_balken(fortschritt)[Quellcode]

Die Methode aktualisiert den Fortschrittsbalken und wird nach jedem abgetasteten Punkt aufgerufen.

Parameter

fortschritt (int) – Fortschritt der Abtastung in %

update_profil_diagramm(profil)[Quellcode]

Aktualisiert das Profildiagramm nach erfolgreicher Abtastung der Optikoberfläche.

Das Profil wird Punkt für Punkt ausgelesen. X- und Z-Koordinaten werden in eine separate Liste gespeichert und anschließend geplotet.

Parameter

profil (list) – Koordinatenpaare in der Form ‚X:Z‘ (str)

update_status()[Quellcode]

Startet den Thread, welcher den Gerätestatus sowie die aktuelle Position des Roboters aktualisiert.

Status und Position werden in die Textfelder im Fußbereich der Software geschrieben. Das Aktualisierungsintervall ist in den Grundeinstellungen unter dem Attribut intervall_cnc_status festgelegt.

vorhandene_profile_auflisten()[Quellcode]

Durchsucht das Profileverzeichnis nach *.profil Dateien und listet alle gefundenen in der Registerkarte ‚Profile‘ auf.

Der Pfad des Profilverzeichnisses lässt sich in den Grundeinstellungen unter dem Attribut profilpfad ändern.

warnung_popup(titel, text)[Quellcode]

Öffnet ein Warnungs-Popup.

Parameter
  • titel (str) – Titel des Popup-Fensters.

  • text (str) – Anzuzeigender Text.

Rückgabe

Gibt True zurück wenn OK Button betätigt, sonst False.

Rückgabetyp

bool

z_offset_abtastung()[Quellcode]

Tastet die Oberfläche im Zentrum der eingelegten Optik ab.

Der Wert wird anschließend im Feld Z-Offset im Reiter ‚Reinigung‘ eingetragen.

Bemerkung

Das PWM-Signal des Servos wird deaktiviert um Flickering während der Abtastung zu vermeiden. Flickering kann unter Umständen zu einer Verfälschung der Abtastwerte führen. Die Anzahl der Wiederholungen kann in den Grundeinstellungen unter dem Attribut wiederholungen_z_abtastung geändert werden.

z_offset_erfassen()[Quellcode]

Fragt den Anwender in Form eines Frage-Popups, ob eine Optik eingelegt wurde und startet anschließend den Z-Offset-Thread.

zur_oberflaeche_absenken()[Quellcode]

Senkt den Reinigungskopf solange ab, bis der eingestellte Druck erreicht ist.

Bemerkung

Schrittauflösung und Verzögerung lassen sich in den Grundeinstellungen über die Attribute aufloesung_absenkung und absenk_verzoegerung verändern.

class main.ProfilDiagramm(parent=None)[Quellcode]

Bases: QWidget

Die Klasse ProfilDiagramm wird benötigt, um ein Widget zu erstellen welches das Profil nach der Abtastung in einem Diagramm (Plot) darstellt.

Parameter

QWidget (object) – Wird zur Erstellung des Profil-Diagramm-Widgets benötigt.

__init__(parent=None)[Quellcode]

Der Konstruktor baut ein vertikales Layout auf und fügt eine Leinwand hinzu. In dieser Leinwand wird im Anschluss ein Subplot (ähnlich wie in Matlab) erstellt, in welchem der Profilverlauf geplotet wird.

Parameter

parent (object) – Parent Objekt für Vererbung, im aktuellen Anwenungsfall nicht notwendig.

staticMetaObject = <PySide2.QtCore.QMetaObject object>
class main.ReinigungsThread(mainwidget, methode)[Quellcode]

Bases: QThread

Die Klasse ReinigungsThread wird benötigt, um einen Worker-Thread für die Reinigung einer Optik zu erstellen.

Parameter

QThread (object) – Wird zur Erstellung des Reinigungs-Threads benötigt.

__init__(mainwidget, methode)[Quellcode]

Der Konstruktor übernimmt das Hauptfenster-Objekt mainwidget damit der Reinigungs-Thread Zugriff auf die Methoden des Hauptfensters bekommt.

Parameter

mainwidget (QWidget) – Hauptfenster-Objekt, wird benötigt um auf die Methoden start_druckreinigungsprozess(), start_profilreinigungssprozess() und start_radiusreinigungsprozess() zugreifen zu können.

run()[Quellcode]

Wird beim Start des Reinigungs-Threads aufgerufen und startet eine Reinigung durch Aufruf der Methode start_druckreinigungsprozess(), start_profilreinigungssprozess() oder start_radiusreinigungsprozess().

Bemerkung

Das Ende einer Reinigung wird dem Mainthread mit einem OK (str) signalisiert.

staticMetaObject = <PySide2.QtCore.QMetaObject object>
class main.Signale[Quellcode]

Bases: QObject

Die Klasse Signale initialisiert die Signals welche das Ende eines Reinigungsvorganges bzw. den Fortschritt der Abtastung signalisieren.

Bemerkung

Die Signale werden benötigt um aus einem der Worker-Threads heraus die Elemente der GUI zu manipilieren.

Parameter

QObject (object) – Wird zur Erstellung der Signale benötigt.

ende_signal
fortschritt_signal
staticMetaObject = <PySide2.QtCore.QMetaObject object>
class main.ZOffsetThread(mainwidget)[Quellcode]

Bases: QThread

Die Klasse ZOffsetThread wird benötigt, um einen Worker-Thread zur Erfassung des Z-Offsets zu erstellen.

Parameter

QThread (object) – Wird zur Erstellung des ZOffsetThread benötigt.

__init__(mainwidget)[Quellcode]

Der Konstruktor übernimmt das Hauptfenster-Objekt mainwidget damit der Z-Offset-Thread Zugriff auf die Methoden des Hauptfensters bekommt.

Parameter

mainwidget (QWidget) – Hauptfenster-Objekt, wird benötigt um auf die Methoden z_offset_abtastung() zugreifen zu können.

run()[Quellcode]

Wird beim Start des ZOffset-Threads aufgerufen und startet eine Einzelpunktabtastung über die Methode z_offset_abtastung().

Bemerkung

Das Ende einer Z-Offset-Erfassung wird dem Main-Thread mit einem OK (str) signalisiert.

staticMetaObject = <PySide2.QtCore.QMetaObject object>