"Der Entwicklungsleiter Herr Dr. Dr. Plakiat hat gesagt ..."
Als Siemens mir das S7 (ich glaube, Stand 3.2, vielleicht auch V2.x?) in die Hand drückte, da bekam ich als Hinweis mit, dass Leute, die Hochsprachen wie Pascal gewohnt seien, einen leichteren Einstieg damit hätten.
Von S5 her war ich, entsprechend auch so angeleitet, gewohnt, ganz anders zu arbeiten, also eigentlich nur Globaldaten zu nutzen (naja, die Schmiermerkerei war ja nur als Krücke verwendbar, um Lokaldaten zu haben). Das Übergeben von Parametern an der Schnittstelle eines FB war bei S5 irgendwie sperrig, vor allem extrem Performance raubend. Also verfiel ich damals auf so "hübsche" Konstruktionen, dass ich also den Schmiermerkerbereich als Schnittstelle missbrauchte (wovon ich heute weiß, dass auch andere das machten). Wie ich heute auch weiß, gab es noch die Variante mit dem Zeiger auf die jeweiligen Datenbereiche.
Auf die Idee, DBs als Instanzen zu nutzen, kam ich nicht (hätte auch erheblichen Performanceverlust bedeutet). Nach Möglichkeit gab es nur einen einzigen Global-DB, um sich das ständige Aufschlagen des richtigen DB ersparen zu können. Ausserdem musste ich dann ein bestimmtes DW nicht auch noch in verschiedenen DB suchen müssen (Querverweis!) und konnte diese DW auch noch in der ZuLi dokumentieren, da ja nur ein DB vorhanden war.
Mit S7 empfand ich es zunächst nur als lästig, da ständig oben in der Deklaration etwas eintragen zu müssen. War doch so bequem bei S5, einfach Merker hinschreiben, Code ist erstmal fertig, ZuLi machen wir dann am Stück effektiver irgendwann später ...
Meine ersten S7-Programme sahen also wie S5-Programme aus.
Aber ich begann, die neuen Möglichkeiten, insbesondere die FB/IDB zu nutzen. Und lernte, Maschinen/Anlagen in Untereinheiten so zu zerlegen, dass sich dann dazu gehörige Programmteile ergaben, die nur noch sparsame Schnittstellen nach aussen benötigten.
Heute kann ich sagen, dass es mir möglich ist, eine Automatisierungsaufgabe mit der S7 und Flexible ohne Verwendung von Globaldaten (natürlich E/A und Zeitablauf ausgenommen) zu lösen. Den Global-DB habe ich für mich ganz abgeschafft. Merker und S5-Timer benutze ich nur noch aus Bequemlichkeit.
Warum nur löst die Feststellung, dass es auch ohne Global-DB gehen könnte, derartige Reflexe aus?