# BACnet: Strukturierte Variablen dem BACnet zur Verfügung stellen



## Michael_diverse (22 März 2015)

Hallo,
ich heiße Michael und bin neu hier im Forum. 

Ist es möglich, die Variablen einer Struktur im BACnet "sichtbar" zu machen?

TYPE Heizkreis :
STRUCT
            rVL_Temp:REAL;
            rRL_Temp:REAL;
            ....
END_STRUCT
END_TYPE

Danke schon einmal für Eure Antworten.


----------



## egal (22 März 2015)

Hi,

nicht direkt, aber eine Entsprechung wäre z.B. das *Group*-Object, welches lt. PICS von WAGO unterstützt wird;

ansonsten proprietary objects/properties ;-)


----------



## Michael_diverse (22 März 2015)

Hallo egal,
danke für die Antwort. Leider bin ich in diesem Bereich noch nicht so fit, als das ich die Antwort so umsetzen könnte.
Eine strukturierte Variable kommt doch sehr oft im Programm vor. Wie kann ich denn hier vorgehen?


----------



## .:WAGO::015652:. (25 März 2015)

Hallo Michael,
wie der User "egal" schon schrieb, funktioniert die Übergabe einer Struktur zu BACnet nicht direkt.

Du kannst aber die einzelnen Variablen deiner Struktur über BACnet-Objekte übertragen.
Zu deinem Fall möchte ich 2 Beispiele nennen:

Deklaration eines BACnet-Objektes im CODESYS-Programm:*BACnet_Heizkreis_rVL_Temp:BACNET_ANALOG_VALUE;
*​1.) Ein BACnet-Objekt schreibt in die Variable "rVL_Temp" der Struktur "Heizkreis":​*Heizkreis.rVL_Temp:=BACnet_Heizkreis_rVL_Temp.PresentValue;
*​2.) Die Variable "rVL_Temp" der Struktur "Heizkreis" schreibt auf ein BACnet-Objekt:​*BACnet_Heizkreis_rVL_Temp.PresentValue:=Heizkreis.rVL_Temp;
*​BACnet würde bei beiden Beispielen ein BACnet_ANALOG_VALUE mit dem Namen *(...)BACnet_Heizkreis_rVL_Temp* anlegen (*(...)* steht für den Programmnamen).

Bei einem BACNET_BINARY_VALUE muss gegebenenfalls noch eine Umwandlung zwischen den Datentypen *BinaryPV* und *Bool* durchgeführt werden, dazu findet Ihr Konvertierungsfunktionen in der Bibliothek BACnet02.lib.


----------

