protected ¶ CheckNetworkSettings (Method) GetIPaddrFromETH (Method)
BACnetServer (FB) ¶ FUNCTION_BLOCK PUBLIC FINAL BACnetServer IMPLEMENTS IBACnetServerInternal, CmpEventMgr.ICmpEventCallback, IBACnetEventConsumer FB representing the BACnet-Server, which is the core of any BACnet-Application. Each BACnet-Server gets assigned one BACnet-Device-Object, which is initialized together with the BACnet-Server (properties of the BACnet-Device-Object are part of the BACnet-Server-CODESYS-Device as parameters). All BACnet-Object (BACnet-Object-CODESYS-Devices) added as childs of a BACnet-Server are consequently under the corresponding BACnet-Device-Object. This BACnet-Server-FB is responsible for starting the BACnet-Server on the CODESYSControl-Component side (using CmpBACnet.BACnetServerInit), which eventually makes all BACnet-Objects under this BACnet-Server visible in the BACnet network. There are two options for starting/stopping the BACnetServer which could be configured. The first option “AutoStart=TRUE” starts the BACnetServer when the application owning the BACnetServer-FB is loaded. The second option “AutoStart=FALSE” allows programmatic start/stop of the BACnetServer, using BACnetServer.StartBACnetStack() / StopBACnetStack(). This option should be used, if object initialization data needs to be computed (not configured in the device tree), to ensure the BACnetServer is started with consistent object definitions. Apart from this the BACnet-Server-FB gives the functionality to register FBs implementing IBACnetEventConsumer for Hooks and Callbacks. Moreover some additional functionalities for specific services are provided. To get an idea how to use most important BACnet server features and services please refer to several examples provided with(in) the CODESYS BACnet package. BACnet_example.project - the basics including - server side / client side read / write property - notifications - calendar/scheduler - commandable objects (priority array) - client subscribe COV - client create / delete object - client UTC time sync BACnet_DeviceDiscovery.project - how to do device discovery BACnet_LoggingServer.project - how to use BACnetDefaultImpl to make Trend log work on your PLC BACnet_LimitBACnetDeviceObjectPropertyReference.project - how to ensure implementation limitations of BACnetDefaultImpl.TrendLog BACnet_PersistentServer.project - how to use BACnetDefaultImpl to make BACnet objects and object properties persistent on your PLC BACnet_Routing.project - how to use multiple BACnet “data links” for BACnet routing BACnet_Routing.project - how to use multiple BACnet “data links” for BACnet routing BACnet_BBMD_example.project - how to use multiple CODESYS BACnet devices in a network setup involving BBMD InOut: Scope Name Type Initial Comment Output ConfCOVNotificationStatus CmpBACnet.IEC_BACNET_STATUS CmpBACnet.IEC_BACNET_STATUS.BACNET_STATUS_NOT_INITIALIZED Status-Variable holding the call’s status after a call of ConfCOVNotification. Properties: DemoMode DeviceId DeviceObject HideToOutside LocalProcessID Running StringType SupportUnsolicitedCOV RWPropCBComplete Methods: GenerateBACstackConfig StartBACnetStack StopBACnetStack ActivatePersistence ActivatePropertyConfiguration ConfCOVNotification ConstructDefaultObject DeactivatePersistence DeactivatePropertyConfiguration DestroyObject FindObject GetAddressBinding GetAddressBindingsCount GetConfiguredPropertyAttributes GetNextAvailableInstanceNumberForType GetObject GetObjectCount GetStructuredObject GetStructuredObjectCount HasRegisteredHook IsObjectTypeSupported RegisterCallback RegisterHook RegisterPlugin UnconfCOVNotification UnregisterCallback UnregisterHook UnregisterPlugin UpdateAccumulatorDataSourceValue UpdateAddressBindings WritePropertyInstance Structure: DemoMode (Property) DeviceAddressBindings GetAddressBinding (Method) GetAddressBindingsCount (Method) UpdateAddressBindings (Method) DeviceId (Property) DeviceObject (Property) GenerateBACstackConfig (Method) HideToOutside (Property) HooksCallbacks HasRegisteredHook (Method) RegisterCallback (Method) RegisterHook (Method) UnregisterCallback (Method) UnregisterHook (Method) LocalProcessID (Property) Objects ConstructDefaultObject (Method) DestroyObject (Method) FindObject (Method) GetObject (Method) GetObjectCount (Method) GetStructuredObject (Method) GetStructuredObjectCount (Method) IsObjectTypeSupported (Method) Persistence ActivatePersistence (Method) DeactivatePersistence (Method) Plugins RegisterPlugin (Method) UnregisterPlugin (Method) PropertyAttributes GetConfiguredPropertyAttributes (Method) PropertyConfiguration ActivatePropertyConfiguration (Method) DeactivatePropertyConfiguration (Method) Running (Property) Services ConfCOVNotification (Method) GetNextAvailableInstanceNumberForType (Method) UnconfCOVNotification (Method) UpdateAccumulatorDataSourceValue (Method) WritePropertyInstance (Method) SrvrInit RWPropCBComplete (Property) StartBACnetStack (Method) StopBACnetStack (Method) StringType (Property) SupportUnsolicitedCOV (Property)
BACnetServer.DemoMode (PROP) ¶ PROPERTY DemoMode : BOOL Returns true, if BACnetServer is running in DemoMode (without proper license).
BACnetServer.GetAddressBindingsCount (METH) ¶ METHOD GetAddressBindingsCount : UDINT Gets the count of address bindings in the BACnet-Network. This means return the count of the list of BACnet-Devices with their addresses of the entire BACnet-Network. InOut: Scope Name Type Return GetAddressBindingsCount UDINT
BACnetServer.UpdateAddressBindings (METH) ¶ METHOD UpdateAddressBindings Deletes all existing Bindings and Sends Who-Is Broadcasts to the BACnet-Network, in order to get I-Am-Answers, which will update the Device-Address-Bindings-List receivable by GetAddressBinding and GetAddressBindingCount. Note There should be a reaction time for the I-Am-Answers to be transmitted, so don’t call this function to often in to short intervalls. Moreover on every call the existing Bindings-List gets deleted, so that it has to be rebuild, which might take a longer time.
DeviceAddressBindings ¶ Functionalities to get and update the device address bindings within a BACnet server. GetAddressBinding (Method) GetAddressBindingsCount (Method) UpdateAddressBindings (Method)
BACnetServer.GetAddressBinding (METH) ¶ METHOD GetAddressBinding Returns the address binding with index nIndex in the List of BACnet-Devices and their adresses in the entire BACnet-Netowrk. InOut: Scope Name Type Comment Input nIndex UDINT The 1 based index of the device in the list of address bindings. Inout binding CmpBACnet.IEC_BACNET_ADDRESS_BINDING Any empty address binding, which is filled with the Bidning at index nIndex.
HooksCallbacks ¶ Functionalitites for registering Hooks and Callbacks into the BACnet implementation via the BACnet server. HasRegisteredHook (Method) RegisterCallback (Method) RegisterHook (Method) UnregisterCallback (Method) UnregisterHook (Method)
BACnetServer.HasRegisteredHook (METH) ¶ METHOD HasRegisteredHook : BOOL Check, if one or more IBACnetEventConsumer (itfEvent) are already registered to a BACnet-Stack-Hook of type eHookType. InOut: Scope Name Type Return HasRegisteredHook BOOL Input eHookType CmpBACnet.IEC_BACNET_CB_TYPE Output status CmpBACnet.IEC_BACNET_STATUS
BACnetServer.GenerateBACstackConfig (METH) ¶ METHOD GenerateBACstackConfig : SysTypes.RTS_IEC_RESULT InOut: Scope Name Type Return GenerateBACstackConfig SysTypes.RTS_IEC_RESULT