(Serielles Protokoll)
Zeile 1: Zeile 1:
 
== Serielles Protokoll ==
 
== Serielles Protokoll ==
  
Kommandos für die Fräsmaschinensteuerung werden vom Unix-Frontend an den DOS-Rechner via RS232 (9600, 8N1) übertragen. Das Protokoll arbeitet textbasiert. Jede Zeile wird mit dem Steuerzeichen 0xD abgeschlossen. Jedes an den DOS-Rechner geschickte Kommando wird mit "Ok\r" oder mit "Fehler\r" beantwortet.
+
Kommandos für die Fräsmaschinensteuerung werden vom Unix-Frontend an den DOS-Rechner via RS232 (115200, 8N1) übertragen. Das Protokoll arbeitet textbasiert. Jede Zeile wird mit dem Steuerzeichen 0xD abgeschlossen. Jedes an den DOS-Rechner geschickte Kommando wird mit "Ok\r" oder mit "Fehler\r" beantwortet.
  
 
Übertragene Zahlenwerte werden als Dezimalzahl (mit oder ohne Vorzeichen) angegeben.  
 
Übertragene Zahlenwerte werden als Dezimalzahl (mit oder ohne Vorzeichen) angegeben.  

Version vom 21. Mai 2006, 21:27 Uhr

Serielles Protokoll

Kommandos für die Fräsmaschinensteuerung werden vom Unix-Frontend an den DOS-Rechner via RS232 (115200, 8N1) übertragen. Das Protokoll arbeitet textbasiert. Jede Zeile wird mit dem Steuerzeichen 0xD abgeschlossen. Jedes an den DOS-Rechner geschickte Kommando wird mit "Ok\r" oder mit "Fehler\r" beantwortet.

Übertragene Zahlenwerte werden als Dezimalzahl (mit oder ohne Vorzeichen) angegeben.

Softwareversion

I

Gibt die Aktuelle Softwarekennung und die Versionsnummer zurück.

Unterstütze Kommandos

i

Gibt die Unterstützen Kommandos aus. Z.B. "SNRrK". Damit erkennt man schell die Kommandos und kann so Kommandos umformen oder weglassen die nicht Unterstützt werden, oder erst gar nicht beginen mit den Arbeitsgang.

Maschinenstatus und Position

S

Gibt den Status der Maschine aus und alle Positionen wie

  • XYZ Absolut zum Referenzpunkt
  • XYZ Absolut zum Nullpunkt
  • Fräser ein/aus
  • die Fräs- und Bohrtiefen

alle Ausgaben werden durch ein ";" getrennt und die Ausgabe wird durch 0x0d beendet.

Maschinenstatus und Position kurzversion

s

Gibt eine kurzversion des Status aus, es werden nur die XYZ-Istwerte übertragen

Fräser ein-/ausschalten

A

Fräser einschalten

a

Fräser ausschalten

Fräser heben/senken

U

Hebe Fäser bis zur gesetzten Höhe Z.

u Z

Setze Fräserhoehe Z für Heben.

D

Senke Fräser bis zur angegebenen Tiefe Z.

d Z

Setzt die Fräsertiefe Z fürs Senken.

Lineare Bewegungen

N X Y

Bewegt den Fräser absolut zum Punkt X Y vom Nullpunkt gesehen (Werkstücknullpunkt oder Maschinennullpunkt?)

n X Y

Bewegt den Fräser relativ um Punkt X Y.

Kreisbewegung

K X Y W

Fräst einen Kreis absolut vom Nullpunkt gesehen. (Werkstücknullpunkt oder Maschinennullpunkt?)

k X Y W

Fräst einen Kreis relativ.

Diese beiden Kommandos werden noch nicht untertützt.

Bohren

B

Bohren bis Anschlag (kompletter Zyklus). Bohrt ein komplettes Loch, mit Senken und Heben. Vorher muss der Fräser mit "U" gehoben werden und mit "N X Y" an die zu bohrende Position gefahren werden. B senkt dabei den Bohren so tief wie mit "b" angegeben und hebt ihn wieder auf Z (siehe Befehl "U").

b Z

Setze Bohrtiefe Z für den Bohrzyklus.

Referenzpunkte

R

Referenzpunkt anfahren. Maschine muss dann selber erst Z, dann X und dann Y anfahren, nacheinander, steht so in der Doku.

r

Setze den Maschinennullpunkt für die Platine. Dieser bildet dann einen Offset. Intern wird dieser Wert dann bei Achsenangeben dazuaddiert. Damit kann man einen Punkt auf der Platine/Werkstück anfahren und den Nullpunkt setzten. Alle folgenden Angaben von werden von an von diesen Nullpunkt aus gesehen. Diese Funktion kann man sehr gut einsetzen wenn man auf einer Leiterplatte mehr als eine Platine fräsen möchte. Man braucht dann nur immer den Nullpunkt neu setzen, und kann so an der Stelle wieder neu fräsen mit den alten Koordinaten.

Geschwindigkeit

E W

Setzen der Geschwindigkeit der Eilbewegung.

Noch nicht iplementiert.

e W

Setzen der Geschwindigkeit der Segmentbewegung/Bearbeitungsbewegung.

Das Setzen der Bewegungsgeschwindigkeit über den Treiber funktioniert nicht so ganz. Möglicherweise ist das ein Problem mit dem Treiber. Statt nun die Geschwindigkeit mittels Treiber zu setzen, wird der Timerinterrupt umprogrammiert. Möglicher Werte: 2 (maximal schnell), 65535 (maximal langsam). Der Wert 1 kann zu Problemen führen. Habe ich aber vergessen, was dann passiert.

Der Standardwert für die Geschwindigkeit ist 6.

Skalierung

F W

Skalierungsparameter W wird auf X-,Y- und Z-Werte multpliziert. Bereich ist von -2^31 bis 2^31 als Signed Int.