Roboterforum Willkommen Gast. Bitte einloggen oder registrieren.
Haben Sie Ihre Aktivierungs E-Mail übersehen?
18. Mai 2012, 11:47:42
Übersicht Hilfe Suche Kalender Einloggen Registrieren
News: >> Roboterprogrammierer gesucht !? <<

Roboterforum für Industrieroboter Anwender  |  Industrieroboter Helpcenter  |  ABB Roboter (Moderatoren: burlibua, Sven Weyer, rmac)  |  Thema: Kreise, Löcher 0 Mitglieder und 1 Gast betrachten dieses Thema. « vorheriges nächstes »
Seiten: [1] Nach unten Drucken
Autor Thema: Kreise, Löcher  (Gelesen 1310 mal)
Roboterteufel
Neuling
*
Offline Offline

Geschlecht: Männlich
Beiträge: 12


« am: 26. Dezember 2007, 10:41:42 »

Habe mal eine Routine geschrieben die Kreise oder Löcher bearbeiten kann.
Könnte jemand mal testen ob diese Routine auch auf anderen Roboter (ausser ABB) funktionieren könnte.

%%%
  VERSION:1
  LANGUAGE:ENGLISH
%%%

MODULE KREIS_MATHE(SYSMODULE)
  PROC kreis(
    robtarget Start_pos,
    num Radius,
    speeddata vSpeed,
    PERS tooldata tTool,
    PERS wobjdata WOBJ)

    VAR num x_pos;
    VAR num y_pos;

    TriggIO trStart,0\DOp:=doHpWater,1;
    TriggIO trStop,0\DOp:=doHpWater,0;
    ! Fahrbewegungen
    TriggL RelTool(Start_pos,0,0,0\Rx:=0\Ry:=0\Rz:=0),vSpeed,trStart,z1,tTool\WObj:=WOBJ;
    FOR i FROM 0 TO 400 STEP 4 DO
      x_pos:=Radius*Cos(i);
      y_pos:=Radius*Sin(i);
      MoveL RelTool(Start_pos,x_pos,y_pos,0\Rx:=0\Ry:=0\Rz:=0),vSpeed,z1,tTool\WObj:=WOBJ;
    ENDFOR

    TriggL RelTool(Start_pos,0,0,0\Rx:=0\Ry:=0\Rz:=0),vSpeed,trStop,z1,tTool\WObj:=WOBJ;
    RETURN;
  ENDPROC
ENDMODULE



Die markierten Zeilen sind das Kernstück der Anwendung und müssten nur für andere Roboter angepasst werden.
Wenn mir jemand eine Rückmeldung geben könnte, ob die Routine auf anderen Maschinen läuft oder ob Sie verbesserungswürdig ist

Roboterteufel
Gespeichert
burlibua
Moderator
Junior Member
*****
Offline Offline

Beiträge: 110


« Antworten #1 am: 31. Dezember 2007, 17:04:25 »

Hey

Ich versteh das ganze nicht.
Warum machst du das nicht mit MoveC und verschiebst die Punkte mit offs

Würde sich besser für die Bewegung ergeben

mfG Burlibua
Gespeichert
Roboterteufel
Neuling
*
Offline Offline

Geschlecht: Männlich
Beiträge: 12


« Antworten #2 am: 02. Januar 2008, 09:11:35 »

Hierbei kommt es auf deas universelle einsetzen an. Variabler Radius (von 1mm bis Max Roboter) Geschwindigkeit bei radien > 6cm und die Genauigkeit ( hälte des Tools, z.B. Wasserstrahlschneiden 0,1 bis 0,15 mm auf der gesammten Bahn).
 Einmal programmiert ist das Ding auf S4 bis IRC5 einsetzbar.

Mfg Roboterteufel
Gespeichert
stromer
Special Member
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 272


Denken hilft


« Antworten #3 am: 02. Januar 2008, 09:30:13 »

Hallo Roboterteufel,

die Idee hinter Deinem Programm finde ich ganz gut. Ohne Dein Programm bis ins Detail nachvollzogen zu haben, kann ich Dir aber sagen es wird wohl nur bei ABB funktionieren, weil Du nur bei ABB den RelTool hast. Alle anderen die ich kenne (KUKA, Motoman, Fanuc, Kawasaki, Adept und Hirata) haben keinen solchen Befehl. Allerdings wäre es denkbar den Reltool auch über Vektorberechnung zu machen, dann ginge es wohl auch für Kuka und Kawasaki. Vielleicht auch für Fanuc wenn man in Karel programmiert (weiß aber nicht genau).

Einen MoveC gibt es soweit ich weiß bei allen Robotern. Um etwas allgemeingültiges zu bekommen könnte ich mir vorstellen, eine Routine zu schreiben, die die notwendigen Punkte dafür ausrechnet. Dann muß man nurnoch die jeweilige Syntax ein bischen anpassen.

Gruß
Stromer
Gespeichert
Urmel
Global Moderator
Elite Member
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 785


« Antworten #4 am: 02. Januar 2008, 10:19:05 »

Hallo,

bei einem Mitsubishi würde es auch gehen. Da gibt es zwar keinen speziellen Befehl für Toolbewegungen, aber man kann mit Positionen rechnen.

Ein "Fahre von der aktuellen Position 10 mm in Tool-X" läßt sich einfach so schreiben:

Code:
MOV P_CURR * (10,0,0,0,0,0)

Die FOR-Schleife sähe also ganz ähnlich aus.

Einen Kreis in Tool-Richtung würde ich aber eher so machen:

Code:
PTMP1 = P_ZERO
PTMP1.X = MRADIUS
PTMP1.Y = MRADIUS

PTMP2 = P_ZERO
PTMP2.X = -MRADIUS
PTMP2.Y = MRADIUS

MVC PSTART, PSTART * PTMP1, PSTART * PTMP2

Für noch kompliziertere Bewegungen gibt es noch den Befehl MXT, da kann man dem Roboter im Interpolationstakt seine Bahn vorgeben. Entweder über eine Netzwerkverbindung vom PC oder über eine Textdatei auf der Robotersteuerung, wo jede Zeile eine Position enthält.

Grüße

  Urmel
Gespeichert
Seiten: [1] Nach oben Drucken 
Roboterforum für Industrieroboter Anwender  |  Industrieroboter Helpcenter  |  ABB Roboter (Moderatoren: burlibua, Sven Weyer, rmac)  |  Thema: Kreise, Löcher « vorheriges nächstes »
Gehe zu:  


Einloggen mit Benutzername, Passwort und Sitzungslänge

Powered by MySQL Powered by PHP Powered by SMF 1.1.16 | SMF © 2006, Simple Machines Prüfe XHTML 1.0 Prüfe CSS