Befehlsliste BS (Bestückungssteuerung) -------------------------------------- Allgemeines ----------- Die Übertragung erfolgt vollduplex mit 9600 Bit/s (ein Startbit, zwei Stopbits, keine Paritätsprüfung). Jeder Befehl wird mit einem LF oder CR/LF abgeschlossen, bildet also eine Zeile. Jeder Befehl und jede Antwort erhält am Ende (also vor LF oder CR/LF) eine 16Bit-CRC-Summe über die Zeichen davor, so dass diese leicht auf Übermittlungsfehler geprüft werden können. Die BS sendet nach dem Empfang eines Befehls ein ACK, wenn die Prüfsumme korrekt ist, ansonsten ein CRC ERROR. Bei einem Prüfsummenfehler wird der gesamte Befehl verworfen. Von sich aus sendet die BS nicht. Sie antwortet immer nur auf Anforderung. Ist ein Befehl noch in Bearbeitung und empfängt die BS trotzdem einen neuen Befehl, so wird dieser verworfen und ein BUSY gesendet. Befehle ------- Alle Ein- und Ausgaben werden hier zwecks Übersichtlichkeit groß geschrieben, es sind aber sowohl Groß- als auch Kleinbuchstaben zulässig. Antworten der BS erfolgen immer in Großbuchstaben. X, Y und Z sind die drei Raumkoordinaten, A ist die Drehachse der Ansaugdüse. Alle Koordinatenangaben erfolgen ganzzahlig in 1/100mm (bzw. 1/100 Grad) positiv oder negativ: X=10000 Y=10000 A=-8085 ist also die Position X=100,00mm Y=100,00mm A=-80,85°. Befehl Parameter Beschreibung ------------------------------------------------------------------------------ FTP UP,DOWN Feedertransportpin (FTP) wird angehoben oder abgesenkt HOME X,Y,Z,A Setzt die jeweilige Achse zurück und fährt diese dann auf Nullposition Wurde dieser Befehl nicht mindestens einmal aufgerufen, geben sämtliche Befehle mit Koordinatenangaben eine Fehlermeldung 'NO HOME' zurück. NOZZLE ON Saugdüse wird eingeschaltet OFF Saugdüse wird ausgeschaltet SPEED X,Y,Z,A Setzt die Maximalgeschwindigkeit der entsprechenden Achse in mm/s. Unzulässig hohe Angaben werden mit einer Fehlermeldung 'MAX SPEED OVERRANGE' quittiert. STATE Ermittelt den aktuellen Status der BS. Rückgabe: READY Es wird aktuell kein Befehl bearbeitet. Ein neuer Befehl kann gesendet werden. BUSY Es wird ein Befehl abgearbeitet. Neue Befehle werden verworfen. NO HOME Es wurde noch keine Koordinateninitialisierung durchgeführt STOP Notaus wurde aktiviert X,Y,Z,A Liefert für die aktuelle Position der angegebenen Achse zurück FTP Liefert den Status des Feederpins zurück UP Feedertransportpin ist oben (Ruhestellung) DOWN Feedertransportpin ist unten (Magnet ein) NOZZLE Liefert den Status der Ansaugdüse zurück ON Düse saugt an OFF Düse saugt nicht an SPEED Liefert die aktuelle Maximalgeschwindigkeit der X,Y,Z,A jeweiligen Achse zurück STOP Beendet sofort den aktuellen Befehl und schaltet die Motorendstufen ab (Notaus) VERSION Gibt den Namen und die aktuelle Version zurück X,Y,Z,A Fährt die angegebenen Achsen in die angegebenen Positionen. Die Angabe mehrerer Achsen in einer Zeile fährt diese gleichzeitig zu den neuen Punkten, so dass z.B. diagonale Bewegungen möglich sind. Dabei wird die Geschwindigkeit der Achsen so gewählt, dass der Endpunkt in allen Achsen gleichzeitig erreicht wird. Beispiele: 'X 100' fährt die X-Achse auf Position X=100 'X 200 Y 100' fährt gleichzeitig auf X=200,Y=100