Skip to main content

Erste Schritte

Die folgenden Schritte führen Sie zu einer einfachen Applikation, die zwei BACnet-Objekte nutzt, um zur Laufzeit einen analogen BACnet-Wert zu schreiben und gemäß einer-BACnet-Notification-Klasse Alarm zu geben, wenn der aktuelle BACnet-Wert einen bestimmten Bereich verlässt.

. Voraussetzungen:
  • Das Package CODESYS BACnet2 SL ist installiert.

  • Das Laufzeitsystem unterstützt BACnet. Dazu muss die Komponente CmpBACnet in der Konfigurationsdatei des Laufzeitsystems eingetragen und konfiguriert sein.

  1. Legen Sie in CODESYS ein Standardprojekt mit einem BACnet-unterstützenden SPS-Gerät an.

  2. Selektieren Sie das SPS-Objekt im Gerätebaum und fügen Sie mit Befehl Gerät anhängen einen BACnet-Server ein. Um BACnet2 zu verwenden, fügen Sie einen BACnet2-Server ein.

  3. Selektieren Sie dasServer-Objekt und fügen Sie mit Befehl Gerät anhängen darunter ein Objekt BACnet_Analog_Value und ein Objekt BACnet_Notification_Class ein.

    Die eingefügten BACnet-Objekte werden in der Ansicht Geräte angezeigt:

    _bacnet_img_device_tree.png
  4. Öffnen Sie mit einem Doppelklick auf das Objekt BACnet_Analog_Value dessen Konfigurationseditor.

    Auf der Registerkarte BACnet Parameter sehen Sie die Initialkonfiguration des BACnet Analog Value-Objekts.

  5. Ändern Sie die Objekt-Propertys in Spalte Wert folgendermaßen ab:

    • AckedTransitions: ‚111 ‚

    • NotificationClass: 1

    • HighLimit: 10

    • LimitEnable: ‚11‘

    • LowLimit: 0

    Damit stellt Ihre Applikation einen BACnet Analog Value und eine BACnet Notification Class bereit. Die Konfiguration ist so, dass der BACnet Analog Value Alarme generieren wird, sobald sein Present_Value-Property einen Wert außerhalb von [0; 10] erreicht.

  6. Deklarieren Sie im Programm PLC_PRG Ihrer Applikation eine Variable lrVal vom Typ LREAL und fügen Sie folgenden Code ein. Tipp: Die Funktionsbaustein-Instanzen der BACnet-Objekte können Sie dazu auch über F2 aus der Eingabehilfe holen (Kategorie Instanzaufrufe).

    BACnet_Analog_Value.PresentValue := BACnet_Analog_Value.PresentValue + 0.0001;
    lrVal := BACnet_Analog_Value.PresentValue;
  7. Starten Sie die Codeerzeugung (F11), laden Sie die fehlerfreie Applikation auf die Steuerung und starten Sie die Applikation.

    Das BACnet-Property Present_Value des Objekts BACnet Analog Value wird hochgezählt.

  8. Starten Sie einen externen BACnet-Client (zum Beispiel "Innea BACnet Explorer Free"), der unter einer anderen Netzwerkadresse läuft als das Laufzeitsystem (beispielsweise mit Hilfe einer virtuellen Maschine). Überwachen Sie damit die Werte von BACnet-Property Present_Value und Variable lrVal im BACnet-Netzwerk.

    Sie sehen, wie das BACnet-Property Present_Value hochgezählt wird und als Folge der Wert von Variable lrVal steigt. Sobald Present_Value den Wert 10 überschreitet, wird auf dem BACnet-Server-Gerät ein Alarm des Typs der in der Applikation eingefügten BACnet NotificationClass generiert.

Dies ist ein Beispiel, wie Sie auf die BACnet-Propertys eines BACnet-Objekts zur Laufzeit zugreifen können. Falls kein explizites Property vom BACnet-Objekt-Funktionsbaustein bereitgestellt wird, bietet dieser zumindest Hilfsfunktionen, um auf bestimmte oder alle BACnet-Propertys zuzugreifen.

Für weitere Informationen siehe: BACnet-Konfiguration im Laufzeitsystem und BACnet-Konfiguration im CODESYS-Projekt