Roboterforum Willkommen Gast. Bitte einloggen oder registrieren.
Haben Sie Ihre Aktivierungs E-Mail übersehen?
08. Februar 2012, 15:53:53
Übersicht Hilfe Suche Kalender Einloggen Registrieren
News: >> Roboterprogrammierer gesucht !? <<

Roboterforum für Industrieroboter Anwender  |  Industrieroboter Helpcenter  |  Fanuc Roboter (Moderatoren: Sven Weyer, rob76)  |  Thema: Line Tracking bzw. PaintTool 0 Mitglieder und 1 Gast betrachten dieses Thema. « vorheriges nächstes »
Seiten: [1] 2 Nach unten Drucken
Autor Thema: Line Tracking bzw. PaintTool  (Gelesen 3865 mal)
stromer
Special Member
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 268


Denken hilft


« am: 09. März 2007, 14:15:54 »

Hallo Forum!

Ich hdarf grad meinen ersten Fanuc machen und das gleich mit Line Tracking und Paint Tool. Dummerweise hab ich vom Lackieren garkeine Ahnung und vom Tracking mit Fanuc auch nicht.
Der Roboter hat irgendwann schon mal funktioniert, ist aber seit 4 Jahren nicht mehr benutzt worden, weil die Teile nicht mehr produziert werden.
Mein Hauptproblem im Moment ist die Bedienung vom Line Tracking. Wie sag ich dem Robi wann er sich syncron bewegen muß und wann nicht. Ist das abhängig vom Programm, ob das ein Job, ein Proc oder sonst was ist?
Oder kann der Conveyor irgendwie einem Userframe zugeordnet werden? Und wie springe ich vom 1. zum nächsten Teil auf dem Conveyor? kopfkratz
Bei ABB hab ich mit sowas keine Probleme und in teilweise sehen die Einstellungen auch ähnlich aus aber ich kriegs nicht zusammen   wallbash

Im Moment hab ich einen Job angelegt, in dem eine Schleife läuft welche dann das Bewegungsprogramm aufrufen soll. Die Bewegungen sollten an einer ortsfesten Position starten und dann syncronisiert ein paar auf ab Bewegungen machen und dann zu einer ortsfesten Position zurück.

Kann mir dazu vielleicht jemand ein Beispielprogramm geben?
Wär echt super!

Gruß
Stromer
Gespeichert
rob76
Moderator
Junior Member
*****
Offline Offline

Beiträge: 196



« Antworten #1 am: 11. März 2007, 21:34:03 »

am einfachsten du besorgst dir das linetracking handbuch. steht alles drinn und ist mit prg-beispielen.
falls du keins hast auf der fanuc hompage kannst du das finden. musst dich vorher kostenlos anmelden. du bekommst dann zugang zum sogenannten customer resource center. dort sind zahlreiche handbücher online.

gruß rob76
Gespeichert
Markus Uhl
Neuling
*
Offline Offline

Beiträge: 17


« Antworten #2 am: 13. März 2007, 01:13:05 »


wenn du fragen zum thema lackieren an sich hast bzw. zu applikation hinter dem robi kann ich dir vielleicht helfen.
habe schon viele lackieranlagen (pulver und nass) weltweit programmiert.
(mit viele meine ich das sicher fast jeder hier etwas hat das eie "meiner" anlagen "angmalt" hat)
Gespeichert
stromer
Special Member
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 268


Denken hilft


« Antworten #3 am: 13. März 2007, 11:35:59 »

Also ich hab jetzt schon mal einen Tag lang mit dem Robbi gespielt und hab es immerhin geschafft, dass er sich mit dem Band mitbewegt. Im Moment ist mein Hauptproblem dass ich es nicht schaffe den Robbi dazu zu bringen nach abarbeiten eines PROC mit dem nächsten Werkstückträger weiter zu machen. Zur Erleuterung mal den Programmablauf:

Job2:
J  P[1]  100%  CNT100
CALL PRO0003
J  P[2]  100%  FINE

Also nur 2 feste Positionen und der Aufruf des Lackierprogramms


