Einführung
Hier werden neue Befehle und Funktionen indobot.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.
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
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)
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.
>>>
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