SRV_AV_SMALL

SRV_AV_SMALL (FB)

FUNCTION_BLOCK SRV_AV_SMALL

Einflussnahme auf den aktuellen Zustand der Eigenschaft ‘PresentValue’ ( Ausgang )

Priorität Bedingung Funktion Anmerkungen

Höchste Eigenschaft ‘OutOfService’ = TRUE ‘PresentValue’ kann direkt beschrieben werden Zwangsübersteuerung des Ausgangs ‘PresentValue’

Mittlere Zustand von mindestens einer Priorität Zustand der höchsten Priorität ( 1 = höchste, Priorisierung der Anforderungen an den Zustand von PresentValue : des Arrays <> NULL 16 = niedrigste ) des Arrays <> NULL bestimmt den : Wert von ‘PresentValue’

Niedrigste Zustände aller Prioritäten 1 - 16 des Arrays Beim Übergang in diese Priorität wird der Wert der Festlegung des Zustands von ‘PresentValue’, falls keine gültigen Einträge im Array vorliegen : = NULL Eigenschaft ‘RelinquishDefault’ einmalig auf den : Ausgang ‘PresentValue’ geschrieben.

Hinweise:

Der Zustand einer Priorität des Arrays kann folgende Zustände annehmen: NULL ( = inaktiv ), FALSE ( AUS ), TRUE ( EIN ) Der jeweils neueste Zugriff definiert den Zustand von PresentValue. ( ‘Der Letzte gewinnt’ ) Jeder neue Zustand von ‘PresentValue’ wird beim Zustandswechsel nur einmalig übertragen, es findet keine Dauerübertragung statt ( = Impulsfunktion ).

Priorität 6 ( nur für binäre Werte )

Der Zustand der Priorität 6 darf nicht verwandt ( = beschrieben ) werden, da er für die Impulserzeugung beim Zustandwechsel der Eigenschaft ‘PresentValue’ verwandt wird. Jeder ansteigende Flanke an ‘PresentValue’ erzeugt einen Impuls ( Zustand: TRUE ) der Länge ‘MinimumOnTime’ ( ‘MinimumOnTime’ > 0 s ) der Priorität 6. Jeder abfallende Flanke an ‘PresentValue’ erzeugt einen Impuls ( Zustand: FALSE ) der Länge ‘MinimumOffTime’ ( ‘MinimumOffTime’ > 0 s ) der Priorität 6.

Notification Class

Bedingungen:

  1. Die Eigenschaft ‘RecipientList’ muss mit dem Attribut ‘WRITEABLE’ versehen sein.

  2. Die Instanz-Nummer muss mit der Notifiation-Class identisch sein

  3. Die Prioritäten ( 0 - 2 ) sollen Werte grösser 0 ( also z.B. alle = 1 ) enthalten

Persistenz

Bedingungen:

  1. Die gewünschte Eigenschaft ( z.B. ‘Description’ ) muss mit dem Attribut ‘PERSIST’ versehen sein.

  2. Die Persistenz bleibt erhalten, bis sich der Wert der Eigenschaft ändert ( xEnValueChange = TRUE ) und / oder am Eingang ‘xInit’ eine ansteigende Flanke erkannt wurde.

Unsolicited COV ( = Unaufgeforderte Übertragung von Zustandswechseln an alle BACnet-Teilnehmer ( Broadcast ))

Bedingungen:

  1. Die Eigenschaft ‘SupportUnsolicitedCOV’ muss im BACnet_Server mit dem Wert ‘TRUE’ versehen sein ( zentral für alle BACnet-Objekte )

Statusbit ‘Fault’

Bedingungen für den Zustand ‘TRUE’

  1. Der aktuelle Wert von ‘rPresentValue’ unterschreitet die Untergrenze ‘rFaultLowLimit_IN’ und / oder ( stOutputs.Reliability = ‘UnderRange’ ) ( Event-Status von ‘NORMAL nach ‘FAULT’ )

  2. Der aktuelle Wert von ‘rPresentValue’ überschreitet die Obergrenze ‘rFaultHighLimit_IN’. ( stOutputs.Reliability = ‘OverRange’ ) ( Event-Status von ‘NORMAL nach ‘FAULT’ )

Bedingungen für den Zustand ‘FALSE’

In allen übrigen Fällen. ( Event-Status von ‘FAULT nach ‘NORMAL’ )

