# SRV\_DE\_SMALL

## `SRV_DE_SMALL` (FB)

FUNCTION\_BLOCK SRV\_DE\_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

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 )

Festlegung der Device - Instanz

Die Device - Instanz muss im Gerätebaum beim Gerät ‘BACnet2 Server’ im Parameter ‘InstanceNumber’ ( offline oder online ) festgelegt werden. Eine Festlegung im Funktionsbaustein ist nicht möglich.

InOut:

| Scope       | Name                                  | Type                                      | Initial                                                        | Comment                                                                                                                      |
| ----------- | ------------------------------------- | ----------------------------------------- | -------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| Input       | `itfInstance`                         | `BACnet.IBACnetServer`                    |                                                                | <p>Interface des Geräts ‘BACnet Server’ im Gerätebaum ( das<br>erste BACnetDevice ist automatisch im Server integriert )</p> |
| Input       | `xInit`                               | `BOOL`                                    |                                                                | <p>Neufestlegung aller Eigenschaften ( bei jeder ansteigenden<br>Flanke )</p>                                                |
| Input       | `sObjectNamePrefix`                   | `STRING(254)`                             | ‘’                                                             | <p>Optionales Prefix zur Bildung des Objekt - Namens —<br>CONCAT(sObjectNamePrefix,sObjectNameText)</p>                      |
| Input       | `sDescriptionPrefix`                  | `STRING(254)`                             | ‘’                                                             | <p>Optionales Prefix zur Bildung der Beschreibung —<br>CONCAT(sDescriptionPrefix,sDescriptionText)</p>                       |
| Output      | `eObjectTypeFb`                       | `BACnet.CmpBACnet.IEC_BACNET_OBJECT_TYPE` |                                                                | Typ des Objekts — Rückmeldung                                                                                                |
| Output      | `udiObjectInstanceFb`                 | `UDINT`                                   |                                                                | <p>Objekt - Instanz des zu erzeugenden Server - Objekts —<br>Rückmeldung</p>                                                 |
| Output      | `stProperties`                        | SRV\_DE\_SMALL\_PROPERTY\_OUTPUTS         |                                                                | <p>Struktur mit den aktuellen Zuständen von ausgewählten<br>Eigenschaften</p>                                                |
| Input Const | `tTimeUpdateActual`                   | `TIME`                                    | TIME#3s0ms                                                     | Updateintervall für die Aktualisierung der Ausgänge                                                                          |
| Input Const | `eAccessRightEventDetectionEnable_IN` | `BACnet.CmpBACnet.IEC_BACNET_ACCESS`      | BACnet.CmpBACnet.IEC\_BACNET\_ACCESS.BACNET\_ACCESS\_HIDDEN    | <p>Festlegung der Zugriffs-Berechtigung für die Eigenschaft<br>‘Event Detection Enable’ durch einen Clienten</p>             |
| Input Const | `eAccessRightEventEnable_IN`          | `BACnet.CmpBACnet.IEC_BACNET_ACCESS`      | BACnet.CmpBACnet.IEC\_BACNET\_ACCESS.BACNET\_ACCESS\_HIDDEN    | <p>Festlegung der Zugriffs-Berechtigung für die Eigenschaft<br>‘Event Enable’ durch einen Clienten</p>                       |
| Input Const | `eAccessRightNotifyType_IN`           | `BACnet.CmpBACnet.IEC_BACNET_ACCESS`      | BACnet.CmpBACnet.IEC\_BACNET\_ACCESS.BACNET\_ACCESS\_HIDDEN    | <p>Festlegung der Zugriffs-Berechtigung für den Notification-<br>Typ durch einen Clienten</p>                                |
| Input Const | `eAccessRightNotificationClass_IN`    | `BACnet.CmpBACnet.IEC_BACNET_ACCESS`      | BACnet.CmpBACnet.IEC\_BACNET\_ACCESS.BACNET\_ACCESS\_HIDDEN    | <p>Festlegung der Zugriffs-Berechtigung für die Notification-<br>Class durch einen Clienten</p>                              |
| Input Const | `xEventDetectionEnable_IN`            | `BOOL`                                    | FALSE                                                          | <p>Generelle Freigabe / Sperrung der Erkennung von Events (<br>TRUE = Freigabe )</p>                                         |
| Input Const | `xEventNormalEnable_IN`               | `BOOL`                                    | FALSE                                                          | <p>Freigabe / Sperrung der Erkennung von Übergängen zum Zustand<br>‘Normal’ ( TRUE = Freigabe )</p>                          |
| Input Const | `xEventFaultEnable_IN`                | `BOOL`                                    | FALSE                                                          | <p>Freigabe / Sperrung der Erkennung von Übergängen zum Zustand<br>‘Fault’ ( TRUE = Freigabe )</p>                           |
| Input Const | `xEventOffNormalEnable_IN`            | `BOOL`                                    | FALSE                                                          | <p>Freigabe / Sperrung der Erkennung von Übergängen zum Zustand<br>‘Off-Normal’ ( TRUE = Freigabe )</p>                      |
| 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 | `udiNotificationClass_IN`             | `UDINT`                                   | 40                                                             | Festlegung der Nummer der zugeordneten Notification-Class                                                                    |
| Input Const | `sLocation_IN`                        | `STRING`                                  | ‘’                                                             | Festlegung des Texts am Ausgang ‘sLocation’                                                                                  |
| Input Const | `sDescriptionText`                    | `STRING(254)`                             | ‘’                                                             | Textanteil der Beschreibung                                                                                                  |
| Input Const | `sObjectNameText`                     | `STRING(254)`                             | ‘’                                                             | <p>Textanteil des Objekt - Namens des zu erzeugenden Server -<br>Objekts</p>                                                 |
| Input Const | `xEn`                                 | `BOOL`                                    | TRUE                                                           | Freigabe / Sperrung der Kommunikation ( TRUE = Freigabe )                                                                    |
