Schleife - Array

mde

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

ich wollte eine einfache Schleife programmieren die mir ein Array vom Typ UDT durchsucht. Es sollte nur eine Variable des UDTs überprüft werden.

Ich dachte ich könnte einfach das Array über die Schleifenzyklen hoch zählen was aber nicht geht „Syntaxfehler“.

Ich habe jetzt schon gelesen das Siemens hier nur Konstanten zulässt und man es mit Pointer machen muss. Wie ich das aber machen kann habe ich nicht verstanden.

L #loops //Lade die Anzahl der Schleifenzyklen in AKKU1-L.
NEXT: T #loops //Sprungmarke = Anfang der Schleife / Transferiere AKKU1-L in Schleifenzähler.

U "SeqArray".Seq[loops].SeqChk <-fehler
:
:

L #loops //Lade den Inhalt des Schleifenzählers in AKKU 1.
LOOP NEXT //Dekrementiere den Inhalt von AKKU 1 und springe zur
Sprungmarke NEXT, wenn AKKU1-L > 0 ist.


Gruß

mde
 
Sieh mal hier: http://www.sps-forum.de/showthread.php?t=24218&highlight=indirekte+Adressierung

Besonders der Link vom Perfektionisten könnte dir weiterhelfen.

Außerdem bemühe mal die Forensuche mit "indirekte Adressierung"

Und schau in die Rubrik FAQ, dasteht auch was zur Erklärung.

PS: Die einfache Art der Adressierung eines Arrays, wie du sie oben versuchst, geht bei Step7 nur mit SCL.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Array vom Typ UDT durchsucht

:confused: hier stellst du mich vor ein rätsel ... wie sehen die lokaldaten aus???

so: array[0..3] of UDT1?

das nenn ich mal kreativ :rolleyes:

wenn du die möglichkeit hast, dann mach es in SCL, da läßt sich die variante so umsetzen, wie du sie geplant hast ... ansonsten, ja, indirekte adressierung und den versatz via erhöhung des adressregisters...
 
Hallo,
da ich an manchen Stellen meiner Programme auch so etwas mache (ARRAY[1..x] od UDT1) würde ich auch "wärmstens" empfehlen, den Vorschlag von Vierlagig hier aufzugreifen. Mit SCL läßt so etwas nicht nur gut, sondern auch übersichtlich und nachvollziehbar machen ...

Gruß
LL
 
Zurück
Oben