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

Selection of properties that are continuously checked for changes on the inputs (index '_IN') and, if necessary, changed in the server 1. ServerObjects_Select_Properties_To_Check_Changes.No_property: No property is checked 2. ServerObjects_Select_Properties_To_Check_Changes.PresentValue_only: Only the properties 'PresentValue' (input 'rPresentValue_IN') and 'Reliability' (input 'eReliability_IN') are checked 3. ServerObjects_Select_Properties_To_Check_Changes.All_properties All properties (inputs with the index '_IN') are checked

Input Const

eTriggeringUpdateActual

ServerObjects_TriggeringUpdateActual

ServerObjects_TriggeringUpdateActual.CENTRAL_TRIGGERING

Definition of the trigger for cyclic updating of the outputs NO_TRIGGERING: no cyclic update LOCAL_TRIGGERING: cyclic update (time duration: tTimeUpdateActual) CENTRAL_TRIGGERING: cyclic update (time duration depends on the number of server objects)

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 )

Last updated