Ich habe ein Demoprogramm auf dem Controller mit drei Themen. Alle basieren auf Schaltausgängen von zwei Lichtschranken. Die Programmteile müssen nicht gleichzeitig laufen. Daher wäre es eine gute Idee, einen Abschnitt (ein ganzes Thema) zu überspringen, der im Moment nicht benötigt wird.
Nur der Anfangsabschnitt mit der Auswahl des Themas und dem Status der Eingänge (Kantenerkennung) wird wiederholt verwendet.
Das Problem ist, dass, wenn die Fotosensoren nebeneinander liegen und man sich schnell durch sie hindurchbewegen kann, ein +/- Zähler zum Beispiel in manchen Fällen ein falsches Ergebnis anzeigt - man bewegt die Hand nach rechts (der Zähler sollte um eins steigen), aber das Ergebnis sinkt um eins. Aber nicht immer.
Es ist möglich, dass der Code nicht optimal ist oder die Befehle zu dicht beieinander liegen. Oder die Zykluszeit des Programms ist zu lang.
Übersetzt mit DeepL.com (kostenlose Version)