Positionsdaten einlesen in Cosirop

  • Hallo wir sind elektro- und Maschinenbau Studenten aus Heerlen (Niederlande) und arbeiten an einem Projekt. Wir arbeiten mit einem mitsubitschi RV-6SL.
    Mit Hilfe von einer Kamera und NI Vision können wir ein Objekt erkennen und die Positionsdaten ermitteln.
    Die Positionsdaten können wir mit Hilfe von rs232 Kommunikation Senden.
    Wir können in Cosirop Programme schreiben, sind aber noch nicht soweit um die Positionsdaten einzulesen.
    Wir haben folgendes Vorbild-Programm gefunden:


    10 OPEN "COM1:" AS #1
    15 OVRD 5
    20 MOV P_01
    40 INPUT #1,M1,M2,M3
    50 P_01.X=M1
    60 P_01.Y=M2
    70 P_01.C=M3
    80 CLOSE
    90 END


    Wir wollen die Positionsdaten einen Namen zuweisen so dass wir schreiben können "MOV Positionsdaten".


    Könnt ihr uns Helfen?


    Grüße aus den Niederlanden (Vizeweltmeister ;) )

  • ANZEIGE
  • Hallo,


    wieviele Koordinaten haben denn eure Positionsdaten ?


    Mann kann ganze Positionen einlesen:


    Code
    Input #1, P10
    Mov P10


    Dann muss der Text, den ihr sendet die Form


    (1.23, 1.23, 1.23, 1.23, 1.23, 1.23)


    haben, wie in einer normalen Roboterposition.


    (ich schreibe hier Melfa Basic 5, da stören die Zeilennummern nicht so, denkt euch einfach Zeilennummern davor.)


    Oder ihr habt z.B. nur X- und Y-Koordinaten:


    Code
    P10 = P5
    Input #1, MX, MY
    P10.X = MX
    P10.Y = MY
    Mov P10


    Dann schickt ihr einfach z.B. 123.45, 256.78


    Wenn ihr die serielle Schnittstelle vorne am Roboter verwendet, müsst ihr noch ein "PRN" vor den Text schreiben, den ihr sendet.


    Grüße


    Urmel

  • Vielen Dank dass sie so schnell reagieren. Wir brauchen nur die X Y Koordinaten. In dem Code den sie beschreiben steht P10=P5 warum?
    Und wie müssen wir PRN vor dem Text schreiben?


    Grüße,


    out of the box team


  • In dem Code den sie beschreiben steht P10=P5 warum?


    Nur als Beispiel. Die anderen vier Koordinaten müssen ja irgendwo her kommen, z.B. von einer anderen Position.



    Und wie müssen wir PRN vor dem Text schreiben?


    Der Roboter erwartet an der seriellen Schnittstelle Steuerbefehle, z.B. von Cosirop. Damit er den Text, der da ankommt, nicht als Steuerbefehl interpretiert und einen Fehler meldet, muss jede Zeile die an das Input weitergeleitet werden soll, mit der Zeichenfolge "PRN" beginnen, also z.B. PRN 123.45, 256.78 .


    Man kann das auch abschalten, dann landen die Daten alle beim Input, für Ethernetports gibt es hier einige Themen dazu (Parameter CPRC...). Bei der seriellen Schnittstelle sollte einem aber klar sein, dass die dann nicht mehr mit Cosirop usw. funktioniert.

  • Wir können Koordinaten senden mit NI Vision. Die werte sind aber mit Komma getrennt (55,29, 33,45) anstatt (55.39, 33.45). Weiß jemand wie man in Vision Komma in punkte ändern kann?
    Wir senden mit dem seriellen rs232 Kommando.


    Grüße


    out of the box

  • Hallo,


    Der roboter den wir haben (Mitsubishi RV-6SL) hat einen serielen Eingang der verbunden ist mit einem pc mit Cosirop drauf.
    Wir kunnen den roboter mit hilfe von Cosirop "Runnen" lassen. Unsere frage ist ob der roboter auch mit hilfe des teachpendant "gerunt" werden kann. Wir brauchen den serielen eingang nämlich um koordinaten zu senden.


    Vielen dank

  • Wir haben dass programm mit dem controller gestartet, aber der controller gibt den L3310 error (cannot execute XRUN. Xrun is not possible as the designated slot is operated) Was kan der grund hier für sein?


    Grüsse

  • Hallo,


    Wir senden diesen string: PRN(8.00,-59.00,00.00,77.00,-54.00,12.00)


    Wir haben dieses Programm geschrieben:


    10 OPEN "COM1" AS #1
    20 INPUT #1,P7
    30 OVRD 5
    40 MOV P7
    50 END


    Aber der Controller gibt einen L3110 error wenn wir dass Programm runnen (The argument value is not within the range). Wir wissen aber mit Sicherheit das die Koordinaten erreichbar sind für den Roboter. Was wird mit argument value gemeint?


    Vielen dank im voraus,


    Out of the box team

  • Wir haben den Fehler entdeckt wir hatten OPEN "COM1" AS #1 anstatt OPEN "COM1:" AS #1
    Es war also die erste Zeile.
    Jetzt haben wir aber einen neuen error bei de ersten Zeile und zwar den L3130 error (Com file is already opened. Opening of a file already opened was attempted).
    Als Maßnahme steht da: Check the file No. and re-execute. Welche Datei sollen wir kontrollieren?


    Grüße

  • Hallo,


    mit Datei meint er die serielle Schnittstelle. Mit OPEN werden sowohl Dateien geöffnet, als auch Schnittstellen.


    Was macht er, wenn ihr vor das OPEN eine Zeile mit einem CLOSE (ohne weitere Parameter) schreibt ?


    Eventuell gibt es da Durcheinander, weil ihr auch Cosirop mit der seriellen Schnittstelle verwendet. Eine Ethernetkarte hat euer Robbi wohl nicht ?

  • Unser Roboter hat keine Ethernetkarte.


    Wir haben das Programm geändert und jetzt gibt er den Fehler nicht mehr vielen dank dafür!!


    Wir wissen jetzt auch welcher COM port der richtige ist nämlich COM2. Wenn wir das Programm runnen passiert erst mal nichts, wenn wir dann mit Vision die Koordinaten senden kommt erst der folgende error und zwar error L3140.
    L3140: Can't open COM file.
    Dass heißt wir müssen die Koordinaten in einer Form senden die der Controller verstehen kann.


    Der string den wir senden:


    PRN(5.0,-56.0,0.0,77.0,-54.0,12.0)


    Muss da ein CR am ende sein?


    Grüsse

  • COM2 ist bei einem Roboter ohne Zusatzkarten normalerweise gar nicht vorhanden.


    Die Zuordnung der COM-Files zu seriellen Schnittstellen und TCP/IP-Ports steht im Parameter COMDEV. Wenn der auf seinem Standardwert "RS232C,,,,,,," steht, ist die Schnittstelle vorne am Controller COM1. Das würde ich normalerweise auch nicht ändern.

  • Hallo,


    Können sie uns ein einfaches Programm schicken sodass der Roboter von einer eingelehrten Position zu einer Position bewegt die seriell gesendet wurde? Und auch den string den wir senden müssen mit NI Vision weil wir nicht genau wissen was der Controller für Information brauch. Wir wissen gar nicht ob es überhaupt möglich ist seriell Positionsdaten zu senden sodass der Roboter dann auch da hingeht.
    Wir hoffen das wir so verstehen wie wir für unser Projekt vorgehen müssen.


    Grüße

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