Absolute Grenzen von ‘rPresentValue’

Der Ausgang ‘rResentValue’ nimmt unabhängig von der Eingabe an ‘rPresentValue_IN’ nur Werte zwischen den beiden absolute Grenzen ( je einschliesslich ) an.

  1. Absolute Untergrenze für ‘rPresentValue’: Parameter ‘rMinPresValue_IN’

  2. Absolute Obergrenze für ‘rPresentValue’: Parameter ‘rMaxPresValue_IN’

Statusbit ‘InAlarm’

Bedingungen für den Zustand ‘TRUE’

  1. Der aktuelle Wert von ‘rPresentValue’ unterschreitet die Untergrenze ‘rMinPresValue_IN’ und / oder ( stOutputs.Reliability = ‘NoFaultDetected’ ) ( Event-Status von ‘NORMAL nach ‘INALARM’ )

  2. Der aktuelle Wert von ‘rPresentValue’ überschreitet die Obergrenze ‘rMaxPresValue_IN’. ( stOutputs.Reliability = ‘NoFaultDetected’ ) ( Event-Status von ‘NORMAL nach ‘INALARM’ )

Zusätzlich ist der Parameter ‘rDeadband_IN’ wie folgt zu berücksichtigen:

Beispiel: ‘rMaxPresValue_IN’ = 98.0, ‘rDeadband_IN’ = 1.0 Der Alarmzustand ist aktiv bei ‘rPresentValue’ > ‘rMaxPresValue_IN’. Der Alarmzustand ist nicht mehr aktiv bei ‘rPresentValue’ < (‘rMaxPresValue_IN’ - ‘rDeadband_IN’).

Beispiel: ‘rMinPresValue_IN’ = 2.0, ‘rDeadband_IN’ = 1.0 Der Alarmzustand ist aktiv bei ‘rPresentValue’ < ‘rMinPresValue_IN’. Der Alarmzustand ist nicht mehr aktiv bei ‘rPresentValue’ > (‘rMinPresValue_IN’ + ‘rDeadband_IN’).

Bedingungen für den Zustand ‘FALSE’

In allen übrigen Fällen. ( stOutputs.Reliability = ‘NoFaultDetected’ ) ( Event-Status von ‘INALARM nach ‘NORMAL’ )

Die Überwachung der Unter- bzw. Obergrenze kann durch jeweils einen Options-Schalter freigegeben / gesperrt werden ( ‘xLowLimitEnable_IN’, ‘xHighLimitEnable_IN’ ).

Für die Übertragung eines Alarms / Events in eine Notification-Class ( NC ) müssen die Options-Schalter ‘xEventDetectionEnable_IN’, ‘xEventEnableOffNormal_IM’ und ‘xEventEnableNormal_IM’ aktiviert werden.

InOut:

Scope
Name
Type
Initial
Comment

Input

itfMasterConnector

IMasterForServerObjectsPOU

Eingang für das Interface des FB ‘MasterForServerObjectsPOU’

Input

xInit

BOOL

FALSE

Neufestlegung aller Eigenschaften ( Werte / Zustände schreiben und Ausgänge aktualisieren ) ( bei jeder ansteigenden Flanke )

Input

rPresentValue_IN

REAL

0.0

Festlegung des Werts des Ausgangs ‘rPresentValue’ mit der Priorität ‘diPriority_IN’

Input

udiObjectInstance

UDINT

1

Objekt - Instanz des zu erzeugenden Server - Objekts

Input

sObjectNamePrefix

STRING(254)

‘’

Optionales Prefix zur Bildung des Objekt - Namens — CONCAT(sObjectNamePrefix,sObjectNameText)

Input

sDescriptionPrefix

STRING(254)

‘’

Optionales Prefix zur Bildung der Beschreibung — CONCAT(sDescriptionPrefix,sDescriptionText)

Output

eObjectTypeFb

BACnet.CmpBACnet.IEC_BACNET_OBJECT_TYPE

Typ des Objekts - Rückmeldung

Output

udiObjectInstanceFb

UDINT

Objekt - Instanz des zu erzeugenden Server - Objekts — Rückmeldung

Output

rPresentValue

REAL

Wert von ‘PresentValue’ ( Relinquish-default: S / Prioritäts-Array: S+C / Out-Of-Service: S+C )

Output

xPresentValueOverride

BOOL

