Ohne Prozessverständnis geht bei uns per se garnichts...
Genau das meine ich ja.
Aber für Schrittketten braucht man IMHO weniger Detailwissen um die Abhängigkeiten. Man muss einen parallel ablaufenden Prozess vielleicht nicht unbedingt verstehen. In der Zustandsprogrammierung können Parallelprozesse aber (stärker) zu Problemen führen, weil es stärkere Abhängigkeiten untereinander gibt.
Keiner sagt, dass das Eine (Schrittketten) geht und das Andere (Zustandsprogrammierung) zu verwerfen ist. Beides hat so seine Vor- und Nachteile. Aber, wie
@PN/DP schon schrieb, ist die Schrittkettenprogrammierung bei Änderungen weniger Fehleranfällig, weil Zustände, die erstmal die gleichen Eingangsinformationen enthalten nicht zu einer Aktion an einer anderen Stelle führen, da der vorhergehende Schritt erstmal gesetzt sein muss. Damit erhält man in der Schrittkettenprogrammierung eine Zusatzinformation. Nämlich an welcher Stelle man sich im Programm befindet. Diese Information hat man in der Zustandsprogrammierung nicht. Da der Zustand der Anlage ggf. an mehreren Programmstellen abgefragt wird und es ist nicht klar (oder muss über andere Kniffe realisiert werden) an welcher Stelle man sich im Programm befindet.
Ergo:
Schrittkette => enthält eine Zusatzinformation darüber, wo man sich im Programm befindet.
Vorteil: Es braucht keine weiteren Entscheidungskriterien
Nachteil: Wenn man (nach Reset, Ein-/Ausschalten, ...) an eine andere Programmstelle springen will, ist das schwieriger umzusetzen.
Zustandsprogrammierung => Wo man sich im Programm befindet ist von der Eingangsbeschaltung abhängig
Vorteil: Man kann aus jeder Anlagensituation heraus "richtig" starten
Nachteil: Wenn mehrere Programmstellen auf die gleiche Eingangsbeschaltung reagieren, gibt es Probleme
Bei der Schrittkette braucht man sich nur um die Eingangsbeschaltung zu dem jeweiligen (neu einzufügenden) Schritt Gedanken machen. Bei der Zustandsprogrammierung muss man sich Gedanken machen, ob die angefragte Eingangsbeschaltung sonst schon irgendwo im Programm verwendet wird. Wenn ja, muss man weitere Entscheidungskriterien entwickeln (und auch noch an der anderen Stelle einfügen, mit der man eigentlich gar nichts zu tun hat(te)).
VG
MFreiberger