TCP ON auf mehrere Positionen anwenden

  • Hi alle Zusammen,

    habe mal eine Frage bezüglich des TCP ON Befehls in der YRC1000 Steuerung.

    Wir haben mehrere Greifer mit unterschiedlichem TCP's.

    Ich möchte aber gerne im gleichen Programm einfach die Bitcodierung des aktuellen Greifers abfragen und dadurch einen TOOL ON (#XXX) erzeugen.
    Irgendwie übernimmt er einen TCP ON aber nur auf den nächsten Bewegungsbefehl. Sollte der nicht so lange "ON" sein bis ich wieder TCP OFF setze?
    Mein Programm besteht aus lokalen Punkten UND P-Variablen, die nacheinander angefahren werden. Zwischendurch werden auch nochmal Ausgänge gesetzt oder Punkte manipuliert.

    Aktuell würde das dann ca. so aussehen, damit ich alle Punkte mit TOOL ON anfahre:


    TOOL ON (#6)
    MoveJ

    TOOL ON (#6)
    Move J P012

    TOOL ON (#6)
    MoveL

    TOOL OFF


    In meinem Kopf sollte das aber so aussehen ;)

    TOOL ON (#6)

    MoveJ

    MoevJ P012

    MoveL

    TOOL OFF


    Mach ich was falsch? Oder muss man etwas beachten, was den Befehl TOOL ON zurück setzt?


    EDIT:
    Bitte alle TOOL ON durch ein TCP ON ersetzen ;) danke

    Einmal editiert, zuletzt von Maverick ()

  • ANZEIGE
  • Hallöchen, endlich mal wieder eine Frage zu einem Yaskawa Roboter :)


    Also ich habe mal meine Unterlagen durchforstet und herausgefunden, dass TOOLON dafür da ist, um eben ein Werkzeug einzuschalten, nicht um den TCP zu ändern. Hier ist ein Auszug dazu:



    Den TCP kann man aber dennoch automatisch ändern:


    Dazu muss man die Koordinaten des TCP auf eine P-Variable schreiben, so wie man den TCP eben auch ermittelt. Dann kann man , ich bin mir da jetzt aber nicht ganz sicher, mit einem SET-Befehl die Koordinaten der TCP-P-Variable auf eine Werkzeugnummer kopieren. So kannst du einem TCP unterschiedliche Koordinaten zuweisen und in der P-Variable, die du anfährst, kann dann immer die selbe Werkzeugnummer drinstehen. Mit einer Abfrage der Bitcodierung kannst du mit einem IF/THEN einfach nach der Abfrage der Codierung den TCP entsprechend setzen lassen.


    Hab das selber erst einmal gemacht im Programmierkurs, brauchte das nie aber ich werde es morgen testen und hier davon berichten, sofern hier noch nichts anderen in den Antworten steht.


    Bis dahin liebe Grüße,


    Sebastian


    Edit: Ich habe jetzt meinen Haufen an Unterlagen nach der Lösung abgesucht:


    Ich schreibe jetzt ein kleines Programm hier auf, wie man das machen könnte mit den verschiedenen TCPs:


    Ich gehe im folgenden Beispiel davon aus, dass die Bitcodierung des Greifers auf IG#(1) geschrieben wird. Kann natürlich ganz einfach angepasst werden, wenn dafür keine IG sondern z.B. eine B-Variable verwendet wird.


    NOP

    'Bitcodierung prüfen

    IF IG#(1)=1 THEN //Prüfen, ob die Bitcodierung Wert "1" ist

    SETE TL#(1) P001 //Wenn ja, setzt er die Koordinaten von P001 auf Tool1

    ELSEIF IG#(1)=2 //Prüfen, ob die Bitcodierung Wert "2" ist

    SETE TL#(1) P002 //Wenn ja, Koordinaten von P002 auf Tool1

    *

    *Bis IG#(1)=255 erweiterbar

    *

    ELSE

    SETUALM //Falls keine der Abfragen zutrifft, Fehlermeldung um Crash zu vermeiden

    ENDIF

    'Bahn frei für den Roboter :)

    MoveJ

    MoveJ P012

    MoveL

    END


    Für Syntaxfehler übernehme ich keine Verantwortung :D

  • Hi Sebastian,

    vielen Dank für deine Antwort. Ist ja eher mau, was Antworten im YASKAWA Bereich angehen^^.

    Hilft mir leider nur bedingt weiter, da ich genau das machen will, wie oben beschrieben.
    Vielleicht habe ich mir nur nicht deutlich genug ausgedrückt. Also hier noch mal eine Detailantwort ;)

    Greifer 1 : 58KG
    X : 6, Y: 0, Z : 200

    Greifer 2 : 75KG
    X : 25, Y: 0, Z : 210

    Greifer 3 : 83KG

    X : 31, Y: 0, Z : 236


    Generell sehen diese 3 Greifer gleich aus, sind nur von der Dimensionierung anders. Ich möchte also einen Theoretisch berechneten Punkt mit Greifer 1, 2 oder 3 anfahren.
    Dazu muss ich eigentlich aber auch das Werkzeug wechseln, da ich auch unterschiedliche Gewichte habe.


    Meiner Meinung nach ist der TOOL ON dafür schon richtig eingesetzt, funktioniert nur nicht, wie ich mir das eigentlich vorstelle...


    Hast du noch eine Idee, wie ich das machen könnte?
    Vielen Dank schon mal für deine Mühe =)

  • Hallo,

    ich mische mich auch mal ein. Ich glaube, du verwechselst zwei Befehle.

    Es gibt beide Befehle:


    Tool ON/OFF: Schalten eines Werkzeuges (z.B. Greifer) über Ausgänge, wobei dieses Werkzeug vorab definiert werden muss (Zuweisung der Ausgänge)


    TCP ON/OFF: Anwahl eines TCP's im Programm. D.h. die gleichen Punktkoordinaten können mit unterschiedlichen TCP's angefahren werden, unabhängig davon, mit welchem TCP der Punkt geteacht wurde.

  • Klick mal im job auf die taste 3, da steht "tool on job" bei mir. Automatisch kannst du dann den call job: toolon einfügen. Den müsstest du definieren und da drin könntest du dann folgendes einfügen:


    NOP

    'Bitcodierung prüfen

    IF IG#(1)=1 THEN //Greifer 1

    SET LB000 1 //LB000 = Greifernummer

    ELSEIF IG#(1)=2 //Greifer 2

    SET LB000 2

    *

    *Bis IG#(1)=255 erweiterbar

    *

    ELSE

    SETUALM //Falls keine der Abfragen zutrifft, Fehlermeldung um Crash zu vermeiden

    ENDIF

    SETE P000 TL#(LB000) //Werkzeugnummer ändern

    SETE P001 TL#(LB000)

    .

    .nur geht das mit den lokalen Variablen nicht, die müsste man als P var definieren

    .

    END


    Was besseres fällt mir leider nicht ein

  • Den Befehl TCP ON/OFF finde ich auf dem Bediengerät gar nicht 🤔

    Einmal editiert, zuletzt von Se.bastian ()

  • Boah, ja Leute mein Fehler :waffen100: .


    Ich meine natürlich die ganze Zeit TCP ON und den benutze ich auch aktuell im Programm -.-.
    Danke El Cattivo.


    Se.bastian, der muss über Parameter freigeschaltet werden, hatten wir damals auch bei der YASKAWA Hotline angefragt.


    Nichts desto trotz gibt es immer noch das gleiche Problem. Sobald ich einen TCP ON schalte hält er nicht so lange, bis ich ihn wieder OFF schalte.
    Das ist ja mein eigentliches Problem. Über Bitcodierung das TOOL abfragen ist kein Problem, nur ständig immer wieder die Anweisung TCP ON vor jeder berechneten Bewegung ist echt nervig.

    Am liebsten würde ich meinen TCP am Anfang des Unterprogramms definieren und dann soll dieser bis Ende des Unterprogramms, wo ich ihn wieder ausschalte, halten...

  • Wenns son kleines unterprogramm schreibst reicht doch ein call nach jedem greiferwechsel.


    Mit tcpon kenn ich mich nicht aus. Wenns unbedingt das sein muss, werde ich navhher nochmal alle meine unterlagen danach durchsuchen

  • El Cattivo, tatsächlich =O       :uglyhammer_2:


    Sobald man einmal ein Zeile noch oben oder unten springt, egal wo, verschwindet das wieder. Klickt man ganz stumpf einfach Zeile für Zeile durch, bleibt der TCP ON...
    Gut, das muss man erst mal wissen. MERKE: Keine Pfeiltasten drücken, wenn TCP ON  8o

    Hab natürlich öfter mal ne Zeile nach unten gedrückt, deswegen war das auch so sporadisch, mal da und mal nicht.


    Vielen Dank für eure Antworten, habt mir beide weiter geholfen.
    Werde jetzt einfach mit nem kleinen Unterprogramm den Greiferspezifischen TCP schalten :)

  • Ich konnte hier auch wieder was dazulernen, danke dir, Maverick, für die Frage und danke El Cattivo für deinen Beitrag dazu, das werde ich nicht mehr vergessen :)


    Jetzt würde ich nur noch gerne wissen, ob ihr noch wisst wie man TCPON freischaltet. Das könnte ich vielleicht mal gebrauchen :)

  • Man findet den Befehl in der Informlist unter ->Bewegung ->TCPON ->TCPOFF.

    Ich habe gerade nochmal nachgeguckt. Wir haben uns den Befehl TSYNCRST (Twin Steuerung) über Parameter freigeschaltet. TCPON/OFF war doch schon da.

    Wie gesagt, einmal kurz die Hotline anrufen, die werden dir schnell weiter helfen, falls der bei dir nicht vorhanden ist.


    Gruß
    Maverick

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