Flankenmerker funktioniert nicht

ogstyle

Level-1
Beiträge
50
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Will einen Flankenmerker benutzen, um einen DINT-Wert bei bestimmtem Ereingnis hochzuzählen.

Netzwerk in FB

U #S_Ausloeser //Ausgang zur Ansteuerung eines Schützes
FP #FM //Flankenmerkerbit als STAT-Var deklariert
SPBN noc
L DB1.DBD0 //Datendoppelwort für Zählervariable
L 1
+D
T DB1.DBD0
noc: NOP 0

Problem:
Wenn ich den "S_Auslöser" entweder über Automatik oder per Hand auslöse ergeben sich beim Beobachten folgende Zustände und VKEs
VKE STA
U #S_Ausloeser 1 1
FP #FM 0 1
ich erhalte beim Flankenmerker kein VKE==1
Dadurch kommt es nicht zum Hochzählen bzw. äußerst selten zufällig dazu (nicht reproduzierbar)

Was mache ich falsch?
Soll der FM doch als Merkerbit deklariert und in einem DB hinterlegt werden? Hab ja hier gelesen, dass es STAT sein soll.
 
Hallo,

also ich habe eigentlich in ein FM den gleichen Code, nur das bei mir ein Digitaler Eingang für die Flanke genommen wird. Der Flankenmerker ist aber ebenfalls eine statische Variable des FB mit dem entsprechenden Instanz DB, versuch mal ob das bei dir auch geht, also mit einem DI, oder mit einem Merker den du auf 1 schaltest
 
Tach,

Code ist OK ...

Schau dir lieber mal die Bausteinaufrufe an .. Hast Du den FB mehrfach aufgerufen und vielleicht den gleichen Instanz Db angegeben ?

Gruß
christian
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Beobachten von Variablen

Noch ne Frage zum Online-Beobachten von Variablen.

Hab zu o.g. Problem jetzt mal eine WAIT am Ende vom Programm (OB1) angelegt.
Jetzt ist es so, dass er anscheinend richtig zählt aber nicht jeden Zählvorgang in der Änderung der Variable anzeigt, sondern nur jedes 2., 4. oder auch 10. Mal. Variiert von Änderung zu Änderung.
Wie gesagt der dann angezeigte Wert stimmt jetzt (zähle das Schalten mit) somit funktioniert wohl auch die Flankenauswertung.

Ist das jetzt ein Anzeigeproblem im Beobachten-Modus?
 
Update

Hab die Variable jetzt mal direkt im DB beobachtet, und dort wird der Wert richtig und in "Echtzeit" hochgezählt.
Das ganz funktioniert auch ohne WAIT Baustein.
Scheint also ein Anzeigeproblem beim Beobachten innerhalb des FB's zu sein.

Hat sich also alles aufgeklärt.
Danke
 
Zurück
Oben