Ich hab heute überall eindeutige Namen vergeben und alles in symbolische und vollqualifizierte Zugriffe geändert, nicht qualifizierte Zugriffe gibts keine mehr.
Die Lampe-Funktion hab ich mit Merkerbits realisiert, die vor einem Oder hängen.
Die Merkerdoppelwörter in der Variablentabelle sind nur zum beobachten der Werte da, die übernehmen keine wesentliche Funktion im Programm.
Die Sache mit den Zugriffen hab ich verstanden, bei den Instanzen häng ich noch. Sind das die Flanken, die du statt den Merkern, die ich bei den positiven Flanken benutzt hab, verwendet hast? Sind Merker eigentlich Global und Flanken nicht? Was unterscheidet Merker und Flanken?
Und wo wir gerade bei Merkern sind: Warum kann ich MD300 ff. nicht benutzen? Ist der Speicher für irgendwas spezielles reserviert?
Das Programm läuft jetzt und tut was es soll. Der gravierendste Fehler war die Lampe selber. Die hing mit den Kontakten der Relais auf einem gemeinsamen Nullpotential, was zur Folge hatte, dass sobald der Ausgang für die Lampe geschaltet werden sollte alle vier Eingänge ein Signal bekamen. So konnte der Wert 10 nie überschritten werden. Nachdem ich die Lampe auf ein anderes Nullpotential gehängt hab hats funktioniert.
Ich hab heute leider meinen Stick inner Firma vergessen, sonst würde ich das Programm nochmal hochladen. Mach ich morgen, dann kann da nochmal jemand drüberschauen.