Registerindirekte Adrerssierung Funktionsbaustein

Grundsätzlich schon. Wie werden solche Funktionen modern gelöst? Aufrufe erfolgen nur in FBs und dann als Multiinstanz?

Das ist nur ein Teil des Ganzen.

- Effiziente Nutzung von UDTs zum Datenhandling innerhalb der Anlage;
- Versorgung der Bausteine nur über Schnittstelle mit UDTs, kein Zugriff auf irgendwelche Globaldaten aus einem Standard-FB heraus;
- Standardbausteine zum "Zumachen und Vergessen" sollten in SCL geschrieben werden; wenn diese eine HMI Schnittstelle haben, dann ggf. gleich mit einem dazugehörigen Faceplate;
- Schrittketten werden im GRAPH gemacht;
- Auch Sachen wie CFC sollte man kennen und anwenden. Eignet sich für Regler und Bausteine mit einem kontinuierlichen Datenfluss, der sich graphisch abbilden lässt.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das ist schon ein ganz schöner Umbruch, ich denke aber auch, das es gewissermaßen nötig ist, um auch in Zukunft vernünftig und sauber zu programmieren.
Vielen Dank für die Hinweise und Tipps.
 
Ich gebe meinen Vorrednern hier absolut Recht. Diese Art und Weise der Programmierung ist alles andere als gut und nachvollziehbar. Allerdings kenne ich auch das Problem, dass man solchen Murks ja manchmal leider verwenden muss (aus unterschiedlichen Gründen)...
Um also solche magic numbers und deren ggf. doppelten Verwendungen wenigstens im gesamten Code auffindbar zu machen, ersetze ich diese dann durch globale Konstanten. Also Anwenderkonstante: "ersterAufruf" = 1 ... "n-terAufruf" = n. Den FB kann man dann Anstelle mit der reinen Nummer mit der entsprechenden Konstante beschalten. Diese lässt sich dann wenigstens via Querverweise wiederfinden und doppelte Verwendungen damit aufspüren.
Grundsätzlich sollte man sich aber von diesem Nummern-, Adressregistern- und Offset-Kram lösen. Ich glaube nicht, dass man die maximale Anzahl ladbarer DBs überschreitet, weil man FBs ordentlich mit je einer Instanz versieht ;) Und auch die maximale Größe der IDBs im Falle der Multiinstanzierung ist in der optimierten Welt schon ganz ordentlich.
 
Zurück
Oben