SRV_AI_SMALL

SRV_AI_SMALL (FB)

FUNCTION_BLOCK SRV_AI_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 (only for binary values)

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)

Status bit 'Fault'

Conditions for the 'TRUE' state

  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 'FALSE' state

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

Absolute limits of 'rPresentValue'

The output 'rResentValue' accepts values between the two absolute limits (each inclusive) regardless 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 'TRUE' state

  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')

In addition, the parameter 'rDeadband_IN' must be considered as follows:

Example: 'rMaxPresValue_IN' = 98.0, 'rDeadband_IN' = 1.0 The alarm state is active at 'rPresentValue' > 'rMaxPresValue_IN'. The alarm state is no longer active at 'rPresentValue' < ('rMaxPresValue_IN' - 'rDeadband_IN').

Example: 'rMinPresValue_IN' = 2.0, 'rDeadband_IN' = 1.0 The alarm state is active at 'rPresentValue' < 'rMinPresValue_IN'. The alarm state is no longer active at 'rPresentValue' > ('rMinPresValue_IN' + 'rDeadband_IN').

Conditions for the 'FALSE' state

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

Monitoring of the lower and upper limit can be enabled/disabled by respective option switches ('xLowLimitEnable_IN', 'xHighLimitEnable_IN').

To transmit 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

Reassignment 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

stProperties

SRV_AI_SMALL_PROPERTY_OUTPUTS

Structure with the current states of selected properties

Output

xRegistered

BOOL

FALSE

Indicates 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 input (index '_IN') and changed in the server if necessary 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 cyclical updating of the outputs NO_TRIGGERING: no cyclical update LOCAL_TRIGGERING: cyclical update (time duration: tTimeUpdateActual) CENTRAL_TRIGGERING: cyclical update (time duration dependent on the number of server objects)

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

eAccessRightTimeDelay_IN

BACnet.CmpBACnet.IEC_BACNET_ACCESS

BACnet.CmpBACnet.IEC_BACNET_ACCESS.BACNET_ACCESS_HIDDEN

Definition of the access right 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 right for the Notification Class by a client

Input Const

rFaultHighLimit_IN

REAL

100.0

Definition of the upper limit of the value of 'rPresentValue' before activation of the status bit 'Fault'

Input Const

rFaultLowLimit_IN

REAL

0.0

Definition of the lower limit of the value of 'rPresentValue' before activation of the status bit 'Fault'

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

Definition of the value of the property 'rDeadband'

Input Const

rHighLimit_IN

REAL

99.0

Definition of the value of the property 'rHighLimit'

Input Const

rLowLimit_IN

REAL

1.0

Definition of the value of the property 'rLowLimit'

Input Const

eReliability_IN

BACnet.CmpBACnet.IEC_BACNET_RELIABILITY

BACnet.CmpBACnet.IEC_BACNET_RELIABILITY.RELIABILITY_NO_FAULT_DETECTED

Definition of the current state of the property ‘Reliability’

Input Const

rPresentValueDeviation

REAL

0.5

Definition of the deviation (symmetric, plus/minus) of the value at the input 'rPresentValue_IN' from 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

Definition of the value of the property 'eUnits'

Input Const

rCOVIncrement_IN

REAL

1.0

Definition of the value of the property 'rCOVIncrement'

Input Const

rResolution_IN

REAL

0.1

Definition of the value of the property 'rResolution'

Input Const

rMaxPresValue_IN

REAL

100.0

Definition of the value of the property 'rMaxPresValue'

Input Const

rMinPresValue_IN

REAL

0.0

Definition of 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

Definition of the value of the property ‘udiTimeDelay’ in seconds

Input Const

udiNotificationClass_IN

UDINT

40

Definition of the number of the associated Notification Class

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 )

Last updated