OSCAT Forum

oscat.lib => Bestehende Module / Existing Modules => Thema gestartet von: tobiaslochner am 12. Oktober 2014, 11:40:33

Titel: Bug in Timer_2 mit Modus 26
Beitrag von: tobiaslochner am 12. Oktober 2014, 11:40:33
Hallo,

ich möchte gerne einen Bug Reporten, welcher mir beim Baustein Timer_2 in Verbindung mit dem Modus 26 (letzet Tag im Monat) aufgefallen ist.

Für die Berechnung des letzten Tages im Monat wird dies hier standardmäßig verwendet:

26: (*last day of month*)
      enabled := DAY_OF_MONTH(dat + t#1d) = 1;

Leider funktioniert die Berechnung mit dat + t#1d bei Codesys (Wago) nicht. Wie im Screenshot zu sehen ist, sollte temp_dummy den heutigen Tag + 1Tag anzeigen. Was in diesem Beispiel 13 wäre. Tatsächlich ist das Ergebnis jedoch 8.

Die Lösung dafür ist die Funktion DATE_ADD.
26: (*last day of month*)
      enabled := DAY_OF_MONTH(DATE_ADD(dat,1,0,0,0)) = 1;


[gelöscht durch Administrator]
Titel: Re: Bug in Timer_2 mit Modus 26
Beitrag von: peewit am 12. Oktober 2014, 15:25:34
hi

danke für die info

auf den ersten blick würde ich sagen das der original-code nicht logisch falsch ist, jedoch ist das ergebnis abhängig von der verwendeten compilerversion, sodass anscheiend manche versionen damit nicht korrekt umgehen können.

Titel: Re: Bug in Timer_2 mit Modus 26
Beitrag von: mamypokojum am 07. November 2014, 10:20:06

I favor a lot of good. It is common knowledge that must be researched Bruera it.
Titel: Re: Bug in Timer_2 mit Modus 26
Beitrag von: Poppylovelol am 14. Januar 2015, 13:00:02
I do not understand the content that you post.gclub mobile (https://goo.gl/hqZNPy)