Roboterforum Willkommen Gast. Bitte einloggen oder registrieren.
Haben Sie Ihre Aktivierungs E-Mail übersehen?
18. Mai 2012, 12:21:08
Übersicht Hilfe Suche Kalender Einloggen Registrieren
News: English and international Robotsupport now on Robot Forum. Also Supported by the Moderators of the roboterforum.de

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

Beiträge: 10


« am: 10. März 2008, 10:30:17 »

Hallo

Ich Arbeite in meiner Firma an einer Anlage die mit je einem IRB-2400 und IRB-6400 ausgestattet ist.
Ich müsste an denn Achsen beim IRB-6400 X und Y eine Korrektur vornehmen.
1.   Die Korrektur funktioniert aber nur bei der X-Achse.
2.   Bei der Y-Achse nimmt er die Korrektur nicht an.
Woran kann das liegen?

 Mit freundlichen Grüßen.
Charly
Gespeichert
Sven Weyer
Moderator
Elite Member
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 912



WWW
« Antworten #1 am: 10. März 2008, 11:13:44 »

Lass mich mal in meine Glaskugel sehen. Au ja aber sehr verschwommen.  Denken

Nein jetzt mal im ernst. Mit dieser Menge an Informationen solltest Du einen Wahrsager besuchen. Eventuell kann er Dir was darüber sagen aber hier wirst Du, denke ich einmal, keine vernünftigen Infos bekommen.
Aber versuche doch einmal Dein Programm zu erklären und nimm Dir etwas Zeit um uns Deine Problematik näher darzulegen. Was möchtest Du warum wie verschieben. Und wie gehts Du dabei genau vor. Editierst Du die Punktdaten, oder  kopfkratz ?
Wenn man Dein Programm nicht kennt, kann man nichts sagen. Und Deine Informationen reichen einfach nicht um irgend eine effektiven Hinweis geben zu können.

Sorry.

Sven
Gespeichert

Wer nichts macht macht keine Fehler!
Wer keine Fehler macht kann nichts daraus lernen!
Wer nichts lernen kann kann sich nicht weiterentwickeln!
Wer sich nicht entwickelt geht unter!
rmac
Global Moderator
Special Member
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 282


« Antworten #2 am: 10. März 2008, 13:44:52 »

[...]Aber versuche doch einmal Dein Programm zu erklären und nimm Dir etwas Zeit um uns Deine Problematik näher darzulegen. Was möchtest Du warum wie verschieben. Und wie gehts Du dabei genau vor. [...]
Also ich denke Sven's Berufswunsch in seinem nächsten Leben ist klar: Therapeut   uglyhammer_2

Nee, aber ganz im Ernst, damit kann kaum einer was anfangen, da hat er natürlich völlig recht.....
Gespeichert
Charly
Neuling
*
Offline Offline

Beiträge: 10


« Antworten #3 am: 10. März 2008, 23:29:00 »

Das ist nicht so einfach mit dem erklären, aber ich werde es versuchen.
Ich wurde an dieser Anlage leider nur angelernt, also keine Schulungen nichts und sie bezahlen auch keine. Ich möchte jedoch ein bisschen mehr.
 
Es handelt sich hier um eine Registerschweißanlage mit einem Drehturm wo 8mm Rundmaterial  mittels einer Schweißzange (Widerstandschweißen) auf  Rohre aufgeschweißt werden.
Und genau darum geht es jetzt, die Elektrodenmulde der Schweißzange setzt nicht genau an der Rohrmitte an sonder ein wenig versetzt und das würde ich gerne korrigieren.

Das wäre der Programmabschnitt wo ich die Änderung mache.
Das funktioniert aber nur mit der X-Achse (-261.45) aber nicht mit der Y-Achse (158)


