Loop funktioniert nicht richtig

Homer J

Level-1
Beiträge
5
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen.
Ich habe ein Problem mit dem Loop. Ich möchte, nachdem alle Arbeitsplätze fertig sind,
die LED´s an der Ampel als lauflicht 3x durchlaufen lassen. Die 4 LED´s habe ich in
"Ampelzuweisungen".Ampel_AP1 auf den Bit´s 1.0 bis 1.3. Mein Programm sieht wie folgend
aus:

L "Ampelzuweisungen".Ampel_AP1
L 8
==I
S "M_AP1_Zurueck_Auf_0"

////////Lauflicht 3X wenn alle fertig sind///////////
U "M_Alle_AP_Fertig"
SPBN end2

L 12
lop1: T MW 100
U(
U "Taktgeber"
FP #Flanke_3
)
UN "M_AP1_Zurueck_Auf_0"
SPB spr1
SPA end3
spr1: L "Ampelzuweisungen".Ampel_AP1
SLW 1
T "Ampelzuweisungen".Ampel_AP1
end3: NOP 0
U(
U "Taktgeber"
FP #Flanke_4
)
U "M_AP1_Zurueck_Auf_0"
SPB spr2
SPA end4
spr2: L "Ampelzuweisungen".Ampel_AP1
SRW 3
T "Ampelzuweisungen".Ampel_AP1
R "M_AP1_Zurueck_Auf_0"
end4: NOP 0
L MW 100
LOOP lop1

end2: NOP 0

Was tatsächlich passiert ist, dass im MW100 nach dem ersten Durchlauf eine 1 steht, keine 12,
und das Lauflicht läuft und läuft......endlos. Im MW100 bleibt auch die 1. Wo kann der Fehler liegen? ich bin mit meinem Latein am Ende. Noch zur Info, es sind 11 Lauflichter, also dementsprechend auch 11 dieser Loop´s.
Kann der Fehler an der Menge der Loop´s liegen? Oder hab ich sonst wo nen Tippfehler?

Danke schonmal im Vorraus und Gruß :D
Homer J
 
Hast du einen Haltepunkt gesetzt um zu sehen wie MW100 nach dem 1. Durchlauf aussieht? Ansonste siehst du eher den Zustand nachdem die Schleife 12 mal durchgelaufen.

Mal abgesehen davon, kannst du das nicht zum Wohle aller in FUP programmieren? einfach mit nem Startbefehl und nem Taktimpuls die Bits verschieben und mit Stopbefehl zurücksetzen. Ohne Schleife ohne Sprünge ohne Fehler :) 1-3 Netzwerke.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Er durchläuft den Loop 12 mal in einem Zyklus.. Wenn du durch Einzelzyklus beobachtest, siehst du wie mein Vorposter schon geschrieben hat nur den Zustand nach den 12 Schleifen.

Wo setzt du denn "M_Alle_AP_Fertig" auf false ? denn solange dieses bit true ist läuft dein Licht immer wieder durch.
 
Zuletzt bearbeitet:
M_Alle_AP_Fertig wird zurückgesetzt, sobald ein neuer WT eingeschleust wird. Das passiert unregelmäßig. Dann hatte ich wohl einen grundliegenden Denkfehler was den Loop betrifft.
Ich hab da wohl verdrängt dass der Loop die 12 Durchgänge in jedem Zyklus macht :)
Dann muss ich das wohl von Grundauf anders anpacken.

Aber danke für die schnellen Antworten :D
 
Zurück
Oben