-> Hier kostenlos registrieren
Hallo!
Ich möchte einen Windmesser an die S7-300 anschließen.
Der Windmesser gibt pro Umdrehung 2 Impulse aus. Maximal 100Hz.
Zur Wandlung habe ich mal folgende Methode ausprobiert:
NW1: Impulszähler
U E 11.1 //Zähleingang
ZV Z 10
U(
L MW 200 //
L 999 //
==I //Rücksetzen bei '999'
) //
R Z 10 //
L Z 10
T MW 200
NW2: Impuls mit 1s //Blinkimpuls mit t_ein 1s und t_aus 1 Zykluszeit
U(
UN T 10
R M 199.5
U E 11.1
S M 199.5
U M 199.5
)
L S5T#1S
SI T 10
NW3: Zeit pos. //liest den Zählwert bei pos. Flanke des Blinkers ein
U T 10
FP M 199.6
L MW 200
ITD
T MD 202
NW4: Zeit neg. //liest den Zählwert bei neg. Flanke des Blinkers ein
U T 10
FN M 199.7
L MW 200
ITD
T MD 206
NW5: delta t //Anzahl der Impulse während 1s
L MD 206
L MD 202
-D
T MD 210
NW6: Transfer Double-Integer -> Real
L MD 210
DTR
T MD 214
NW7: Skalierung //Frequenz/2,5=Windgeschwindigkeit in m/s
L MD 214
L 2.500000e+000
/R
T MD 218
NW8: Betragsbildung //Verhindert negative Werte bei Zählerüberlauf
L MD 218
ABS
T MD 222
NW9: Transfer auf Analoganzeiger
L MD 222
T PAW316
Leider funktioniert das Ganze nicht so, wie ich will.
Es werden öfter mal negative Werte ausgegeben.
Ist meine Lösung prinzipiell mal richtig oder lieg ich komplett falsch, und es geht viel einfacher?
Vielen Dank im voraus,
Gruß
Manuel
Ich möchte einen Windmesser an die S7-300 anschließen.
Der Windmesser gibt pro Umdrehung 2 Impulse aus. Maximal 100Hz.
Zur Wandlung habe ich mal folgende Methode ausprobiert:
NW1: Impulszähler
U E 11.1 //Zähleingang
ZV Z 10
U(
L MW 200 //
L 999 //
==I //Rücksetzen bei '999'
) //
R Z 10 //
L Z 10
T MW 200
NW2: Impuls mit 1s //Blinkimpuls mit t_ein 1s und t_aus 1 Zykluszeit
U(
UN T 10
R M 199.5
U E 11.1
S M 199.5
U M 199.5
)
L S5T#1S
SI T 10
NW3: Zeit pos. //liest den Zählwert bei pos. Flanke des Blinkers ein
U T 10
FP M 199.6
L MW 200
ITD
T MD 202
NW4: Zeit neg. //liest den Zählwert bei neg. Flanke des Blinkers ein
U T 10
FN M 199.7
L MW 200
ITD
T MD 206
NW5: delta t //Anzahl der Impulse während 1s
L MD 206
L MD 202
-D
T MD 210
NW6: Transfer Double-Integer -> Real
L MD 210
DTR
T MD 214
NW7: Skalierung //Frequenz/2,5=Windgeschwindigkeit in m/s
L MD 214
L 2.500000e+000
/R
T MD 218
NW8: Betragsbildung //Verhindert negative Werte bei Zählerüberlauf
L MD 218
ABS
T MD 222
NW9: Transfer auf Analoganzeiger
L MD 222
T PAW316
Leider funktioniert das Ganze nicht so, wie ich will.
Es werden öfter mal negative Werte ausgegeben.
Ist meine Lösung prinzipiell mal richtig oder lieg ich komplett falsch, und es geht viel einfacher?
Vielen Dank im voraus,
Gruß
Manuel