19. Januar 2019, 21:41:26
Roboterforum.de - Die Industrieroboter- Anwender und Experten Community

 Positionsdaten einlesen in Cosirop


veryhot_post Autor Thema:  Positionsdaten einlesen in Cosirop  (Gelesen 4967 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

23. September 2010, 10:52:37
Gelesen 4967 mal
Offline

out_of_the_box


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  ;) )
 
  • gefällt mir    Danke

Heute um 21:41:26
Antwort #1

Werbung

Gast

Heute um 21:41:26
Antwort #1

Werbung

Gast

23. September 2010, 12:36:29
Antwort #1
Offline

Urmel

Global Moderator
Hallo,

wieviele Koordinaten haben denn eure Positionsdaten ?

Mann kann ganze Positionen einlesen:

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:

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
  • gefällt mir    Danke

23. September 2010, 12:59:56
Antwort #2
Offline

out_of_the_box


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 
 
  • gefällt mir    Danke

23. September 2010, 13:40:41
Antwort #3
Offline

Urmel

Global Moderator

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


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.
  • gefällt mir    Danke

23. September 2010, 14:26:37
Antwort #4
Offline

out_of_the_box


Hallo Urmel,

Wir haben folgendes programm geschrieben:

10 P10=P1
20 OPEN "COM1" AS #1
30 INPUT #1,MX,MY
40 P10.X=MX
50 P10.Y=MY
60 OVRD 5
70 MOV P10
80 END

Funktioniert leider nicht. Können Sie einen Fehler entdecken?

Grüße
  • gefällt mir    Danke

Heute um 21:41:26
Antwort #5

Werbung

Gast

23. September 2010, 14:53:34
Antwort #5
Offline

Urmel

Global Moderator

Ah, und ich soll jetzt raten was nicht geht, oder wie ?


Nein, sollte als Minimalbeispiel so funktionieren.
  • gefällt mir    Danke

23. September 2010, 15:05:30
Antwort #6
Offline

out_of_the_box


Hallo Urmel,

Wir senden:           PRN 15,26, -98,58

Kann das ein Problem sein weil Mitsubishi nur punkte vor dem dezimal lesen kann?
Würde es gehen wenn wir Positionsdaten senden ohne dezimal?

Grüße
  • gefällt mir    Danke

23. September 2010, 15:36:47
Antwort #7
Offline

Urmel

Global Moderator
Ja, Punkte als Dezimalzeichen, eventuell auch mal die Leerzeichen weglassen:

PRN15.26,-98.58CR

Wobei CR für das ASCII Zeichen 13 "Carriage Return" steht.
  • gefällt mir    Danke

23. September 2010, 16:03:54
Antwort #8
Offline

out_of_the_box


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
  • gefällt mir    Danke

Heute um 21:41:26
Antwort #9

Werbung

Gast

27. September 2010, 11:02:31
Antwort #9
Offline

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
  • gefällt mir    Danke

27. September 2010, 11:43:05
Antwort #10
Offline

Urmel

Global Moderator
Man kann ein Programm auch mit der Starttaste auf dem Controller starten ...
  • gefällt mir    Danke

27. September 2010, 13:51:33
Antwort #11
Offline

out_of_the_box


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
  • gefällt mir    Danke

27. September 2010, 15:28:04
Antwort #12
Offline

Urmel

Global Moderator

Steht doch da, man kann kein Programm in einem Slot starten, in dem schon eines läuft.
  • gefällt mir    Danke

Heute um 21:41:26
Antwort #13

Werbung

Gast

29. September 2010, 10:26:27
Antwort #13
Offline

out_of_the_box


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
« Letzte Änderung: 29. September 2010, 10:48:18 von out_of_the_box »
  • gefällt mir    Danke

29. September 2010, 11:08:15
Antwort #14
Offline

Urmel

Global Moderator
Hallo,

in welcher Zeile kommt denn der Fehler ? Wenn der Roboter piepst, kann man die Anzeige mit der Change Display Taste auf die Zeilennummer umschalten.

Grüße

  Urmel
  • gefällt mir    Danke


Teile per facebook Teile per linkedin Teile per pinterest Teile per reddit Teile per twitter
 

über das Roboterforum

Nutzungsbedingungen Impressum Datenschutzerklärung

Sponsoren des Roboterforums

ROBTEC GmbH