Frage zum Verhalten von Variablen nach dem Neustart [Gelöst]

  • Hallo,


    mir ist folgendes aufgefallen:


    Wenn ich in der config.dat folgendes Schreibe


    ENUM BEISPIEL Wort1,Wort2,Wort3

    DECL BEISPIEL test_enum


    Dann läuft zwar alles, aber wenn die Steuerung neu startet, verliert test_enum seinen Wert (Den ich in dem Beispiel jetzt irgendwo mal zuweise). Wenn ich jetzt die zweite Zeile ergänze zu:


    DECL BEISPIEL test_enum = #Wort1


    Dann läuft ebenfalls alles, aber test_enum behält beim Neustart den Wert (also nicht unbedingt Wort1 sondern wirklich das letzte was zugewiesen wurde).


    Meine Frage ist einfach nur, warum ist das so? Ich würde es ja noch verstehen, wenn test_enum nach dem Neustart immer den Wert Wort1 hat, aber es hat halt immer den letzten. Das ist genau das was ich brauche, also kein Problem, mir geht es nur um das Verständis.


    Bergfest!!! ;)

  • Moin,

    die in der $config.dat zugewiesenen Werte werden halt dort aktualisiert, wie Du schon festgestellt hast.

    Normale Geschichte, kein Zufall.

    Spätestens beim Herunterfahren werden die Werte in der $config.dat geschrieben, damit diese beim Neustart gelesen werden können.

    Das Prozedere läuft immer so ab, sollte man aber deswegen auch im Hinterkopf haben, denn bei Archivierung wird auch genau dieser momentane Stand gesichert. Das könnte beim Wiederherstellen eventuell Probleme bereiten (Zählerstände...). Dieser Umstand müßte dann programmtechnisch abgefangen werden.

    never touch a running system

  • Hallo Roland,

    du teilst der Steuerung mit der Zuweisung eines Wertes innerhalb der config.dat DECL BEISPIEL test_enum = #Wort1 mit das diese eine speichernde Variable ist.

    Das hat zur Folge das du den Wert dieser Variable im Roboterspeicher behältst und auch bei einem Archiv mit sichern kannst, tust du das nicht sondern definierst du diese test_enum Variable nur dann ist dies nur eine Variable deren Inhalt du beim hoch laufen der Steuerung bzw. vor dem ersten Zugriff erst beschreiben musst und du auch ihren momentanen Wert beim archivieren nicht sehen kannst.


    Gruß

    Wer nichts macht, macht keine Fehler!

    Wer keine Fehler macht, kann nichts daraus lernen!

    Wer nichts lernen kann, kann sich nicht weiterentwickeln!

    Wer sich nicht entwickelt, geht unter!

  • Roland_NRW

    Changed the title of the thread from “Frage zum Verhalten von Variablen nach dem Neustart” to “Frage zum Verhalten von Variablen nach dem Neustart [Gelöst]”.