OSCAT Forum

oscat.lib => oscat.lib fuer TwinCAT/CoDeSys => Thema gestartet von: master in 26. Dezember 2010, 21:23:18

Titel: FT_PT1 bringt 1.#QNAN am Ausgang
Beitrag von: master in 26. Dezember 2010, 21:23:18
Hallo,

habe zur Messwertberuhigung einen FT_PT1 Baustein eingesetzt. Nach ca zwei Monaten gibt der Baustein nun "1.#QNAN" am "out" aus. Der "in" Wert beträgt jetzt -0,5, K=1 und die Filterzeit beträgt 20s.
Was könnte da schief laufen? Was bedeutet das "1.#QNAN"?
Hardware: Beckhoff CX9001

Gruß
master
Titel: Re:FT_PT1 bringt 1.#QNAN am Ausgang
Beitrag von: peewit in 26. Dezember 2010, 22:41:41
hallo master

1.#QNAN bei einer berechnung ist als ergebnis "Not A Number" herausgekommen

eine anwort auf deine frage hast du ja schon im sps-forum.de bekommen
so wie es aussieht bekommst du diesen fehler sowohl beim beckhoff als auch beim oscat baustein
somit dürfte es an deinen werte liegen , das diese irgendwann ins abseits gleiten

Titel: Re:FT_PT1 bringt 1.#QNAN am Ausgang
Beitrag von: hugo in 17. Januar 2011, 16:18:22
IF NOT init OR T = t#0s THEN
   init := TRUE;
   out := K * in;
ELSE
   out := out + (in * K - out) * DWORD_TO_REAL(Tx - last) / TIME_TO_REAL(T) * 1.0E-3;
END_IF;
last := tx;

hier ist der gesamte code des bausteins FT_PT1.
die einzige mathematische operation die einen solchen fehler liefern könnte ist die division / TIME_TO_REAL(T).
diese mögliche division /0 würde diesen fehler liefern, wird aber diuch das if T = T#0s verhindert.

ich vermute das der fehler ausserhalb des ft_pt1 liegt
Titel: Re:FT_PT1 bringt 1.#QNAN am Ausgang
Beitrag von: shooter in 18. Februar 2011, 10:15:38
auch hier is es eine memory fault.
see the memory einweisung