Hallo David.
Es ist durchaus möglich 10 weitere Datenbausteine zu verwenden. In einem vorherigen Beitrag
hatte ich schon mal geschrieben, dass es sogar notwendig ist, falls die Zähler-Sollwerte grösser
als 65535 werden.
Allerdings gibt es nur 32 DB's und davon wären 30 belegt für die Vorgabe der Werte. Für
eventuelle Programmerweiterungen stünden dann nur noch 2 zur Verfügung. Desweiteren
wären 400 Byte Speicher belegt, der am Ende vielleicht fehlt. Der eigentliche Hintergrund ist
also Platz und DB's zu sparen, wenn sie denn nicht benötigt werden. Und es wird halt nicht
benötigt, solange die Zähler nicht weiter als 65535 zählen müssen.
Das Beispiel basiert auf einem Merkmal, was normalerweise vermieden werden soll aber hier
bewusst ausgenutzt wird, den überlappenden Merkerbereichen.
Die Sollwerte der Zähler sind abgelegt in den Wörtern MW93, MW94 und MW95. Die grösste in
einem Wort darstellbare Zahl ist 65535, daher die Begrenzung. Die Wörter MW93 (für C03) und
MW94 (für C05) können zusammen als Doppelwort MD47 angesprochen werden. Die Merker-
bereiche überlappen sich, d.h. wenn ein Wert als Doppelwort MD47 geschrieben wird, ändern sich
gleichzeitig die Wörter MW93 und MW94 und Du benötigst nur einen Datenbaustein anstatt zwei.
Zusammengefasst :
- sind die Zählervorgaben größer als 65535 : 10 weitere DB's verwenden
- sind keine grossartigen Programmerweiterungen geplant : 10 weitere DB's verwenden
- ansonsten einmalig die Mühe machen und Werte berechnen
Gruß
Maikky