Positionsdaten im Echtzeitbetrieb

  • Hallo Leute, ich muss eine Kraft-Weg-Messkurve aufzeichnen und würde dazu gern die Echtzeit-Positionsdaten des Roboters benutzen. Also soll der Roboter sein Programm abfahren und gleichzeitig sollen die Positionsdaten über einen PC aufgezeichnet werden (ca. 0,1mm-Schritte). Wie bekomme ich so etwas hin?
    Benutze einen Mitsubishi Rv-E4nm und Visual Basic


    Und: Wo bekomme ich Cosirop???



    Vielen Dank!!

  • ANZEIGE
  • Hallo


    und willkommen im Forum.



    und würde dazu gern die Echtzeit-Positionsdaten des Roboters benutzen. Also soll der Roboter sein Programm abfahren und gleichzeitig sollen die Positionsdaten über einen PC aufgezeichnet werden (ca. 0,1mm-Schritte).


    Wenn es um wirkliche Echtzeit, also die Position des Roboters in jedem Interpolationstakt geht, läuft das bei Mitsubishi etwas anders. Es gibt da einen speziellen Programmbefehl namens MXT, das steht für Move External. Dieser bewirkt, das der Roboter nicht mehr sein internes Programm abarbeitet, sondern im Echtzeittakt über eine Netzwerkverbindung bewegt wird. D.h. das Roboterprogramm ist ein Programm auf einem externen PC, das in jedem Zyklus die Position vom Roboter erhält und z.B. aus Sensordaten die Zielposition für den nächsten Schritt an den Roboter sendet.


    Bei den neueren Modellen mit Melfa Basic 4 oder 5 erfolgt diese Echtzeitsteuerung über Ethernet.


    Die älteren Modelle RV-E2, RV-E3NLM und RV-E4NM hatten diesen Befehl auch schon, benutzten aber kein Ethernet sondern Arcnet. Dazu musste in der Robotersteuerung eine Erweiterungskarte verbaut sein, die Bezeichnung war, glaube ich, "2E32ARC". Auf der Karte war eine ROM-Erweiterung für das Betriebssystem mit der entsprechenden Befehlserweiterung für die Movemaster Command Sprache (nicht für Melfa Basic 3). Man erkennt Roboter mit dieser Option an der Rückseite des Controllers. Dort sollte man das Slotblech der Karte sehen, die hat zwei Codierschalter mit Einstellungen von 0 bis F (zur Einstellung der Arcnetardresse), zwei RJ45-Stecker (5 MBit Arcnet) und einen BNC-Stecker (2,5 MBit-Arcnet). Ohne diese Karte ist zeitkritische Kommunikation mit einem RV-E4 praktisch nicht möglich.


    Bei der Karte war ein (japanisches) Handbuch und Programmiersoftware für Microsoft C++ 7.0 für DOS.


    Neuere Software für Windows NT und Visual C++ 6 und Visual Basic 6, gab es von der Firma Battenberg aus Marburg. Diese benutzte auf dem PC eine Arcnet-Karte von der Firma SoHard aus Nürnberg, die auch mit neuerem Windows arbeitet.


    Weil Mitsubishi ab 2001 keine Arcnet-Karten mehr liefern konnte, wurde die Arcnet-Software zugunsten der Ethernetvariante 2002 eingestellt. Mittlerweile dürften die meisten Arcnet-Steuerungen wegmodernisiert sein.



    Und: Wo bekomme ich Cosirop???


    Das war kein Mitsubishi Produkt, es wurde nur von Mitsubishi Europa verkauft. Inzwischen gibt es von Mitsubishi wohl nur noch die eigene Software RT-Toolbox 2, Melfa Works und neuerdings iQ-Works, die können aber eventuell nicht mehr mit einem RV-E4.


    Grüße


    Urmel

    Einmal editiert, zuletzt von Urmel ()

  • Hallo,


    die Software Cosirop wurde zuletzt in der der sog. Last Edition unter dem Namen CIROS durch Mitsubishi verkauft.
    Bestellnummer: 218527
    Ich würde versuchen mit dem regionalen Vertriebsbüro (Dortmund/Filderstadt/Halbergmoos>Anschrift siehe http://www.mitsubishi-automation.de) kontakt aufzunehmen und mir dort ein Angebot einholen. Möglicherweise bekommt man die noch.


    Die aktuelle Software wird unter dem Namen RT-Toolbox2 verkauft (Bestellnummer 218856)


    Viele Grüße

  • Vielen Dank für Eure Antworten!!!


    Urmel: Leider Haben wir keine Software, um die Robotersteuerung über den PC zu realisieren und Visual BAsic ist ein wenig zu arbeitsintensiv...
    Oder hast du eine Idee wie man es bei Visual BAsic realisieren kann???

    Elmar_96: Du hast nicht zufällig die ungefähren Preise für die Programme im Kopf,oder???


  • Urmel: Leider Haben wir keine Software, um die Robotersteuerung über den PC zu realisieren und Visual BAsic ist ein wenig zu arbeitsintensiv...


    Wie gesagt, das funktioniert nur, wenn diese Karte in der Robotersteuerung steckt. Hast du die denn ?


    Ansonsten bleibt dir nur die serielle Schnittstelle, die ist aber zu langsam, um die geforderte Auflösung zu erreichen. Man kann höchstens etwas Performance gewinnen, in dem man die Schnittstelle von 9600 Baud auf eine höhere Geschwindigkeit umstellt. Bei den neueren Robotern geht, glaube ich, bis zu 38400, kann sein, dass der E4 nur 19200 kann.



    Mit Visual Basic kannst du auch ohne Netzwerkkarte und Cosirop mit dem Roboter arbeiten.


    Wenn du das Programmierhandbuch genau anschaust, gibt es da bei den Movemaster Command Befehlen welche, die direkt ausgeführt werden können. Diese Befehle werden auch von Cosirop verwendet, wenn es Programme an den Roboter überträgt. Man kann die Befehle direkt über die serielle Schnittstelle senden. Das funktioniert immer, egal ob der Roboter auf Melfa Basic oder Movemaster Command eingestellt ist.


    Du kannst dir damit auch in Visual Basic ein Programm schreiben, das Roboterprogramme in die Steuerung überträgt.


    Man kann auch ein Roboterprogramm laufen lassen und während dessen immer wieder den WH-Befehl vom PC an die Robotersteuerung senden, dann antwortet der Roboter mit seiner aktuellen Position. Das ist der einzige Weg, wie man ohne die Netzwerkkarte an die Positionsdaten kommen kann. Allerdings klappt das höchstens ein paar mal pro Sekunde und ist damit nicht so genau, wie du es haben willst.


    Grüße


    Urmel

  • Hallo Urmel, vielen Dank für deine Antwort, die Karte haben wir, haben es auch geschafft die Echtzeitdaten zu lesen, jedoch können wir beim Auslesen der Echtzeitdaten kein Roboterprogramm abfahren, sondern müssen den Roboter schrittweise über das Programm bewegen. Dies ist jedoch sehr aufwendig, wenn man z.B Kreisbahnen im Programm implementieren will.


    Hast du eine Idee wie man sowas einfacher realisieren kann?

  • Hallo,


    ja die Erkenntnis, dass die Programmierung dieser Echtzeitbewegungen ziemlich arbeitsaufwändig ist, kam schon relativ bald nach der Entwicklung der Arcnetsoftware bei Battenberg.


    Der Standpunkt von Mitsubishi war, dass das eben keine Schnittstelle für Endanwender war, sondern nur für entsprechend spezialisierte Systemhäuser.


    Um trotzdem Endanwendern die einfache Nutzung von Echtzeitanwendungen zu ermöglichen, wurde dann das Konzept entwickelt, elementare Bewegungen, wie z.B. Kreise, in C++ Klassen zu implementieren. Die kriegt der Anwender aber gar nicht zu sehen, er setzt nur Bausteine z.B. in Flussdiagrammen zusammen. Erst wenn dieser Ablauf ausgeführt wird, setzt die Software diese Bausteine in Instanzen der entsprechenden Klassen um und führt deren Code aus.


    Witzigerweise entstand dieses Ablaufkonzept ziemlich genau vor elf Jahren, auf einer Zugfahrt zur Hannovermesse. Dort traf die Idee dann auf die Nachricht, dass es eine völlig neue Steuerungsgeneration mit Ethernet geben wird. So entstand dann RobFlow und es kam nie zu einer Weiterentwicklung der Arcnet-Version.



    Diese Story hilft dir jetzt nicht direkt bei der Lösung deiner Probleme, zeigt aber den Grundgedanken, dem man eventuell folgen sollte. Wenn dir Entwurfsmuster aus der Softwareentwicklung etwas sagen, handelt es sich um die Anwendung des "Strategie"-Musters.


    Visual Basic sehe ich da nicht unbedingt als Hinderungsgrund, die Ethernet-Echtzeitsteuerung läuft mittlerweile auch in einer komplett in C# geschriebenen Version. Es gibt also keinen technischen Grund, warum man die Arcnet-Steuerung heute nicht komplett in VB.net umsetzen könnte.


    Grüße


    Urmel

    Einmal editiert, zuletzt von Urmel ()

  • Hallo, haben nun ein anderes Problem. Haben Cosirop 3.0.1 installiert und ein Projekt erstellt, jedoch bekommen wir keine Verbindung zwischen Cosirop und dem Roboter, bzw, dessen Steuergerät hin.


    Fehler: TIME OUT BEIM SENDEN
    oder TIME OUT BEIM EMPFANGEN


    Weiss jemand woran das liegen könnte?

  • Wenn das Kabel ok ist, könnte es an den Einstellungen der seriellen Schnittstelle liegen. Such mal im Handbuch die Parameter heraus, die damit zu tun haben, und kontrollier die mit der Teachbox.

  • Hallo, haben das Kabel nochmal überprüft, da ist alles ok. Die Schnittstellen sind auch aufeinander abgestimmt (Roboterparameter CMO). Wissen echt nicht mehr weiter...

  • Hm, das sind eigentlich die beiden einzigen Ursachen, die mir bei der Steuerung einfallen. :denk:


    Was ich als nächstes bei unseren Robotern machen würde, wäre mich mit eigenem Laptop, Kabel und Software da anstöpseln und nachschauen, ob jemand zu Hause ist. :mrgreen:


    Wenn das keinen Erfolg hätte, müsste man erstmal den Servicestatus checken, der RV-E4 dürfte 2002 oder 2003 abgekündigt worden sein, der normale Service (mit garantierter Ersatzteilverfügbarkeit) endet sieben Jahre danach.

    Einmal editiert, zuletzt von Urmel ()

  • Hallo, weiss jemand wie die IP-Adresse über das Steuergeräts codiert ist??? An der Karte (E32ARC) ist im Moment "FF" eingestellt, wir haben aber schon überall nachgeschaut was das bedeuten könnte und haben nichts gefunden. Hoffe Ihr könnt uns helfen!

  • Die Arcnetkarten der Roboter unterstützen kein TCP/IP.


    Zur Datenübertragung werden rohe Arcnetpakete verwendet. Ein Arcnet-Segment kann 255 Teilnehmer haben. Mit den Drehschaltern wird die Adresse des Roboters eingestellt.

  • Hm, weder im Ethernet- noch im Arcnethandbuch steht etwas zur Steckerbelegung der Netzwerkstecker. Die entsprechen halt dem Standard des Netzwerkes. :denk:


    Wir haben früher nur die BNC-Stecker mit RG62-Kabel verwendet.


    Eventuell kann jemand bei der Arcnet User Group deine Frage beantworten ...

Erstelle ein Benutzerkonto oder melde dich an um zu kommentieren

Du musst ein Benutzerkonto haben um einen Kommentar hinterlassen zu können

Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Geht einfach!
Neues Benutzerkonto erstellen
Anmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden