BACnetServerPluginHookBase (FB) ¶ FUNCTION_BLOCK BACnetServerPluginHookBase IMPLEMENTS IBACnetServerPluginHook Properties: EventCallback HookType Structure: EventCallback (Property) HookType (Property)
BACnetServerPluginHookBase.EventCallback (PROP) ¶ PROPERTY EventCallback : IBACnetEventConsumer
IBACnetServerPlugin.GetHook (METH) ¶ METHOD GetHook : IBACnetServerPluginHook Gets a hook. InOut: Scope Name Type Comment Return GetHook IBACnetServerPluginHook Input index UINT index of the hook.
IBACnetServerPlugin.Logging (PROP) ¶ PROPERTY Logging : BOOL Enable / disable logging.
IBACnetServerPlugin.Name (PROP) ¶ PROPERTY Name : STRING
IBACnetServerPlugin.NumCallbacks (PROP) ¶ PROPERTY NumCallbacks : UINT Number of callbacks implemented by the plugin.
BACnetServerPluginCallbackBase.EventCallbackRelease (PROP) ¶ PROPERTY EventCallbackRelease : IBACnetEventConsumer
BACnetDateTime (STRUCT) ¶ TYPE BACnetDateTime : STRUCT Helper Structure for CODESYS-typed date times to work with BACnet properties of BACnet standard type “BACnetDateTime” represented by CmpBACnet.IEC_BACNET_DATE_TIME. Please note: CmpBACnet.IEC_BACNET_DATE_TIME allows “unspecified” elements, but BACnetDateTime does not for historic reason. CmpBACnet.IEC_BACNET_DATE_TIME allows “unspecified” elements which are used for two different objectives. 1.) eventually “fully unspecified”: properties representing a time stamp or a time range start / end, for example BinaryInput.Change_Of_State_Time or TrendLog.Start_Time / .Stop_Time 2.) eventually “partially unspecified”: Schedule.Exception_Schedule The BACnet standard uses the terms “fully unspecified” or “fully specified”, but not the term “partially unspecified” (instead a bit more unspecific “unspecified”). “fully unspecified”: In most cases a time stamp indicates the time of a change of object state. Prior to first change of object state the time stamp is supposed to be “unspecified”. For an example see File.Modification_Date or PulseConverter.Update_Time Another use case of “fully unspecified” is a time range - see TrendLog.Start_Time and .Stop_Time or Schedule. “partially unspecified” is mainly used in Schedule.Exception_Schedule BACnetDateTime has been used in earlier versions of CODESYS BACnet as an API type instead of CmpBACnet.IEC_BACNET_DATE_TIME for convenience. So an interface breaking change would have been necessary to switch to CmpBACnet.IEC_BACNET_DATE_TIME to allow “unspecified” directly. We found this too hard of a measure, so we kept BACnetDateTime as an API type and added some assumptions and helper functions. Assumption: a BACnetDateTime dat = D#1970-1-1 AND tim = T#0S (begin of universe) or dat = D#2106-2-7 AND tim = T#23H59M59S999MS (end of universe) is assumed to be “fully unspecified”. Helper functions: IsBACnetBACnetDateTimeUnspecified to check if a BACnetDateTime is “fully unspecified”. IsBACnetDateTimeUnspecified to check if a CmpBACnet.IEC_BACNET_DATE_TIME is “fully unspecified”. InitializeBACnetDateTimeUnspecified to initialize a CmpBACnet.IEC_BACNET_DATE_TIME to “fully unspecified”. BACnetObjectBase.SetBACnetDateTimePropertyToUnspecified to initialize a property to “fully unspecified”. InOut: Name Type dat DATE tim TIME
BACnetDevObjPropReference (STRUCT) ¶ TYPE BACnetDevObjPropReference : STRUCT Helper Structure for CODESYS-Typed device object property references. InOut: Name Type objectID CmpBACnet.IEC_BACNET_OBJECT_ID propID CmpBACnet.IEC_BACNET_PROPERTY_ID index CmpBACnet.IEC_BACNET_SIGNED fDevicePresent BOOL deviceInstNumber CmpBACnet.IEC_BACNET_DWORD
BBMD_Info (STRUCT) ¶ TYPE BBMD_Info : STRUCT BBMD BDT entry InOut: Name Type Initial addr ARRAY [0..3] OF BYTE [0, 0, 0, 0] port WORD 47808