Herunterladen Inhalt Inhalt Diese Seite drucken

Bosch rexroth IndraWorks 15VRS Anwendungsbeschreibung Seite 374

Feldbusse
Vorschau ausblenden Andere Handbücher für rexroth IndraWorks 15VRS:
Inhaltsverzeichnis

Werbung

362/395
Gebäudeautomatisierung
SetPropertyInstance
METHOD SetBACnetRealProperty
VAR_INPUT
propID
: CmpBACnet.IEC_BACNET_PROPERTY_ID;
rVal
: REAL;
END_VAR
VAR
BACreal
: CmpBACnet.IEC_BACNET_REAL
conts
: CmpBACnet.IEC_BACNET_PROPERTY_CONTENTS := ( tag := CmbBACnet.IEC_BACNET_DATA_TYPE.DATA_TYPE_REAL,
nElements := 1,
buffer
:= ( nBufferSize := SIZEOF(LREAL), pBuffer := ADR(BACreal) ),
rawBuffer := ( nBufferSize := 0, pBuffer :=0) );
END_VAR
BACreal
:= rVal;
SetPropertyInstance(propID, -1, conts);
GetPropertyInstance
Bosch Rexroth AG R911393282_Ausgabe 05
ermöglichen. Daneben gibt es noch spezifische Objekt-Methoden oder allge‐
meine Zugriffsfunktionen.
Die spezifischen Objekt-Funktionsbausteine leiten von dem Basis-Funktions‐
baustein "BACnetStaticObjectBase" und damit von "BACnetObjectBa-
se" ab. Die Basis-Funktionsbausteine stellen Methoden zur Verfügung, die
dann in allen Objekt-Funktionsbausteinen zur Verfügung stehen.
Die Möglichkeit eine beliebige BACnet Eigenschaft zu verändern bietet zum
Beispiel die Methode SetPropertyInstance:
Die Daten des zu setzenden BACnet-Property werden in Form der
Struktur IEC_BACNET_PROPERTY_CONTENTS übergeben.
Diese Struktur beinhaltet neben einer Enumeration, die den Datentyp
beschreibt, auch einen Puffer (Buffer), der einen POINTER TO BYTE
auf die tatsächlichen Daten besitzt.
Damit ist es möglich, beliebige BACnet-Property-Datenstrukturen inner‐
halb der IEC_BACNET_PROPERTY_CONTENTS-Struktur zu übergeben.
Der angegebene Datentyp definiert dabei, auf welche Strukturen oder
Daten der Puffer zeigt. Der SPS-Datentyp IEC_BACNET_X entspricht
hierbei den BACnet-Datentyp DATA_TYPE_X.
Für einige häufig verwendete Datentypen bieten die Basis-Funktionsbaustei‐
ne auch Hilfsfunktionen, z. B. SetBACnetRealProperty, SetBACnetBoo-
leanProperty, u.a. .
Folgendes Beispiel zeigt die Verwendung von IEC_BACNET_PROPER-
TY_CONTENTS, wie ein BACnet-Property vom Typ REAL auf den Wert 0.0
gesetzt wird.
Programm:
:= 0.0;
Um eine Objekteigenschaft auszulesen, steht die Methode GetProper-
tyInstance zur Verfügung:
Mit der Methode kann innerhalb der Struktur IEC_BACNET_PROPER-
TY_CONTENTS ein Puffer übergeben werden, der bereits mit dem kor‐
rekten Datentyp vorinitialisiert ist und der dann befüllt wird.
Des Weiteren kann mit der Methode ein Puffer der Größe "0" überge‐
ben werden, der dann automatisch initialisiert wird.
Nach der Benutzung muss der Puffer wieder freigegeben werden!
Verwenden
FreeStackAllocatedMemory.
IndraWorks 15VRS Feldbusse
Sie
hierzu
die
Funktion

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis