Beispiel: Manuelle Verknüpfung Hardware (Klemme), BACnet BinaryInput und SPS Programm
Im Folgenden wird die Verknüpfung von zwei digitalen Eingängen auf die entsprechenden Objekte und die SPS gezeigt.
- Einen BACnet-Adapter und -Server anlegen (siehe "Beispiel: BACnet Adapter und Server anlegen")
- Den Status des Buskopplers, unter dem die Hardware-Klemme eingefügt wurde mit dem BACnet Server verbinden
- a) Klick auf couplerState mit der rechten Maus-Taste
- b) Im Folgedialog BusState des Buskopplers anwählen (ACHTUNG: Checkbox "Exclude other Devices" und "Exclude same Image" abwählen, zudem die Checkbox "All Types" anwählen) und mit "OK" bestätigen
- c) Den Folgedialog mit "OK" bestätigen
- Nun wird das erste BinaryInput-Objekt unter dem zuvor erstellten BACnet-Server hinzugefügt
- a) Klick mit der rechten Maus-Taste auf den BACnet-Server und "Append Object..." anwählen
- b) Im Folgedialog das Modul "BACnet Binary Input Object" anwählen und mit "OK" bestätigen
- Für das Setzen der Property "Reliability" des BinaryInput-Objekts muss die Bus-Nummer des unter Punkt 2 verknüpften Bus-Status im BACnet-Objekt eingestellt werden (Bus-Index "0"):
- Für das spätere Mapping zur SPS müssen die entsprechenden Properties in das zyklische I/O-Mapping aufgenommen werden. Dazu müssen mindestens folgende Properties ausgewählt werden:
- Anschließend wird die Verknüpfung zwischen Hardware-Klemme und BACnet-Objekt hergestellt. Dazu muss RawIoBinaryBoolValue mit dem entsprechenden Bit der Hardware-Klemme verknüpft werden:
- a) Klick mit der rechten Maus-Taste auf RawIoBinaryBoolValue unter dem BACnet-Objekt "BI_0" und "Change Link..." anwählen
- b) Im Folgedialog das Symbol "Eingang" der entsprechenden Hardware-Klemme anwählen (ACHTUNG: Checkbox "Exclude other Devices" und "Exclude same Image" abwählen, zudem die Checkbox "Matching Size" anwählen) und mit "OK" bestätigen
- Für den Zugriff auf BACnet-Objekte aus einer SPS-Laufzeit kann die Library "TcBACnet.lib" verwendet werden. Diese stellt sämtliche Objekte als Funktionsbausteine mit den entsprechenden I/O-Punkten für das Mapping im System Manager zur Verfügung. Im Folgenden wird ein SPS-Projekt mit einer Instanz der Funktion "FB_BACnet_BinaryInput" mit Namen "BI_0" erstellt. Die Funktion wird wie folgt in das SPS-Programm "DEMO" eingefügt (Das Programm "DEMO" wird wiederum im Programm "MAIN" aufgerufen. Programm "MAIN" wird als Task in die Taskkonfiguration aufgenommen). Die Bausteininstanz "Device" stellt den Zugriff auf das Device-Objekt und den Server-Status bereit und muss an die Bausteininstanz "BI_0" übergeben werden:
- Nach Übersetzen des SPS-Projekts muss dieses im System Manager bereitgestellt werden. Dazu genügt ein Klick mit rechter Maus-Taste auf das Symbol "PLC - Configuration". Danach mittels "Append PLC Project..." die TPY-Datei des zuvor übersetzten SPS-Projekts hinzufügen:
- Nach dem Hinzufügen des SPS-Projekts stehen sämtliche I/O-Variablen des SPS-Programms im System Manager zur Verfügung. In jedem SPS-Projekt das die Library "TcBACnet.lib" einbindet, steht die globale Instanz "fbBACnet_Adapter" vom Typ FB_BACnet_Adapter zur Verfügung. Diese dient dem Zugriff auf den BACnet-Netzwerkadapter, dessen AMS NetID und den Link-Status. Die I/O-Variablen unterhalb der Instanz müssen nun mit den I/O-Punkten des BACnet-Adapters verbunden werden:
- a) Klick mit der rechten Maus-Taste auf das Symbol ".fbBACnet_Adapter._AmsNetId" und "Change Link..." anwählen
- b) Im Folgedialog AmsNetId des BACnet-Device anwählen (ACHTUNG: Checkbox "Exclude other Devices" abwählen, zudem die Checkbox "Matching Size" anwählen) und mit "OK" bestätigen
- Schritt 9 mit "DeviceStatus" des BACnet-Adapters wiederholen
- Die Prozessdaten-Inputs: "_SystemStatus", "_ObjIdentifier" und -Outputs: "_ServerControl" des Device Objekts müssen auf gleiche Weise verknüpft werden. Dadurch wird der Status des BACnet-Servers und des lokalen Device-Objekts in der SPS abgebildet.
- a) Prozessdaten des Device-Objekts anlegen:
- b) Verknüpfung zwischen SPS- und I/O-Prozessdaten anlegen.
- Nun müssen sämtliche I/O-Signale des SPS-BACnet-Bausteins "BI_0" mit dem eigentlichen BACnet-Objekt verknüpft werden. Die Verknüpfungen werden nach der gleichen Vorgehensweise wie unter Punkt 9 beschrieben durchgeführt ("_PresentValue" und "_StatusFlags"):
- Zur Funktionsprüfung ohne aktive SPS-Laufzeit kann die Konfiguration des BACnet-Device und der Hardware-Klemmen im Free Run Modus ausprobiert werden:
- a) "Reload I/O Devices (F4)" aus der Tool-Bar oder F4 betätigen
- b) "Toggle Free Run State (Ctrl-F5)" aus der Tool-Bar oder CTRL+F5 betätigen
- c) Anschließend sollte der I/O-Bus des Zielsystem auf RUN schalten. Der Zustand des Hardware-Eingangs kann nun im Reiter "Online" des BACnet-Objekts "BI_0" beobachtet werden. Die Property Present_Value Nr. 85 repräsentiert den logischen Zustand des Hardware-Eingangs. Mit Hilfe des Kontextmenüs des Reiters "Online" sollte vorab der Modus Auto Update aktiviert werden (siehe Kapitel "BACnet Objekte und Properties").
- Nach erfolgreichem Test im "Free Run" Modus muss die Konfiguration dauerhaft aktiviert werden. Dazu wird die Konfiguration wie üblich mittels Symbols "Activate Configuration" aus der Tool-Bar oder mittels CTRL+SHIFT+F4 aktiviert (ins Zielsystem geladen):
- Anschließend erfolgt das Laden der SPS-Laufzeit:
- und Starten in RUN Modus:
- In der Online-Ansicht des Programms "DEMO" können die Zustände des BACnet-Objekts beobachtet werden. Der Zustand des Signals Present_Value repräsentiert den logischen Zustand des Hardware-Eingangs: