Säulenroboter im Duett

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

Die gelben Tonnen und die Säulenroboter

Links der Säulenroboter von den Industry Robots von 1998 (Intellgent Interface, COM1) und rechts der aktuelle aus Industry Robots II (ROBO Interface an USB).

Das Duett : Linker Robot holt gelbe Tonne aus dem Lager (Pos1, gelber Kasten oben) und stellt sie auf den Werktisch (Pos2, gelber Kasten unten), rechter Robot holt die gelbe Tonne von Pos2 und bringt sie nach Pos3 (den Papierkorb vor dem Tisch). Von dort wird sie dann wieder ins Lager transportiert (eigenhändig).

C# 2005 Programm mit FishFace2005.DLL / umFish40.DLL : 

Hauptthread mit Bedienoberfläche und Betrieb des Robot links. Zweiter Thread (rob2) für den Robot rechts. Um sich nicht in die Haare zu kommen synchronisieren sich die beiden Threads über AutoResetEvents (rob1Ready / rob2Ready). Ein robxReady.Set() erfolgt nach Home und nach jedem Erreichen einer Arbeitsposition (Holen1, Holen2, Bringen2, Bringen3). Der jeweils schnellere Robot wartet dann solange (robxWaitOne();)

private void Action() {
  rob1Ready = new AutoResetEvent(false);
  rob2 = new Thread(new ThreadStart(Rob2Execute));
  rob2.IsBackground = true;
  rob2Ready = new AutoResetEvent(false);
  rob2.Start();
  lblStatus.Text = "Auf Home-Position";
  ft1.MoveHome();
  rob1Ready.Set();
  do {
    rob2Ready.WaitOne();
    lblStatus.Text = "Holen Teile";
    HolenPos1();
    rob1Ready.Set();
    rob2Ready.WaitOne();
    lblStatus.Text = "Bringen Teile";
    BringenPos2();
    rob1Ready.Set();
  } while (!ft1.Finish() && !ft2.Finish());
  rob2.Join();
}

 Viel ist das alles nicht, hier das Hauptprogramm im MainThread.

Im laufenden Betrieb werden anstelle der vielen Nullen die Positionswerte der beiden Robots angezeigt (Ereignisroutinen Position1 / Position2).

Download

Das zugehörende C# 2005 Projekt ist in RobDuoCS2005.ZIP gespeichert.

Stand : 06.12.2008