TeachIn Rob

ftComputing : Programme für die fischertechnik-Interfaces und -konstruktionskästen
  
ftComputing.de
Home
Back
Sitemap
Index
Links
Impressum
Mail
 

Der Schweißroboter mit Bedienpanel und TeachIn

Aufbau : wie gehabt.

Vorgestellt werden der Einsatz eines Bedienpanels mit Positionsanzeige und eine einfache TeachIn-Lösung für den Schweißroboter zur Bestimmung der Schweißpositionen. Das Programm verwendet einige Komponenten der vorherigen Schweißroboter-Programme : Home, DriveTo, Schweissen sind geblieben, Das Main wurde in das neue UP Play verlagert. Hinzugekommen sind : Das Panel, ein neues Main, Record, Store und Go.

Das Bedienpanel

Oben die Anzeige der aktuellen Position. Das Update der Position erfolgt über Bedienfeldausgänge, die in Home, Play und Go platziert sind. Die Elemente des Bedienfeldes selber sind alle dem zentral dem Main zugeordnet.

Play startet den Schweißablauf, geschweißt wird solange, wie Play gedrückt ist (Play hat dazu eine Rastfunktion bekommen). Die Schweiß-Positionen werden der Tabelle Positionen entnommen.

Record startet eine Aufzeichnung durch Anfahren der Home-Position und Löschen der Positionstabelle.

Go läßt den Robot nach rechts (weg vom Endtaster) fahren, das gilt solange er (der Button) gedrückt ist (keine Rastfunktion).

Store speichert die aktuelle Position aus ActPos durch Anhängen an Tabelle Positionen.

End beendet den Aufzeichnungsmodus.

Der Main-Loop

Im Main werden die Bedienfeldeingänge Play und Record in einer Endlosschleife abgefragt. Im zutreffenden Fall werden dann die UP's Play und Record aufgerufen.

Die Bedienfeldeingänge lösen selber keine Ereignisse aus, deswegen hier die etwas umständliche Schleifenlösung, die auch bei Record nocheinmal wieder auftaucht.

Das Aufzeichnen : Record, Go und Store

Anfahren der Home Position.

Löschen der Tabelle Positionen durch Entfernen der letzten 101 Elemente. Da die Tabelle nur 100 Elemente aufnehmen kann ist sie dann leer.

Loop in dem der Go, der Store und der End-Button abgefragt werden. Im zutreffenden Fall werden dann Go und Store auf gerufen. Bei End wird nach Anfahren der Home-Positionen das UP verlassen.

Hinweis : Die Buttons sind auf dem Bedienfeld von Main platziert.

Hinweis 2 : Ein Drücken eines Buttons ist so schnell, daß Maßnahmen zur Vermeidung eines Mehrfachaufrufs eines UP's getroffen werden müssen. Dazu wird in Go die globale Variable PosOK beim Verlassen auf 1 (true) gesetzt. Store seinerseits nimmt die Arbeit nur auf, wenn PosOK = 1 ist und setzt selber PosOK auf 0 (false).

Das Ansteuern einer Position

Starten des Säulenmotors

Warten auf Impulstaster, erhöhen um 1 und Speichern in ActPos, wenn Go immernoch gedrückt in Schleife zum Impulszählen.

Verlassen des UP's, wenn Go nicht mehr gedrückt ist, vorher noch PosOK = true signalisieren.

Die aktuelle Position wird dem Bedienfeldausgang PosX (in Main) übergeben.

Speichern der aktuellen Position

Bevor es mit dem Speichern losgeht, erstmal fragen, ob es auch erlaubt ist : PosOk = true. In diesem Fall wird es dann gleich auf 0 (false) gesetzt um beim Speichern nicht gestört zu werden.

Das Speichern der ActPos geschieht über einen entsprechenden Tabellenbefehl, der den Wert von ActPos hinten an die Tabelle anhängt. Angesteuert wird der S(Speicheren)-Eingang von Positionen.

Das Speichern ist die einfachere Übung, Schwierigkeiten macht das fehlende Click-Ereignes des Store-Buttons.

Das wars denn auch schon. Man kann sich das Leben natürlich noch komplizierter einrichten, wenn man sich einem Industry Robot zuwendet. Doch das kriegen wir später.

Stand : 09.03.2005