CONST robtarget p_RefPos:=[[-261.45,158,130.95],[0.002275,-0.999998,0.000436,-0.000507],[-1,-1,-2,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];

Wenn ihr meint es wäre Hoffnungslos mit mir dann sagt es mir bitte.

Mit freundlichen Grüßen.
Charly
Gespeichert
rmac
Global Moderator
Special Member
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 282


« Antworten #4 am: 11. März 2008, 08:04:41 »

Hi Charly,

also hoffnungslos ist erstmal garnichts....

Zunächst ist Dein Programmausschnitt ja nur eine Position/Orientierung und kein Verfahrbefehl.
Da könnte sich schon prinzipiell was ändern wenn Du X/Y änderst, muß aber auch nicht wenn z.B. Y
im weiteren Verlauf des Programms irgendwo berechnet/geändert/korrigiert wird.

Such doch mal die (Verfahr-)Befehle raus, die auf p_RefPos zugreifen und poste hier die
entsprechenden Programmausschnitte (mit ein bisschen drum-rum), dann kann man vielleicht
etwas mehr sagen.

Gruß
rmac
Gespeichert
Sven Weyer
Moderator
Elite Member
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 912



WWW
« Antworten #5 am: 11. März 2008, 09:01:18 »

Hi Charly,
siehst Du so einfach ist das ein bischen plaudern paar korrekte Infos und schon kann man Dir wieder ein paar Fragen stellen um das Du Dich an diese Problematik heran tastan kannst. Und Früher oder Später findet man dieses Problem und Du kennst Dich danach auch besser mit Deinem Programm aus.

Warum meinst Du hoffnungslos. sieht Doch vernünftig aus. Jetzt haben wir eine Basis. Hier wird keiner mit vernünftigen Fragen aufgegeben!

@ Topic: Wie rmac schon sagte würde ich mal das gesamte Programm, auch Systemmodule, durchsuchen. Nimm Dir Zeit und einen vernünftigen Editor. Dann mach ein Backup und suche in allen Dateien nach p_RefPos. So nun bekommst Du einen Überblick wo und was mit Deiner Position im Programm gemacht wird. Lass Dir ruhig Zeit.

Achtung nicht nur das prg. speichern hier werden keine Systemmodule mit abgespeichert. Mach ein Backup als Datensicherung.

Nun kenn ich Dein Programm nicht aber wenn Du mal alle Module durchsucht wirst Du etwas finden. Suche auch mal nach p_Refpos.trans.y, ist einer gängige Art auf einzelne Positionsdaten zuzugreifen.

Melde Dich ruhig wenn es noch Fragen gibt.

Sven
Gespeichert

Wer nichts macht macht keine Fehler!
Wer keine Fehler macht kann nichts daraus lernen!
Wer nichts lernen kann kann sich nicht weiterentwickeln!
Wer sich nicht entwickelt geht unter!
Charly
Neuling
*
Offline Offline

Beiträge: 10


« Antworten #6 am: 11. März 2008, 10:01:04 »

Hallo rmac

Erstmal danke für die schnelle Antwort.
Da gibt’s ja doch noch Hoffnung für mich.

So jetzt haben ich gleich das nächste Problem, wo find ich diese Verfahrbefehle.
Die Änderung mache ich mit dem PG  in dem Modul (RR_CONFIG)
Und wie gesagt  bei X funktioniert es ja auch sehr gut.

Hallo Sven

Da kommt ja Bewegung in die Sache.
Backup habe ich sofort gemacht, sollte was daneben gehen.
p_RefPos.trans.y hab ich gefunden in der Datei RR_  die ist aber sehr groß.
 
Hier bekommt ihr mal eine Datei wo ich die Änderung machte mit dem PG.


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

MODULE RR_Conf
  !
  !  Konfigurationsdaten-Modul für IRB 64-10282
  !
  !  Rohrregisterschweissanlage
 
  !- Positionen ------------------------------------------------------------------------------
  !
  !  Basis_Position
  CONST robtarget p_Base:=[[454.65,158.28,77.84],[6.7E-05,1,-0.000467,0.000532],[-1,-1,-2,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
  ! 
  !  Referenzposition (Seite_2 Spanner_2, VK_Spanner=mitte Mulde, höchster Registerpunkt=mitte obere Elektrode, UK_Spanner=UK_Mulde)
  CONST robtarget p_RefPos:=[[-261.45,158,130.95],[0.002275,-0.999998,0.000436,-0.000507],[-1,-1,-2,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
  !
  !
  !
  !- Maße in mm ------------------------------------------------------------------------------
  !
  !  Referenz_Korrekturmaß in X_Richtung (Referenzpunkt bis mitte Windung bei 0°Abstützungswinkel)
  CONST num x_KorRef:=25;
  !
  !  Maß für TCP Abweichung bei Grundposition Check
  CONST num n_BaseRange:=5;
  !
  !  Maß für Hub bei Schweißung
  CONST num n_SwHub:=8;
  !
  !
  !
  !- Winkel in Grad --------------------------------------------------------------------------
  !
  !  minimaler Drehwinkel für serielle Entgratung
  CONST num Winkel_Entgr:=240;
  !
  !
  !
  !- Zeit in Sekunden ------------------------------------------------------------------------
  !
  !  Wartezeit bis Fehlerauswertung :
  CONST num n_ErrTime:=2;
  !
  !  Wartezeit bei Schweißung bis Hub der Zange
  CONST num n_SwHubTime:=0.25;
  !
  !
  !
  !- Geschwindigkeit in mm/sec ---------------------------------------------------------------
  !
  !  generelle Geschwindigkeit
  CONST speeddata s_Work:=[7000,500,5000,1000];
  !
  !  Geschwindigkeit beim Hochheben bei Schweißung
  CONST speeddata s_SwHub:=[300,500,5000,1000];
  !
  !
  !
  !- Intervall -------------------------------------------------------------------------------
  !
  !  Anzahl der Schweißpunkte bis Elektrodenwechsel
  CONST num n_SwIntervall:=10000;

  !
  !
  !- Positions-Definitions-Procedur ----------------------------------------------------------
  !
  PROC r_BasePosDef()
    !
    !  zur Definition einmaliger Grund-Positionen
    !
    !  Wobj - je nach Tischseite akti-
    !  vieren und verschieben
    TPReadFK reg1,"Stations-Seite auswählen","S1","S2",stEmpty,stEmpty,stEmpty;
    IF reg1=1 wobj_act:=wobj_S1;
    IF reg1=2 wobj_act:=wobj_S2;
    !
    Break;
    !
    !  Manipulator-Basis-Position anfahren
    MoveL p_Base,v100,fine,to_Zange\WObj:=wobj_act;
    !
    !  Referenzposition (Seite_2 Spanner_2, VK_Spanner=mitte Mulde, höchster Registerpunkt=mitte obere Elektrode, UK_Spanner=UK_Mulde)
    MoveL p_RefPos,v50,fine,to_Zange\WObj:=wobj_act;
    !
    !  Meßposition_1 zum Vermessen der einzelnen Spanner je Seite (UK_oberer_Zangenteil+100=Seite_1_UK_Spanner_1)
    MoveL [[-1138.51,0.75,138.93],[9.8E-05,1,-0.00041,0.000545],[0,-1,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v300,fine,to_Zange\WObj:=wobj_act;
    !
    !  Meßposition_2 zum Vermessen der Schweißhöhe (UK_oberer_Zangenteil-800=Seite_1_UK_Spanner_1)
    MoveL [[-1087.66,22.3,514.85],[7.9E-05,1,-0.000427,0.000542],[0,-1,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v300,fine,to_Zange\WObj:=wobj_act;
  ENDPROC
ENDMODULE

Mit freundlichen Grüßen
Charly


Gespeichert
rmac
Global Moderator
Special Member
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 282


« Antworten #7 am: 11. März 2008, 14:20:35 »

Charly,

So jetzt haben ich gleich das nächste Problem, wo find ich diese Verfahrbefehle.
In dem Du die Dateien, wie von Sven beschrieben, z.B. mit einem Texteditor nach p_RefPos durchsuchst.
Müssen auch nicht unbedingt Verfahrbefehle sein, sondern Zugriffe auf p_RefPos allgemein.
Haste ja auch schon alles gemacht. So weit, so gut...

Die Kommentare in der  PROC r_BasePosDef deuten darauf hin, dass dort mehrere Meßpositionen
angefahren werden, also irgendwo eine (möglicherweise externe) Vermessung stattfindet.
Ich würde daraus schließen, dass im weiteren Verlauf des Programms eine Korrektur
von Positionen/Werkobjekten oder was auch immer durchgeführt wird, wahrscheinlich in der
von Dir gefundenen Datei RR_ wo auf p_RefPos.trans.y zugegriffen wird.
Das würde dann natürlich auch erklären warum eine manuelle Änderung von Y in der robtarget-Konstanten
nichts bringt.

Poste doch mal die Ausschnitte aus RR_ (mit ein wenig Kontext) wo p_RefPos.trans.y geändert wird.
Vielleicht die ganze Routine, wenn die nicht zu groß ist.
Dann kann man vielleicht etwas mehr sagen.

Gruß
rmac
Gespeichert
Sven Weyer
Moderator
Elite Member
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 912



WWW
« Antworten #8 am: 11. März 2008, 14:31:50 »

Hi Charly,
würde so wie von rmac vorgeschlagen mal vorgehen.
Verfolge mal Dein Programm von Main bis zu Deiner Position wenn diese angefahren wird.
Hierbei würde es mich interessieren was alles mit den Daten von p_RefPos in dem Programm passiert.

Sven
Gespeichert

Wer nichts macht macht keine Fehler!
Wer keine Fehler macht kann nichts daraus lernen!
Wer nichts lernen kann kann sich nicht weiterentwickeln!
Wer sich nicht entwickelt geht unter!
Charly
Neuling
*
Offline Offline

Beiträge: 10


« Antworten #9 am: 11. März 2008, 23:34:40 »

Hallo Sven

Hab die ganze Datei  "RR_ _ " mal rmac geschickt.

Charly
 
Gespeichert
rmac
Global Moderator
Special Member
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 282


« Antworten #10 am: 12. März 2008, 08:17:28 »

Hallo Charly,

also ich habe noch kein Programm erhalten.  huh

Ich habe Dir mal per privater Nachricht meine EMail-Adresse geschickt.
Schicke es doch nochmal dahin.


Gruß
rmac
Gespeichert
Charly
Neuling
*
Offline Offline

Beiträge: 10


« Antworten #11 am: 12. März 2008, 08:25:55 »

Hallo rmac

Datei ist unterwegs.

Charly
Gespeichert
Sven Weyer
Moderator
Elite Member
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 912



WWW
« Antworten #12 am: 12. März 2008, 09:07:18 »

Dann klinke ich mich mal dann ab diesem Punkt hier aus.
In rmac seinen Händen bist Du in absoluter bester Betreuung!

Sven
Gespeichert

Wer nichts macht macht keine Fehler!
Wer keine Fehler macht kann nichts daraus lernen!
Wer nichts lernen kann kann sich nicht weiterentwickeln!
Wer sich nicht entwickelt geht unter!
rmac
Global Moderator
Special Member
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 282


« Antworten #13 am: 12. März 2008, 09:11:47 »

Hi Charly,

in der Datei steht u.a.:
Code:
    !  aktuelle Referenz-Position berechnen (RefPos + xyz Korrekturen)
    p_act_RefPos:=[[p_RefPos.trans.x+x_KorSw,p_RefPos.trans.y+y_KorSw,p_RefPos.trans.z+z_KorSw],[p_RefPos.rot.q1,p_RefPos.rot.q2,p_RefPos.rot.q3,p_RefPos.rot.q4],[-1,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
Hier wird die aktuelle Ref.-Pos aus der ursprünglichen p_RefPos mit irgendwelchen Korrekturen versehen.
Der Korrekturwert für Y, also y_KorSw, ist in der gesamten Datei aber weder deklariert, noch wird er in
irgeneiner Form berechnet/manipuliert.

Das muß also in einer anderen Datei stehen...
Schau doch mal ob Du die Datei findest in der y_KorSw deklariert bzw. berechnet/zugewiesen wird.

Gruß
rmac
Gespeichert
Charly
Neuling
*
Offline Offline

Beiträge: 10


« Antworten #14 am: 12. März 2008, 09:19:58 »

Hallo rmac

ist in keiner Datei zu finden. huh

Charly
Gespeichert
Seiten: [1] 2 Nach oben Drucken 
Roboterforum für Industrieroboter Anwender  |  Industrieroboter Helpcenter  |  ABB Roboter (Moderatoren: burlibua, Sven Weyer, rmac)  |  Thema: Referenz_Position « 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