TrendLog (FB)

FUNCTION_BLOCK TrendLog EXTENDS LogObjectsBase IMPLEMENTS BACnet.IBACnetEventConsumer

Default implementation to handle Trend_Log-object data storage in the file system.

Assumptions and requirements see LogObjectsBase.

TrendLog provide the feature to monitor BACnet properties, but doesnt allow to monitor other entities than BACnet properties. See ANSI/ASHRAE Standard 135-2012 Table 12-29. Properties of the Trend Log Object Type footnote [8]. Monitoring other entities (than BACnet properties) is definded in the ANSI/ASHRAE Standard 135-2012 for historic reasons and not recommended anyway. Use a BinaryInput, BinaryValue, AnalogInput or AnalogValue to represent the other entity and monitor it’s Present_Value.

TrendLog is limited to monitor properties of selected value types (BOOLEAN, UNSIGNED, SIGNED, REAL, ENUMERATED, BIT_STRING) only. To ensure the Log_DeviceObjectProperty property can not be set to other properties use the BACnet-Server-plugin LimitDeviceObjectPropertyReferencesToCertainTypes. Also TrendLog data files needs to be consistent with object persistence. Most obvious Total_Record_Count needs to be consistent with last records sequence number. So in case you delete object persistence files created by ObjectPersistence you need to delete TrendLog data files as well.

This BACnet-Server-plugin needs to be registered prior to BACnetServer.StartBACnetStack() to capture log records created during StartBACnetStack(), so you can’t use it with BACnet-Server AutoStart (at application init).