# Re: Timer\_1 Problem über Mitternacht

**URL:** <https://oscat.discourse.group/t/re-timer-1-problem-uber-mitternacht/2269>\
**Category:** Bestehende Module / Existing Modules\
**Created:** [5. Januar 2018 um 16:46 UTC](https://oscat.discourse.group/t/re-timer-1-problem-uber-mitternacht/2269 "2018-01-05T16:46:06Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/free1/uploads/oscat/original/1X/2efdfb9c592ff9a666c94dff124ee84fa863dae5.jpeg) [@system](https://oscat.discourse.group/u/system)\
**Post date:** [5. Januar 2018 um 16:46 UTC](https://oscat.discourse.group/t/re-timer-1-problem-uber-mitternacht/2269/1 "2018-01-05T16:46:06Z")

</div>

Hallo,

habe eben festgestellt das Timer\_1 (aktuelle building lib) über Mitternacht bei einem Einzelereignis (z.B. Start Mittwoch 23:00 Dauer 2 Stunden) bis 00:00 Uhr funktioniert und nicht darüber hinaus. Diese Problem hatte ein User schon einmal festgestellt (2009).

Siehe [Timer\_1 Problem über Mitternacht](http://www.oscat.de/community/index.php/topic,815.msg5040.html#msg5040)

Mit der nächsten release Basic 3.21 sollte dies korrigiert werden. Weiß jemand ob es im Timer\_1 einen Unterschied zwischen der aktuellen Building lib und der Basic 3.21 lib im Quellcode gibt.

Gruß König

---

<div class="post-metadata">

**Author:** ![peewit](https://avatars.discourse-cdn.com/v4/letter/p/ecc23a/32.png) [@peewit](https://oscat.discourse.group/u/peewit)\
**Post date:** [5. Januar 2018 um 19:44 UTC](https://oscat.discourse.group/t/re-timer-1-problem-uber-mitternacht/2269/2 "2018-01-05T19:44:05Z")

</div>

hallo

in der oscat\_basic 3\_21 hat der timer1 baustein die revisionsnummer 2.2  
in der oscat\_building 1\_00 hat der timer1 baustein die revisionsnummer 2.2

somit sollte es hier keinen unterschied geben

die letzte änderung laut historie betraf auch einen bug bezüglich “over midnight”

(\*  
1.12.2006 hm rev 1.1  
corrected an error with pulse width = 0.

25.12.2006 hm rev 1.2  
corrected an error when timer overflows.

14.apr 2007 hm rev 1.3  
corrected an error while while output would not go active when start year would be 1970.  
increase accuracy by checking every 100ms  
added init section to compensate for timer overflow

15.9.2007 hm rev 1.4  
replaced Time() with T\_PLC\_MS for compatibility and performance reasons

hm 1. okt 2007 rev 1.5  
corrected an error while output would not stay active over midnight.

hm 17. jan 2008 rev 1.6  
New code with better performance  
Output is now only active during the time of day it is supposed to  
no pulse is generated at power up

hm 7. oct. 2008 rev 1.7  
changed function weekday to day\_of\_week

hm 23. oct. 2008 rev 2.0  
new code, added input E, now days can be selected by bits in byte day

hm 6. nov. 2008 rev 2.1  
added default for input EN and input DAY

hm 16. dec 2009 rev 2.2  
fixed a bug over midnight

\*)

---

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/free1/uploads/oscat/original/1X/2efdfb9c592ff9a666c94dff124ee84fa863dae5.jpeg) [@system](https://oscat.discourse.group/u/system)\
**Post date:** [5. Januar 2018 um 21:39 UTC](https://oscat.discourse.group/t/re-timer-1-problem-uber-mitternacht/2269/3 "2018-01-05T21:39:01Z")

</div>

Hallo Peewit,

ich habe dann die aktuelle Version. Timecheck macht die Aktivierung über Mitternacht hinaus, aber mit der Verundung mit dem Bitmuster geht bei einem Einzeltag und Auschschaltzeitpunkt nach Mitternacht Q auf false.

Q := TIMECHECK(DT\_TO\_TOD(DTI), START, TIME\_TO\_TOD(stop)) AND (SHR(BYTE#128, DAY\_OF\_WEEK(DT\_TO\_DATE(DTI))) AND DAY) \> BYTE#0;

Die Beschreibung in Bezug auf die Einschaltdauer war für mich erst einmal missverständlich. “Die maximale Impulsdauer liegt bei 49 Tage…” für das TIME Format gilt das ja, aber die Einschaltdauer über 24h muss in Kombination mit der Variablen DAY erfolgen. Beispiel Start am Mittwoch um 15:00 Dauer 36 Std.. Endzeit wäre dann Freitag 03:00. Wenn z.B Mittwoch aktiviert ist und Donnerstag und Freitag nicht schaltet der Timer Donnerstag 00:00 ab.

Gruß König
