E-/A für Bausteine
Spät, spät, spät komme ich online um zu sehen, was ich durch eine unscharfe Formulierung angerichtet habe...
Ein findiger Forumsteilnehmer hat es durchblickt und mit wenigen Worten richtig gestellt:
Ich meinte den Baustein-
Aufruf!

Danke an 'Vierlagig'!
Im Beispiel der Stern-Dreieckschaltung wäre das ein Kästchen mit vielleicht nur einem binären Eingang, ein Zeitglied als E/A Typ und drei Ausgängen. Das dahinterliegende Programm gestaltet sich selbstverständlich nach dem Gustus des Programmierers.
* * * * * *
DB im Bausteinaufruf erkennbar:
Ein sehr effizientes Mittel, Baustein E/A zu sparen ist das, lediglich einen Zeiger und einige wenige nicht strukturierte Variable (z.B. SPS E-A) zu übergeben.
z.B. ein pneumatisch betätigtes Ventil in einer Anlage mit Dutzenden von Ventilen:
- Ventilnummer,
- Taster EIN,
- Taster AUS,
- Stellausgang ÖFFNEN.
All die anderen Variablen wie Zeitüberwachung, Stellzustand als mehrfarbige Anzeige, Störzustand, Alarm, Automatik EIN... gehen über einen Datenbaustein mit einem Array der Struktur der versteckten Ventilvariablen. Das Array wird über die Ventilnummer indiziert und direkt aus bem Bausteincode heraus angesprochen. Von "aussen" sind diese Variablen unsichtbar.
Es wäre nun fein, wenn zumindest die DB Nummer in dem Bausteinaufruf gewissermassen von "aussen" erkennbar wäre. So erhält man einen leisen Tipp. Ansonsten muß der ahnungslose Fehlersucher in den Programmcode des Bausteins einsteigen, um irgendwann einmal zu entdecken, dass da ein DB ist...
Übrigens: freundliche Kommentierung bringt auch nicht all zu viel, da zunehmend Fehlersuche per upload nachgefragt wird:
Die Originalquelle (mit den Kommentaren) hat irgend ein Guru bei Lieferung der Anlage kassiert. Guru hat sich ins Ashram zurückgezogen, Quelle nichtmehr auffindbar. Herstellerfirma schon lange per Investor zerlegt.
Jetzt holt man Dich an die Anlage, weil Du SIEMENS buchstabieren kannst: "Nu kuck doch 'mal!".
In solchen Fällen bewährt sich, dass die S7 die Mnemos der Bausteinaufrufe runter ladet und sie bei einem Upload wieder zu erkennen sind. Wenn ich nun entdecke dass Du, der mir unbekannte Programmierer, damals eine Übergabevariable 'DBNR' erzeugt hast, so werde ich Dir ein Extra-Räucherstäbchen spendieren, wenn auch ich mich dereinsten in ein Ashram zurückziehen werde...
Fairer Programmierstil an den Schnittstellen von Bausteinaufrufen!
BFlat
wieder auf Einsatz verschwindend