Bug in FILTER_MAV_W

Begonnen von mattsches, 15. März 2014, 12:01:59

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 1 Gast betrachten dieses Thema.

mattsches

Hallo OSCAT-Team,

der FILTER_MAV_W ist ziemlich vermurkst worden. Array als 1..32 deklariert, die Laufvariable i läuft aber von 0 weg und nur bis N-1. Bei der Initialisierung dann

sum := Y * N;

Y ist das (spätere) Berechnungsergebnis. X wäre richtig. Insgesamt funktioniert er schlicht nicht.

Warum kopiert Ihr nicht einfach den Code vom FILTER_MAV_DW rüber? Der ist korrekt.

Man sollte dort allenfalls noch init mit FALSE initialisieren. Boolesche Variablen allokieren in Codesys 1 Byte (nicht 1 Bit), können daher also ohne Initialisierung durchaus undefiniert sein. Hatte ich gerade auf meiner Beckhoff.

Viele Grüße,

mattsches

P.S. Verstehe ich das richtig, dass die Bilbliotheken zwar Open Source sind (was ich sehr begrüße, wie überhaupt die gesamte Initiative!), die Pflege aber durch Einzelne geschieht? D.h. Fehler in Code oder Doku meldet man ausschließlich hier im Forum und kann sie nicht etwa direkt korrigieren (wie z. B. bei Wikipedia). Richtig?

Edit: Ich muss mich korrigieren, FILTER_MAV_DW scheint schon noch einen Fehler zu haben. Die Summenbildung (Variable sum), die im _W offenbar eingefügt wurde, wird benötigt. Allerdings muss die Initialisierung dann auch korrekt sein (siehe oben).

Omalik

Hallo

Gibt es nun einen Baustein der Funktioniert oder muss jeder selber den Fehler suchen und ausbessern? Im Forum sind schon eine male betreffend  FILTER_MAV_W fragen aufgetaucht mit Vorschläge Bugfix und ... .

http://www.oscat.de/community/index.php/topic,1863.msg9851.html#msg9851
http://www.oscat.de/community/index.php/topic,1859.msg9817.html#msg9817
usw.

In Version 3.33 ist der Fehler immer noch drin meines Erachtens.