Da fällt mir spontan nur eine doofe Idee ein:
In einer Schleife immer das nächst höhere Wort abfragen.
Wenn sich der Fehler OB meldet war es ein Wort zuviel.
Code:
U #Merker Fehler OB
R #Schleifendurchlauf
SPBN End
L Anzahl DB Word
+ -1
T Anzahl DB Word
U #Merker Fehler OB
R #Merker Fehler OB
End: NOP 0
@Paule
Es gibt einen AWL-Operator der da heißt:
L DBLG
der SFC ist wieder eine andere Sache ...
L DBLG (Lade die Länge des Global-Datenbausteins) lädt die Länge des Global-Datenbausteins in AKKU 1, nachdem zuvor der Inhalt von AKKU 1 in AKKU 2 gespeichert wurde.
... Onkel Dagobert hat es ja schon angedeutet ...
Du kannst in SCL natürlich alle externen FC's, FB's, SFC's oder SFB's etc. in deinen Code mit einbinden und deren Ergebnisse auch auswerten und weiter verwenden.
Wenn du nicht weißt, wie das geht, dann gibt SCL dir dazu auch Hilfe (ich kann es jetzt nicht nachschauen - aber irgend etwas mit Baustein-Vorlage).
Das heißt, der vorgeschlagene SFC wäre da schon genau das Richtige ...
Der Weg über den SFC ist in Ordnung, weil er automatisch in jeder CPU vorhanden ist.
Ich wollte nur keine extra Funktion haben, der man die DB Nummer übergibt und dann die Länge zurück bekommt. Diese müsste man dann ja immer im Projekt mit bereitstellen.
Perfekt hätte ich natürlich einen Befehl wie L DBLG in SCL gefunden, aber man kann nicht alles haben.
Also abschließend, vielen Dank für die Auflösung meiner Frage.