Status der Übersteuerung des Ausgangs ‘rPresentValue’ ( TRUE = Übersteuerung aktiv )

Output

stProperties

SRV_AV_SMALL_PROPERTY_OUTPUTS

Struktur mit den aktuellen Zuständen von ausgewählten Eigenschaften

Output

xRegistered

BOOL

FALSE

Anzeige der erfolgreichen Registrierung des Server - Objekts

Input Const

eSelectPopertiesToCheckChanges

ServerObjects_Select_Properties_To_Check_Changes

ServerObjects_Select_Properties_To_Check_Changes.PresentValue_only

Auswahl der Eigenschaften, die forlaufend auf Veränderungen am Eingang ( Index ‘_IN’ ) hin geprüft und bei Bedarf im Server geändert werden 1. ServerObjects_Select_Properties_To_Check_Changes.No_property: Es wird keine Eigenschaft geprüft 2. ServerObjects_Select_Properties_To_Check_Changes.PresentValue_only: Es werden nur die Eigenschaften ‘PresentValue’ ( Eingang ‘rPresentValue_IN’ ) und ‘Reliability’ ( Eingang ‘eReliability_IN’ ) geprüft 3. ServerObjects_Select_Properties_To_Check_Changes.All_properties Es werden alle Eigenschaften ( Eingänge mit dem Index ‘_IN’ ) geprüft

Input Const

eTriggeringUpdateActual

ServerObjects_TriggeringUpdateActual

ServerObjects_TriggeringUpdateActual.CENTRAL_TRIGGERING

Festlegung der Auslösung für die zyklische Aktualisierung der Ausgänge NO_TRIGGERING: keine zyklische Aktualisierung LOCAL_TRIGGERING: zyklische Aktualisierung ( Zeitdauer: tTimeUpdateActual ) CENTRAL_TRIGGERING: zyklische Aktualisierung ( Zeitdauer abhängig von der Anzahl der Server-Objekte )

Input Const

tTimeUpdateActual

TIME

TIME#3s0ms

Updateintervall für die Aktualisierung der Ausgänge

Input Const

rRelinquishDefault_IN

REAL

0.0

Festlegung des Werts des Ausgangs ‘rPresentValue’ in der niedrigsten Priorität, falls das Prioritätsarray nicht belegt ist

Input Const

diPriority_IN

DINT

16

Priorität für den Eingang ‘rPresentValue_IN’ ( 0 - 16, 0 = keine, 1 = höchste, 16 = niedrigste )

Input Const

eAccessRightEventDetectionEnable_IN

BACnet.CmpBACnet.IEC_BACNET_ACCESS

BACnet.CmpBACnet.IEC_BACNET_ACCESS.BACNET_ACCESS_HIDDEN

Festlegung der Zugriffs-Berechtigung für die Eigenschaft ‘Event Detection Enable’ durch einen Clienten

Input Const

eAccessRightEventEnable_IN

BACnet.CmpBACnet.IEC_BACNET_ACCESS

BACnet.CmpBACnet.IEC_BACNET_ACCESS.BACNET_ACCESS_HIDDEN

Festlegung der Zugriffs-Berechtigung für die Eigenschaft ‘Event Enable’ durch einen Clienten

Input Const

eAccessRightNotifyType_IN

BACnet.CmpBACnet.IEC_BACNET_ACCESS

BACnet.CmpBACnet.IEC_BACNET_ACCESS.BACNET_ACCESS_HIDDEN

Festlegung der Zugriffs-Berechtigung für den Notification- Typ durch einen Clienten

Input Const

eAccessRightTimeDelay_IN

BACnet.CmpBACnet.IEC_BACNET_ACCESS

BACnet.CmpBACnet.IEC_BACNET_ACCESS.BACNET_ACCESS_HIDDEN

Festlegung der Zugriffs-Berechtigung für die Zeitverzögerung durch einen Clienten

Input Const

eAccessRightNotificationClass_IN

BACnet.CmpBACnet.IEC_BACNET_ACCESS

BACnet.CmpBACnet.IEC_BACNET_ACCESS.BACNET_ACCESS_HIDDEN

Festlegung der Zugriffs-Berechtigung für die Notification- Class durch einen Clienten

Input Const

rFaultHighLimit_IN

REAL

100.0

Festlegung des Obergrenze des Werts von ‘rPresentValue’ vor der Aktivierung des Statusbits ‘Fault’

Input Const

rFaultLowLimit_IN

REAL

0.0

Festlegung des Untergrenze des Werts von ‘rPresentValue’ vor der Aktivierung des Statusbits ‘Fault’

Input Const

xHighLimitEnable_IN

BOOL

FALSE

Freigabe / Sperrung des Grenzwerts ‘rHighLimit_IN’ ( TRUE = Freigabe )

Input Const

xLowLimitEnable_IN

BOOL

FALSE

Freigabe / Sperrung des Grenzwerts ‘rLowLimit_IN’ ( TRUE = Freigabe )

Input Const

rDeadband_IN

REAL

1.0

Festlegung des Werts der Eigenschaft ‘rDeadband’

Input Const

rHighLimit_IN

REAL

99.0

Festlegung des Werts der Eigenschaft ‘rHighLimit’

Input Const

rLowLimit_IN

REAL

1.0

Festlegung des Werts der Eigenschaft ‘rLowLimit’

Input Const

eReliability_IN

BACnet.CmpBACnet.IEC_BACNET_RELIABILITY

BACnet.CmpBACnet.IEC_BACNET_RELIABILITY.RELIABILITY_NO_FAULT_DETECTED

Festlegung des aktuellen Zustands der Eigenschaft ‘Reliability’

Input Const

rPresentValueDeviation

REAL

0.5

Festlegung der Abweichung ( symmetrisch, plus/minus ) des Werts am Eingang ‘rPresentValue_IN’ zum vorhergehenden Wert,

Input Const

xOutOfService_IN

BOOL

FALSE

Zwangübersteuerung für den Ausgang ‘rPresentValue’ mit der höchsten Priorität ( ‘xOutOfService’ = TRUE ) ( Nur für Value-Objects )

Input Const

eUnits_IN

BACnet.CmpBACnet.IEC_BACNET_ENGINEERING_UNITS

BACnet.CmpBACnet.IEC_BACNET_ENGINEERING_UNITS.UNIT_DEGREES_C

Festlegung des Werts der Eigenschaft ‘eUnits’

Input Const

rCOVIncrement_IN

REAL

1.0

Festlegung des Werts der Eigenschaft ‘rCOVIncrement’

Input Const

rResolution_IN

REAL

0.1

Festlegung des Werts der Eigenschaft ‘rResolution’

Input Const

rMaxPresValue_IN

REAL

100.0

Festlegung des Werts der Eigenschaft ‘rMaxPresValue’

Input Const

rMinPresValue_IN

REAL

0.0

Festlegung des Werts der Eigenschaft ‘rMinPresValue’

Input Const

xEventDetectionEnable_IN

BOOL

FALSE

Generelle Freigabe / Sperrung der Erkennung von Events ( TRUE = Freigabe )

Input Const

xEventNormalEnable_IN

BOOL

FALSE

Freigabe / Sperrung der Erkennung von Übergängen zum Zustand ‘Normal’ ( TRUE = Freigabe )

Input Const

xEventFaultEnable_IN

BOOL

FALSE

Freigabe / Sperrung der Erkennung von Übergängen zum Zustand ‘Fault’ ( TRUE = Freigabe )

Input Const

xEventOffNormalEnable_IN

BOOL

FALSE

Freigabe / Sperrung der Erkennung von Übergängen zum Zustand ‘Off-Normal’ ( TRUE = Freigabe )

Input Const

eNotifyType_IN

BACnet.CmpBACnet.IEC_BACNET_NOTIFY_TYPE

BACnet.CmpBACnet.IEC_BACNET_NOTIFY_TYPE.NOTIFY_TYPE_ALARM

Festlegung des Typs der zugeordneten Notification-Class

Input Const

udiTimeDelay_IN

UDINT

0

Festlegung des Werts der Eigenschaft ‘udiTimeDelay’ in Sekunden

Input Const

udiNotificationClass_IN

UDINT

40

Festlegung der Nummer der zugeordneten Notification-Class

Input Const

sDescriptionText

STRING(254)

‘’

Textanteil der Beschreibung

Input Const

sObjectNameText

STRING(254)

‘’

Textanteil des Objekt - Namens des zu erzeugenden Server - Objekts

Input Const

xEn

BOOL

TRUE

Freigabe / Sperrung der Kommunikation ( TRUE = Freigabe )

Zuletzt aktualisiert