Skip to content
Der Text wurde für 2.10 aktualisiert; die Bildschirmfotos stammen aus Version 2.5.0 und können von der Oberfläche abweichen.

BACnet ​

Ca. 10 Min. Lesezeit

Das Protokoll BACnet ermöglicht die Kommunikation von 2WinScada mit Controllern der Gebäudeautomation, HLK-Geräten und ähnlichen BACnet/IP-Geräten. 2WinScada arbeitet im Netzwerk als Client; es liest und schreibt periodisch die Eigenschaft Present Value der Objekte in den Geräten.

Wichtige unterstützte Funktionen:

  • BACnet/IP-Kommunikation (IPv4) über UDP
  • Erkennen der Geräte im Netzwerk mit Who-Is / I-Am und Massenimport
  • Lesen der Tags aus der Objektliste des Geräts und Massenimport
  • Zugriff auf Geräte in anderen Subnetzen durch Registrierung als Fremdgerät (Foreign Device) bei einem BBMD
  • Automatisches Ermitteln der Geräteadresse aus der BACnet-Gerätekennung (Automatisches Who-Is)

Serielle Leitungen wie BACnet MS/TP und COV-Abonnements (Change of Value) werden nicht verwendet; die Werte werden nach dem Wert Aktualisierungsintervall [s] jedes Tags abgefragt.

Lizenz ​

BACnet gehört zu den Standardprotokollen und ist in allen Lizenz-Editionen Starter, Standard und Professional verfügbar. Einzelheiten finden Sie auf der Seite Lizenz.

Kanaldefinition ​

Auf der Registerkarte Allgemein des Fensters für einen neuen Kanal geben Sie den Kanalnamen ein und wählen unter Verbindungstyp den Eintrag BacNetIP aus. Nachdem Sie die Einstellungen auf den anderen Registerkarten vorgenommen haben, klicken Sie auf Speichern.

Registerkarte Verbindungsparameter des BACnet-Kanals

Registerkarte Verbindungsparameter:

FeldBeschreibungStandardBereich
PortUDP-Port, den 2WinScada für BACnet/IP verwendet. Der Standardport für BACnet/IP ist 47808 (hexadezimal 0xBAC0).478081–65535; Pflichtfeld
Timeout [ms]Wartezeit auf die Antwort auf eine Anfrage30003000–86400000
WiederholungenWie oft eine unbeantwortete Anfrage erneut gesendet wird30–10

Registerkarte Erweiterte Parameter:

FeldBeschreibungStandardBereich
Lokale Endpunkt-IPIPv4-Adresse der lokalen Netzwerkschnittstelle für den BACnet-Verkehr. Hat der Server mehrere Netzwerkkarten, geben Sie die Adresse der Karte ein, die mit dem BACnet-Netzwerk verbunden ist. Bleibt das Feld leer, wird die Schnittstelle automatisch gewählt.LeerIPv4-Adresse
Maximale NutzlastGrößte BACnet-Datenmenge in einem UDP-Paket (Byte). 1472 passt für die Standard-Ethernet-MTU (1500 Byte).1472128–16384
Exklusiven Port verwendenWenn aktiviert, wird Port für diesen Kanal exklusiv (nicht gemeinsam nutzbar) geöffnet. Verwendet auf demselben Server eine andere BACnet-Anwendung denselben Port, aktivieren Sie diese Option nicht.Aus—
Nicht fragmentierenSetzt in den gesendeten IP-Paketen das Flag „nicht fragmentieren“ (Don't Fragment). Ist ein Paket größer als die MTU auf dem Weg, wird es verworfen statt fragmentiert.Aus—
Als Fremdgerät registrierenRegistriert 2WinScada als Fremdgerät bei einem BBMD (BACnet Broadcast Management Device). Wird verwendet, wenn die Geräte in einem anderen IP-Subnetz liegen und die Broadcasts zur Erkennung nicht über den Router gelangen.Aus—

Registerkarte Erweiterte Parameter des BACnet-Kanals

Ist Als Fremdgerät registrieren aktiviert, erscheint die Gruppe BBMD-Geräte:

FeldBeschreibungStandardBereich
IP-AdresseIPv4-Adresse des BBMDLeerIPv4-Adresse
PortUDP-Port des BBMD478081–65535
Time-to-Live (TTL)Dauer (Sekunden), für die die Registrierung im BBMD gültig bleibt301–32767

Die Registrierung beim BBMD erfolgt nur, wenn Als Fremdgerät registrieren aktiviert und die IP-Adresse des BBMD eingegeben ist; bei ausgeschalteter Option wird kein Registrierungspaket an das BBMD gesendet. Ist die Registrierung aktiv, erneuert 2WinScada sie selbstständig nach jeweils der Hälfte der Zeit Time-to-Live (TTL) (jedoch nicht häufiger als alle 10 Sekunden). Ein Ablauf der Registrierung betrifft nur die Erkennung; Lesen und Schreiben bei Geräten mit bekannter Adresse laufen direkt über die IP-Adresse weiter.

Geräte importieren ​

Bei einem gespeicherten Kanal listet die Schaltfläche Geräte importieren in der Gruppe Geräte der Registerkarte Erweiterte Parameter die im Netzwerk erkannten BACnet-Geräte auf. Bis der Kanal gespeichert ist, ist die Schaltfläche inaktiv.

  1. Klicken Sie auf Geräte importieren. Das Fenster Auswahl des BacNet-Geräts listet die Geräte auf, die seit dem Start des Kanals mit I-Am geantwortet haben.
  2. Ist die Liste unvollständig, klicken Sie auf WhoIs senden. 2WinScada sendet einen Who-Is-Broadcast in das Netzwerk (bei aktiver BBMD-Registrierung auch über das BBMD). Die Schaltfläche bleibt 30 Sekunden lang inaktiv. Geräte, die seit 15 Minuten nicht geantwortet haben, werden dabei aus der Liste entfernt.
  3. Je nach Anzahl der Geräte im Netzwerk kann es dauern, bis die Antworten eintreffen. Um die Liste zu aktualisieren, klicken Sie auf Daten aktualisieren.
  4. Die Liste zeigt die Spalten Name, Adresse, BacNet-Geräte-ID, Adresstyp und Netzwerk. Markieren Sie die zu importierenden Geräte, klicken Sie auf Wählen und bestätigen Sie das Bestätigungsfenster.

Die ausgewählten Geräte werden mit Name, Adresse und Gerätekennung direkt gespeichert und als aktiv hinzugefügt. Bei importierten Geräten ist Automatisches Who-Is ausgeschaltet; die Adresse wird aus der I-Am-Antwort übernommen. Am Ende wird die Anzahl der importierten, fehlgeschlagenen und ungeeigneten Datensätze gemeldet.

TIP

Erkennung und Import setzen voraus, dass der Kanal im 2WinScada-Dienst läuft. Ist die Liste leer, prüfen Sie, ob der Kanal gespeichert ist, ob die Lizenz BACnet erlaubt und ob UDP-47808-Verkehr die Firewall passiert.

Gerätedefinition ​

Ein Gerätedatensatz steht für ein einzelnes BACnet-Gerät. Auf der Registerkarte Allgemein werden die Felder Name und Aktiv wie bei den anderen Protokollen festgelegt. Bei importierten Geräten sind die Parameter bereits ausgefüllt.

Registerkarte Parameter:

FeldBeschreibungStandard / Regel
AdresseIPv4-Adresse und UDP-Port des Geräts im Format IP:Port (z. B. 192.168.1.20:47808)Pflichtfeld, wenn Automatisches Who-Is ausgeschaltet ist
BacNet-Geräte-IDNummer des BACnet-Device-Objekts des Geräts (Device Instance). Muss für jedes Gerät im Netzwerk eindeutig sein.Pflichtfeld; nur Ziffern, 0–4194303
AdresstypTyp der Adresse. Nur IP (IPv4) kann gewählt werden.IP
NetzwerkBACnet-Netzwerknummer, in der sich das Gerät befindet. Liegt das Gerät im selben IP-Netz, bleibt der Wert 0; für Netze hinter einem BACnet-Router wird die im Router definierte Netzwerknummer eingegeben.0
Automatisches Who-IsWenn aktiviert, wird die Adresse des Geräts mithilfe von BacNet-Geräte-ID per Who-Is automatisch ermittelt, und das Feld Adresse wird nicht verwendet.Bei einem neuen Gerät aktiviert

2WinScada wickelt die BACnet/IP-Kommunikation über IPv4-UDP ab, und das Feld Adresse akzeptiert nur das IPv4-Format IP:Port. IPv6 wird nicht unterstützt; auch der Server lehnt das Speichern mit einem anderen Adresstyp als IP ab. Geräte, die in älteren Versionen mit einer statischen IPv6-Adresse gespeichert wurden, werden nicht gelöscht; sie erscheinen mit der Qualität Bad, und ein Eintrag wird in das Dienstprotokoll geschrieben. Wählen Sie bei diesen Geräten unter Adresstyp den Eintrag IP und speichern Sie sie mit einer IPv4-Adresse.

Wenn Automatisches Who-Is aktiviert ist:

  • 2WinScada sendet Who-Is nur für diese Gerätekennung (bei aktiver BBMD-Registrierung auch über das BBMD) und wartet etwa 3 Sekunden auf eine Antwort. Wird keine Adresse gefunden, wird der Versuch alle 30 Sekunden wiederholt.
  • Schlagen 4 Tag-Lesevorgänge nacheinander fehl, wird die Adresse erneut gesucht. So werden Geräte, deren IP-Adresse sich ändert, wieder erreicht.

Ist Automatisches Who-Is ausgeschaltet, wird die Adresse im Feld Adresse direkt verwendet, und es erfolgt keine erneute Suche.

Tags importieren ​

In der Gruppe Tags der Registerkarte Erweiterte Parameter eines gespeicherten Geräts befindet sich die Schaltfläche Tags importieren. Bis das Gerät gespeichert ist, ist die Schaltfläche inaktiv.

  1. Klicken Sie auf Tags importieren. 2WinScada liest die Objektliste (Object List) des Geräts und fragt Name und Typ jedes Objekts ab.
  2. Das geöffnete Fenster zeigt die Spalten Name, Adresse und Datentyp. Markieren Sie die zu importierenden Zeilen, klicken Sie auf Wählen und bestätigen Sie das Bestätigungsfenster.
  3. Die ausgewählten Tags werden mit Name, Adresse und Datentyp zum Gerät hinzugefügt. Die anderen Tag-Felder werden mit ihren Standardwerten angelegt.

Die Liste zeigt nur die Objekte aus der Tabelle der Objekttypen. Das Gerät muss aktiv und seine Adresse bekannt sein; ist bei einem Gerät mit aktiviertem Automatisches Who-Is die Adresse noch nicht gefunden, bleibt die Liste leer.

Fenster Tags importieren

Tag-Definition ​

Tags werden wie bei den anderen Protokollen in der Tag-Tabelle des Geräts definiert (siehe Tag-Verwaltung). In das Feld Adresse werden Objekttyp und Objektnummer (Instance), getrennt durch einen Doppelpunkt, eingetragen:

text
<OBJEKTTYP>:<instance>

Beispiele:

AdresseBedeutung
OBJECT_ANALOG_INPUT:5Analog Input Nummer 5
OBJECT_ANALOG_VALUE:5Analog Value Nummer 5 (z. B. Sollwert)
OBJECT_BINARY_VALUE:5Binary Value Nummer 5
OBJECT_MULTI_STATE_VALUE:2Multi-state Value Nummer 2

Der Name des Objekttyps unterscheidet Groß- und Kleinschreibung und muss wie in der folgenden Tabelle geschrieben werden. Kann die Adresse nicht aufgelöst werden, wird das Tag nicht gelesen.

Objekttypen und Datentypen ​

Mit Tags importieren aufgelistete Objekttypen und der zugewiesene Datentyp:

ObjekttypName in der AdresseDatentyp
Analog InputOBJECT_ANALOG_INPUTReal
Analog OutputOBJECT_ANALOG_OUTPUTReal
Analog ValueOBJECT_ANALOG_VALUEReal
Binary InputOBJECT_BINARY_INPUTBool
Binary OutputOBJECT_BINARY_OUTPUTBool
Binary ValueOBJECT_BINARY_VALUEBool
Multi-state InputOBJECT_MULTI_STATE_INPUTInt
Multi-state OutputOBJECT_MULTI_STATE_OUTPUTInt
Multi-state ValueOBJECT_MULTI_STATE_VALUEInt
CharacterString ValueOBJECT_CHARACTERSTRING_VALUEString

Andere Objekttypen mit der Eigenschaft Present Value (z. B. OBJECT_INTEGER_VALUE:1) können manuell definiert werden; in diesem Fall muss Datentyp passend zum Wert im Gerät gewählt werden.

Lese- und Schreibverhalten ​

  • Jedes Tag wird nach Ablauf von Aktualisierungsintervall [s] aktualisiert, indem die Eigenschaft Present Value des Objekts gelesen wird. Der Tag-Wert ändert sich nur, wenn sich der gelesene Wert ändert.
  • Die Qualität eines nicht lesbaren Tags wird Bad. Sobald mindestens ein Tag des Geräts gelesen werden kann, wird die Gerätequalität Good.
  • Geschrieben wird auf die Eigenschaft Present Value des Objekts; unterstützt wird dies nur bei Objekten Analog, Binary und Multi-state Input/Output/Value. Der Wert wird mit dem zum Objekttyp passenden BACnet-Datentyp gesendet:
ObjektGesendeter TypZulässiger Wert
AnalogREAL (DOUBLE, wenn Datentyp LReal ist)Zahl; bei REAL im Bereich einfacher Genauigkeit
BinaryENUMERATEDNur 0 oder 1 (Bool-Werte werden als 0/1 gesendet)
Multi-stateUNSIGNEDGanzzahl 1 oder größer (Zustandsnummer)
  • Schreiben auf String-Tags (CharacterString) und auf andere Objekttypen wird nicht unterstützt. Ein ungeeigneter Wert (z. B. 2 bei Binary, 0 oder ein Bruchwert bei Multi-state) wird abgelehnt, ohne an das Gerät gesendet zu werden.
  • In der Schreibanfrage wird keine Priorität (Priority) angegeben; nach dem BACnet-Standard wendet das Gerät in diesem Fall die niedrigste Priorität 16 an. Liegt ein Befehl mit höherer Priorität vor, bleibt der geschriebene Wert wirkungslos.
  • Nach dem Schreiben wartet 2WinScada mit den Werten Timeout [ms] und Wiederholungen des Kanals auf die Bestätigung des Geräts. Ein abgelehnter oder nicht bestätigter Schreibvorgang erscheint nicht als erfolgreich: Auf dem Bildschirm des schreibenden Benutzers erscheint die Warnung Schreibanforderung abgelehnt: Der Server konnte die Anforderung nicht an den Treiber übergeben., der Grund wird in das Dienstprotokoll geschrieben, und der Schreibvorgang wird nicht im Operationsverlauf gespeichert. Bei der Rezeptanwendung werden diese Positionen als fehlgeschlagen aufgeführt.

WARNING

Bevor Sie Schreibvorgänge in einer laufenden Anlage testen, prüfen Sie die Gerätedokumentation, ob das Objekt beschreibbar ist, und das Prioritätsfeld (Priority Array). Definieren Sie die Tags bei der ersten Inbetriebnahme mit Nur lesen.

Fehlerbehebung ​

SymptomPrüfungen
Geräteliste leerPrüfen Sie, ob der Kanal gespeichert ist, im 2WinScada-Dienst läuft und ob die Lizenz BACnet erlaubt. Aktualisieren Sie die Liste nach WhoIs senden mit Daten aktualisieren. Prüfen Sie die Firewall für UDP 47808 und den Wert Lokale Endpunkt-IP.
Geräte in einem anderen Subnetz erscheinen nichtPrüfen Sie die Option Als Fremdgerät registrieren, die Werte IP-Adresse und Port des BBMD und ob das BBMD die Registrierung von Fremdgeräten annimmt.
Keine Antwort, Port von einer anderen Anwendung belegtVerwendet auf demselben Server eine andere BACnet-Anwendung den Port 47808, deaktivieren Sie Exklusiven Port verwenden oder verwenden Sie einen anderen Port.
Gerät wird nicht gefunden (Automatisches Who-Is)Prüfen Sie, ob der Wert BacNet-Geräte-ID mit der Device Instance im Gerät übereinstimmt. Die Suche wird alle 30 Sekunden wiederholt. Deaktivieren Sie bei Bedarf Automatisches Who-Is und geben Sie Adresse ein.
Tag-Qualität BadPrüfen Sie den Namen und die Nummer des Objekttyps in der Adresse, ob das Gerät erreichbar ist, und den Wert Timeout [ms].
Liste unter Tags importieren leerPrüfen Sie, ob das Gerät gespeichert und aktiv ist und ob seine Adresse gefunden wurde.
Schreiben ohne WirkungPrüfen Sie die Einstellung Nur lesen, ob das Objekt beschreibbar ist und ob kein Befehl mit höherer Priorität vorliegt. Einzelheiten stehen im Dienstprotokoll.
Warnung „Schreibanforderung abgelehnt“ beim SchreibenPrüfen Sie, ob der Objekttyp Schreiben unterstützt, ob der Wert zum Objekttyp passt (Binary 0/1, Multi-state Ganzzahl ab 1) und ob das Gerät den Schreibvorgang annimmt. Der Ablehnungsgrund steht im Dienstprotokoll.
Gerätequalität Bad, Adresstyp IPv6IPv6 wird nicht unterstützt. Wählen Sie unter Adresstyp den Eintrag IP und speichern Sie mit einer IPv4-Adresse.

2WinScada 2.10