Alternativer Aufbau von LS.-Programmen

  • Hallo beisammen,


    Seit neusten habe ich einen großen gelben Fanuc M900iB/700 zum Spielen bekommen und hab etwas Schwierigkeiten mit dem Aufbau von Programmen.
    Normalerweise arbeite ich mit einem Kuka. Die Programme werden offline mittels MasterCAM und Robotmaster generiert. Der Aufbau bei KUKA sieht wie folgt aus:


    Code
    $BASE={X 1800.0000,Y -43.2100,Z 900.0000,A 0.0000,B 0.0000,C 0.0000}
    $TOOL={X 278.2120,Y 4.2100,Z 171.3780,A 0.0000,B -90.1450,C -178.9250}
     
    $ADVANCE = 2
    PTP  {A1 0.0000,A2 -90.0000,A3 90.0000,A4 0.0000,A5 -30.0000,A6 0.0000,E1 0.0000,E2 0.0000,E3 0.0,E4 0.0,E5 0.0,E6 0.0}
    PTP  {X -105.9930,Y 98.9314,Z 50.0000,A 0.0000,B 0.0000,C 180.0000,E1 0.0000,E2 0.0000,E3 0.0,E4 0.0,E5 0.0,E6 0.0,S 6,T 27}
    PTP  {X -105.9930,Y 98.9314,Z -10.9661,A 0.0000,B 0.0000,C 180.0000,E1 0.0000,E2 0.0000,E3 0.0,E4 0.0,E5 0.0,E6 0.0,S 6,T 27}
    $VEL.CP=0.04
    LIN  {X -105.9775,Y 98.9469,Z -11.7614,A 0.0000,B 0.0000,C 180.0000,E1 0.0000,E2 0.0000,E3 0.0,E4 0.0,E5 0.0,E6 0.0} C_DIS
    LIN  {X -105.8730,Y 99.0514,Z -12.2724,A 0.0000,B 0.0000,C 180.0000,E1 0.0000,E2 0.0000,E3 0.0,E4 0.0,E5 0.0,E6 0.0} C_DIS


    Mit Änderung der $BASE- oder der $TOOL-Daten lässt sich schnell die Position und/oder das Werkzeug für das gesamte Programm anpassen.


    Nun möchte ich das selbe Programm in MasterCAM für den Fanuc ausgeben lassen und bekomme den folgenden LS.-Code:


    Nun habe ich folgende Schwierigkeiten:
    a: Jeder Punkt enthält einen eigenen Verweis auf UFRAME und UTOOL. D.h. eine Änderung oben im Programm hat keinen Effekt auf die dahinterliegenden Punkte.
    b: Der Speicherplatz für die Anzahl der Werkzeuge UTOOL ist begrenzt und ich möchte aus Sicherheitsgründen die Werkzeug und Basis Informationen direkt im Programm haben. (Verschiedene Leute sollen mit dem Roboter arbeiten, was dazu führen wird, das die UFRAME und UTOOL Daten regelmässig geändert und vorhandene überschrieben werden)


    Daher ist meine Frage, ob es eine alternative Schreibweise von LS.-Programmen gibt, ähnlich wie die der SRC.-Programme.


    Bin für jede Idee dankbar. :)

  • ANZEIGE

  • Die .ls sind eh nur listings. Ohne Option TPloader kannst Du die auch net laden. Der Fanuc ist da etwas eigen, was aber an den meisten Stellen berechtigt ist.

    Wolfram (Cat) Henkel

    never forget Asimov's Laws at the programming of robots...

    "Safety is an integral part of function. No safety, no production. I don't buy a car without brakes."


    Messages und Mails mit Anfragen wie "Wie geht das..." werden nicht beantwortet.

    Diese Fragen und die Antworten interessieren jeden hier im Forum.


    Messages and Mails with questions like "how to do..." will not be answered.

    These questions and the answers are interesting for everyone here in the forum.

  • Ganz so schwarz würde ich da nicht sehen.
    Im Zweifelsfall sollte es doch möglich sein am Anfang des Programms die Systemvariable für das entsprechende Tool zu überschreiben. Da stehen die Koordinaten des tools eben in mehreren Zeilen getrennt.

  • Es geht auch ohne Systemvariable:

    Code
    ! X-koordinate Tool
       1:  PR[1,1]=0    ;
           ! Y-koordinate Tool
       2:  PR[1,2]=0    ;
           ! Z-koordinate Tool
       3:  PR[1,3]=100    ;
       4:  UTOOL[1]=PR[1] ;
       5:  UTOOL_NUM=1 ;
       6:   ;
       7:J P[1] 100% FINE    ;
  • Hallo Tobi


    zu a: Das Problem ist das, wenn du das UTOOL / UFRAME nur oben im Programmkopf änderst, (UFRAM_NUM=X) und dann einen Punkt (P) anfährst, der aber nicht mit diesem UFRAME geteacht bzw. unten hinterlegt ist, dann bekommst du eine Fehlermeldung. Fanuc prüft ob das Angewählte UFRAME / UTOOL mit dem gespeicherten übereinstimmt. Das kann man aber umgehen, wenn man die Punkte (P) in Positionsregister lädt (PR), also PR[1]=P[1]. Dann kann man nämlich das UFRAME / UTOOL im Programkopf ändern und der Roboter fährt dann diesen Punkt an mit dem neuen UFRAME / UTOOL.

  • Danke für die Antworten. :)


    WolfHenk: Die Software-Option für die Steuerung ASCII Program Loader (R796) ist in der Beschaffung, so dass ich nach Freischaltung in der Lage sein sollte, die Ascii Programme auf die Steuerung zu kopieren und dort auszuführen.
    Wo ist der Unterschied zwischen einem "listings" und der KUKA src die ich mittels Robotmaster erstelle?


    Hermann: Das geht auf alle Fälle in die Richtung in die ich mir vorstelle. Die Frage die ich zu deiner Schreibweise habe: Die Zuweisung geschieht nur lokal im angewählten Programm oder überschreibe ich damit die auf der Steuerung hinterlegten Werte für UTOOL[1]?


    Chris.K: Wenn ich Programme offline erstelle, ist es aus meiner Sicht logisch, dass nach Festlegung von Basis und TCP sich die folgenden Punkte auf eben diese beziehen.
    Sehe ich das richtig, dass das Positionsregister nur die angezeigten 200 Punkte zur Verfügung stellt?

  • Der KUKA hat einen völlig anderen Aufbau der Programmiersprache und der Art des Speicherns.
    Vergiß den Versuch zu vergleichen.


    TP-Programme sind sozusagen direkt in Maschinensprache.
    Sie können in Ascii-Listings gewandelt werden und für den Menschen lesbar gemacht werden.
    Ein Teil dieses lesbaren Codes sieht man dann im Teachpanel.
    Mit Ascii-Upload-Option kann ein ascii-listing dann vom Roboter wieder in TP zurückgewandelt werden.
    Für Ascii-Listings ist mir KEIN Syntaxchecker bekannt!

    Wolfram (Cat) Henkel

    never forget Asimov's Laws at the programming of robots...

    "Safety is an integral part of function. No safety, no production. I don't buy a car without brakes."


    Messages und Mails mit Anfragen wie "Wie geht das..." werden nicht beantwortet.

    Diese Fragen und die Antworten interessieren jeden hier im Forum.


    Messages and Mails with questions like "how to do..." will not be answered.

    These questions and the answers are interesting for everyone here in the forum.


  • ..
    Hermann: Das geht auf alle Fälle in die Richtung in die ich mir vorstelle. Die Frage die ich zu deiner Schreibweise habe: Die Zuweisung geschieht nur lokal im angewählten Programm oder überschreibe ich damit die auf der Steuerung hinterlegten Werte für UTOOL[1]?


    Chris.K: Wenn ich Programme offline erstelle, ist es aus meiner Sicht logisch, dass nach Festlegung von Basis und TCP sich die folgenden Punkte auf eben diese beziehen.
    Sehe ich das richtig, dass das Positionsregister nur die angezeigten 200 Punkte zur Verfügung stellt?


    Na ich gehe mal davon aus, dass die Werte für das UTOOL[1] überschrieben werden. sonst würde es nicht funktionieren. Ist beim KUKA-Programm genau gleich.


    Ja die Positionsregister sind anzahlmässig begrenzt. Wenn ich mich noch recht erinnere kann man die Anzahl nach einem Controlled Start (oder wie auch immer das genau heisst) einstellen.

  • WolfHenk: Immer dieses Schubladen-Denken. :D Natürlich versuche ich dem Fanuc aus Kuka Sicht zu begegnen.
    Der fehlende Syntaxchecker bedeutet, dass im Gegensatz zu KUKA die Fanuc-Steuerung die (aus LS.-Dateien generierten TP.-)Programme nicht auf Syntax überprüft?


    Hermann: Wenn ich bei Kuka im SRC-Programm die Zeile $TOOL={...} schreibe, hat dies keinen Einfluss auf die auf der Steuerung hinterlegten Tool-Werte. Daher war meine Frage, ob die beschriebene Wertzuweisung bei Fanuc die vorhanden Werte eines Werkzeugs überschreiben. Da dies so zu sein scheint, werde ich wohl versuchen generell einen bestimmten Werkzeugplatz für Wertzuweisungen vorsehen.


    Kann mir jemand die Logik der Drehwinkel bei Fanuc im Vergleich zu KUKA erklären? Eine gute Quelle würde auch gehen.
    Probleme macht mir aktuell, dass beim manuellen Umorientieren einzelner Drehwinkel sich alle drei Werte von W-P-R ändern und nicht einzelne Werte.

  • Nuja, Schubladen eben. Erleichtern das Leben.
    Sonst müsste man beim Frühstücken immer den Teelöffel irgendwo suchen, so isser aufgeräumt.


    KUKA A-B-C ist Fanuc R-P-W
    Rotation Z ist bei KUKA A und bei Fanuc W R
    Rotation Y ist bei KUKA B und bei Fanuc P
    Rotation X ist bei KUKA C und bei Fanuc R W


    LS lesen falsche Syntax wird lapidar mit "geht net" beantwortet. Glaube im Wortlaut "...not loaded..."


    *edit* Klar: Biele hat absolut recht, ich habe im zweiten Durchgang der Erläuterung R und W vertauscht. Bitte um Verzeihung. Fehler ist korrigiert.

    Wolfram (Cat) Henkel

    never forget Asimov's Laws at the programming of robots...

    "Safety is an integral part of function. No safety, no production. I don't buy a car without brakes."


    Messages und Mails mit Anfragen wie "Wie geht das..." werden nicht beantwortet.

    Diese Fragen und die Antworten interessieren jeden hier im Forum.


    Messages and Mails with questions like "how to do..." will not be answered.

    These questions and the answers are interesting for everyone here in the forum.

    Einmal editiert, zuletzt von WolfHenk ()

  • Oki. Erklärt dies aber nun, dass sich bei manueller Änderung eines Drehwinkels beim Fanuc die übrigen Winkelwerte mitändern?


    Wenn ich bei KUKA eine manuelle Drehung um eine Achse bewirke, z. B. +A ändert sich auch nur der A-Winkel.


    Wenn ich bei Fanuc eine manuelle Drehung um eine Achse bewirke, z.B. +W ändern sich alle drei Winkelwerte.


    Die Frage die sich wahrscheinlich stellt: Welche Eulerwinkel Bedingungen werden genutzt?

  • wennste R drehst bei nem leeren Tool sollte sich nur der Flansch drehen und sonst nix.


    Die Achswinkel ändern sich logischerweise wenn Du irgend ein kartesisches Tool drehst


    Drehst Du ein Tool und siehst Dir die Daten in User oder World an und du bewegst den Robot in Tool, dann sollte sich eigentlich nicht viel tun, es sei denn, der im Tool eingetragene Wert P ist nahe 180

    Wolfram (Cat) Henkel

    never forget Asimov's Laws at the programming of robots...

    "Safety is an integral part of function. No safety, no production. I don't buy a car without brakes."


    Messages und Mails mit Anfragen wie "Wie geht das..." werden nicht beantwortet.

    Diese Fragen und die Antworten interessieren jeden hier im Forum.


    Messages and Mails with questions like "how to do..." will not be answered.

    These questions and the answers are interesting for everyone here in the forum.

  • Hallo.
    Bei Kuka gibts nur eine Betrachtungsweise der Winkelwerte.
    Beim Gelben kann man umschalten zwischen Tool, User, World.


    Änderst die Toolwerte und schaust dir die Winkel vom Frame an kommt es schnell zu Verwirrung.

Erstelle ein Benutzerkonto oder melde dich an um zu kommentieren

Du musst ein Benutzerkonto haben um einen Kommentar hinterlassen zu können

Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Geht einfach!
Neues Benutzerkonto erstellen
Anmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden