# SRV\_DE\_SMALL

## `SRV_DE_SMALL` (FB)

FUNCTION\_BLOCK SRV\_DE\_SMALL

Influence on the current state of the property 'PresentValue' (output)

Priority Condition Function Notes

Highest property 'OutOfService' = TRUE 'PresentValue' can be written directly Forced override of the output 'PresentValue'

Middle state of at least one priority The state of the highest priority (1 = highest, prioritization of requests for the state of PresentValue: of the array <> NULL 16 = lowest) of the array <> NULL determines the value of 'PresentValue'

Lowest states of all priorities 1 - 16 of the array On transition into this priority the value of the determination of the state of 'PresentValue', if there are no valid entries in the array := NULL the property 'RelinquishDefault' is written once to the output 'PresentValue'.

Notes:

The state of a priority of the array can take the following states: NULL (= inactive), FALSE (OFF), TRUE (ON) The most recent access defines the state of PresentValue. ('Last wins') Each new state of 'PresentValue' is transmitted only once when the state changes, there is no continuous transmission (= pulse function).

Priority 6

The state of priority 6 must not be used (= written), as it is used for pulse generation on state change of the property 'PresentValue'. Each rising edge on 'PresentValue' generates a pulse (state: TRUE) of length 'MinimumOnTime' ('MinimumOnTime' > 0 s) of priority 6. Each falling edge on 'PresentValue' generates a pulse (state: FALSE) of length 'MinimumOffTime' ('MinimumOffTime' > 0 s) of priority 6.

Notification Class

Conditions:

1. The property 'RecipientList' must be provided with the attribute 'WRITEABLE'.
2. The instance number must be identical to the Notification Class
3. The priorities (0 - 2) should contain values greater than 0 (e.g. all = 1)

Persistence

Conditions:

1. The desired property (e.g. 'Description') must be provided with the attribute 'PERSIST'.
2. Persistence remains until the value of the property changes (xEnValueChange = TRUE) and/or a rising edge is detected at the input 'xInit'.

Unsolicited COV (= unsolicited transmission of state changes to all BACnet participants (broadcast))

Conditions:

1. The property 'SupportUnsolicitedCOV' must be set to 'TRUE' in the BACnet\_Server (central for all BACnet objects)

Definition of the Device Instance

The Device Instance must be set in the device tree on the device 'BACnet2 Server' in the parameter 'InstanceNumber' (offline or online). A definition in the function block is not possible.

InOut:

| Scope       | Name                                  | Type                                      | Initial                                                        | Comment                                                                                                                       |
| ----------- | ------------------------------------- | ----------------------------------------- | -------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |
| Input       | `itfInstance`                         | `BACnet.IBACnetServer`                    |                                                                | Interface of the device 'BACnet Server' in the device tree (the first BACnetDevice is automatically integrated in the server) |
| Input       | `xInit`                               | `BOOL`                                    |                                                                | Reassignment of all properties (on every rising edge)                                                                         |
| Input       | `sObjectNamePrefix`                   | `STRING(254)`                             | ‘’                                                             | Optional prefix for forming the object name — CONCAT(sObjectNamePrefix,sObjectNameText)                                       |
| Input       | `sDescriptionPrefix`                  | `STRING(254)`                             | ‘’                                                             | Optional prefix for forming the description — CONCAT(sDescriptionPrefix,sDescriptionText)                                     |
| Output      | `eObjectTypeFb`                       | `BACnet.CmpBACnet.IEC_BACNET_OBJECT_TYPE` |                                                                | Type of the object — feedback                                                                                                 |
| Output      | `udiObjectInstanceFb`                 | `UDINT`                                   |                                                                | Object instance of the server object to be created — feedback                                                                 |
| Output      | `stProperties`                        | SRV\_DE\_SMALL\_PROPERTY\_OUTPUTS         |                                                                | Structure with the current states of selected properties                                                                      |
| Input Const | `tTimeUpdateActual`                   | `TIME`                                    | TIME#3s0ms                                                     | Update interval for updating the outputs                                                                                      |
| Input Const | `eAccessRightEventDetectionEnable_IN` | `BACnet.CmpBACnet.IEC_BACNET_ACCESS`      | BACnet.CmpBACnet.IEC\_BACNET\_ACCESS.BACNET\_ACCESS\_HIDDEN    | Definition of the access right for the property 'Event Detection Enable' by a client                                          |
| Input Const | `eAccessRightEventEnable_IN`          | `BACnet.CmpBACnet.IEC_BACNET_ACCESS`      | BACnet.CmpBACnet.IEC\_BACNET\_ACCESS.BACNET\_ACCESS\_HIDDEN    | Definition of the access right for the property 'Event Enable' by a client                                                    |
| Input Const | `eAccessRightNotifyType_IN`           | `BACnet.CmpBACnet.IEC_BACNET_ACCESS`      | BACnet.CmpBACnet.IEC\_BACNET\_ACCESS.BACNET\_ACCESS\_HIDDEN    | Definition of the access right for the Notification Type by a client                                                          |
| Input Const | `eAccessRightNotificationClass_IN`    | `BACnet.CmpBACnet.IEC_BACNET_ACCESS`      | BACnet.CmpBACnet.IEC\_BACNET\_ACCESS.BACNET\_ACCESS\_HIDDEN    | Definition of the access right for the Notification Class by a client                                                         |
| Input Const | `xEventDetectionEnable_IN`            | `BOOL`                                    | FALSE                                                          | General enable/disable of event detection (TRUE = enable)                                                                     |
| Input Const | `xEventNormalEnable_IN`               | `BOOL`                                    | FALSE                                                          | Enable/disable detection of transitions to the state 'Normal' (TRUE = enable)                                                 |
| Input Const | `xEventFaultEnable_IN`                | `BOOL`                                    | FALSE                                                          | Enable/disable detection of transitions to the state 'Fault' (TRUE = enable)                                                  |
| Input Const | `xEventOffNormalEnable_IN`            | `BOOL`                                    | FALSE                                                          | Enable/disable detection of transitions to the state 'Off-Normal' (TRUE = enable)                                             |
| Input Const | `eNotifyType_IN`                      | `BACnet.CmpBACnet.IEC_BACNET_NOTIFY_TYPE` | BACnet.CmpBACnet.IEC\_BACNET\_NOTIFY\_TYPE.NOTIFY\_TYPE\_ALARM | Definition of the type of the associated Notification Class                                                                   |
| Input Const | `udiNotificationClass_IN`             | `UDINT`                                   | 40                                                             | Definition of the number of the associated Notification Class                                                                 |
| Input Const | `sLocation_IN`                        | `STRING`                                  | ‘’                                                             | Definition of the text on the output 'sLocation'                                                                              |
| Input Const | `sDescriptionText`                    | `STRING(254)`                             | ‘’                                                             | Text part of the description                                                                                                  |
| Input Const | `sObjectNameText`                     | `STRING(254)`                             | ‘’                                                             | Text part of the object name of the server object to be created                                                               |
| Input Const | `xEn`                                 | `BOOL`                                    | TRUE                                                           | Enable / disable communication ( TRUE = enabled )                                                                             |
