Autor Thema: Kleiner Bug in GEN_PULSE, Lib 3.31  (Gelesen 5496 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline wolfii

  • Newbie
  • *
  • Beiträge: 6
    • Profil anzeigen
    • E-Mail
Kleiner Bug in GEN_PULSE, Lib 3.31
« am: 07. April 2011, 22:23:22 »
Hallo miteinander,

in der Lib 3.31 ist in GEN_PULSE ein kleiner Fehler reingekommen. Der Wert von tn wird um den jeweils falschen Wert hochgezählt (PTH statt PTL und umgekehrt).

Die korrigierte Fassung schaut bei mir so aus:


IF enq THEN
   tx := DWORD_TO_TIME(T_PLC_MS());
   IF NOT init THEN init := TRUE; tn := tx; END_IF;
   (* This only happens on a timer overflow ... *)
   IF tn > tx THEN
      tn := tx;
   END_IF
   IF tx - tn >= SEL(Q, PTL, PTH) THEN
      tn := tn + SEL(Q, PTL, PTH);
      Q := NOT Q;
   END_IF;
ELSE
   Q := FALSE;
   init := FALSE;
END_IF;

Viele Grüße

Wolfii

Offline hugo

  • Global Moderator
  • *****
  • Beiträge: 2 150
    • Profil anzeigen
Re:Kleiner Bug in GEN_PULSE, Lib 3.31
« Antwort #1 am: 08. April 2011, 14:36:38 »
danke das werden wir im nächsten release korrigieren