Skip to main content

BACnet-Konfiguration im CODESYS-Projekt

BACnet-Konfiguration im Gerätebaum und Geräteeditor

Sie können im Projektbaum unterhalb eines SPS-Geräts einen BACnet-Server und BACnet-Objekte als „Geräte“ im CODESYS einfügen. Der BACnet-Server repräsentiert das BACnet-Gerät und handhabt die Kommunikation zum Laufzeitsystem.

Pro Applikation ist 1 Server-Gerät möglich, darunter die Objekt-Geräte als Kinder. Sie können auch BACnet-Clients unter dem Server einfügen.

Voraussetzung: Das Package CODESYS BACnet2 SL ist installiert. Ein Projekt mit einem BACnet-fähigen SPS-Gerät ist angelegt.

  1. Selektieren Sie das SPS-Gerät im Projektbaum und fügen darunter mit Befehl Projekt → Gerät anhängen einen BACnet-Server ein.

  2. Selektieren Sie den BACnet-Server im Baum und hängen unter ihm die benötigten BACnet-Objekte ein.

    Server und Objekte bringen eine den AMEV-Empfehlungen für AS-A und AS-B entsprechende Initialkonfiguration mit, die im generischen Geräteeditor dargestellt wird.

  3. Öffnen Sie mit einem Doppelklick auf den BACnet-Server-Eintrag oder auf einen BACnet-Objekt-Eintrag dessen Geräteeditor.

    Auf Registerkarte BACnet Parameter können Sie die Parameter der Initialkonfiguration in Spalte Wert bearbeiten.

    Tipp

    Eine vollständige Konfiguration von Server- und Objekt-Propertys über diesen Gerätekonfigurationseditor ist nicht möglich. dies ist über IEC-Programmcode möglich. Siehe unten.

Für weitere Informationen siehe: BACnet-Konfiguration über Applicationscode

Export und Import einer BACnet-Konfiguration im EDE-Format

Sie können die aktuelle BACnet-Konfiguration, die im Gerätebaum des Projekts vorliegt, in csv-Dateien in EDE-Format (Engineering Data Exchange) exportieren und aus solchen Dateien wieder importieren.

Der Funktionalität liegt die „Vorlage für den Austausch von Engineering-Daten für BACnet-Systeme“ in Form einer Excel-Datei zu Grunde.

Der Export schreibt die obligatorischen wie auch optionale Informationen zur BACnet-Konfiguration in die Basis-Exportdatei *_EDE.csv. Dazu werden automatisch weitere csv-Dateien mit Informationen zu den „State-Texts„, „Unit-Texts“ und „Object-Types“ angelegt: *_ObjTypes.csv, *_StateTexts.csv, *_Units.csv.

Export:

Der Befehl BACnet → Export in EDE-Datei öffnet den Dialog EDE-Export für folgende Eingaben:

Projektname

Name des Projekts, aus dem gerade exportiert wird.

Erscheint in der <project name>.csv-Datei bei PROJECT_NAME

Version der Referenzdatei

Version der Exportdatei. Beispiel: 1.0.0.0

Erscheint in der csv-Datei bei VERSION_OF_REFERENCE_FILE

Autor der letzten Änderung

Erscheint in der csv-Datei bei AUTHOR_OF_LAST_CHANGE

EDE-Datei für Export

Pfad des Ablageorts der Exportdatei im lokalen Dateisystem.

Beachten Sie: Der Name der csv-Datei muss folgender Syntax entsprechen: <name>_EDE.csv. Beispiel: proj1_EDE.csv

Trennzeichen

Zeichen, das in der Exportdatei zur Separierung der Texte verwendet werden soll. Auswahl: Komma, Semikolon, Leerzeichen, Tabulator

Anführungszeichen

Angabe ob die exportierten Texte in der EDE-Datei in keinen, einfachen oder doppelten Anführungszeichen stehen sollen.

Import:

Der Befehl BACnet → Import aus EDE-Datei öffnet den Dialog EDE-Import. Hier machen Sie folgende Angaben für den Import:

EDE-Datei für Import