PROC003:
L  P[1]  1000mm/sec  CNT100
L  P[2]  600mm/sec  CNT100  Gun=ON
L  P[3]  600mm/sec  CNT100
L  P[4]  600mm/sec  CNT100
L  P[5]  600mm/sec  CNT100
L  P[6]  600mm/sec  CNT100  Gun=OFF
L  P[7]  1000mm/sec  CNT100

Die Einstellung für Continue Tracking at prog end ist auf FALSE

Trotzdem fährt der Robbi beim nächsten Aufruf wieder auf das gleiche Teil und nicht auf das nächste. Woran kann dasliegen  kopfkratz

Ausserdem finde ich die Einstellungen für Upper und lower bound komisch. Die sollten sich doch auf die Roboter-Mitte beziehen!? Tun sie aber nicht. Scheinen nicht mal wirklich konstant zu sein (mal früher mal später). Die syncronisierten Bewegungen des Roboters sehen aber ganz normal aus (kein ruckeln und immer die gleichen Punkte relativ zum Werlstück).

Wäre super wenn Ihr noch ein paar Tipps hättet.

Gruß
Stromer
Gespeichert
rob76
Moderator
Junior Member
*****
Offline Offline

Beiträge: 196



« Antworten #4 am: 13. März 2007, 18:02:56 »

ist dein prg vereinfacht dargestellt? wenn nicht fehlt dir ne ganze menge.
hier mal ein bsp. aus dem handbuch:
PROG MAIN
/MN
1: ! MOVE TO HOME
2: J P[1] 50% FINE ;
3: ! ENABLE THE ENCODER
4: LINE[1] ON ;
5: ! WAIT FOR A PART DETECT
6: WAIT DI[1] ON ;
7: ! GET TRIGGER VALUE
8: LINECOUNT[1] R[1] ;
9: ! SET TRIGGER VALUE
10: SETTRIG LNSCH[1] R[1] ;
11: ! SELECT A BOUNDARY
12: SELBOUND LNSCH[1] BOUND[1] ;
13: ! CALL TRACKING PROGRAM
14: CALL TRACK ;
15: ! MOVE TO HOME
16: J P[1] 50% FINE ;
/END



/PROG TRACK
/MN
1: ! MOVE TO APPROACH POS
2: L P[2] 500mm/sec FINE ;
3: ! MOVE TO PART
4: L P[3] 500mm/sec FINE ;
5: ! WAIT FOR 5 SECONDS
6: WAIT 5.00(sec) ;
7: ! MOVE TO APPROACH POS
8: L P[2] 500mm/sec FINE ;
/END
Gespeichert
stromer
Special Member
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 268


Denken hilft


« Antworten #5 am: 13. März 2007, 22:31:48 »

Hallo rob76,

in dem Beispiel müsste der Robbi immer schon wieder mit seinem Programm fertig sein bevor ein Teil am Sync-Schalter ankommt. Die Lichtschrabke ist aber über 3 Meter vom Robbi weg, d.h. es müssen immer mehrere WT's verfolgt werden.

In meinem Testprogramm wartet der Robbi auch meistens brav bis ein WT zu den boundarys kommt (manchmal will er auch viel weiter fahren, weiß auch nicht wieso) dann macht er seine Lackierbewegungen aus dem PROC und fährt dann auf die feste Position im JOB. Was muß ich einstellen (oder gibt es einen Befehl?) damit er beim nächsten Aufruf nicht wieder auf das gleiche Teil fährt sondern zum nächsten?
Hab heute noch den Tip bekommen ich könnte auch in die Job-Queue den benötigten Job reinschreiben. Das hab ich aber auch nicht zum Laufen gekriegt. Er arbeitet einfach die Queue nicht ab.

Gruß
stromer
Gespeichert
rob76
Moderator
Junior Member
*****
Offline Offline

Beiträge: 196



« Antworten #6 am: 14. März 2007, 00:42:34 »

wieso soll er fertig sein bevor ein teil kommt?
6: WAIT DI[1] ON ;
er wartet ja immer erst auf den trigger der lichtschranke.


poste doch mal dein prog inklusive logik. denke dann kann man besser weiterhelfen.
Gespeichert
stromer
Special Member
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 268


Denken hilft


« Antworten #7 am: 14. März 2007, 12:18:29 »

Hallo rob76!

