Die Kunst besteht darin, eine Anlage so zu strukturieren, dass die einzelnen Teile für und in sich in Betrieb und getestet werden können.
Wenn bei der Inbetriebnahme bei der 4. Station ein Fehler auftritt und die Funktion geändert werden muss, dann beginnst du mit der Inbetriebnahme wieder von vorne. Das kann es nicht sein.
Daher setzt sich ja OOP bei PLC noch? nicht durch, das hast du richtig erkannt.
Für jede Aufgabenstellung sollte das richtige Werkzeug genommen werden.
bike
Da sind wir uneinig. Für mich sind Stationen potentielle Objekte im Code und hier lohnt es richtig.
Ich hab vor Jahren mal damit gearbeitet:
http://www.youtube.com/watch?v=1ZS0J8UQSSg
Jede Station ist hier ein Objekt, dass beim Halten des Wagens
- sicherstellen muss, dass der Wagen auch in Position ist (Die Technik dieser Wagen ist suboptimal)
- die Wagen-ID auslesen muss um
- dann den vom Produkt, dass sich auf dem Wagen befindet, abhängigen Produktionsprozess zu starten. (nein, das war nicht fest)
Ohne Vererbung ist das unschön, aber mit FBs konventionell per Pseudo-OOP machbar. Mit OOP wäre das bei 40 Stationen noch schöner geworden. Ich habe jede Station für sich testen können oder auch nur den Wagensteuercode testen können. Gerade an solchen Anlagen lohnt es.
Ich habe die Kommunikation zwischen Wagenmanagement und dem einzelnen Prozess per Event-System gelöst. Ein Event hat z.B. einen Prozess gestartet und per Event habe ich den Status zurückgemeldet. Das wäre alles schöner mit OOP geworden. Dagegen habe ich die einzelnen Prozesse als ganz gewöhnliche Schrittketten implementiert. Ich habe während der 4 Jahre, die diese Anlage gelaufen hat, insgesamt ca. 10 grössere Änderungen eingebaut, um neuen Anforderungen zu entsprechen. Und keine von denen hat die Produktion mehr als 2h gestoppt. Das hat übrigens nur 1 TwinCat Installation gesteuert.
OOP richtig angewendet, macht das Leben leichter. Ich würde es aber nicht vollständig durchziehen, wenn es nicht lohnt. Das war übrigens mein erstes Projekt

Mein Hintergrund liegt eigentlich in der Microelektronik mit VHDL und so.