Laufzeitfehler

  • Hallo Zusammen,


    Ich habe wieder eine Frage zum ABB IRB 140. Und zwar habe ich jetzt ein Programm, dass nur Routinen in einem Systemmodul durchläuft.


    Wenn ich mit dem Programm länger arbeite, bricht es irgendwann ab und sagt "Laufzeitfehler Stack Überlauf" und als Info. Das Programm ist zu komplex. Vielleicht enthält das Programm Routinen die sich selbst aufrufen.


    Kann ich das irgendwie umgehen? Einstellungen oder so?
    Oder gibt es jemand dem ich das Programm mal zu schicken kann, der mir vllt Tips geben kann?


    Viele Grüße


    kuchi

  • ANZEIGE
  • Hallo Kuchi,


    Die Info, die die Steuerung ausgibt trifft es eigentlich auf den Punkt. Entweder ist dein Programm zu komplex, also es folgen zu viele Funktions / Prozeduraufrufe, oder eine Prozedur bzw. Funktion ruft sich selbst auf. Vermutlich in deinem Systemmodul.


    Zur Erklärung:


    Wenn du dein Programm in Main startest und eine Prozedur aufrust, muss gespeichert werden, wohin der Programmzeiger springen soll, sobald das Ende der Prozedur erreicht wird.
    Ruft deine Prozedur wieder eine andere Prozedur auf, so muss wieder gespeichert werden, wohin der Programmzeiger am Ende springen soll.
    Dieses Speichern geschieht auf dem Stack (Stapel). Die Rücksprungsorte werden dort quasi "aufeinandergestapelt".
    Dieser Stack hat Systembedingt eine gewisse. Sobald der Stack voll ist kommt es zu deinem Überlauf.


    Hier ein ganz einfaches Programm mit einer Procedur "p1" welche sich selbst aufruft, und die Anzahl der Aufrufe (Stack Größe) ausgibt. Beim testen kam ich auf 74 Aufrufe.



    Long Story short:


    Entweder hast du in deinem Systemmodul eine funktion, die sich ähnlich wie die oben selbst aufruft, oder, was ich nicht glaube, mehr als 74 aufeinanderfolgende Aufrufe.

  • Garnicht.


    Du kannst da nichts anderes machen als den Fehler suchen und beheben. Das ist ein reiner Programmfehler.


    Das blöde ist, das zumindest im Robotstudio Simulator nicht angezeigt wird, wo im Programm der Fehler auftritt, was ein Suchen deutlich erschwert.


    Falls dein Programm nicht allzu komplex ist, kannst du es mir ja einmal schicken oder hier hochladen.

  • Hallo Kuchi,
    schau mal nach dem Befehl " RETURN "
    Wenn du den an der falschen Stelle benutzt , passiert genau das! :waffen100:
    Gruß
    högi

    Zwei Dinge sind unendlich,das Universum und die menschliche Dummheit. Aber bei dem Universum bin ich mir noch nicht ganz sicher, !!!!<br />Albert Einstein

    Einmal editiert, zuletzt von högi ()

Hilfe und Support für ABB Roboter Programmierung, Konfiguration, Inbetriebnahme finden Sie hier im ABB Roboter Forum. ABB Rapid Programmierung ist einfach, die Roboterforum Community hilft sehr gerne.

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