Im Moment hab ich es alles noch recht einfach gehalten, weil ich ja noch am Testen bin.
Hauptprogramm ist einfach nur:

TIMER[1]= RESET
TIMER[1]= START
CALL PROC003
TIMER[1]= STOP

Hab ich quasi so übernommen, wie es auf dem Robbi irgendwann mal angelegt worden ist (angeblich von Fanuc).

Das Bewegungsprogramm sieht so aus:

SELBOUND LNSCH[1] BOUND[1]
L  P[2]  1200mm/sec  CNT100  Gun=ON
L  P[3]  800mm/sec  CNT50
L  P[4]  600mm/sec  CNT100
L  P[5]  600mm/sec  CNT100
L  P[6]  600mm/sec  CNT100
L  P[7]  600mm/sec  CNT100
L  P[8]  600mm/sec  CNT100
L  P[9]  600mm/sec  CNT100
L  P[10]  600mm/sec  CNT100
L  P[11]  600mm/sec  CNT100
L  P[12]  600mm/sec  CNT100
L  P[13]  600mm/sec  CNT100
L  P[14]  600mm/sec  CNT100
L  P[15]  600mm/sec  CNT100
L  P[16]  600mm/sec  CNT100
L  P[17]  600mm/sec  CNT100
L  P[18]  600mm/sec  CNT100  Gun=OFF
L  P[19]  1000mm/sec  CNT100

Nach meinem Verständnis sollte, nachdem der Robbi dieses Programm abgearbeitet hat, das Werkstück verworfen und beim nächsten Aufruf mit dem nächsten Werkstück fortgefahren werden (continue track at prog end=FALSE). Er nimmt aber immer wieder das gleiche.
Da es keine SPS gibt soll am Robbi das jeweilige Programm angewählt und gestartet werden.
Dazu kann man ja angeblich den aktuellen Job in die Job Queue schreiben und mit Repeat last=TRUE so lange abarbeiten lassen bis man was anderes einstellt. Bin ich aber auch zu blöd zu. Eingegeben hab ich den Job aber er arbeitet die Queue nicht ab.  wallbash Muß dazu noch was bestimmtes für den Production-Mode eingestellt werden?

Nochmal zu dem Beispiel mit dem Wait DI: die Lichtschranke sitzt 3m vor dem Robbi d.h. wenn der 1. WT kommt mag es ja noch funktionieren aber bis der dann am Robbi ist (boundary) sind ja schon die nächsten durchgelaufen. Also bin ich mit dem 1. fertig, kann ich direkt mit dem 2. weitermachen und der Impuls von der Lichtschranke ist schon lange vorbei.

Hoffe meine Probleme sind einigermassen verständlich.

Gruß
Stromer
Gespeichert
rob76
Moderator
Junior Member
*****
Offline Offline

Beiträge: 196



« Antworten #8 am: 14. März 2007, 14:00:13 »

da fehlt dir noch etwas das funktioniert:
PROG MAIN
/MN
1: ! MOVE TO HOME
2: J P[1] 50% FINE ;
3: ! ENABLE THE ENCODER
4: LINE[1] ON ;                                           -> schaltet den encoder ein, reicht wenn man das einmal macht
5: ! WAIT FOR A PART DETECT
6: WAIT DI[1] ON ;                     -> warten auf das teil, brauchst du um auf das teil zu syncronisieren
7: ! GET TRIGGER VALUE
8: LINECOUNT[1] R[1] ;                               -> nun wird der aktuelle encodercount in das register1 geschrieben
9: ! SET TRIGGER VALUE
10: SETTRIG LNSCH[1] R[1] ;                                           ->dann wird der encodercount (R1) dem lineschedule 1 zugewiesen
11: ! SELECT A BOUNDARY
12: SELBOUND LNSCH[1] BOUND[1] ;                             -> hier wird das boundary gesetzt
13: ! CALL TRACKING PROGRAM
14: CALL TRACK ;                                                             ->alle erforderlichen schritte zum linetracking sind erfolgt, nun kann das eigentliche trackingprg
                                                                                                              gestartet
werden.
15: ! MOVE TO HOME
16: J P[1] 50% FINE ;
/END



