UR5/CB3 - Unknown error: ValueStack is Full

  • Hi,


    ich habe jetzt zweimal die Fehlermeldung "unbekannter Fehler: ValueStack is Full" erhalten (s. Anhang). Die Kapazität ist ein 20bit-Integer, ich kann diesen Fehler nciht reproduzieren. Er kommt zufällig alle paar Tage im Dauerbetrieb auf, meist an der selben Position.


    Habe bereits danach gegoogelt, aber keine vernünftigen Lösungen gefunden. Liegt das an meiner Programmgröße?


    Zu meinem Programm:


    In der VorStart-Sequenz rufe ich meine Initialisierungsscripte auf, d.h. alle Variablen und Funktionen, die ich im Laufe des Programmablaufs benötige, werden einmalig initialisiert.

    Im Hauptprogramm laufe ich einen Switch-Case durch. In den verschiedenen Cases werden unterschiedliche Scripte aufgerufen, die wiederum auf die bereits initialisierten Funktionen zugreifen und nutzen.


    Parallel laufen im Hauptprogramm auch einige Threads, die ich regelmäßig abfrage, um Prozesszustände zu schalten (Abladekisten beladen, etc.). Diese laufen auch stabil ohne Timeouts (an sync imemr gedacht).


    Ich habe bereits geschaut, ob ich das Programm schlanker machen kann, aber leider lässt sich hier nichts weiter machen. Wenn ich die *.urp-Datei des kompletten Programms öffne, liege bei ca. 2000 Zeilen Script lt. NotePad++. Ist also auch nicht mega groß.


    Hat da jemand einen Tipp für mich?

  • ANZEIGE
  • Update:


    Nach langer Korrespondenz mit UR ist das Problem endlich gelöst.

    Mir ist bei einer Passage an Move-Befehlen ein copy-und paste Fehler unterlaufen:


    Bei mir sah es wie folgt aus (beispielhaft):

    Movel(pose, Radius r, Geschwindigkeit a, Beschleunigung v)

    Richtig ist es aber so:

    Movel(pose, Geschwindigkeit a, Beschleunigung v, Radius r)


    Dadurch, dass der Radius an der falschen Stelle stand, sind die Daten für den Move-Befehl falsch im Prozessor gespeichert und nicht wieder gelöscht worden, was nach einer festen Anzahl Zyklen zu einer Überlast bei Prozessor geführt hat.


    Nachdem ich die Reihenfolge im Befehl korrigiert habe und selbst bei einem nicht vorhandenen Radius auf Raten von UR am besten r=0 genutzt werden sollte, ist der Fehler bereinigt gewesen.


    Kann also geschlossen werden!

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