S4C+ Steuerung -Fehler: Anwenderspeicher zu klein

  • Hallo,


    ich benötige Eure Hilfe:


    ich habe einen alten ABB Roboter mit S4C+ Steuerung, den ich zu einem 3D-Drucker umgebaut habe.


    Ich habe aktuell das Problem, dass ich nur kleine Programme mit max. 3.000 Zeilen laden kann.
    Bis vor Kurzem konnte ich aber noch Programme mit bis zu 10.000 Zeilen laden. In der Zwischenzeit habe ich keine Änderungen an der Steuerung vorgenommen, daher vermute ich, dass der RAM-Speicher irgendwie halb kaputt gegangen ist oder ich aus Versehen Programmspeicher dauerhaft belegt habe (wenn das überhaupt geht).


    Beim Laden größerer Programme bekomme ich die Fehlermeldung:
    "Fehler 40701 Programmspeicher voll
    Die Task hat nur 1010280 freie Bytes im Anwenderspeicher
    Einige Module entfernen und erneut versuchen."


    Wenn ich unter Service/ System Infos/ Programm Resourcen gucke, steht dort:
    Gesamter Programmspeicher: 6030kB
    verfügbarer Programmspeicher 986kB


    Ich kann aber ein Testprogramm mit nur 772kB (mit ca 5000 Zeilen) schon nicht mehr laden.


    Ich habe auch schon die RAM-Speicherkarte ausgetauscht gegen eine andere...keine Änderung.
    Ich habe die Speicherkarte auf einen anderen Steckplatz gesteckt...auch keine Änderung.


    Meine Frage:
    1.) Was kann die Ursache sein? Wenn es (anscheinend) nicht der RAM-Speicher ist, könnte irgendetwas auf dem Motherboard kaputt sein?
    2.) Kann ich Softwareseitig irgendwas verändert haben, so dass plötzlich weniger Speicher für Anwenderdaten zur Verfügung steht?
    3.) Kann ich irgendwie noch mehr RAM-Speicherplatz für meinen Programmspeicher freigeben?
    4.) Im Handbuch steht, der RAM-Speicher wird fürs Betriebssystem und Anwenderdaten verwendet, wobei Anwenderdaten ca 5,5MB groß sein können. Passt ja ganz gut mit der Angabe meiner Steuerung "Gesamter Programmspeicher: 6030kB". Aber warum ist der nicht voll verfügbar? Wodurch kann der noch belegt werden?
    4.) Kann ich grundsätzlich noch mehr RAM-Speicher einbauen als nur die eine Speicherkarte (es sind ja 3 Steckplätze vorhanden) oder kann die Steuerung das nicht verarbeiten? Im Handbuch steht, dass der "DRAM" 32MB hat. Ich habe eine 64MB Speicherkarte verbaut, wird davon schon nur die Hälfte genutzt und mehr geht nicht?
    5.) Noch ein anderer Gedanke: Ich arbeite viel mit load/ unload von Programmmodulen. Ich habe öfter mal Programme abgebrochen bevor Sie sauber zu Ende gelaufen sind. Dadurch kann es durchaus sein, dass ein Programmmodul zwar geladen wurde, aber nicht sauber entladen wurde (mit unload). Bleiben diese Programmmodule vielleicht im RAM-Speicher und werden beim nächsten Anschalten des Roboters auch wieder dort hineingeladen (beim Anschalten werden ja immer die letzten Programmdateien wieder geladen), obwohl sie nicht mehr benötigt werden? Und kann ich mir dadurch meinen RAM-Speicher vollmüllen? Und falls ja, gibt es eine Möglichkeit, alle Module im RAM-Speicher zu löschen? Entweder über einen Befehl RAM-Speicher löschen oder über den UNLOAD-Befehl mit Unload alles (ich weiß natürlich nicht mehr die genauen Dateinamen der eventuell noch vorhandenen Module)?


    Oder ist dafür einfach der P-Start gedacht? Die Doku sagt: "After restart the system’s state will be resumed except for manually loaded programs and modules. Static and semistatic tasks are started from the beginning, not from the state they had when the system was stopped.
    Modules will be installed and loaded in accordance with the set configuration. System parameters will not be affected."


    Ich hab den P-Start noch nicht ausprobiert, da ich vorher lieber noch eine Sicherheitskopie der Festplatte/ Flashdisk machen wollte. Wenn ich irgendwas falsch lösche und alles neu aufsetzen muss, wird das bestimmt viel Arbeit. Oder ist der P-Start harmlos und ich kann das einfach mal ausprobieren?


    Für Eure Hilfe wäre ich sehr dankbar. Schon die urspünglichen maximal 10.000 Zeilen sind für 3D-Druck sehr wenig und ich arbeite viel mit load/ unload, das Geesamtprogramm ist schnell mal 100.000 Zeilen lang.
    Mit nur 3.000 ZEilen wird es nicht besser...


    Gruß und Danke,
    Ascan

  • ANZEIGE
  • Hi,


    erstmal: Backup machen!
    Dann: Hast Du die Keys?


    Über Ansicht:Module kannst Du übriggebliebene Module vielleicht sehen, und dort auch entfernen. Per Hand geladene Module gehen über "unload" von Rapid aus nicht freiwillig weg.


    Aus alter Zeit kenne ich das Problem auch noch, irgendwas schien die Steuerung zu verstopfen. Zweite Maßnahme (nach dem Backup) war dann die Verbindung über FTP, um zu gucken, ob was zu löschen ist.


    Als dritter Schritt war teilweise wirklich ein neues System hilfreich.
    Normalerweise ist es auch nicht so schwer, ein System neu aufzusetzen. Wenn man die RobInstall-CD hat bzw. das Programm inclusive des Media-Pools installiert hat, kann man recht zügig ein neues, sauberes System erstellen und überspielen, man braucht nur einen Windows-Rechner mit Netzwerkanschluss. Voraussetzung ist allerdings, dass man die Keys zur Verfügung hat, entweder schriftlich oder als *.kxt Datei.


    Man kann das neue sogar parallel zum alten System installieren (vielleicht vorher über X-Start - Bootanwendung mal schauen, wie viele Systeme überhaupt installiert sind, evtl. kriegt man sonst auf der Flashdisk ein Platzproblem).
    Nachdem das neue System sauber startet, kann man das alte dann problemlos entfernen.


    Mit "System installieren" ist tatsächlich gemeint, dass ein Image erstellt wird, welches komplett geladen wird und dann alles enthält, was man auf dem Robbi finden kann. Es kann durchaus mehrere Images geben, auch beim Ausschalten wird immer das komplette Ding gespeichert (weshalb man ihn nach dem Umlegen des Schalters auch 15 Sekunden nicht mehr anfassen sollte) - was auch eine gelegentliche Ursache für Fehler ist, denn dabei kann alles Mögliche passieren.
    Die verschiedenen Kaltstartoptionen aus dem Handbuch geben daher die Optionen im Umgang mit diesen Images wieder. Ein P-Start sollte weitgehend harmlos sein.


    Aber: eigentlich wäre es gut, wenn Du wüßtest, wie man ein neues Sytem hineinbekommt. Die Flash-Disk hält nämlich leider auch nicht ewig.
    Ob man die extern spiegeln kann, weiß ich nicht, hab ich nie gemacht. Nach dem aufspielen des gültigen Systems und einem Restore ist normalerweise immer alles wieder gut gewesen, auch wenn man zwischenzeitlich die Disk gewechselt hatte.


    Grüße,
    Michael

  • Hallo Michael,


    danke für deine Antwort!


    Ich vermute inzwischen auch eher einen softwareseitigen Fehler/ vollmüllen mit allen Programmen/ Modulen als einen wirklichen Hardwaredefekt des RAM-Speichers oder des Mainboards.


    Insb. die Angabe:
    Gesamter Programmspeicher: 6030kB
    verfügbarer Programmspeicher 986kB
    macht mich stutzig. Wahrscheinlich sind dort einfach noch viele Module, die nicht richtig entladen wurden.


    Du hast bestimmt recht, dass man wissen sollte, wie man ein neues System aufsetzt und das der sicherste Weg wäre.
    Allerdings habe ich wirklich viele andere Baustellen, so dass ich ungern das eigentlich laufende System neu aufspielen möchte. Ich hoffe, es lässt sich einfacher fixen.


    Ich werde nun erstmal ein Backup auf der Flashdisk der Robotersteuerung machen.
    Als zweites werde ich probiere, extern eine 1:1 Kopie der Flashdisk zu machen. Eigentlich sollte da nichts gegensprechen.


    Ich habe mit dem Roboter eine CD Robotware 4.0 und eine Boot-Diskette Manipulator Param 4.0 erhalten, auf beiden steht eine Seriennummer. Die Seriennummer ist doch der Key, oder? Und ich vermute, ich würde die CD mit Hilfe eines Windows-Rechners über Netzwerk einspielen, korrekt?


    Nochmal zurück zu der einfachen Lösung -wenn Sie funktioniert- über den P-Start:
    Ich habe ein Bild aus der Doku angehängt.
    Da steht ja, ich soll den P-Start verwenden, "um alle RAPID-Programme aus der Steuerung zu entfernen". Das will ich ja eigentlich.
    Allerdings steht ganz oben "P-Start (Neuinstallation von Rapid)" - und Neu installieren möchte ich ja nichts.
    Andererseits steht dort Neuinstallation von RAPID und nicht von ROBOTWARE, daher verstehe ich nicht, was das bedeuten soll.


    Kann ich mit dem P-Start einfach meinen Arbeits-/ Programmspeicher einmal löschen? Oder setzte ich damit mein System neu auf?


    Hab mich noch nicht an den P-Start gewagt (immer noch kein Backup, mache ich die Tage), und möchte auf gar keinen Fall mein System unbrauchbar machen...


    Gruß, Ascan

  • Die Seriennummer ist NICHT der Key, der müsste auf einem separaten Blatt Papier stehen.


    P-Start sollte schon passen, die Beschreibungen von ABB sind diesbezüglich schon immer extrem verwirrend. Zu 100% bin ich mir da aber auch nicht mehr sicher. Hab' schon ewig keine S4C+ verwendet.


    Auf alle Fälle ein Backup machen, sollte sowieso vorliegen, wegen der Systemparameter. Wenn bei den Kisten was schiefgeht, dann braucht man immer auch die Parameter aus einem Backup. Und falls das Backup auf Diskette gemacht wird vor weiteren Experimenten die Lesbarkeit der Diskette sicherstellen und die Daten auf ein etwas zuverlässigeres Medium kopieren.

  • nach dem P-Start sind alle Programm Module weg
    die hast du ja aber auf einen Backup
    Systemparameter werden bei P-Start nicht verändert


    Der nächste Versuch ist dann ein I-Start
    Das beamt dein System wieder auf den ehemaligen Bootzustand zurück
    danach musst du noch die Systemparameter zurück laden und auch System und Programm Module aus den backup


    als letztes kommt der C-Start
    der löscht das System und du musst danach neu booten
    Mit KEY und passender Robotware!! ganz wichtig

  • Hallo Engineering-Art
    Auf der CD sollte ein Programm RobInstall sowie Robotware 1.x-2.x sein. Kleinste mir bekannte Robotware 1.2, größte 2.12, es soll aber bis 2.4 gehen. Beides installieren ich habe Windows7.
    Ein neues System wird mit dem Roboter Key aufgesetzt oder aus einem vohandenem Backup.
    Hermann hat recht, der original Key wurde per beiliegendem Zettel ausgeliefert.
    Soweit ich noch weiss benötigte ich keinen Key wenn aus einem Backup.
    Dann kommt die Geschichte mit dem System: Original war zB. 64-123456. Nur ein einziges installiertes System kann 64-123456 heißen!
    Wenn Du ein weiteres System installieren möchtest(andere Robotware/Test), dann 64B-123456, andernfalls wird das erste System überschrieben und unschöne, unlöschbare Reste verbleiben auf der Festplatte.
    Rob Install: Das System kann mit Parametern und Programmen ertellt werden. Wenn fertig wird ein Systemabbild erstellt, daraus können Installationsdisketten erstellt werden, oder die Installation erfolgt per X-Netzwerkkabel. Dann muss der Rechner aber eine IP im Robotcomputer haben. Ich empfehle Netzwerkkabel am Serviceport! Den Computer neu booten, nur Netzwerkkabel, nichts anderes dran (WLAN).
    Der Roboter muß dann im Servicemenü sein, boot per Netzwerk.
    Was auch passieren kann: Auf der obersten Ebene der Festplatte wurde ein Ordner für Temp Dateien angelegt. Der ist dann irgendwann voll.
    Gruß,
    Konstantin

  • Hallo Ascan,


    die Handbücher wurden aus dem Englischen übersetzt, da muss man ein bissl tolerant sein...


    Anyway, wie kriegst Du denn im Moment Deine Programme auf die Steuerung? Über Disketten oder den USB-Diskettenadapter?


    Eine Netzwerkverbindung (auch im Bedarfsfall zum Serviceport) zu haben ist ohnehin anzuraten, denn ein Backup kann man IMMER machen und muss man immer haben. Auf Diskette geht auch, wenn es draufpasst. Aber nie einen ABB ohne Backup betreiben / ändern. Per FTP kann man dann die Backups einfach auf den lokalen Rechner laden und auch von der Flashdisk wieder löschen, was über den eingebauten Explorer im Bedienpanel natürlich auch geht, aber mühsamer.


    Als zweiten, vorbeugenden Schritt würde ich auf jeden Fall RobInstall komplett auf einem Windows-Rechner installieren, einfach, um zu gucken, ob Du ein System erstellen KÖNNTEST. Du musst es nicht übertragen, wie gesagt, es wird ein Image gebastelt, welches man dann übertragen könnte. An Deiner Stelle wäre mir wohler, wenn ich wüsste, dass ich das kann. Im Backup findest Du eine system.xml, die die Keys enthalten sollte. Mach Dich vertraut mit dem Ding, bevor Dein System abraucht, das kann, wie gesagt, bei jedem Ausschalten passieren, oder bei Stromausfällen: wenn die Spannung weggeht und solange wegbleibt, bis das Image komplett gespeichert wurde, ist alles gut. Aber wehe, der Strom kommt vorher wieder....


    Wenn Du diese drei Dinge getestet hast: Backup vorhanden und extern gesichert, Netzwerkverbindung über Serviceport geht und FTP ist benutzbar, sowie RobInstall funktioniert und kann ein System für Deinen Robbi erstellen, dann kannst Du Dich einigermaßen beruhigt zurücklehnen.


    Das mit der bitweisen Kopie der Flashdisk würde mich nachträglich mal interessieren, ich meine mich zu erinnern, dass die dort gebrauchte Partitionierung verdammt weit weg von allem war, was das "normale" Volk so kennt, aber ich kann mich auch irren. Damals war ich aber auf dem Linux-CLI noch nicht zu Hause, 'dd' habe ich nie versucht.


    Grüße,
    Michael

  • Hallo und danke für die zahlreichen Antworten.
    Ich versuche mal auf alles kurz Bezug zu nehmen:
    - Die Robotersteuerung hängt über FTP an meinem Windows-PC
    - Netzwerk über Serviceport habe ich noch nicht versucht.
    - Ich habe inzwischen ein Backup gemacht und es via FTP auf meinen PC gesichert.
    - Auf der CD ist Robotware 4.0, von Robinstall ist erstmal nichts zu sehen, aber das hatte ich schon auf dem PC installiert.
    - Ich habe mit Robinstall versucht testweise ein neues System zu erstellen, das hat aber nicht geklappt. Das Problem ist, dass ich keinen Key habe (hab keinen Zettel mit einem Key bei den Roboterunterlagen gefunden)
    - Robinstall würde auch eine eine Datei mit Key Files (*.kxt) akzeptieren, die habe ich aber auch nicht. Im BackUp ist sie nicht enthalten (habe Suche nach *.kxt durchgeführt). Finde ich die Datei irgendwo anders oder komme ich an die Keys noch dran (ABB anrufen??)


    Da ich nun das BackUp habe und der P-Start wirklich harmlos klingt (Danke für die Auflistung, Robiman), wage ich mich nun mal live dran. ...


    Soooo, der P-Start ist ausgeführt. Ich hatte auch Erfolg, der verfügbare Programmspeicher ist von 986kb auf stolze 5731kb angewachsen. Hurra! :D


    Einen Haken gibt es leider, der hat aber nichts mit dem P-Start zu tun. Ein Akku hat sich verabschiedet, ich bekomme eine neue Fehlermeldung. Die Fehlermeldung hatte ich heute schon direkt beim hochfahren (also vor dem P-Start).
    Das der genau jetzt kommt ist anscheinend nur ein dummer Zufall und der alte Roboter wird langsam etwas zickig.
    Vielleicht könnt ihr mir da auch noch helfen, damit das System wieder läuft.


    Wenn ich fahren (Jog oder geladenes Programm) kommt nun folgender Fehler:
    ---------------
    Fehler 20032, Umdrehungszähler ist nicht aktualisiert. Eine oder mehrere Achsen mit absolutem Meßsystem sind nicht synchronisiert.
    Roboter in Kalibrierstellung bringen und Umdrehungszähler aktualisieren.
    ---------------
    der Fehler lässt sich auch nicht wegdrücken, der Roboter lässt sich nicht verfahren


    Dies resultiert wohl aus dem zweiten Fehler, der gleich beim hochfahren angezeigt wird:
    --------------
    Fehler 38001
    Akkupufferung verloren
    Akkupufferung für die serielle Meßkarte 1 seit letzten Ausschalten/ Neustart verloren...
    ...Akkuanschlüsse auf der seriellen Meßkarte kontrollieren. Akku tauschen.
    ----------------
    Also der große Akkupack unterhalb des PCs im Roboterschrank kann es eigentlich nicht sein. Den habe ich schon erneuert. Und dort hatte ich auch eine andere Fehlermeldung bekommen.


    Also haben anscheinend die Meßkarten eigene Pufferakkus, die nun alle mal getauscht werden müssen...?!?
    Sind das die Karten direkt in den Servoendstufen? Hat schon mal jemand die Akkus dort getauscht?
    Und kann ich mit vollem, neuen Akku den Roboter wieder verfahren?


    Das finde ich aktuell komisch, dass ich den Roboter nicht auf die Kalibrierposition fahren kann und die Umdrehungszähler aktualisieren kann. er lässt sich überhaupt nicht verfahren...


    Naja, leerer Akku kann ja nicht so schlimm sein. Ich mach mich nun mal auf die Suche nach dem verbauten Akkutyp.
    Beste Grüße,
    Ascan

  • Dass Akkupaket, dass Dir die Umdrehungszähler puffert, sitzt in der Mechanik, normalerweise beim SMB-Board.
    Auf Photo ist ein IRB2400 zu sehen. Bei diesem Typ hiesse dass unter der Platte bei den Steckeranschlüssen am Sockel.


    Verfahren im Teach-Betrieb, Achsspezifisch, sollte gehen.


    Gruss SJX

    Manche Maenner bemuehen sich lebenslang, das Wesen einer Frau zu verstehen. Andere befassen sich mit weniger schwierigen Dingen z.B. der Relativitaetstheorie.

  • Danke SJX für dein schnelles Feedback.


    Dan Akku habe ich im Handbuch gefunden, Typ 4944 026-4, Kostenpunkt 66€, wird gleich mal bestellt. Austausch sollte ja recht fix gehen.


    Den Roboter konnte ich aber mit leerem Akku gar nicht verfahren. Das Teachpendant lässt eh nur Achsweises verfahren zu, die angegebenen Gradangaben blinken und ein Verfahren ist nicht möglich. Es kommt immer gleich die Fehlermeldung mit den nicht aktualisierten Umdrehungszählern.
    Ich werde erstmal nen frischen Akku einbauen und weitergucken.


    Gibt es eigentlich noch mehr Akkus (außer der große Akkupack im Schaltschrank und der andere im Robotersockel), die man mal tauschen sollte? Ich kenn nur noch die C-Mos Batterie auf dem Mainboard, aber da verliert man ja eigentlich nur das Datum, also nicht weiter schlimm.


    Danke auch für den 2. Link, ich konnte in Robinstall nun einen Key auslesen. Den hab ich mir erstmal notiert. Ich kann zwar mit dem Key kein neues System mit Robinstall erstellen, da wird der Key nicht akzeptiert. Aber vielleicht bin ich auch zu dumm und kapiere RobInstall nicht richtig. Hoffe ich muss erstmal das System nicht neu aufsetzen...


    Gruß,
    Ascan

  • Hab's kurz getestet mit Robinstall Version V1.31 unter Win10.


    Standardinstallation von Robinstall:
    Ordner auf LW d:\...\Roboter\Robi001 erstellt.
    Key.id und program.id reinkopiert aus Backup.
    Robinstall gestartet.
    Aktualisieren angewählt. BootAssist Fehler quittiert.
    aktuelles Verzeichnis auf d:\....\Roboter
    Erneut BootAssist Fehler.
    Wenn Du dann in Ordner Robi001 schaust, wurde eine keystr.txt generiert.
    Mit dem enthaltenen Key konnte ich dann Problemlos ein System erzeugen. (s.Attachment)


    Gruss SJX

  • Hallo Ascan,


    wenn die Akkus fertig sind, dann kann man normalerweise trotzdem achsweise verfahren, man muss ja die Umdrehungszähler neu aktualisieren können. Zum Ausschalten fährt man dann vorher in die Justage-Stellung (alle Achsen auf 0), das macht einem das Aktualisieren beim nächsten Mal einfacher.
    Ich kenne ein paar Kunden, die haben ihre Anlagen jahrelang so betrieben....


    Man kann auch testweise einfach an Ort und Stelle aktualisieren, wenn man meint, der Fehler ginge dadurch weg. Dann ist natürlich die Justage falsch, und man muss es noch einmal "richtig" machen, aber zumindest weiß man dann das.


    Die Wahrscheinlichkeit besteht aber auch, dass das Signalkabel zwischen Steuerung und Manipulator gelitten hat. Wenn das bei eingeschalteter Steuerung unterbrochen wird, kommt dieser Fehler auch.


    Grüße,
    Michael

  • Hallo Ascan


    Natürlich kann ein nicht synchroner Roboter verfahren werden.
    Muß möglich sein, Neuanlagen werden auch synchronisiert.
    Zustimmtaster drücken und halten!, Fehler bestätigen, achsweise verfahren.
    Die Motoren_Ein Lampe blinkt dann aber deutlich schneller.


    Gruß,
    Konstantin

  • Hallo und danke für Eure Rückmeldungen.
    Ich habe inzwischen den Akku der Meßkarte im Sockel des Roboters getauscht.
    Der oben erwähnte Akku laut ABB-Doku war leider falsch.
    Verbaut war eine 10,8V Lithium-Batterie. Aber ich konnte den Akku noch gegen die Batterie umtauschen.


    Nach Einbau konnte ich die Achsen verfahren und neu kalibrieren.
    Vielleicht wäre neu kalibrieren auch mit leerer Batterie möglich gewesen, das habe ich nun nicht nochmal versucht.
    Die neue Batterie war da, eingebaut und nun läuft wieder alles. Das reicht mir erstmal.


    @ SJX: Danke für deinen Test mit Robinstall, habe inzwischen dort auch meinen Key auslesen können.
    Aber Robinstall und ich werden schon mal keine Freunde... Aber nun habe ich einen Key für den Notfall...sehr gut!


    Und das anfängliche Problem hat sich ja durch den P-Start gelöst (wie weiter oben beschrieben), mein verfügbarer Programmspeicher ist wieder bei knapp 6000kb und damit bereit für gute 10.000 Zeilen Code.
    Nun kann weiter 3D-gedruckt werden.


    Ich danke nochmal für Eure Hilfe, das Forum ist wirklich super! :)
    Gruß, Ascan

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