IRC5 - Produktgeschwindigkeit von SPS in Variable übertragen

  • Hallo Leute,
    habe 'ne Anfrage bekommen und soll mir mal Gedanken machen.


    Vor Ort gibt es drei Roboter, Verpacker und Palletierer.
    Bei dem Verpacker werden nach Größe und Gewicht, also nach Produkttyp, unterschiedliche Produktgeschwindigkeiten in der Variablen vProd für die Fahrbefehle zugewiesen.
    Bei dem Palettierer wurde dies nicht gemacht, soll aber nun dort auch umgesetzt werden.
    Der Kunde hat mir Backup zukommen lassen (Palletierer leider unvollständig wie in http://www.roboterforum.de/rob…vollstaendig-t6456.0.html beschrieben) und da sieht das so aus:


    !----------------------------------------------------------
    !Decl Speeddatas
    !----------------------------------------------------------
    !Geschwindigkeit mit Produkt
    PERS speeddata vProd:=[5000,500,5000,1000];
    !Geschwindigkeit ohne Produkt
    PERS speeddata vLeer:=[5000,500,5000,1000];
    .
    .
    .
    .
    PROC Aufnahme_Band()
    VAR num ntVoraufn_Hoehe;
    !Speichern der aktuellen Routine
    SpRoutinen "Aufnahme_Band";
    !Variablen Aufnahme
    pAufnahme:=pAufnahme_1;
    !Geschwindigkeiten zuweisen
    vProd:=[4000,500,5000,1000];
    IF nHoehe<1000 THEN
    vProd:=[5000,500,5000,1000];
    nBeschl:=100;
    ntVoraufn_Hoehe:=nTiefe+400;
    ELSE
    vProd:=[3000,500,5000,1000];
    nBeschl:=50;
    ntVoraufn_Hoehe:=1500;
    ENDIF
    .
    .
    .
    .
    !Ablageposition anfahren
    MoveL Offs(pAblagePos,0,0,800), vProd, z200, tSauger\WObj:=wVerpackung;
    MoveL Offs(pAblagePos,0,0,200), vProd, z200, tSauger\WObj:=wVerpackung;
    TriggL pAblagePos, v1000, trVerpack_in, fine, tSauger\WObj:=wVerpackung;


    Soll mir nun Gedanken machen, ob es möglich ist, dem Roboter die Produktgeschwindigkeit über die SPS mitzuteilen.


    Bin beim Suchen im Forum zwar auf das Thema Speefresh gestoßen, aber die beschreibt ja eher den allgemeinen Speedoverride.


    Hab da auch noch die Frage, was bedeuten die vier Werte in vProd?
    Bei dem ersten Wert gehe ich mal von der Geschwindigkeit aus, aber die anderen drei Werte???


    Bin für jede Hilfe dankbar.


    Grüße,
    Gerhard

  • Hallo,
    erster Wert: lineare Geschwindigkeit des TCP
    zweiter Wert: 'Orientierungsgeschwindigkeit'


    dritter und vierter Wert: das selbe nochmal für externe Achsen.


    Geschwindigkeit über SPS setzen:
    Gruppeneingang definieren, hierüber die gewünschte Geschwindigkeit einlesen,
    Grenzen checken, und dann der Variablen vprod.v_tcp zuweisen.


    Oder einfacher:

    Code
    1. vprod.v_tcp:=GI_geschw;


    Vielleicht noch einen Faktor dazu, je nach Eingangsbreite und Geschwindigkeit.


    Hermann

  • Ja, das mit Gruppeneingang hab ich mir auch schon überlegt.
    Bin mal gespannt wie es laufen wird. Hab mit dem IRC5 nämlich noch nicht gearbeitet und S4 ist schon länger her.
    Aber als ich das erste Mal Kaffee u. Kuchen Augsburg machte, hab ich ja auch Pallettiert und Suchfunktionen über Interrupts gemacht. Wird schon werden. Mit Handbuch geht alles. Und Robbi ist Robbi, egal ob Gelb, Blau, Orange, Braun, Rot oder Weiß.
    Merci erst Mal, werd mich melden, wenn es soweit ist.

  • Hallo zusammen,


    ich greif das Thema noch mal auf und Frage ob an den Override auch im Multitask im Hintergrund von der SPS bestimmen lassen kann?


    Vg

    Noch gestern standen wir vor dem Abgrund, und heute sind wir ein Schritt weiter!

  • AD