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
CmpBACnet
in 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 BACnet-Server ein. Um BACnet2 zu verwenden, fügen Sie einen BACnet2-Server ein.
einenSelektieren Sie dasServer-Objekt und fügen Sie mit Befehl BACnet_Analog_Value und ein Objekt BACnet_Notification_Class ein.
darunter ein ObjektDie 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 Value
und eineBACnet Notification Class
bereit. Die Konfiguration ist so, dass derBACnet Analog Value
Alarme generieren wird, sobald seinPresent_Value
-Property einen Wert außerhalb von [0; 10] erreicht.Deklarieren Sie im Programm
PLC_PRG
Ihrer Applikation eine VariablelrVal
vom TypLREAL
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;
Starten Sie die Codeerzeugung (F11), laden Sie die fehlerfreie Applikation auf die Steuerung und starten Sie die Applikation.
Das BACnet-Property
Present_Value
des ObjektsBACnet Analog Value
wird 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_Value
und VariablelrVal
im BACnet-Netzwerk.Sie sehen, wie das BACnet-Property
Present_Value
hochgezählt wird und als Folge der Wert von VariablelrVal
steigt. SobaldPresent_Value
den Wert 10 überschreitet, wird auf dem BACnet-Server-Gerät ein Alarm des Typs der in der Applikation eingefügtenBACnet 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