# SRV\_AO\_SMALL

## `SRV_AO_SMALL` (FB)

FUNCTION\_BLOCK SRV\_AO\_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 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 When switching to this priority, the value of setting the state of 'PresentValue', if there are no valid entries in the array := NULL property 'RelinquishDefault' is written once to the output 'PresentValue'.

Notes:

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

Priority 6 (only for binary values)

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

Status bit 'Fault'

Conditions for the state 'TRUE'

1. The current value of 'rPresentValue' falls below the lower limit 'rFaultLowLimit\_IN' and/or (stOutputs.Reliability = 'UnderRange') (Event status from 'NORMAL' to 'FAULT')
2. The current value of 'rPresentValue' exceeds the upper limit 'rFaultHighLimit\_IN'. (stOutputs.Reliability = 'OverRange') (Event status from 'NORMAL' to 'FAULT')

Conditions for the state 'FALSE'

In all other cases. (Event status from 'FAULT' to 'NORMAL')

Absolute limits of 'rPresentValue'

The output 'rResentValue' accepts only values between the two absolute limits (each inclusive), independent of the input at 'rPresentValue\_IN'.

1. Absolute lower limit for 'rPresentValue': parameter 'rMinPresValue\_IN'
2. Absolute upper limit for 'rPresentValue': parameter 'rMaxPresValue\_IN'

Status bit 'InAlarm'

Conditions for the state 'TRUE'

1. The current value of 'rPresentValue' falls below the lower limit 'rMinPresValue\_IN' and/or (stOutputs.Reliability = 'NoFaultDetected') (Event status from 'NORMAL' to 'INALARM')
2. The current value of 'rPresentValue' exceeds the upper limit 'rMaxPresValue\_IN'. (stOutputs.Reliability = 'NoFaultDetected') (Event status from 'NORMAL' to 'INALARM')

Additionally, the parameter 'rDeadband\_IN' must be considered as follows:

Example: 'rMaxPresValue\_IN' = 98.0, 'rDeadband\_IN' = 1.0 The alarm state is active when 'rPresentValue' > 'rMaxPresValue\_IN'. The alarm state is no longer active when 'rPresentValue' < ('rMaxPresValue\_IN' - 'rDeadband\_IN').

Example: 'rMinPresValue\_IN' = 2.0, 'rDeadband\_IN' = 1.0 The alarm state is active when 'rPresentValue' < 'rMinPresValue\_IN'. The alarm state is no longer active when 'rPresentValue' > ('rMinPresValue\_IN' + 'rDeadband\_IN').

Conditions for the state 'FALSE'

In all other cases. (stOutputs.Reliability = 'NoFaultDetected') (Event status from 'INALARM' to 'NORMAL')

Monitoring of the lower or upper limit can be enabled/disabled by an options switch each ('xLowLimitEnable\_IN', 'xHighLimitEnable\_IN').

For transmitting an alarm/event to a Notification Class (NC), the option switches 'xEventDetectionEnable\_IN', 'xEventEnableOffNormal\_IM' and 'xEventEnableNormal\_IM' must be activated.

InOut:

