hilfsfunktionen module
Dieses Modul beinhalten unterschiedliche Hilfsfunktionen, wie z.B. Stringmanipulationen, Einheitenumrechnungen sowie Berechnungen von Korrekturwerten.
- hilfsfunktionen.aus_datei_einlesen(pfad)[Quellcode]
Liest Konfigurations- und Profildateien ein, entfernt die Kommentare welche mit ‚#‘ gekennzeichnet sind und speichert Attribut sowie Wert in einer separaten Liste ab.
Jede Zeile der Datei muss folgende Form ausweisen:
attribut:wert
- Parameter
pfad (str) – Pfad zum einzulesenden Profil bzw. zu den Grundeinstellungen.
- Rückgabe
Gibt ein Tupel (list, list) mit Attributen und Werten zurück.
- Rückgabetyp
tuple
- hilfsfunktionen.drehzahlkorrektur(gewuenschte_drehzahl, steigung, offset)[Quellcode]
Berechnet die an den CNC-Controller zu sendende Drehzahl über die lineare Regression.
- Parameter
gewuenschte_drehzahl (int) – Drehzahl in 1/min die der Drehteller
soll. (erreichen) –
steigung (float) – Steigung der interpolierten Geradengleichung.
offset (float) – Offset der interpolierten Geradengleichung.
- Rückgabe
Gibt die korrigierte Drehzahl in 1/min zurück.
- Rückgabetyp
float
- hilfsfunktionen.koordinaten_extrahieren(antwort)[Quellcode]
Splittet den Antwortstring des CNC-Controllers auf, extrahiert Maschinenposition und berechnet daraus die Absolutposition des Roboters.
- Parameter
antwort (str) – Antwortstring der Steuerungsplatine.
- Rückgabe
Gibt absolute Koordinaten in der Form [x, y, z] (str) zurück.
- Rückgabetyp
list
- hilfsfunktionen.radius_berechnen(p1, p2, p3)[Quellcode]
Berechnet den Radius eines Kreisbogens anhand von drei gegebenen Punkten im Format [X, Z].
Bemerkung
Quellcode in Anlehnung an https://stackoverflow.com/questions/28910718/give-3-points-and-a-plot-circle zuletzt besucht am 11.01.2022. Authoren: Glorfindel, DieterDP
- Parameter
p1 (list) – Erster Punkt des Kreisbogens.
p2 (list) – Zweiter Punkt des Kreisbogens.
p3 (list) – Dritter Punkt des Kreisbogens.
- Rückgabe
Gibt den Radius (float) des Kreisbogens zurück.
- Rückgabetyp
float
- hilfsfunktionen.status_extrahieren(controller_antwort)[Quellcode]
Splittet den Antwortstring des CNC-Controllers auf und speichert die Bestandteile in eine Liste.
- Parameter
controller_antwort (str) – Antwortstring der CNC-Steuerungsplatine.
- Rückgabe
Gibt den Gerätestatus zurück z.B. ‚Idle‘, ‚Run‘, ‚Alarm‘…
- Rückgabetyp
str
- hilfsfunktionen.winkel_korrektur(winkel)[Quellcode]
Berechnet die relativen Korrekturkoordinaten, wenn der Winkel des Reinigungskopfes vom Standard (22.7°) abweicht.
Bemerkung
Das Ergebnis wird zum Reinigunsstartpunkt als Offset dazu addiert.
- Parameter
winkel (float) – Verstellwinkel des Reinigungskopfes in Grad.
- Rückgabe
Gibt ein Tupel (float, float) mit X- und Z-Korrekturwert zurück.
- Rückgabetyp
tuple
- hilfsfunktionen.winkel_zu_pulsweite(winkel, us_pro_grad)[Quellcode]
Rechnet den gewünschten Einstellwinkel des Servos in die Pulsweite des PWM-Signales um.
- Parameter
winkel (float) – Einzustellender Winkel in Grad.
us_pro_grad (float) – Umrechnungsfaktor
- Rückgabe
Gibt die Pulsweite in \({\mu s}\) zurück.
- Rückgabetyp
float
- hilfsfunktionen.zeitstempel()[Quellcode]
Erstellt einen aktuellen Zeitstempel (GMT), welcher an den Dateinamen der zu speichernden Profildatei angehängt wird, damit keine Profildatei überspeichert wird.
Beispiel für eine Ausgabe:
1671810993
- Rückgabe
Aktueller Zeitstempel als Unixtime.
- Rückgabetyp
str