04-10-2013, 19:52:52
Das ist wieder das leidige Problem, dass SH ereignisorientiert arbeitet. Man sieht, dass da Microsoft am Werk war - das ist Windows-Denke.
Ich hatte damit anfangs auch meine liebe Not, weil ich bei Steuerungen einfach eine andere Denke gewöhnt bin:
Am Beginn jedes Steuerungszyklus leist man alle Eingangszustände ein.
Dann verarbeitet man diese Zustände nach dem vorgegebenen Programm.
Als Ergebnis erhält man, ganz zum Schluss und unter Berücksichtigung aller Bedingungen, einen Sollzustand.
Diesen Sollzustand gibt man dann auf die Ausgänge aus.
So soll es sein. Einfach, geradlinig und sauber.
Microsoft und damit auch SH machen es aber anders:
Man liest Eingangszustände ein, wann immer man sie gerade braucht, und man gibt ein Verknüpfungsergebnis sofort auf den Ausgang aus.
Wird irgendwann später im Programm derselbe Ausgang noch einmal gesetzt, dann wird er auch noch einmal ausgegeben. Und wenn die beiden Verknüpfungsergebnisse einmal EIN und einmal AUS liefern, dann fängt der Verbraucher eben an zu blinken.
Zum Haareraufen, aber isso. Ein richtiger riesengroßer Headbanger.
Ich hatte damit anfangs auch meine liebe Not, weil ich bei Steuerungen einfach eine andere Denke gewöhnt bin:
Am Beginn jedes Steuerungszyklus leist man alle Eingangszustände ein.
Dann verarbeitet man diese Zustände nach dem vorgegebenen Programm.
Als Ergebnis erhält man, ganz zum Schluss und unter Berücksichtigung aller Bedingungen, einen Sollzustand.
Diesen Sollzustand gibt man dann auf die Ausgänge aus.
So soll es sein. Einfach, geradlinig und sauber.
Microsoft und damit auch SH machen es aber anders:
Man liest Eingangszustände ein, wann immer man sie gerade braucht, und man gibt ein Verknüpfungsergebnis sofort auf den Ausgang aus.
Wird irgendwann später im Programm derselbe Ausgang noch einmal gesetzt, dann wird er auch noch einmal ausgegeben. Und wenn die beiden Verknüpfungsergebnisse einmal EIN und einmal AUS liefern, dann fängt der Verbraucher eben an zu blinken.
Zum Haareraufen, aber isso. Ein richtiger riesengroßer Headbanger.