Wählen Sie aus dem Dateisystem eine EDE-Datei *_EDE.csv, die die gewünschte BACnet-Konfiguration enthalten. Eventuell vorliegende weitere csv-Dateien *_ObjTypes.csv, *_StateTexts.csv, *_Units.csv werden automatisch mit eingelesen.

Hinweis: Nur csv-Dateien, die der üblichen EDE-Dateinamenkonvention entsprechen, werden angeboten. Sehen Sie dazu oben: EDE-Datei für Export

Trennzeichen

Das in der ausgewählten csv-Datei verwendete Trennzeichen wird ermittelt und hier automatisch eingestellt.

Anführungszeichen

Das in der ausgewählten csv-Datei verwendete Anführungszeichen wird ermittelt und hier automatisch eingestellt.

EDE-Information importieren

Projektname

Nicht editierbar. PROJECT_NAME aus der EDE-Datei.

Version der Referenzdatei

Nicht editierbar. VERSION_OF_REFERENCEFILE aus der EDE-Datei.

Autor der letzten Änderung

Nicht editierbar. AUTHOR_OF_LAST_CHANGE aus der EDE-Datei.

Zeitstempel der letzten Änderung

Nicht editierbar. TIMESTAMP_OF_LAST_CHANGE aus der EDE-Datei.

Layoutversion

Nicht editierbar. VERSION_OF_LAYOUT aus der EDE-Datei.

Auswahl importieren

BACnet-Gerät für Import

Die in der EDE-Datei definierten BACnet-Geräte stehen zur Auswahl. Das gewählte Gerät wird durch den Import im Gerätebaum unter der unten einzustellenden SPS für Import eingefügt.

SPS für Import

Die im Projekt vorhandenen Geräte stehen zur Auswahl. Die importierte BACnet-Konfiguration wird unter dem gewählten Gerät eingefügt.

BACnet(1) / BACnet(2)

Wählen Sie die Protokollrevision, für die importiert werden soll:

BACnet2 - Protokoll Revision 25

BACnet(1) - Protokoll Revision 14/15

Tipp

Beim Import ist Folgendes zu beachten:

Der EDE-Import ignoriert folgende, möglicherweise in der EDE-Datei enthaltene Informationen:

  • Nicht standardisierte BACnet-Objekttypen (Eintrag im Blatt „Object-Types“ der Datenaustauschvorlage, beziehungsweise in der EDE-Datei *_ObjTypes.csv)

  • Nicht standardisierte BACnetEngineeringUnits, das bedeutet Unit-Codes (Eintrag im Blatt „Unit-Texts“ der Datenaustauschvorlage, beziehungsweise in der EDE-Datei *_Units.csv)

  • Die optionale Information „settable“ (Eintrag im Blatt „EDE“ der Datenaustauschvorlage, beziehungsweise in der EDE-Datei *_EDE.csv)

  • Die optionale Information „supports COV“ (Eintrag im Blatt „EDE“ der Datenaustauschvorlage, beziehungsweise in der EDE-Datei *_EDE.csv)

Übernahme von EDE-Dateieinträgen in das BACnet-Geräteobjekt:

  • Der Eintrag „keyname“ wird Parameter „EDEkey“ abgelegt.

  • Der Eintrag „vendor-specific-address“ wird im Parameter „EDEvendorSpecificAddress“ abgelegt.

  • Der zum Unit-Code gehörige „Unit Text“ wird im Parameter „EDEunitText“ des abgelegt.

BACnet-Konfiguration über Applicationscode

Damit Sie mit IEC-Programmcode auf alle Konfigurationsparameter und BACnet-Objekt-Propertys zugreifen können, stellt die Bibliothek BACnet für BACnet-Server und BACnet-Objekte je einen Funktionsbaustein bereit. Dieser wird auf der Registerkarte E/A-Abbild des jeweiligen Gerätekonfigurationseditors auf eine Instanzvariable abgebildet. Beispiel: Für das BACnet-Objekt BACnet Analog Value gibt es den Funktionsbaustein BACnetAnalogValue. Dieser wird im Projekt automatisch über Variable BACnet_Analog_Value instanziert.

Somit können Sie mit Ihrer Applikation eine dynamische Konfiguration aller BACnet-Propertys eines Objekts vornehmen.

Für weitere Informationen siehe: Zugriff auf BACnet-Objekte und ihre Propertys