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.

  1. Einen BACnet-Adapter und -Server anlegen (siehe "Beispiel: BACnet Adapter und Server anlegen")
  2. Den Status des Buskopplers, unter dem die Hardware-Klemme eingefügt wurde mit dem BACnet Server verbinden
  3. a) Klick auf couplerState mit der rechten Maus-Taste
  4. Beispiel: Manuelle Verknüpfung Hardware (Klemme), BACnet BinaryInput und SPS Programm 1:
  5. 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
  6. Beispiel: Manuelle Verknüpfung Hardware (Klemme), BACnet BinaryInput und SPS Programm 2:
  7. c) Den Folgedialog mit "OK" bestätigen
  8. Beispiel: Manuelle Verknüpfung Hardware (Klemme), BACnet BinaryInput und SPS Programm 3:
  9. Nun wird das erste BinaryInput-Objekt unter dem zuvor erstellten BACnet-Server hinzugefügt
  10. a) Klick mit der rechten Maus-Taste auf den BACnet-Server und "Append Object..." anwählen
  11. Beispiel: Manuelle Verknüpfung Hardware (Klemme), BACnet BinaryInput und SPS Programm 4:
  12. b) Im Folgedialog das Modul "BACnet Binary Input Object" anwählen und mit "OK" bestätigen
  13. Beispiel: Manuelle Verknüpfung Hardware (Klemme), BACnet BinaryInput und SPS Programm 5:
  14. 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"):
  15. Beispiel: Manuelle Verknüpfung Hardware (Klemme), BACnet BinaryInput und SPS Programm 6:
  16. 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:
  17. Beispiel: Manuelle Verknüpfung Hardware (Klemme), BACnet BinaryInput und SPS Programm 7:
  18. 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:
  19. a) Klick mit der rechten Maus-Taste auf RawIoBinaryBoolValue unter dem BACnet-Objekt "BI_0" und "Change Link..." anwählen
  20. Beispiel: Manuelle Verknüpfung Hardware (Klemme), BACnet BinaryInput und SPS Programm 8:
  21. 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
  22. Beispiel: Manuelle Verknüpfung Hardware (Klemme), BACnet BinaryInput und SPS Programm 9:
  23. 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:
  24. Beispiel: Manuelle Verknüpfung Hardware (Klemme), BACnet BinaryInput und SPS Programm 10:
  25. 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:
  26. Beispiel: Manuelle Verknüpfung Hardware (Klemme), BACnet BinaryInput und SPS Programm 11:
  27. 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:
  28. a) Klick mit der rechten Maus-Taste auf das Symbol ".fbBACnet_Adapter._AmsNetId" und "Change Link..." anwählen
  29. Beispiel: Manuelle Verknüpfung Hardware (Klemme), BACnet BinaryInput und SPS Programm 12:
  30. 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
  31. Beispiel: Manuelle Verknüpfung Hardware (Klemme), BACnet BinaryInput und SPS Programm 13:
  32. Schritt 9 mit "DeviceStatus" des BACnet-Adapters wiederholen
  33. 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.
  34. a) Prozessdaten des Device-Objekts anlegen:
  35. Beispiel: Manuelle Verknüpfung Hardware (Klemme), BACnet BinaryInput und SPS Programm 14:
  36. b) Verknüpfung zwischen SPS- und I/O-Prozessdaten anlegen.
  37. 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"):
  38. Beispiel: Manuelle Verknüpfung Hardware (Klemme), BACnet BinaryInput und SPS Programm 15:
  39. Zur Funktionsprüfung ohne aktive SPS-Laufzeit kann die Konfiguration des BACnet-Device und der Hardware-Klemmen im Free Run Modus ausprobiert werden:
  40. a) "Reload I/O Devices (F4)" aus der Tool-Bar oder F4 betätigen
  41. Beispiel: Manuelle Verknüpfung Hardware (Klemme), BACnet BinaryInput und SPS Programm 16:
  42. b) "Toggle Free Run State (Ctrl-F5)" aus der Tool-Bar oder CTRL+F5 betätigen
  43. Beispiel: Manuelle Verknüpfung Hardware (Klemme), BACnet BinaryInput und SPS Programm 17:
  44. 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").
  45. 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):
  46. Beispiel: Manuelle Verknüpfung Hardware (Klemme), BACnet BinaryInput und SPS Programm 18:
  47. Anschließend erfolgt das Laden der SPS-Laufzeit:
  48. Beispiel: Manuelle Verknüpfung Hardware (Klemme), BACnet BinaryInput und SPS Programm 19:
  49. und Starten in RUN Modus:
  50. Beispiel: Manuelle Verknüpfung Hardware (Klemme), BACnet BinaryInput und SPS Programm 20:
  51. 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:
  52. Beispiel: Manuelle Verknüpfung Hardware (Klemme), BACnet BinaryInput und SPS Programm 21: