20. März 2019, 08:14:53
Roboterforum.de - Die Industrieroboter- Anwender und Experten Community

 RV-3SB mit RT ToolBox2


normal_post Autor Thema:  RV-3SB mit RT ToolBox2  (Gelesen 1519 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

16. November 2011, 10:36:28
Gelesen 1519 mal
Offline

cherry126


hallo, habe mal eine frage zum program rt toolbox2...

und zwar will ich das sich die C achse dreht bis der lichtsensor reagiert.
wenn der lichttaster das loch im werkstück erkannt hatt, soll der roboter auf X-50 zum lager fahren und das werkstück mit dem loch gnau auf einen zapfen legen (altes schulprjekt was ich schon darmals nicht geschaft hebe)  =(

code:

10 if m_in(1)=1 then goto 40 else goto 20
20 mov p2 +( +0.00, +0.00, +0.00, +0.00, +0.00, +1.00)
30 goto 10
40 mvs p2 +( -50.00, +0.00, +0.00, +0.00, +0.00, +0.00)

und da ist das problem... sobald er "20 mov p2 ..." springt er beim zweiten durchlauf weider auf "p2" und die c-achse +1...

und bei "40 mvs p2 ..." hat er wieder die geteachte psoition und nicht die wodas WS loch ist...

bitte um hilfe

glg
  • gefällt mir    Danke

Heute um 08:14:53
Antwort #1

Werbung

Gast

Heute um 08:14:53
Antwort #1

Werbung

Gast

16. November 2011, 14:35:32
Antwort #1
Offline

Martl


Servus,

du musst nach der Positionierung die aktuelle Position in eine Variable einlesen.

z.B. P4 = P_CURR  => aktuelle Position wird in P4 eingelesen

dann mit P4 deine 50mm Verschiebung anfahren

mfg

Martl
  • gefällt mir    Danke

17. November 2011, 09:36:37
Antwort #2
Offline

cherry126


ok danke für die schnelle antwort =)

und jetzt habe ich noch das problem mit der c-achse. wie kann ich die aleine drehen? ich kanns ja mit "MOV P2 +(+0.00,+0.00,+0.00,+0.00,+0.00,+1.00)" und einigen "IF" befehlen machen aber das muss ja anders auch gehn oder?

wenn ich mich richtig erinnere geht das irgentwie mit "MOV C, +1" (bin mir nicht mehr sicher ob das der richtige ist) in einer schleife aber das program erkennt es nicht.

bitte noch mal um hilfe

glg
  • gefällt mir    Danke

17. November 2011, 14:46:43
Antwort #3
Offline

Martl


Servus,

du kann st einen interrupt deklarieren:

DEF ACT 1,M_IN(1) = 1 GOSUB *label    ;Roboterprogramm läuft solange bis Eingang 1 True wird, wenn Eingang 1 True dann sofort Sprung zu Label

ACT1 = 1   ;Interrupt einschalen

mov p2 +( +0.00, +0.00, +0.00, +0.00, +0.00, +360.00) ;deine Bewegung durchführen für denn kpl. Umdrehung oder soviel du willst
-hier einfügen was du machen willst wenn der Eingang nicht kommt => Fehler ausgeben oder Schleife drumherum

*label
ACT1 = 0 ; Interrupt ausschalten

P4 = P_CURR  ; aktuelle Position in P4 einlesen

mov p4 +( +0.00, +0.00, -50.00, +0.00, +0.00, +0.00)  ; 50mm nach unten von aktueller Position


mfg

Martl

  • gefällt mir    Danke

17. November 2011, 15:42:09
Antwort #4
Offline

cherry126


super danke =)

und eine frage habe ich derwegen noch:

wie kann man die C-Achse aleine drehen?
weil ich habe den robi nicht ganz gerade ausgerichtet und dann dreht er mit der j4 auch mit und kommt dann 2-5mm vom lichttaster ab =(

glg und danke für deine guten antworten =)
  • gefällt mir    Danke

Heute um 08:14:53
Antwort #5

Werbung

Gast

18. November 2011, 10:41:07
Antwort #5
Offline

Urmel

Global Moderator
Hallo,

der C-Winkel ist die Drehung um die Z-Achse eines Koordinatensystems, nicht die Handachse des Roboters. Welche (und wieviele) mechanischen Achsen sich bei einer C-Drehung bewegen, hängt davon ab, wo der Roboter gerade steht.

Du meinst wahrscheinlich eher sowas

JTmp = J_Curr
JTmp = JTmp + (0, 0, 0, 0, 0, 5.0)
Mov JTmp 

Das dreht das Handgelenk um 5 Grad.

Grüße

   Urmel
  • gefällt mir    Danke

21. November 2011, 09:31:02
Antwort #6
Offline

cherry126


ja genau das meinte ich =)

danke für die hilfe

glg
  • 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