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.
Das Package CODESYS BACnet2 SL ist installiert.
Das Laufzeitsystem unterstützt BACnet. Dazu muss die Komponente
CmpBACnetin der Konfigurationsdatei des Laufzeitsystems eingetragen und konfiguriert sein.
Legen Sie in CODESYS ein Standardprojekt mit einem BACnet-unterstützenden SPS-Gerät an.
Selektieren Sie das SPS-Objekt im Gerätebaum und fügen Sie mit Befehl einen BACnet-Server ein. Um BACnet2 zu verwenden, fügen Sie einen BACnet2-Server ein.
Selektieren Sie dasServer-Objekt und fügen Sie mit Befehl 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:

Ö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.Ändern Sie die Objekt-Propertys in Spalte Wert folgendermaßen ab:
AckedTransitions: ‚111 ‚NotificationClass: 1HighLimit: 10LimitEnable: ‚11‘LowLimit: 0
Damit stellt Ihre Applikation einen
BACnet Analog Valueund eineBACnet Notification Classbereit. Die Konfiguration ist so, dass derBACnet Analog ValueAlarme generieren wird, sobald seinPresent_Value-Property einen Wert außerhalb von [0; 10] erreicht.Deklarieren Sie im Programm
PLC_PRGIhrer Applikation eine VariablelrValvom TypLREALund 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;
Starten Sie die Codeerzeugung (F11), laden Sie die fehlerfreie Applikation auf die Steuerung und starten Sie die Applikation.
Das BACnet-Property
Present_Valuedes ObjektsBACnet Analog Valuewird hochgezählt.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_Valueund VariablelrValim BACnet-Netzwerk.Sie sehen, wie das BACnet-Property
Present_Valuehochgezählt wird und als Folge der Wert von VariablelrValsteigt. SobaldPresent_Valueden Wert 10 überschreitet, wird auf dem BACnet-Server-Gerät ein Alarm des Typs der in der Applikation eingefügtenBACnet NotificationClassgeneriert.
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