das sind eigentlich die "must have" befehle das es funktionieren kann.
ein triggersignal ist unabdingbar um das teil zu "finden"
zu der lichtschranke: entweder näher zum roboter oder du musst per multitasking dir jedes teil "merken" was durch die LS gekommen ist. du brauchst letztendlich zu jedem teil die encodercounts um das teil zu "finden"
Gespeichert
stromer
Special Member
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 268


Denken hilft


« Antworten #9 am: 14. März 2007, 15:39:32 »

Hallo rob76.

Also ich denke ich hab es jetzt soweit verstanden, auch wenn es mir nicht gefällt.

Da ich die Lichtschranke nicht in die Spritzkabine verlegen kann brauche ich also eine Task, die mir immer beim Passieren der Lichtschranke die aktuellen Encoderwerte abspeichert. Hast Du da vielleicht auch ein Beispiel?

Im Hauptprogramm findet dann die Grundinitialisierung statt und danach könnte ich eine Endlosschleife ablaufen lassen, die dann die jeweils nächsten Encoderwerde mit dem SETTRIG verwurschtelt und dann das Tracking-Programm aufruft.
Die Trackingprogramme könnte ich ja dann auch abhängig von einem Register-Wert aufrufen so mit IF-CALL, oder?
Gibt nämlich keine SPS.

Gespeichert
stromer
Special Member
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 268


Denken hilft


« Antworten #10 am: 16. März 2007, 15:23:29 »

Also ich werd jetzt wohl oder übel die Lichtschranke vor der Kabine durch einen Ini in der Kabine ersetzen, damit der Herr Fanuc auch alle Teile mitbekommt. Dann wirds wohl hoffentlich funktionieren.
Hab ich schon mal erwähnt das Fanuc Schrott ist?

Geht einfach nix über den ABB Conveyor. Der funktioniert wenigstens gescheit!

Trotzdem  danke für die Tipps.

Gruß
Stromer
Gespeichert
rob76
Moderator
Junior Member
*****
Offline Offline

Beiträge: 196



« Antworten #11 am: 16. März 2007, 18:34:47 »

Ist wohl das einfachste die Lichtschranke zu versetzen.
Funktioniert das ganze denn jetzt mit einem Teil?
Falls nicht solltest du mal die ganzen Settings vom Linetracking überprüfen.


p.s. nur weil man etwas nicht kann muss man es nicht gleich als schrott bezeichnen. Shocked
       kenne mich mit abb auch nicht aus, deshalb aber noch lange kein schrott für mich.
       dürfte bei allen herstellern gleich sein: wenn man es richtig macht funktionierts auch.
Gespeichert
nachi1
Gast
« Antworten #12 am: 22. März 2007, 16:58:57 »

 Hallo Stromer,
hast du dein Tracking Problem im Griff oder bestehen die Probleme weiterhin? Was für ein Roboter hast du und mit welcher Steuerung RJ oder RJ2/RJ3...?

Danke.
Gespeichert
stromer
Special Member
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 268


Denken hilft


« Antworten #13 am: 02. April 2007, 20:11:15 »

Hab erst mal Urlaub gebraucht nach dem Scheiß!

Was ich vor dem Urlaub noch gemacht habe:
Mit einem Teil probiert: geht.
Was leider nicht geht: Positionen im Proc verschieben (in Schleife)

Ich hab noch angeordnet, dass die Lichtschranke gegen einen Ini ausgetauscht wird, der dann im Arbeitsbereich sitzt.

Nächste Woche geht es weiter.

Die Steuerung ist eine RJ2 und der Roppi ein P120.

Gruß
Stromer
Gespeichert
nachi1
Gast
« Antworten #14 am: 02. April 2007, 21:51:16 »

Hallo hast du Zugriff auf die KCL Ebene? Welche Softwarevers. ist auf dem Rob. installiert? Wenn PainTool installiert ist sollte das einfach sein? Hast du Zugriff auf die Software?

Danke.
Gespeichert
Seiten: [1] 2 Nach oben Drucken 
Roboterforum für Industrieroboter Anwender  |  Industrieroboter Helpcenter  |  Fanuc Roboter (Moderatoren: Sven Weyer, rob76)  |  Thema: Line Tracking bzw. PaintTool « 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