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 sonstFalse
.- 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, sonstFalse
.- 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, sonstFalse
.- 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 aufX=0
undY=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
oderwlan0
.- 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
undpumpe_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 zwischen0
und100
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
Reinigungsparameter einlesen
Beladeosition anfahren (und warten bis Optik eingelgt wurde)
Reinigungsposition anfahren
Polyester-Pad benetzen
Drehteller einschalten
Kopf bis zum Erreichen des eingesellten Drucks absenken
Oberfläche in X-Richtung abfahren
Wieder Reinigungsposition anfahren
Beladeposition anfahren
Drehteller aussschalten
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
Reinigungsparameter einlesen
Beladeosition anfahren (und warten bis Optik eingelgt wurde)
Reinigungsposition anfahren
Polyester-Pad benetzen
Drehteller einschalten
Kopf bis zum Erreichen des eingesellten Drucks absenken
Oberfläche in X-Richtung abfahren
Wieder Reinigungsposition anfahren
Beladeposition anfahren
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
Reinigungsparameter einlesen
Beladeosition anfahren (und warten bis Optik eingelgt wurde)
Reinigungsposition anfahren
Polyester-Pad benetzen
Drehteller einschalten
Kopf bis zum Erreichen des eingesellten Drucks absenken
Oberfläche in X-Richtung abfahren
Wieder Reinigungsposition anfahren
Beladeposition anfahren
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
undintervall_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, sonstFalse
.- 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
undabsenk_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()
undstart_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()
oderstart_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>