Mir persönlich gefällt der Librarys-Ansatz nicht so ganz.
Pack man alle relevanten Funktionen in Bibliotheksbausteine, dann wird es sehr schnell auf grund der Parameter unübersichtlich.
Ein Codegenerator auf Basis von Biblitheken UND Bausteintemplates würde mir deutlich besser gefallen.
Ich rede definitiv nicht davon, ALLE Funktionen in Librarys zu verpacken. Abläufe sind spezifisch - die kann man nicht in eine Library verpacken.
Ein vernünftiger Ansatz ist im VASS realisiert worden, auch wenn in der Umsetzung vieles extrem unglücklich gelaufen ist. Da sieht man auch, was passiert, wenn man S5 Programmierer an SCL Librarys dran setzt.
Ich denke mal, sinnvollerweise sollte folgendermaßen vorgegangen werden:
Es wird eine Maschineneinheit - Beispiel Ventil, oder eine Gruppe Ventile oder ein Zylinder oder ein Vacuuminjector usw. erkannt. Daraufhin packt mir mein Codegenerator alle Typicals für die Geräte der Gruppe =OBERTISCH in einen entsprechenden Aufruf mit Sybmbolik =OBERTISCH und erzeugt eine Visu-Seite OBERTISCH wo diese Typicals ihre Faceplates haben.
Würde schon mal einen Haufen Arbeit ersparen. Viel mehr müsste eigentlich auch gar nicht sein. Natürlich erwarte ich dann, daß der Aufruf eines Ventils =OT+5200MJ02-200PV128 entsprechend am Baustein korrekt parametriert ist, daß AW und QW korrekt durchverdrahtet sind, Faceplates in der VISU richtig angebunden sind, und so weiter. Wenn der Generator statt eines Ventils einen RFID-Reader vorfindet, dann soll er natürlich analog verfahren.
Dann soll mir der Generator noch die grundlegenden VISU-Bilder mit einer Menüstruktur, und je ein Gruppenbild innerhalb der entsprechenden Bilderhierarchie erzeugen. Das reicht mir dann schon vollkommen. Alles andere kann ich dann nach Bedarf händisch erledigen.
Voraussetzungen:
- Ich habe eine Library mit den Typicals für jede Art der eingestezten Hardware;
- Ich habe Typicals für die Bildung von Betriebsarten, für die Versorgung der VISU-Anzeige, für die Diagnose von PROFINET usw.;
- Die Typicals haben definierte Faceplates;
- Der Codegenerator kennt meine Typicals und die Faceplates, weiß damit umzugehen, und vermag aus dem EPLAN die nötigen Basis-Informationen herauszulesen.
Was Alarme angeht: Hardware-bezogene Alarme (Ventil schaltet nicht richtig) werden direkt aus dem Baustein erzeugt. BMK nimmt der FB aus der Aufruf-Parametrierung, und arbeitet mit dem bausteinbezogenen Meldeverfahren mit mehrsprachigen Text-Librarys. Ablaufmeldungen kommen aus dem Graph (Verriegelung fehlt, Supervision angesprochen usw.) und alle sonstigen Prozess-Meldungen kann ich flexibel mit PRODIAG projektabhängig parametrieren.
80% der fehlerträchtigen Tipp-Arbeit und Copy-Paste Fehler wäre bei diesem Verfahren erspart. Erleichternd hinzu käme noch eine einheitliche Benennung der Module und Objekte innerhalb der Anlage, die von allen Gewerken gleich benutzt wird und sich im EPLAN so wiederfindet.