Fehler bei Zustände speichern

Antworten
Benutzeravatar
PeterVT11 Verified
MLL-TEAM
MLL-TEAM
Beiträge: 515
Registriert: Mi 9. Apr 2025, 21:21
Hat sich bedankt: 912 mal
Wurde bedankt: 822 mal

Fehler bei Zustände speichern

#1

Beitrag von PeterVT11 Verified »

Hallo,

ich hab für meinen Bahnübergang eine Programmierung ausgedacht. Hier ist nur ein eingedampfter Teil, der relevant ist. Daher sieht der Code vielleicht komisch aus.
Das Problem:
Ich hab die Tasten SwitchB2 (rot, Schranke zu), SwitchB3 (grün, Schranke auf) und SwitchB4 (DCC oder manuell). Steht das Ganze auf manuell (SwitchB4 ist betätigt) und es erfolgt ein Neustart so wird immer SwitchB3 aktiviert. Egal ob vorher SwitchB2 aktiv war.
Als Ursache habe ich die Zeile 34 mit dem Sound_New_PlayRandom. Entferne ich diese Zeile, so speichert der ESP den Zustand korrekt.
2026-09-27 19_41_05-Prog_Generator_MobaLedLib.xlsm - Excel.png
2026-09-27 19_41_05-Prog_Generator_MobaLedLib.xlsm - Excel.png (10.73 KiB) 70 mal betrachtet
Meine Hardware: Lichtmaschine Pro
Mein Software-Stand: 3.5.0J bzw. 3.5.0J long

Anmerkung: Der Zustand von SwitchB4 wird korrekt gespeichert und wieder hergestellt.
Dateianhänge
Fehler mit Store-Funktion.MLL_pgf
(4.75 KiB) 3-mal heruntergeladen

Viele Grüße Peter

Märklin C-Gleis, Märklin CS3, WinDigipet, Analog und Digital
Benutzeravatar
jueff Verified
MLL-TEAM
MLL-TEAM
Beiträge: 269
Registriert: Fr 18. Apr 2025, 07:25
Wohnort: Hallein/AT
Hat sich bedankt: 101 mal
Wurde bedankt: 519 mal

Re: Fehler bei Zustände speichern

#2

Beitrag von jueff Verified »

Servus Peter,

cooler Fehler, der war wirklich schwer zu finden, er hat sich auch schon seit 2020 gehalten.

Diese drei Macros
2026-09-28_11h47_27.png
basieren intern auf dem Counter Makro, welche je nach Typ eine Speicherung des Zustands erlauben.
Die drei obigen Sound Makros speichern zwar keinen Zustand, sind aber trotzdem Zähler. Jeder Zähler bekommt in der Konfiguration eine eindeutige, aufsteigende Nummer.
Diese Nummer wird dann in weiterer Folge für die Zustandsspeicherung verwendet, sieht man in Leds_Autoprog.h
2026-09-28_11h50_45.png
2026-09-28_11h50_45.png (11.33 KiB) 45 mal betrachtet
Aufgrund einer Fehldefinition wird aber der Counter der drei Sound Makros vom ProgGenerator nicht mitgezählt. Der nachfolgende RS-FlipFlop Counter hat z.B. Nummer 6, für die Zustandsspeicherung wird aber 5 eingetragen, welche dem Soundmakro Zähler gehört. Daher wird der Zustand des SoundMakros gepeichert, welches aber gar keinen Zustand hat.

Ob ein Makro als Zähler erkannt und mitgezählt wird entscheidet sich durch die Spalte 10 im Lib_Macros Blatt.
Für die drei Sound Markro stimmt dort die Definition nicht, sie sind als Typ 4 eingetragen, was aber nicht stimmt.
2026-09-28_11h55_59.png
2026-09-28_11h55_59.png (5.63 KiB) 45 mal betrachtet
Korrekt ist hier Type 1, da es sich um einen Zähler ohne Status handelt.

Mit der Änderung der Sound Makros (bei mir in Zeile 273 - 275, alternativ 139,144,145) fuktioniert die Ermittlung korrekt
2026-09-28_11h46_01.png
in weiterer Folge stimmt auch die Zustandsspeicherung.

Noch eine Anmerkung zu deiner Konfiguration:
- die Zeilen 13 und 16 "Taster für Schranke zu (manueller Betrieb)" sind mit Startwert '*' markiert, was eine Zustandsspeicherung erzwingt. PushButton_0_1 haben aber keinen permaneneten Zustand, da sie nach der Timeout Zeit immer auf 0 zurückgesetzt werden. Das '*' führt nur dazu, dass beim Drücken der Zustand "1" gespeichert und kurze Zeit später auf Zustand '0' zurückgesetzt wird. Der '*' in diesen Zeilen kann weg.
- der Taster 'Schranke auf manu./autom. Betrieb schalten' hingegen hat korrekt den '*', hier ändert sich der Zustand nur bei einem Tastendruck
- Zeile 54 "Schranke Leuchttaster (pc)": Diese Zeile speichert ebenfalls den Zustand. Hier kann aber als Startwert '0' eingetragen werden, da keine Zustandsspeicherung erforderlicht ist. Var0 wird aus PushButton_RGB_0_1 (19) erzeugt, und dieser PushButton speichert bereits den Zustand. Var0 ist nur eine Ableitung davon, daher doppelt gepseichert.

Die Änderungen kommen in der nächsten Version.

Danke fürs Finden dieses gut versteckten Fehlers.

Jürgen...

Benutzeravatar
PeterVT11 Verified
MLL-TEAM
MLL-TEAM
Beiträge: 515
Registriert: Mi 9. Apr 2025, 21:21
Hat sich bedankt: 912 mal
Wurde bedankt: 822 mal

Re: Fehler bei Zustände speichern

#3

Beitrag von PeterVT11 Verified »

Hallo Jürgen,

Danke für die ausführliche Fehlerbeschreibung. Habe wieder was gelernt.
Ich freue mich über die nächste Version. Gibt es die auch in "Long"?

Viele Grüße Peter

Märklin C-Gleis, Märklin CS3, WinDigipet, Analog und Digital
Benutzeravatar
jueff Verified
MLL-TEAM
MLL-TEAM
Beiträge: 269
Registriert: Fr 18. Apr 2025, 07:25
Wohnort: Hallein/AT
Hat sich bedankt: 101 mal
Wurde bedankt: 519 mal

Re: Fehler bei Zustände speichern

#4

Beitrag von jueff Verified »

Servus Peter,

ich habe die neue 'long' Version soeben eingecheckt. Eine neue Beta kommt demnächst.

Jürgen...

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag

Zurück zu „Bugs und offene Punkte“