| Scope       | Name                                  | Type                                                  | Initial                                                                    | Comment                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| ----------- | ------------------------------------- | ----------------------------------------------------- | -------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Input       | `itfMasterConnector`                  | IMasterForServerObjectsPOU                            |                                                                            | Input for the interface of the FB 'MasterForServerObjectsPOU'                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| Input       | `xInit`                               | `BOOL`                                                | FALSE                                                                      | Reinitialization of all properties (write values/states and update outputs) (on every rising edge)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| Input       | `rPresentValue_IN`                    | `REAL`                                                | 0.0                                                                        | Setting the value of the output 'rPresentValue' with the priority 'diPriority\_IN'                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| Input       | `udiObjectInstance`                   | `UDINT`                                               | 1                                                                          | Object instance of the server object to be created                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| 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      | `rPresentValue`                       | `REAL`                                                |                                                                            | Value of 'PresentValue' (Relinquish-default: S / Priority array: S+C / Out-Of-Service: S+C)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| Output      | `xPresentValueOverride`               | `BOOL`                                                |                                                                            | Status of the override of the output 'rPresentValue' (TRUE = override active)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| Output      | `stProperties`                        | SRV\_AO\_SMALL\_PROPERTY\_OUTPUTS                     |                                                                            | Structure with the current states of selected properties                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| Output      | `xRegistered`                         | `BOOL`                                                | FALSE                                                                      | Indication of successful registration of the server object                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| Input Const | `eSelectPopertiesToCheckChanges`      | ServerObjects\_Select\_Properties\_To\_Check\_Changes | ServerObjects\_Select\_Properties\_To\_Check\_Changes.PresentValue\_only   | <p>Selection of properties that are continuously checked for changes on the inputs (index '\_IN') and, if necessary, changed in the server<br><br>1. ServerObjects\_Select\_Properties\_To\_Check\_Changes.No\_property:<br>No property is checked<br>2. ServerObjects\_Select\_Properties\_To\_Check\_Changes.PresentValue\_only:<br>Only the properties 'PresentValue' (input 'rPresentValue\_IN') and 'Reliability' (input 'eReliability\_IN') are checked<br>3. ServerObjects\_Select\_Properties\_To\_Check\_Changes.All\_properties<br>All properties (inputs with the index '\_IN') are checked</p> |
| Input Const | `eTriggeringUpdateActual`             | ServerObjects\_TriggeringUpdateActual                 | ServerObjects\_TriggeringUpdateActual.CENTRAL\_TRIGGERING                  | <p>Definition of the trigger for cyclic updating of the outputs<br>NO\_TRIGGERING: no cyclic update<br>LOCAL\_TRIGGERING: cyclic update (time duration: tTimeUpdateActual)<br>CENTRAL\_TRIGGERING: cyclic update (time duration depends on the number of server objects)</p>                                                                                                                                                                                                                                                                                                                               |
| Input Const | `tTimeUpdateActual`                   | `TIME`                                                | TIME#3s0ms                                                                 | Update interval for updating the outputs                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| Input Const | `rRelinquishDefault_IN`               | `REAL`                                                | 0.0                                                                        | Setting the value of the output 'rPresentValue' in the lowest priority if the priority array is not populated                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| Input Const | `diPriority_IN`                       | `DINT`                                                | 16                                                                         | Priority for the input 'rPresentValue\_IN' (0 - 16, 0 = none, 1 = highest, 16 = lowest)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| Input Const | `eAccessRightEventDetectionEnable_IN` | `BACnet.CmpBACnet.IEC_BACNET_ACCESS`                  | BACnet.CmpBACnet.IEC\_BACNET\_ACCESS.BACNET\_ACCESS\_HIDDEN                | Definition of the access permission 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 permission 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 permission for the notification type by a client                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| Input Const | `eAccessRightTimeDelay_IN`            | `BACnet.CmpBACnet.IEC_BACNET_ACCESS`                  | BACnet.CmpBACnet.IEC\_BACNET\_ACCESS.BACNET\_ACCESS\_HIDDEN                | Definition of the access permission for the time delay by a client                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| Input Const | `eAccessRightNotificationClass_IN`    | `BACnet.CmpBACnet.IEC_BACNET_ACCESS`                  | BACnet.CmpBACnet.IEC\_BACNET\_ACCESS.BACNET\_ACCESS\_HIDDEN                | Definition of the access permission for the Notification Class by a client                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| Input Const | `xHighLimitEnable_IN`                 | `BOOL`                                                | FALSE                                                                      | Enable/disable of the limit 'rHighLimit\_IN' (TRUE = enable)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| Input Const | `xLowLimitEnable_IN`                  | `BOOL`                                                | FALSE                                                                      | Enable/disable of the limit 'rLowLimit\_IN' (TRUE = enable)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| Input Const | `rDeadband_IN`                        | `REAL`                                                | 1.0                                                                        | Setting the value of the property 'rDeadband'                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| Input Const | `rHighLimit_IN`                       | `REAL`                                                | 99.0                                                                       | Setting the value of the property 'rHighLimit'                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| Input Const | `rLowLimit_IN`                        | `REAL`                                                | 1.0                                                                        | Setting the value of the property 'rLowLimit'                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| Input Const | `eReliability_IN`                     | `BACnet.CmpBACnet.IEC_BACNET_RELIABILITY`             | BACnet.CmpBACnet.IEC\_BACNET\_RELIABILITY.RELIABILITY\_NO\_FAULT\_DETECTED | Setting the current state of the property 'Reliability'                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| Input Const | `rPresentValueDeviation`              | `REAL`                                                | 0.5                                                                        | Setting the deviation (symmetric, plus/minus) of the value at the input 'rPresentValue\_IN' to the previous value,                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| Input Const | `xOutOfService_IN`                    | `BOOL`                                                | FALSE                                                                      | Forced override for the output 'rPresentValue' with the highest priority ('xOutOfService' = TRUE) (Only for value objects)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| Input Const | `eUnits_IN`                           | `BACnet.CmpBACnet.IEC_BACNET_ENGINEERING_UNITS`       | BACnet.CmpBACnet.IEC\_BACNET\_ENGINEERING\_UNITS.UNIT\_DEGREES\_C          | Setting the value of the property 'eUnits'                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| Input Const | `rCOVIncrement_IN`                    | `REAL`                                                | 1.0                                                                        | Setting the value of the property 'rCOVIncrement'                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| Input Const | `rResolution_IN`                      | `REAL`                                                | 0.1                                                                        | Setting the value of the property 'rResolution'                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| Input Const | `rMaxPresValue_IN`                    | `REAL`                                                | 100.0                                                                      | Setting the value of the property 'rMaxPresValue'                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| Input Const | `rMinPresValue_IN`                    | `REAL`                                                | 0.0                                                                        | Setting the value of the property 'rMinPresValue'                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| 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 | `udiTimeDelay_IN`                     | `UDINT`                                               | 0                                                                          | Setting the value of the property 'udiTimeDelay' in seconds                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| Input Const | `udiNotificationClass_IN`             | `UDINT`                                               | 40                                                                         | Setting the number of the associated Notification Class                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| Input Const | `sDescriptionText`                    | `STRING(254)`                                         | ‘’                                                                         | Text portion of the description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| Input Const | `sObjectNameText`                     | `STRING(254)`                                         | ‘’                                                                         | Text portion of the object name of the server object to be created                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| Input Const | `xEn`                                 | `BOOL`                                                | TRUE                                                                       | Enable / disable of communication ( TRUE = enabled )                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
