-> Hier kostenlos registrieren
Hallo Zusammen,
bräuchte mal eure Hilfe.
Gibt es eine Möglichkeit, in einer Schleife, 2 unterschiedliche Pointer zu verwenden ?
Oder kann ich im S7 Classic auch auf den Index vom Array schauen ? Und nicht auf die Adresse ?
Hardware ist eine 319F. Simatic Manager 5.6
Mein Ziel ist:
Zwei Arrays parallel zu durchsuchen.
Das 1. Array besteht aus X Doppelwörtern
Das 2. Array aus X Integer.
Nun möchte ich das erste Array durchsuchen und mit einem Wert vergleichen,
bei einem Treffer möchte ich den Inhalt aus dem entsprechenden 2. Array auslesen.
Also 1. Array[3] = Inhalt 2. Array[3] so zu sagen.
Mein Problem was ich gerade habe, wie bekomme ich 2 Pointer in einer Schleife ?
oder wie kann ich den ersten Pointer umrechnen das ich den evtl. nutzen kann.
Mein Programm sieht momentan so aus:
NOP 0
L W#16#0
T MW100 // Hier nulle ich den Inhalt falls keine Übereinstimmung vorhanden.
L P#0.0
LAR1
L 16
M011: T MW 357
AUF DB1234 // Datenbaustein der durchsucht werden soll
U(
L DBD [AR1,P#34.0]
L DB1234.DBD 24 // Wett auf den geprüft bzw. Verglichen werden soll
)
==D
SPBN ende
L W#16#101A // Hier nun mein Problem. Anstelle des Festwertes soll der Inhalt aus dem 2. Array stehen.
T MW100
ende: +AR1 P#4.0
L MW 357
LOOP M011
Hat jemand einen Gedankenanstoß für mich ?
SCL darf nicht genutzt werden. Aber gibt es im AWL auch die Möglichkeit auf den INDEX vom Array zu schauen ?
Könnte ich über den Schleifen Zähler, MW357, gehen ?
MFG
Spsrk2001
bräuchte mal eure Hilfe.
Gibt es eine Möglichkeit, in einer Schleife, 2 unterschiedliche Pointer zu verwenden ?
Oder kann ich im S7 Classic auch auf den Index vom Array schauen ? Und nicht auf die Adresse ?
Hardware ist eine 319F. Simatic Manager 5.6
Mein Ziel ist:
Zwei Arrays parallel zu durchsuchen.
Das 1. Array besteht aus X Doppelwörtern
Das 2. Array aus X Integer.
Nun möchte ich das erste Array durchsuchen und mit einem Wert vergleichen,
bei einem Treffer möchte ich den Inhalt aus dem entsprechenden 2. Array auslesen.
Also 1. Array[3] = Inhalt 2. Array[3] so zu sagen.
Mein Problem was ich gerade habe, wie bekomme ich 2 Pointer in einer Schleife ?
oder wie kann ich den ersten Pointer umrechnen das ich den evtl. nutzen kann.
Mein Programm sieht momentan so aus:
NOP 0
L W#16#0
T MW100 // Hier nulle ich den Inhalt falls keine Übereinstimmung vorhanden.
L P#0.0
LAR1
L 16
M011: T MW 357
AUF DB1234 // Datenbaustein der durchsucht werden soll
U(
L DBD [AR1,P#34.0]
L DB1234.DBD 24 // Wett auf den geprüft bzw. Verglichen werden soll
)
==D
SPBN ende
L W#16#101A // Hier nun mein Problem. Anstelle des Festwertes soll der Inhalt aus dem 2. Array stehen.
T MW100
ende: +AR1 P#4.0
L MW 357
LOOP M011
Hat jemand einen Gedankenanstoß für mich ?
SCL darf nicht genutzt werden. Aber gibt es im AWL auch die Möglichkeit auf den INDEX vom Array zu schauen ?
Könnte ich über den Schleifen Zähler, MW357, gehen ?
MFG
Spsrk2001