iRobots Plant

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

Die Industry Robots in Simultanarbeit

 

Alle Robots der fischertechnik Industry Robots

Modell ftRobsTS : Simultanes Zusammenspiel aller Robots des Konstruktionskastens "Industry Robots". Visual Basic 5 Programm unter Nutzung der FishF532.DLL.

Das Großmodell besteht aus den vier Robots des Kastens, die über Alu-Profile miteinander verbunden sind. Auf dem Interfacekasten des Schwenkroboters wurde ein Tonnen-Magazin installiert.

Anzeige- und BedienPanel von ftPlant

Bedien- und Anzeigepanel Programm ftRobsTS

Hauptfunktionen

  1. START / ENDE : Starten und Beenden des Programms. Beim Start wird die Verbindung zu den Interfaces hergestellt. Die Zuordnung Rob - Interface erfolgt über das INI-File ftRobs.INI.
  2. HOME : gleichzeitiges Anfahren der Home-Positionen durch alle Robots.
  3. Abbrechen / Programm / STOP : Abbrechen des Programms vor Ausführung der START-Funktion, Starten des im Script-File (Default : ftRobs.Rbs) festgelegten Programmablaufs. Der Programmablauf kann über STOP vorzeitig abgebrochen werden.
  4. Wiederholen / Beenden : Anwahl bzw. Beenden des Endlosbetriebes. Muß vor Start des Programmablaufs über den Programm-Button erfolgen.

Die Buttons wechseln abhängig von der Programmsituation ihre Beschriftung und Funktion. Aus dem gleichen Grund sind sie zeitweise gesperrt.

Über Datei | Öffnen können alternative Scriptfiles geladen werden.

Ein Zyklus besteht aus folgenden Schritten :

  1. Säulen-Roboter : Holen der ersten Tonne aus dem Magazin, abstellen auf dem rechten Teller des Schwenk-Roboters.
  2. Schweiß-Roboter : Schweißen rechts.
  3. Schwenk-Roboter : Schwenken nach links.
  4. Schweiß-Roboter : Schweißen links.
  5. Knickarm-Roboter : Greifen der Tonne auf Teller links und Abstellen im Magazin-Eingangsbereich.
  6. Knickarm-Roboter : Schieben aller Tonnen des Magazins bis die rechte Tonne auf der Hol-Position steht.

Endlosbetrieb, wenn entsprechend angewählt. Die Steuerbefehle werden einem Script-File entnommen.

Synchronisation :

  1. Erstellen von vier Threads für die einzelnen Robots (CreateThread) und Anlegen der zugehörenden Ereignis-Objekte für Synchronisation und Fertigmeldung (CreateEvent, nicht signalisiert).
  2. Signal Event 3 (Programm-Button) : Start Säulen-Roboter
  3. Signal Event 2 (Säulen-Roboter) : Start Schweiß-Roboter
  4. Signal Event 1 (Schweiß-Roboter) : Start Schwenk-Roboter
  5. Signal Event 2 (Schwenk-Roboter) : erneuter Start Schweiß-Roboter
  6. Signal Event 4 (Schweiß-Roboter) : Start Knickarm-Roboter
  7. Signal Event 3 (Knickarm-Roboter) : Start Säulen-Roboter
    (nur bei Endlosbetrieb)

Die Robots laufen zeitweise simultan und beenden ihren Thread selber (Event Fertigmeldung), wenn ihre Aufgabe abgeschlossen ist. Im Endlosbetrieb wird der Thread nicht beendet, es wird auf ein neues Synchronisations Event gewartet (WaitForSingleObject, Event Synchronisation).

Der Primär-Thread (Programm-Button) wartet auf das Ende aller Robot-Threads (WaitForMultipleObjects, Events Fertigmeldung). Der jeweilige Robot-Status wird aus den Robot-Threads selber auf der Main-Form angezeigt. Dazu muß der Primär-Thread unterbrechbar sein (Warten auf Ereignis und Zeit in einer Schleife).

Anforderungen :

  • Die vier Robot-Modelle, wie im Original-Handbuch beschrieben.
  • Anschluß über serielle Interfaces (prinzipiell auch über parallele Interfaces möglich (nicht getestet).
  • Multiport-Karte (verwendet wurde VS Vision System PCI-400) mit den Anschlüssen COM5 - COM8 (oder anderen).
  • Visual Basic 5.0 (SP3).

Und gute Nerven beim Test : Es kann nicht in der Entwicklungsumgebung getestet werden sondern nur mit EXE-Files. Standard Fehlermeldung : Katastrophe, Abbruch, Hersteller fragen. Anschließend den Wust der verhakten Robots entwirren und restaurieren. Aber wenns erst mal rundläuft gehts ganz gut.

Auch wenn man nicht gleich vier Robots und Zubehör zur Hand hat : ftRobsTS.ZIP zum Download. Enthält neben einer ausführlichen Dokumentation zum Thema Multithreading mit VB5 die Programm-Sources, die vielleicht Vorlage für den simultanen Betrieb von 2 Robots sein können.