Projektbereich dobot.py-testen im Projekt Dobot-Python

Einführung

Hier werden neue Befehle und Funktionen in dobot.py implementiert und getestet. Die erprobten Funktionen werden anschliessend in weiteren Projekten genutzt.
Die aktuelle Version von dobot.py ist im Projekt Dobot-Python zu finden.
Eine vorläufige Zusammenstellung der Funktionen des Moduls dobot.py ist in Dobot-Python-Hilfsfunktionen zu finden.
👍 Hinweis:
Das Modul DobotDllType.py stellt vor allem die technischen API-Funktionen bereit,
während das Modul dobot.py daraus verständliche und sichere Befehle macht.
Zum Beispiel:
dType.GetAlarmsState(api) liefert nur rohe Alarmbits.

Unsere Funktion dobot.alarme_sofort_zeigen(api) kann daraus hingegen machen:
Alarm 72 (0x48):
Grenzstellung des Parallelogramms erreicht
(Achsen 2 und 3 gemeinsam)

Damit übernimmt dobot.py mehrere wichtige Aufgaben:
- technische Rückgabewerte übersetzen,
- verständliche Fehlermeldungen ausgeben,
- komplizierte API-Aufrufe vereinfachen,
- Queue- und Sofortbefehle sauber trennen,
- typische Fehler früh erkennen,
- schülergerechte Funktionsnamen anbieten.
DobotDllType.py ist die technische Schnittstelle zur DLL.
Die Datei dobot.py bildet unser verständliches Python-Modul für unsere Projekte mit dem Dobot Magician und wird ständig weiterentwickelt.

Verbindung zum Dobot herstellen und Position anzeigen

# dobot-test-1.py
from pathlib import Path
import sys

# Übergeordneten Ordner "Dobot-Python" in den Python-Suchpfad aufnehmen
PROJEKTORDNER = Path(__file__).resolve().parent.parent

if str(PROJEKTORDNER) not in sys.path:
    sys.path.insert(0, str(PROJEKTORDNER))

from sdk64 import DobotDllType as dType
import dobot

api = dobot.init()
dobot.alarme_anzeigen(api)
dobot.position_anzeigen(api)

# bisher keine Aktionen des Dobot
Ausgabe in der Konsole:
Python-Version:     3.14.5
Python-Architektur: 64bit
SDK-Verzeichnis:    D:\projekte\dobot_magician\Dobot-Python\sdk64
DLL-Datei:          D:\projekte\dobot_magician\Dobot-Python\sdk64\DobotDll.dll
DLL vorhanden:      True
Serielle Schnittstelle: COM10 ist vorhanden.
ConnectDobot-Ergebnis: [0, '', '']
Gerätename:    Dobot Magician - AG Young Engineers - Martin-Rinckart-Gymnasium
Seriennummer:  D1318040883
Keine Alarme aktiv.
X=199.9 mm, Y=100.0 mm, Z=111.0 mm, R=0.0°

        

Sofortbefehle ...

... können direkt ausgeführt werden, ohne dass sie in die Queue (Befehlskette) eingereiht werden.
Sie können unmittelbar in das bisherige Testprogramm eingefügt werden.
Danach ist das Programm erneut zu starten.
Da am Ende des Programms aktuell die Verbindung zum Dobot nicht beendet wird, kann über die Befehlszeile mit dem Dobot interagiert werden.
Entsprechende Befehle bitte sorgfältig einsetzten!
Teste Befehle zum Homing, Alarme anzeigen und löschen, ... und Dobot trennen
              
    # bisher keine Aktionen des Dobot

    dobot.queue_starten(api)
    dobot.test_z(api)
            
Ausgabe in der Konsole:
    Interaktiver Test der Z-Koordinate
    ----------------------------------

    Neue Z-Koordinate, 'x' zum Löschen der Alarme oder 'a' zum Abbrechen: 100
    X=199.9 mm, Y=100.0 mm, Z=100.0 mm, R=0.0°

    Neue Z-Koordinate, 'x' zum Löschen der Alarme oder 'a' zum Abbrechen: 200
    X=199.9 mm, Y=100.0 mm, Z=170.4 mm, R=0.0°

    Neue Z-Koordinate, 'x' zum Löschen der Alarme oder 'a' zum Abbrechen: x
    Alarme löschen
    1 Alarm(e) aktiv:

    Alarm  34 (0x22): Bewegung überschreitet einen Gelenkgrenzwert

    Neue Z-Koordinate, 'x' zum Löschen der Alarme oder 'a' zum Abbrechen: -50
    X=199.9 mm, Y=100.0 mm, Z=-50.0 mm, R=0.0°

    Neue Z-Koordinate, 'x' zum Löschen der Alarme oder 'a' zum Abbrechen: a
    Z-Test beendet.
    >>> 
Achte genau auf den Dialog in der Konsole.
In diesem Beispiel führt die Eingabe 200 zu einer Begrenzung der Z-Koordinate auf 170.4 mm, da der Dobot seine Bewegung unterbricht und einen Alarm auslöst. Dieser wird oben an der Dobot-Konsole durch das Leuchten einer roten LED angezeigt.
Die Eingabe 'x' löscht den Alarm und danach kann eine neue Z-Koordinate vorgegeben werden.
MERKE: Alarme können die Bewegung des Dobots verhindern.

Befehlskette - Queue

            
# dobot-test-3.py
.... wird nachgereicht
            
          

Tastatursteuerung des Dobot

Die Tastatursteuerung des Dobot wird in dobot.py implementiert und getestet.

                
# dobot-test-4.py
.... wird nachgereicht
                
              

Zurueck zu Dobot-Python