Herrminator
Level-1
- Beiträge
- 41
- Reaktionspunkte
- 0
-> Hier kostenlos registrieren
Hallo zusammen,
ich habe in einem DB eine Rezeptur stehen. In dieser Rezeptur gibt es mehrere Wörter welche die Reihenfolge der einzelnen Rezeptursegmente beinhaltet. Da ich eine sortierte Reihenfolge benötige, möchte ich mit einem Pointer den DB nach der aktuell gesuchten Reihenfolge absuchen. Die Vorgabe der aktuell gesuchten Reihenfolge kommt von einem Zähler. Mein Code sieht bis jetzt so aus:
Ich muß dazusagen, es ist mein erstes Programm in AWL (denke man sieht es). Was nicht funktioniert, ist dass ab Startwert 2 jeder 16 Wert geprüft wird,muss also was mit meiner Schleife zu tun haben. Desweiteren muss jedesmal alles zwischen 2 und 160 durchsucht werden und überwacht, dass es nicht mehr als einen Durchlauf gibt.
Wie würde da ein sinnvoller Ansatz aussehen?
Grüße Tobias
(CPU 315-2DP / Step 7 5.4 SP3)
ich habe in einem DB eine Rezeptur stehen. In dieser Rezeptur gibt es mehrere Wörter welche die Reihenfolge der einzelnen Rezeptursegmente beinhaltet. Da ich eine sortierte Reihenfolge benötige, möchte ich mit einem Pointer den DB nach der aktuell gesuchten Reihenfolge absuchen. Die Vorgabe der aktuell gesuchten Reihenfolge kommt von einem Zähler. Mein Code sieht bis jetzt so aus:
Code:
AUF "Rezeptur" // DB öffnen
L #Datenanfang // Erster Wert aus DB
T #SuchWert
L 0
T #Durchl
anf: NOP 0 // Schleifen Anfang Schritt finden
L #Durchl
L 1
+I
T #Durchl
L #SuchWert
SLD 3 // Pointer erzeugen
LAR1
L DBW [AR1,P#0.0]
T #Wert // gefundener Wert
L #SuchWert // Nächster Wert
L 16 // SuchWert + 16 = neuer Wert
+I
T #SuchWert
L Z 20 // Richtiges gefunden?
T #Z_i
L #Z_i // Vergleich gesuchter Schritt = gefundener Schritt
L #Wert
==I
SPB end // Wenn Z_i=Wert --> Ende
SPA anf //sonst --> Anfang
end: NOP 0
Ich muß dazusagen, es ist mein erstes Programm in AWL (denke man sieht es). Was nicht funktioniert, ist dass ab Startwert 2 jeder 16 Wert geprüft wird,muss also was mit meiner Schleife zu tun haben. Desweiteren muss jedesmal alles zwischen 2 und 160 durchsucht werden und überwacht, dass es nicht mehr als einen Durchlauf gibt.
Wie würde da ein sinnvoller Ansatz aussehen?
Grüße Tobias
(CPU 315-2DP / Step 7 5.4 SP3)