TIA UPPER_BOUND / LOWER_BOUND - ARRAY in Strukturen

hifibastel

Level-2
Beiträge
7
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich möchte die obere und die untere Grenze von einem Array bestimmen.
Das ganze gelingt mit einem einfachen Array Problemlos.
Zumindes ab TIA V14 auf der S7-1200 / S7-15000 und entsprechender Firmware.

Code:
Start := LOWER_BOUND(ARR := #Array_Daten, DIM := 1);
#End := UPPER_BOUND(ARR := #Array_Daten, DIM := 1);

Wie aber ist die Syntax um die Grenzen eines Arrays aus der Struktur eines Datenbausteins zu ermitteln?

Beispiel:

DB_TEST.EBENE1.EBENE2.ARRAY[]
 
Das ist so nicht möglich, LOWER_BOUNBD und UPPER_BOUND lassen sich nur auf Schnittstellenparameter vom Typ ARRAY
[*] anwenden.
Möchtest du die unteren und oberen Array-Grenzen einer DB-Variable "bestimmen", kannst du dir über PLC-Konstanten abhelfen.
Ich setze hierbei auf die Konvention, dass Arrays immer mit ARRAY[0.."PLCKonst"] OF xxx definiert sind.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi,

danke für die Antwort. Ich habe es schon fast vermutet. Wäre mal wieder zu schön gewesen um wahr zu sein.
Ich nehme jetzt ein Elemt (Array )der n-ten Ebene der Struktur und übergebe es an einen FB. Der FB hat am InOut eine Variabel vom Typ Array* of Typ.
In diesem FB kann ich dann die Grenzen auslesen und gebe sie am Out aus.

Das mit den PLC-Konstanten ist auch eine gute Idee, ich möchte meine Bausteine aber in einer Bibliothek für verschiedene Projekte nutzen.

Danke für die Hilfe
 
Zurück
Oben