-> Hier kostenlos registrieren
Vorsicht Anfänger
Ich weiss, da waren schon einige Beiträge zu dem Thema, habe aber ein grundsätzliches Problem.
Ein Ereigniszähler ist als FB zu programmieren. Format des Zählwertes ist DINT.
Der Zählwert wird aus einem DB geholt, etwa so:
U #CBIT //Zählereignis
FP #CM //Zählmerker Flanke +
SPB CNT
SPA END
CNT: L #CVAL //Zählwert holen
L L#1 // eins dazu
+D //addieren
T #CVAL
END: NOP 0
#CVAL wurde im Instanz-DB als DINT in IN-OUT deklariert.
#CBIT wurde im Instanz-DB als BOOL in IN deklariert.
FB Aufruf etwa wie folgt:
CALL FBZAEHL
CBIT: M450.5 // z.B. Taktmerker 1 Sekunde
CVAL: DB756.DBD8
Ergebnis: es zählt nix
Wo liegt der Fehler?
Ich weiss, da waren schon einige Beiträge zu dem Thema, habe aber ein grundsätzliches Problem.
Ein Ereigniszähler ist als FB zu programmieren. Format des Zählwertes ist DINT.
Der Zählwert wird aus einem DB geholt, etwa so:
U #CBIT //Zählereignis
FP #CM //Zählmerker Flanke +
SPB CNT
SPA END
CNT: L #CVAL //Zählwert holen
L L#1 // eins dazu
+D //addieren
T #CVAL
END: NOP 0
#CVAL wurde im Instanz-DB als DINT in IN-OUT deklariert.
#CBIT wurde im Instanz-DB als BOOL in IN deklariert.
FB Aufruf etwa wie folgt:
CALL FBZAEHL
CBIT: M450.5 // z.B. Taktmerker 1 Sekunde
CVAL: DB756.DBD8
Ergebnis: es zählt nix
Wo liegt der Fehler?