Geschwindigkeitsanpassung während der Bewegung RSI

  • Hi


    Ich bin ganz neu im Roboforum. Ich habe dank meiner neuen Tätigkeit einigen Kontakt zum KUKA Roboter aufgebaut, bin jedoch noch ein Frischling bei der Roboprogrammierung.


    Ich habe jetzt das Problem, dass ich während der Laufzeit (also währen der Bewegung) die Geschwindigkeit ändern bzw. regeln möchte, um eine Verbesserung des Scheißprozesses zu testen.
    Um die Geschwindigkeit während der Bewegung ändern zu können, haben wir die RSI Software in Anwendung. Service von KUKA meinte damit gehts.


    Die Erläuterung zu diesem Programmabschnitt liest sich gut, jedoch funktioniert die Regelung bzw Steuerung nicht.


    Kann mir jemand einen groben Fahrplan beschreiben wie ich hier am besten vorgehe und welche Befehle dafür benötigt werden.


    ich bin jetzt soweit, dass ich st_ov_pro ; st_digin ; st_digout ; st_vel benötige.


    Bin ich damit schon auf dem Holzweg oder ist das ok?


    Danke für die Hilfe

  • Schritt für Schritt zum Roboterprofi!
  • Hallo Kille


    Ich weiß ja nicht wie ich es sagen soll :denk: aber ich würde erstmal den Prozess überdenken. :zwink:


    Gruß


    Schybulla

    Weil der Klügere nach gibt - regieren die Dummen die Welt

  • Hi


    Ich habe schon einige Programmierversuche gestarte, jedoch die einfachsten Funktionen zeigen keine Wirkung.


    Installation ohne Fehler genau nach KUKA-Vorgaben


    z.b.


    Kommunikation über Profibus
    zur Visualisierung:
    Eingang 330 wird durch einen Taster beschrieben
    Ausgang 330 setzt eine Lampe


    // Bedeutung für mich: Es wird eine Referenz auf Bit 330 ohne Eineit im Container 0 angelegt
    RET_RSIERR = ST_DIGIN(Object2_ID,0,330,0,RSIUNIT_No)


    // Die Referenz wird nun durch die 1 auf ein Bit überprüft. Das Ergebnis wird negiert und eine Referenz (Object1_ID) auf dieses gelegt
    RET_RSIERR = ST_NOT(Object1_ID,0,Object2_ID,1)


    // Das Ergebnis wir nun in den Ausgang 330 geschrieben
    RET_RSIERR = ST_MAP2DIGOUT(Object3_ID,0,Object1_ID,1,330,0)



    wenn ich diese Zeilen eingebe erhalte ich keine Fehlermeldung, es passiert aber auch nichts.


    Kann mir jemand ein kleines Beispiel schreiben z.B. eine UND Funktion welche dann das Ergebnis in eine Adresse schreibt.
    Dann kann ich immerhin überprüfen ob diese Funktion hier auch funktioniert.


    Danke

    Einmal editiert, zuletzt von Kille ()

  • Gibt es für das ST_ON und ST_OFF einen bestimmten platz im Programm?
    Ich hatte es bei einem Versuch ausprobiert. Vor der Endlosschleife stand dann RET_RSIERR = ST_ON und hinter der Schleife stand dann RET_RSIERR = ST_OFF


    Durch die Endlosschleife hatte ich dann genug Zeit um den Taster zu drücken. Das gleiche habe ich dann auch nur über Profibussignale ausgetestet, da gab es auch keine Reaktion.


    RET_RSIERR = ST_DIGIN (Object1_ID,0,330,0,RSIUNIT_No)
    RET_RSIERR = ST_MAP2DIGOUT (Object2_ID,0,Object1_ID,1,330,0)


    RET_RSIERR = ST_ON


    LOOP
    ENDLOOP


    RET_RSIERR = ST_OFF


    Der Eingang 330 ist True, jedoch wird der Ausgang 330 nie auf True gesetzt.


  • Sollte so funktionieren. Das Einzige, was mir noch auffällt sind die fehlenden Variablendeklarationen in deinem Screenshot. Hast du die versteckt oder vergessen?

  • Hi


    Problem erkannt Problem gebannt.... also so halb


    Nach einem netten Gespräch mit KUKA-Roboter-Support wurde festgestellt, dass zwei Treiber zusammen auf die gleichen Ressourcen zugreifen.


    Somit hatte das RSI-Programm ein Prioritätsproblem.


    Grüße


    Kille

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