Scheduling
BACnet Time Scheduling bietet Strategien zur Implementierung von datums- und/oder zeitbasierten Funktionen.
BACnet verwendet dafür zwei Objekttypen, Calendar und Schedule.
Der Objekttyp Calendar liefert Informationen, wenn HEUTE mit einem oder mehreren Einträgen in der Eigenschaft Date_List übereinstimmt. Dies wird z. B. verwendet, um festzustellen, ob HEUTE ein Feiertag ist oder nicht (vorausgesetzt, die Datumsliste enthält diese Information). Ein Eintrag in der Date_List-Eigenschaft kann ein einzelnes Datum, ein Datumsbereich oder ein WeekNDay (eine Kombination aus Tagen, Wochen und Monaten) sein.
Der Objekttyp Zeitschaltplan basiert hauptsächlich auf zwei Eigenschaften.
Die Eigenschaft Weekly_Schedule stellt ein Zeitschaltplanprogramm (Zeit/Werteliste) für jeden der Tage von Montag bis Sonntag dar.
Die Eigenschaft Exception_Schedule gibt eine Liste von Ausnahmen an, die Vorrang vor dem WeeklySchedule haben. Die Ausnahmen können als einzelnes Datum, DateRange oder WeekNDay angegeben werden oder auf einer Calendar-Referenz innerhalb desselben Geräts basieren. Leider ist es vom BACnet-Standard her nicht möglich, einen globalen Kalender zu spezifizieren und von anderen Geräten aus auf dieses Objekt zu verweisen. Bei Bedarf muss der Inhalt eines globalen Kalenders in lokale Kalenderobjekte in jedem BACnet-Device kopiert werden.
Zeitplanobjekte enthalten eine Schedule_Default-Eigenschaft, die den Rückfallwert um Mitternacht angibt, außer der Wert wird am nächsten Tag um 0.00.00:00 Uhr wiederholt.
Das Zeitplanobjekt hat keinen spezifischen Datentyp. Der tatsächliche Datentyp wird durch den Weekly- und ExceptionSchedule, Schedule_Default und die Liste der ObjectPropertyReferences bestimmt.
ObjectPropertyReferences können Eigenschaften in Objekten innerhalb desselben oder in fremden Geräten enthalten.
Die Priorität des Zeitschaltplan-Prozesses wird über die Eigenschaft Priority_For_Writing im Bereich von 1-16 angegeben.