Rotationsachsenkalibrator RX10

Der Renishaw Rotationsachsenkalibrator RX10 wurde einst in einer Messmaschine verbaut und ist nun solo vorhanden. Nur dessen Ansteuerung via serielle Schnittstelle blieb unbekannt. Dokumentation gibt's nicht.

Beim Öffnen des Steuerteils fand ich einen 8051-Mikrocontroller und eine L165V-Leistungsendstufe. Neben dem üblichen Krimskrams. Damit handelt es sich um eine Gleichstrommotor-Steuerung.

Das Gerät selbst kennt einen blockierten und einen ausgerasteten Zustand: Der Motor bewegt zunächst den drehbaren Teil aus einer hochpräzisen Raststellung heraus, dann dreht er den Kopf, um dann im Innern wieder in eine Raststellung hineinzufahren. Der Umlauf hat 72 Raststellungen (00..71), also alle 5°. Feinere Winkel lassen sich nicht einstellen.

Der rote Not-Aus-Schalter muss für den Betrieb gelöst sein, also herausgucken.

Schnittstellen-Beschreibung

Herausgefunden wurde durch Ausprobieren folgendes:

Schnittstellen-Parameter: 9600 Baud, 8 Datenbits, 1 Stopbit, keine Parität, Handshake unbekannt und irrelevant

Kommandoformat: <Buchstabe>[-][<Ziffer><Ziffer>]\n

Antwortformat: <Ziffer><Ziffer>  Meldungstext[:0<Ziffer><Ziffer>]\r\n

Kommandos:

KommandoParameter
(Beispiel)
Antwort
(Beispiel)
Aktion
absolutea45Fahrt zum Rastpunkt 0..71 auf kurzem Weg
-60Fahrt zum Rastpunkt 0..71 auf langem Weg
currentc02  Position: 060aktuelle Position abfragen
hReferenzfahrt kurzer Weg
referencefReferenzfahrt langer Weg
locklVerriegeln (passiert normalerweise automatisch nach jeder Fahrt)
unlockuEntriegeln
Die Antwort kommt nach Ausführung des Kommandos, also bei a nach erfolgtem Fahrvorgang. Ein Stop-Kommando habe ich nicht gefunden.

Mini-Steuerprogramm

Hier ist es. Und so sieht's aus. Wie immer Win32 ohne Laufzeitbibliothek und nur 9 Kilobyte groß. Läuft von Windows 98 bis Windows 10.

Bildschirm-Schnappschuss vom Programm im Einsatz

Das Editfeld mit der Zahlenanzeige kann zur Eingabe eines beliebigen Kommandos aus der oben angegebenen Tabelle gefüttert werden. Es wird 1 Sekunde nach der letzten Änderung oder beim Drücken auf Hinfahren ausgeführt. Steht nur eine Zahl drin (wie im Bild 1 zu sehen), wird das Kommando a ausgeführt.