Hilfe für Technikerprojekt RX160 / RX130 Achsenspiel berrechnen

  • Hallo,


    Bräuchte da mal eure Hilfe,
    Ich muss für die Firma ( Technikerprojekt ) ein Testprogramm für Handgelenke schreiben.


    Mein Chef hätte die gerne so ausgelegt das ich das Motor- bzw Achselspiel berrechnen lasse.


    Nun zu Fragen:
    - Kann man Achsen abwählen das nur 5 u. 6 laufen ( gilt für RX130 / RX 160 )
    - Drehmomente / Strom / Gechwindigkeiten auslesen bzw. anzeigen/speichern lassen
    - wie schick ich das alles übers Netzwerk?


    wie würdet ihr damit am besten anfangen?
    Da die Werte sich sehr schnell ändern muss die "Tabelle" wohl schon im Roboter aufgenommen werden und dann übertragen werden. Ich arbeite mit einer Siemens (315-2PN/DP Profinet/PB-DP) zum Datenaustausch / berrechnung


    Lese mich gerade in die Roboterprogrammierung Adept ein,
    Tips und Beispiele würden mir schon richtig helfen.

  • ANZEIGE
  • Hallo Rene,


    um deine Fragen beantworten zu können, müssten wir wissen, an welcher Steuerung der jeweilige Roboter hängt.


    Dein RX130 kann nur an einer CS7-Steuerung hängen. Diesen programmierst Du in V+ (von Adept)
    Ein RX130B kann an einer CS7B- (V+) oder an einer CS8-Steuerung (programmiert in VAL3) hängen.
    Der RX160 funktioniert nur an einer CS8C-Steuerung (VAL3).


    Zu den CS7 / CS7B Systemen kann ich dir nicht viel sagen, meine weiteren Antworten beziehen sich auf CS8- und CS8C-Steuerungen:
    - Du kannst keine Achsen abwählen, aber es hält dich natürlich nichts davon ab, eine Bewegung zu programmieren, die nur Achsen 5 und 6 betrifft :zwink:
    - Es gibt in VAL3 Befehle, um die Schleppfehler, Motorströme und Geschwindigkeiten auszulesen.
    - Um die Daten übers Netzwerk zu schicken, hast Du (wie immer) mehrere Möglichkeiten:


      • Wenn Du mit Netzwerk dein ProfiNet meinst, schickst Du die Werte als Fließkommazahl am einfachsten mit dem Befehl aioSet()

      • Wenn Du mit Netzwerk TCP/IP meinst, gibt es wieder mehrere Möglichkeiten:


          • Du schickst die Daten per eingebauten Modbus/TCP (funktioniert wie ProfiNet allerdings über den Feldbus Mdbus/TCP, der auf TCP/IP basiert

          • Du schreibst die Daten aus VAL3 in eine Datei auf der Steuerung und holst diese Datei dann später per FTP ab.

          • Du installierst auf deinem PC einen FTP-Server, meldest ihn auf der Steuerung an und schreibst deine Daten direkt in eine Datei auf deinem FTP-Server

          • Du schreibst dir in VAL3 ein TCP/IP-Protokoll, welches die Daten direkt an deine Software schickt (ohne den Umweg über eine Datei). Hier bieten sich dann die Befehle toBinary und fromBinary an, um die Daten direkt in das passende Format umzuwandeln (Byte, Word, DWord, Single Precision Floating Point oder Double Precision Floating Point, Motorola- oder Intel-Format (auch als LittleEndian oder BigEndian bekannt))

        • [li]


    Die Datenaufnahme sollte in einer Echtzeittask mit 4ms Zyklus geschehen. Der Befehl dazu lautet taskCreateSync. Das verschicken der Werte würde ich allerdings in einer Standardtask (Befehl taskCreate) erledigen. Ich stimme dir zu, dass du die Werte wahrscheinlich puffern musst, um sie alle rechtzeitig wegschreiben zu können.


    Wenn Du dich in die Roboterprogrammierung "Adept" einliest, macht das nur Sinn, wenn du eine CS7 oder CS7B Steuerung hast. Für den RX160 müsstest Du dich in VAL3 einlesen ...


    Gruss


    Spielkind

  • Hey..


    Danke ist ein anfang...
    Also, wir arbeiten mit allen steuerungen, haben ca. 40 Stäubliroboter hier.. ;)
    aber ich denke ich werde Hauptsächlich die CS8 nutzen,
    da die anderen ein auslaufmodell sind.
    Wir haben hier nur einen Testplatz, das heist es steht meist immer ein Roboter zerlegt da.
    deswegen dachte ich mir ich nehm mir n Kabelbaum und den Körper von Achse 4 und kann mir in der nähne n Platz einrichten wo nur Handgelenke getestet werden ohne den rest vom Roboter.
    Für die Achsenspiele bräuchte ich jedoch auch Cs7 um alle Achsen (Nach meiner Prüfung) zu Testen.
    Was du geschrieben hast, hört sich toll und selbstverständlich an, sagt mir aber fast nix.. :roll:


    Bräuchte n geschriebenes Beispiel aus dem ich wiederum lernen kann..
    jede Info bringt mich weiter..



    Danke,Danke,Danke,Danke,Danke,Danke,Danke,Danke,


  • Wir haben hier nur einen Testplatz, das heist es steht meist immer ein Roboter zerlegt da.


    Hm, ich verstehe nicht so ganz, was das werden soll. Welche Rolle spielt in der ganzen Geschichte die SPS ? Was könnte man da berechnen, was man auf dem Roboter nicht berechnen kann ? Gibt es da irgendwelche Sensoren zur Messung des mechanischen Spiels, die an die SPS angeschlossen sind ?


    Daten auf dem Roboter zyklisch zu sammeln und dann als große Tabelle zu einer SPS zu schicken, die ja auch zyklisch denkt und mit der azyklisch notwendigen großen Rechenleistung zum Auswerten der Tabelle ungünstig belastet wird, erscheint mir irgendwie sinnfrei.


    TCP/IP zwischen Roboter und einer SPS ist für Anfänger sicher auch nicht ideal. Dann hat man zwei Blackboxes in die man nur indirekt über die PC-Programmiersoftware der beiden hineinsehen kann und die Fehlersuche ist ungeheuer müsam. Wir hatten dazu hier in anderen Unterforen schon Threads. Da ist die Kommunikation aus einem PC-Programm mit dem Roboter einfacher zu lernen.


    Wenn das ganze eine Art Diagnoseanwendung wird, die man bei vielen Robotern jeweils nur kurz benutzt, erscheint mir eine Lösung bei der man sich mit einem Laptop andockt logischer, als erstmal jeden Roboter mit einer SPS zu verbinden, Feldbus zu konfigurieren usw.


    Grüße


    Urmel

  • Hallo,


    Danke nochmal das ihr euch die Zeit nehmt um euch mit meinem Problem zu beschäftigen.


    Also,
    In meiner Firma ist eine Testecke wo Roboter gewartet werden, mit alter und neuer steuerung.
    Da ich als Technikerabschlussprojekt die Aufgabe bekommen habe ein Verfahren zu erstellen was schnelles testen von Handgelenken und Motorenspiel ermöglicht, muss ich das alles ein wenig ausweiten.


    PC-Visualisierung (Proconwin)
    Notauskreis für die Testecke ( gibts noch nicht )
    Temperaturaufnahmen ( Deswegen SPS )


    Nun soll das ganze so aussehen:
    - Handgelenk aufbauen mit oder ohne Roboterarm
    - Schutztüren schliessen
    - über Visualisierung starten und Daten aufnehmen
    - Benachrichtigung ob io oder nicht


    Stäubli sieht für den Handgelenketest (nach reperatur) 24h Testlauf vor.
    Dafür haben wir aber zu viele.
    Hauptproblem ist das Leute von uns Gelenke, Motoren ohne genaue Analyse tauschen. Bis jetzt wird alles zur Reperatur eingeschickt ob def. oder nicht. Nun sollen diese Komponenten vorher getestet werden ob sie wirklich def. sind.


    Nach einem Roboterzusammenbau um den Roboter einzumessen ( Vreg )
    sollten noch fix die Achspiele gemessen werden.


    wenn ich die Daten für die Berrechnung des Motors/Achsenspiels schon Im Roboter programieren kann und mir nur die Auswertung zum PC schicken lassen kann, ist das super, nur WIE?
    Ich fange nur gerade an mich mit "diesem" Programieren auseinanderzusetzen.(Val3 / Adept / Netzwerk)


    Wenn ich wüste wie ich alles am besten mache, hätte ich hier nicht gefragt.
    Ich suche Beispiele, Ideen wie und wo ich die Berrechnung am besten machen kann und wie ich sowas über das netzwerk schicken kann, da ich davon überhaupt noch keine ahnung habe wie man da anfängt.


    Ich möchte nicht das ihr mir die sachen fertig schickt, aber ich brauche Vorschläge mit denen ich was anfangen kann ( einlesen, lernen ;) )


    So, hoffe jetzt ist es ein wenig klarer.
    Danke für eure Zeit.

  • Hallo,



    Wenn ich wüste wie ich alles am besten mache, hätte ich hier nicht gefragt.


    Das ist mir schon klar, aber solange man nicht versteht, was dieses Sammelsurium an Komponenten eigentlich tun soll, weiß ich nicht, wie man mit einem einfachen Programmbeispiel helfen könnte. Was deinem Projekt fehlt, ist erstmal ein roter Faden, der zeigt wer mit wem was macht.



    PC-Visualisierung (Proconwin)


    Also gibt es da auch noch einen PC ? Davon war bisher überhaupt nicht die Rede, ich bin bisher davon ausgegangen die Daten sollten zwischen Robotersteuerung und SPS übertragen werden. Oder sollen die Daten vom Roboter über die SPS zur Visualisierung geschickt werden, um die ganze Sache komplizierter zu gestalten ?



    Temperaturaufnahmen ( Deswegen SPS )


    Nicht wirklich, oder ? Ist das die einzige Aufgabe der SPS ? Es gibt diverse preiswerte Temperaturmesslösungen für PCs, ich kann mir nicht vorstellen, dass eine Software wie Proconwin sowas nicht unterstützt. Aber gut, dann hat die SPS wenigstens eine Aufgabe.



    Nun sollen diese Komponenten vorher getestet werden ob sie wirklich def. sind.


    Das ist der Punkt, den ich immer noch nicht verstanden habe. Werden da nur die Achsen bewegt ? Wird da was gemessen ? Anscheinend ohne äußere Sensoren, also stehen einem ja nur Soll- und Istposition und vielleicht die Motorströme zur Verfügung. Das reicht um zu sehen, ob die Achse ok ist ?


    Sollen diese Daten dann archiviert und später ausgewertet werden oder in Echtzeit zur Visuallisierung gebracht werden ?



    Netzwerk


    Da scheinst du am wenigsten Ahnung zu haben, wovon reden wir hier eigentlich ?


    Deine SPS scheint Profibus und Profinet zu haben ? Reden wir bei "Netzwerk" über Profinet ? Habe ich bei Stäubli noch nicht gesehen, aber aus der Antwort von Spielkind schliesse ich, dass das roboterseitig ähnlich wie Profibus aussieht.


    Aber haben die alten CS7 wirklich Profinet ? Oder sollen in deinem Projekt die verschiedenen Steuerungen über verschiedene Bussysteme angebunden werden ?


    Egal ob Profibus,Profinet oder Modbus/TCP, roboterseitig brauchst du da nur etwas einzurichten, wenig zu Programmieren. Wie Spielkind oben schon andeutete, erfolgt der Datenaustausch dann über digitale oder analoge Ein- oder Ausgänge, deren Werte du änderst.




    Ganz anders sieht es aus, wenn dein "Netzwerk" normales Ethernet meint.


    Da hast du entweder eine normale TCP/IP-Verbindung, die wird roboterseitig fast wie eine serielle Schnittstelle behandelt. Man kann Daten hineinschreiben und herauslesen, mehr nicht. Was die Daten bedeuten, ist ganz allein deine Sache. Das meinte Spielkind mit


    Du schreibst dir in VAL3 ein TCP/IP-Protokoll, welches die Daten direkt an deine Software schickt (ohne den Umweg über eine Datei). Hier bieten sich dann die Befehle toBinary und fromBinary an, um die Daten direkt in das passende Format umzuwandeln (Byte, Word, DWord, Single Precision Floating Point oder Double Precision Floating Point, Motorola- oder Intel-Format (auch als LittleEndian oder BigEndian bekannt))


    Zumindest für die CS8C gibt es von Stäubli ein kleines Beispielprogramm zur TCP/IP-Kommunikation. Darauf könntest du ja aufbauen.



    FTP ist eine komplexere Geschichte, da werden intern zwei TCP/IP Verbindungen benutzt, eine für die Befehle und die andere für die Daten. Die Programmierung sieht ein bischen aus, wie das Schreiben von Beiträgen hier im Forum. Man meldet sich mit Benutzername und Passwort an und kann Dateien lesen und schreiben.




    So, jetzt hast du erstmal einen Überblick. Werde dir erstmal klar, was du eigentlich machen willst.



    Wie ich schon geschrieben habe, das ist eine typische Diagnosegeschichte und damit eher ein Fall für einen PC. Wenn man sich nicht mit PC-Programmierung auskennt, dann eben mit einer Visualisierungssoftware. Da kann man sicher über Scripte oder eingebundene externe Programme etwas ähnliches erreichen.



    Grüße


    Urmel

    Einmal editiert, zuletzt von Urmel ()

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