SPS Bibliothek: TcBACnetRev12.Lib
Im Folgenden wird der Funktionsumfang der SPS Bibliothek "TcBACnetRev12.lib" beschrieben. Die Bibliothek bietet die Möglichkeit auf Objekte einer BACnet-Konfiguration komfortabel aus einem SPS-Programm zuzugreifen.
Überblick
Die SPS-Bibliothek "TcBACnetRev12.lib" ist eine Sammlung von Funktionsbausteinen zur Programmierung eines BACnet-Controllers. Für jedes BACnet-Objekt stehen Funktionsbausteine zur Verfügung, über die ausgewählte Properties gelesen und geschrieben werden. Generell wird zwischen Funktionsbausteinen für Server- und Client-Objekte unterschieden. Funktionsbausteine für Client-Objekte werden mit dem Präfix "Remote" bezeichnet, da sie den Zugriff auf entfernte BACnet-Objekte auf anderen Geräten ermöglichen. Die BACnet-Objekt-Funktionsbausteine realisieren eine Auswertung, ob Prozessdaten gültig sind bzw. der BACnet-Controller betriebsbereit ist (bReady).
Der Funktionsbaustein FB_BACnet_Adapter repräsentiert ein BACnet-Device und damit den Zugangspunkt zum BACnet-Netzwerk über Netzwerkkarte. Über diesen Baustein kann u.a. erkannt werden, ob ein Link vorhanden ist. Um die Übersicht im SPS-Programm zu erhöhen, wird der BACnet-Adapter als globale Variable innerhalb der "TcBACnetRev12.lib" angelegt, da in der Mehrzahl der Projekte genau ein BACnet-Adapter verwendet wird.
Je nach Client- bzw. Server-Funktionalität, werden mit den Funktionsbausteinen FB_BACnet_Device bzw. FB_BACnet_RemoteDevice Zustands- und Steuerinformationen des BACnet-Client bzw. Server verknüpft. Die Betriebsbereitschaft der BACnet-Objekte wird über den Client- bzw. Server-Status sowie der Property System_Status des jeweiligen Device bzw. Remote Device-Objekts ermittelt. Jedem BACnet-Objekt-Funktionsbaustein muss deshalb eine Referenz auf die Instanz des zugehörigen FB_BACnet_Device bzw. FB_BACnet_RemoteDevice übergeben werden, um die Statusauswertung (bReady) zu ermöglichen.
Die nachfolgende Abbildung zeigt eine Übersicht der Funktionsbausteine der "TcBACnetRev12.lib" und den entsprechenden Verknüpfungen mit den BACnet-Modulen. Die Verknüpfung zwischen einem SPS-Programm auf Basis von "TcBACnetRev12.lib" und den BACnet-Modulen einer Konfiguration über die Funktion SPS-Automapping automatisiert erstellt werden.
Kompatibilität und Neuerungen
Die SPS-Bibliothek "TcBACnetRev12.lib" wird ab TwinCAT 2.11 Build 2042 mit der TwinCAT-Basis-Installation ausgeliefert. Die Bibliothek ist in wesentlichen Zügen mit der Vorgängerversion "TcBACnet.lib" kompatibel. Es folgt ein kurzer Überblick der Neuerungen:
- BACnet-FBs namenskompatibel (außer Accumulator)
- Verbessertes Alignment der Prozessdaten
- FBs für neue (Revision12-)Objekte, konsequent _Ex für alle Objekte
- FB_BACnet_Device
- Datentyp, Name nAmsPort geändert (mit Rev. 12 funktionslos)
- Automatisches Auslesen der ADS-Informationen
- Auslösen Schreiben persistenter Daten
- Loop_Drv: Interne Regelung automatisch aktiv (via BACnet-Stack)
- Loop_Ex: Autotuning (Bestimmung PID), Rampenbegrenzung (AccLimit) Ausgaben
- Neue Ads-Funktionen:
- String Decoding nach Win1252 (Description, ObjectName,EventMessageTexts)
- ExceptionSchedule (bool), WeeklySchedule (bool), LogBuffer (Real), RecipientList (Read,Write), ObjectList, RecpientList (Notification Class)
- Zugriff auf NotificationSink-Funktionen (Acknowledge, Meldungsliste auslesen, Löschen)
- Unterstützung Zeitsynchronisation
- Remote_Bausteine
- Fehler ERR_OPERATIONAL wenn Client nicht da
- bTriggerWOC
- Für Schreibzugriffe müssen explizit _EX oder _WR-Varianten verwendet werden
Ältere Projekte, die auf Basis der SPS-Bibliothek "TcBACnet.Lib" erstellt wurden, können nach folgendem Schema auf die Verwendung der neuen Bibliothek umgestellt werden:
- Löschen von "TcBACnet.Lib" aus dem SPS-Projekt
- Hinzufügen von "TcBACnetRev12.Lib"
- Neu Übersetzen
- Im System Manager:
- Neu einlesen des SPS-Projects
- ggf. altes Mapping Rückgängig machen
- ggf. BACnet Device in neuer Revision anlegen.
- SPS-Automapping durchführen
Persistente Daten können bei der Umstellung auf die neue "TcBACnetRev12.lib" nicht übernommen werden.
Generell gilt, dass SPS-Projekte auf Basis der alten "TcBACnet.Lib" auch ohne Umstellung mit "BACnet Revision 12" funktionieren.
Übersicht
Im Folgenden werden die Komponenten der SPS-Bibliothek in einer Übersicht dargestellt. Über entsprechende Verknüpfungen können detailliierte Informationen aufgerufen werden.
BACnet Adapter und Notification-Sink
Bausteine | Beschreibung |
---|---|
Funktionsbaustein für die Anbindung des PLC Programms an einen lokalen BACnet-Adapter (Netzwerkkarte). | |
Funktionsbaustein zur Realisierung einer ADS Verbindung mit einer BACnet NotificationSink. |
Lokale BACnet-Objekte (Server)
Standard Objekte
Folgende Funktionsbausteine stellen die Verbindung zwischen BACnet Objekt im TwinCAT System Manager und der Verwendung im PLC Programm her. Die Bausteine enthalten sämtliche, für das SPS-Automapping notwendingen Kommentare.
Die Standard-Funktionsbausteine sind in 2 Varianten verfügbar:
- Minimale Prozessdaten - es werden die nötigsten Properties verknüpft; u.a. Present_Value und Status_Flags.
- Erweiterte Prozessdaten - zusätzlich sind u.a. Object_Identifier, Event_Flags und Reliability verknüpft. Bausteine mit erweiterten Prozessdaten sind mit der Endung _EX gekennzeichnet.
Die Dokumentation bezieht sich auf die Variante mit erweiterten Prozessdaten. Erweiterte Prozessdaten sind in der Beschreibung als solche gekennzeichnet.
Bausteine | Symbol | BACnet Objekt | Beschreibung |
---|---|---|---|
| Accumulator | Ein BACnet Accumulator Objekt repräsentiert einen durch Pulszählung ermittelten Messwert. | |
| Analog Input | Ein BACnet Analog Input Objekt repräsentiert einen analogen Eingangswert. | |
| Analog Output | Ein BACnet Analog Output Objekt repräsentiert einen analogen Ausgangswert. | |
| Analog Value | Repräsentiert einen analogen Zustandswert innerhalb eines Programms. | |
| Averaging | Ermöglicht die Berechnung statistischer Daten innerhalb einer Steuerung. | |
| Binary Input | Ein Binary Input Objekt repräsentiert einen binären Eingangswert. | |
| Binary Output | Ein Binary Output Objekt repräsentiert einen binaren Ausgangswert. | |
| Binary Value | Repräsentiert einen binären Zustandswert innerhalb eines Programms. | |
| Calendar | Ermöglicht die entkoppelte Definition von Ausnahmetagen für Zeitschaltpläne (Schedule Objekte). | |
| Command | Ermöglicht die Steuerung von komplexen Ablaufen über zeitlich gestaffelte Schreibbefehle auf BACnet Objekt-Properties. | |
| Device | Bildet den logischen Einstiegspunkt eines BACnet-Geräts. Enthält u.a. die Liste aller BACnet-Objekte dieses Geräts. | |
| Event Enrollment | Ermöglicht die Konfiguration regelbasierter Ereignismeldungen. Über das in viele Objekte Integrierte Meldesystem, können umfangreichere Regeln für das Auslösen vom Ereignismeldungen definiert werden. Ein Beispiel sind zusätzliche oder mehrfache Grenzwertpaare für ein PresentValue. | |
| File | Repräsentiert Eigenschaften eines Dateiobjekts. | |
| Group | Group-Objekte erlauben die Zusammenfassung multipler Properties in einem einzelnen Datenpunkt. | |
| Loop | Repräsentiert die Eigenschaften eines PID-Reglers. | |
| Multi State Input | Repräsentiert einen ganzzahligen/mehrstufigen Eingangswert. | |
| Multi State Output | Repräsentiert einen ganzzahligen/mehrstufigen Ausgangswert. | |
| Multi State Value | Repräsentiert einen ganzzahligen/mehrstufigen Zustandswert. | |
| Notification Class | Das Notification Class Objekt dient zur Konfiguration der Verteilung von Ereignismeldungen (EventNotifications). | |
| Program | Ein BACnet Program Objekt ermöglich die Veränderung der Zustände eines SPS-Programms. | |
| Pulse Converter | Ein Pulse Converter Objekt repräsentiert einen durch Pulszählung ermittelten Messwert. | |
| Schedule | Repräsentiert einen Zeitschaltplan mit dessen Hilfe Werte anderer BACnet-Objekte an Hand von zeitbasierten Schalteinträgen beschrieben werden. | |
| Trend Log | Repräsentiert aufgezeichnete historische Daten, die zyklisch mit festem Intervall oder ereignisbasiert aufgezeichnet werden. |
Lokale BACnet Objekte (ADS)
Der schreibende Zugriff auf die Property PresentValue erfolgt prioritätsbasiert via ADS. Dieser Baustein kann eingesetzt werden, wenn Prioritäten für schreibende Zugriffe vor der Programmlaufzeit nicht feststehen bzw. mehrere Prioritätsstufen gleichzeitig im Programm manipuliert werden sollen.
Bausteine | Beschreibung |
---|---|
Ein BACnet Analog Output Objekt repräsentiert einen analogen Ausgangswert. | |
Repräsentiert einen analogen Zustandswert innerhalb eines Programms. | |
Ein Binary Output Objekt repräsentiert einen binaren Ausgangswert. | |
Repräsentiert einen binären Zustandswert innerhalb eines Programms. | |
Repräsentiert einen ganzzahligen Ausgangswert | |
Repräsentiert einen ganzzahligen Ausgangswert. |
Bausteine | Beschreibung |
---|---|
Dieser Baustein wird mit einem TwinCAT BACnet Loop Objekt mit aktivierter interner Regelung verknüpft. Der Regelungsalgorithmus wird direkt im BACnet-Stack und nicht in der SPS implementiert. Alle anderen Loop-FBs implementieren ihren Regelungsalgorithmus innerhalb der SPS. Der Vorteil dieses Bausteins in eine effizientere Ausführungszeit, da weniger BACnet-Properties über Prozessdaten verknüpft werden müssen. |
Lokale BACnet Objekte (Raw Varianten)
RAW-FBs ermöglichen die Vorgabe physikalischer Mess- und Stellgrößer aus der SPS. Im Gegensatz zu anderen FBs für physikalische Mess- und Stellgrößen, welche direkt mit einem Hardware-Modul verknüpft sind. Das zugehörige RawIo*-Prozessdatum des BACnet-Objekts wird hier vom SPS-Automapping direkt mit einer SPS-Variablen verknüpft.
Bausteine | Beschreibung |
---|---|
Ein BACnet Accumulator Objekt repräsentiert einen durch Pulszählung ermittelten Messwert. Dieser Messwert wir in diesem Fall in der SPS gebildet. | |
Ein BACnet Analog Input Objekt repräsentiert einen analogen Eingangswert. Dieser Funktionsbaustein kann eingesetzt werden, wenn eine Nachverarbeitung von analogen Eingangswerten in der SPS erfolgen soll, oder analoge Werte direkt in der SPS gebildet werden und diese nur lesbar sein sollen. | |
Ein BACnet Analog Output Objekt repräsentiert einen analogen Ausgangswert. Dieser Funktionsbaustein kann u.a. eingesetzt werden, wenn ein analoges Ausgangssignal vor der Ausgabe vorverarbeitet werden soll. | |
Ein Binary Input Objekt repräsentiert einen binären Einsgangswert. Dieser Funktionsbaustein kann eingesetzt werden wenn eine Nachverarbeitung von binären Eingangswerten in der SPS erfolgen soll (z.B. Entprellung) | |
Ein Binary Output Objekt repräsentiert einen binaren Ausgangswert. Dieser Funktionsbaustein kann u.a. eingesetzt werden, wenn ein binäres Ausgangssignal vor der Ausgabe vorverarbeitet werden soll. | |
Ein Multistate Input Objekt repräsentiert einen ganzzahligen/mehrstufigen Eingangswert. | |
Ein Multistate Output Objekt repräsentiert einen ganzzahligen/mehrstufigen Ausgangswert. | |
Ein Pulse Converter Objekt repräsentiert einen durch Pulszählung ermittelten Messwert. |
Bausteine | Beschreibung |
---|---|
Zur Revision 6 kompatibler Funktionsbausstein, der nur mit TwinCAT BACnet Revision 6 verwendet werden sollte. | |
Zur Revision 6 kompatibler Funktionsbausstein, der nur mit TwinCAT BACnet Revision 6 verwendet werden sollte. |
Client BACnet Objekte (Remote)
Die Funktionsbausteine für Remote-Objekte bieten den Zugriff auf BACnet-Objekte anderer Geräte. Bei den Remote-FBs werden drei Varianten unterschieden. Die Basis-FBs ohne Endung bieten den lesenden Zugriff auf die Properties PresentValue und StatusFlags. Eine umfangreichere Auswahl an Properties wird in den "_EX"-Varianten unterstützt. Wenn mit minimal lesenden Properties zusätzlich schreibende Zugriffe ausgeführt werden sollen, können die "_WR"-Varianten verwendet werden. Generell sollten die Funktionsbausteine mit wenigen Properties bevorzugt werden, um die Netzlast zu minimieren.
Für eine effiziente Einbindung entfernter BACnet-Geräte kann die Funktion .exp-Export (im BACnet Device) verwendet werden, mit der sehr einfach die SPS-Variablen-Deklaration der Remote-FBs gescannter bzw. über eine EDE-Datei eingelesene Client-Konfigurationen erstellt werden.
Bausteine | Beschreibung |
---|---|
Ein BACnet Accumulator Objekt repräsentiert einen durch Pulszählung ermittelten Messwert. | |
Ein BACnet Analog Input Objekt repräsentiert einen analogen Eingangswert. | |
Ein BACnet Analog Output Objekt repräsentiert einen analogen Ausgangswert. | |
Repräsentiert einen analogen Zustandswert innerhalb eines Programms. | |
Ermöglicht die Berechnung statistischer Daten innerhalb einer Steuerung. | |
Ein Binary Input Objekt repräsentiert einen binären Einsgangswert. | |
Ein Binary Output Objekt repräsentiert einen binaren Ausgangswert. | |
Repräsentiert einen binären Zustandswert innerhalb eines Programms. | |
Ermöglicht die entkoppelte Definition von Ausnahmetagen für Zeitschaltpläne (Schedule Objekte). | |
Ermöglicht die Steuerung von komplexem Abläufen über zeitlich gestaffelte Schreibbefehle auf BACnet Objekt-Properties. | |
Bildet den logischen Einstiegspunkt eines BACnet-Geräts. Enthält u.a. die Liste aller BACnet-Objekte dieses Geräts. | |
Ermöglicht die Konfiguration regelbasierter Ereignismeldungen. Über das in viele Objekte Integrierte Meldesystem, können umfangreichere Regeln für das Auslösen vom Ereignismeldungen definiert werden. Ein Beispiel sind zusätzliche oder mehrfache Grenzwertpaare für ein PresentValue. | |
Repräsentiert Eigenschaften eines Dateiobjekts. | |
Group-Objekte erlauben die Zusammenfassung multipler Properties in einem einzelnen Datenpunkt. | |
Repräsentiert die Eigenschaften eines PID-Reglers. | |
Repräsentiert einen ganzzahligen/mehrstufigen Eingangswert. | |
Repräsentiert einen ganzzahligen/mehrstufigen Ausgangswert. | |
Repräsentiert einen ganzzahligen/mehrstufigen Zustandswert. | |
Das Notification Class Objekt dient zur Konfiguration der Verteilung von Ereignismeldungen (EventNotifications). | |
Ein BACnet Program Objekt ermöglich die Veränderung der Zustände eines SPS-Programms. | |
Ein Pulse Converter Objekt repräsentiert einen durch Pulszählung ermittelten Messwert. | |
Repräsentiert einen Zeitschaltplan mit dessen Hilfe Werte anderer BACnet-Objekte an Hand von zeitbasierten Schalteinträgen beschrieben werden. | |
Repräsentiert aufgezeichnete historische Daten, die zyklisch mit festem Intervall oder ereignisbasiert aufgezeichnet werden. |
ADS Bausteine für den generischen Zugriff auf sämtliche online Properties (Rohdatenzugriff)
Funktionsbausteine für den Zugriff auf BACnet Properties über ADS. Sämtliche BACnet online Properties von Server und Client Objekten können über ADS gelesen bzw. geschrieben werden.
Bausteine | Beschreibung |
---|---|
Lesezugriff auf Properties | |
Schreibzugriff auf Properties |
ADS Bausteine für den Zugriff auf spezifische Properties
Funktionsbausteine für den spezifischen Zugriff auf BACnet Properties mit Datentypwandlung über ADS. Sämtliche BACnet Properties von Server und Client Objekten können über ADS gelesen bzw. geschrieben werden. Aufbauend auf den Bausteinen FB_BACnet_ReadProp und -WriteProp wandeln die folgenden Bausteine, die per ADS gelesen Daten in PLC Datentypen um bzw. codieren die PLC Daten in BACnet Daten während des Schreibzugriffs. Die Größenbegrenzung der folgenden ADS Zugriffe hängt mit dem globalen ADS-Datenpuffer zusammen und liegt bei ca. 8kByte (siehe ST_BACnet_GlobalAdsBuffer).
Bausteine | Beschreibung | Zugriff |
---|---|---|
ADS Zugriff auf die Property Object_Name vom Typ CharacterString inklusive Decoding von UTF-8, UCS-2 und UCS-4 | Lesen | |
ADS Zugriff auf die Property Description vom Typ CharacterString inklusive Decoding von UTF-8, UCS-2 und UCS-4 | Lesen | |
ADS Zugriff auf die Property Event_Message_Texts vom Typ CharacterStringExtList inklusive Decoding von UTF-8, UCS-2 und UCS-4 | Lesen | |
ADS Zugriff auf die Property Object_List vom Typ BACnetObjectIdentifier[] | Lesen | |
ADS Zugriff auf die Property Exception_Schedule vom Typ BACnetSpecialEventList; jedoch ausschließlich für Einträge mit Datentyp Bool | Lesen, Schreiben | |
ADS Zugriff auf die Property Weekly_Schedule vom Typ BACnetDailyScheduleList; jedoch ausschließlich für Einträge mit Datentyp Bool | Lesen, Schreiben | |
ADS Zugriff auf die Property Log_Buffer vom Typ BACnetLogRecordList; jedoch ausschließlich für Einträge mit Datentyp Real | Lesen | |
ADS Zugriff auf die Property Recipient_List vom Typ BACnetDestination[] (z.B. NotificationClass Objekt) | Lesen, Schreiben |
ADS Bausteine für den Zugriff auf Dienst- und Diagnosedaten
Bausteine | Beschreibung |
---|---|
ADS Zugriff auf die Diagnosedaten des BACnet Adapters | |
ADS Zugriff auf die BACnet Notification Sink: Auslesen eines BACnet Events | |
ADS Zugriff auf die BACnet Notification Sink: Dienst zur Quittierung eines BACnet Events | |
ADS Zugriff auf die BACnet Notification Sink: Löschen eines BACnet Events (ersetzt FB_BACnet_NotificationSinkDelEntry) | |
ADS Zugriff auf den BACnet Adapter: Dienst zur Zeitsynchronisierung im BACnet Netzwerk (broadcast) oder lokal. Der Baustein stellt die aktuelle Systemzeit zyklisch als Ausgang bereit und sollte in jedem BACnet Projekt als Uhrzeitquelle im PLC Programm verwendet werden. |
BACnet Hilfsbausteine für Datum und Uhrzeit
Bausteine | Beschreibung |
---|---|
Funktion zur Prüfung eines Datum-Zahlenwertes (BYTE) für den Tag des Monats auf Gültigkeit. | |
Funktion zur Prüfung eines Datum-Zahlenwertes (BYTE) für den Wochentag auf Gültigkeit. | |
Funktion zur Prüfung eines Uhrzeit-Zahlenwertes (BYTE) für die Stunden-Angabe auf Gültigkeit. | |
Funktion zur Prüfung eines Uhrzeit-Zahlenwertes (BYTE) für die Hundertstelsekunden-Angabe auf Gültigkeit. | |
Funktion zur Prüfung eines Uhrzeit-Zahlenwertes (BYTE) für die Minutenangabe auf Gültigkeit. | |
Funktion zur Prüfung eines Datum-Zahlenwertes (BYTE) für den Monat auf Gültigkeit. | |
Funktion zur Prüfung eines Uhrzeit-Zahlenwertes (BYTE) für die Sekundenangabe auf Gültigkeit. | |
Funktion zur Prüfung eines Datum-Zahlenwertes (BYTE) für die Woche des Monats auf Gültigkeit. | |
Funktion zur Prüfung eines Datum-Zahlenwertes (BYTE) für das Jahr auf Gültigkeit. | |
Funktion zur Prüfung auf Platzhalter (255 → undefiniert) in einer Datumsangabe. | |
Funktion für das Zusammenführen von 2 Zeitstempeln. | |
Funktion zur Umwandlung eines BACnet Zeitstempels in den Datentyp TIMESTRUCT. | |
Funktion zur Zeichenkettendarstellung eines BACnet Zeitstempels. | |
Funktion zur Prüfung auf Platzhalter (255 → undefiniert) in einer Datumsangabe. | |
Funktion zur Berechnung der Anzahl Tage im gegebenen Monat eines Jahres. | |
Funktion zur Berechnung des Zeitstempels in 100ms Schritten seit 1900. | |
Funktion zur Berechnung des Zeitstempels in 100ms Schritten seit 00:00:00.0 Uhr. | |
Funktion zur Prüfung auf Platzhalter (255 → undefiniert) in einer Zeitangabe. | |
Funktion für das Zusammenführen von 2 Zeitstempeln. | |
Funktion zur Zeichenkettendarstellung eines BACnet Zeitstempels. | |
Funktion zur Umwandlung eins Zeitstempels vom Datentype TIMESTRUCT in einen BACnet Zeitstempel. | |
Funktion zur Prüfung auf Platzhalter (255 → undefiniert) in einer Zeitangabe. |
BACnet Hilfsbausteine für Bit-Konvertierung (Bit Strings)
Bausteine | Beschreibung |
---|---|
Funktion zum Decodieren der Prozessdaten der Property Acked_Transitions eines BACnet Objekts. | |
Funktion zum Codieren des Property-Werts der Property Event_Enable eines BACnet Objekts. | |
Funktion zum Codieren des Property-Werts der Property Limit_Enable eines BACnet Objekts. | |
Funktion zum Codieren des Property-Werts der Property Status_Flags eines BACnet Objekts. | |
Funktion zum Decodieren des Prozessdatums der Property Limit_Enable eines BACnet Objekts. | |
Funktion zum Decodieren des Prozessdatums der Property Status_Flags eines BACnet Objekts. |
BACnet Hilfsbausteine für Multi-State-Objekte
Bausteine | Beschreibung |
---|---|
Funktion zur Umsetzung eines UDINT-Wertes der PLC in den Prozessdatenwert eines BACnet MultiState* Objekts Property Present_Value. |
BACnet Hilfsbausteine für REAL-Werte
Bausteine | Beschreibung |
---|---|
F_BACnet_RealPV (obsolet: F_BACnet_AnalogPV) | Funktion zur Umsetzung eines REAL-Wertes der PLC in den Prozessdatenwert eines BACnet Analog* Objekts Property Present_Value. |
Funkktion zum Prüfen auf Endlichkeit eines REAL Werts. | |
Funktion zum Vergleich von zwei Gleitpunktwerten unter Berücksichtigung des Wertebereichs. | |
Funktion zum Vergleich von zwei Gleitpunktwerten unter Berücksichtigung des Wertebereichs. | |
Funktion zum Vergleich von zwei Gleitpunktwerten unter Berücksichtigung des Wertebereichs. | |
Funktion zum Vergleich von zwei Gleitpunktwerten unter Berücksichtigung des Wertebereichs. | |
Funktion zum Vergleich von zwei Gleitpunktwerten unter Berücksichtigung des Wertebereichs. | |
F_BACnet_RealNull (obsolet: F_BACnet_NAN) | Funktion gibt den Gleitpunktwert "Not aNumber" zurück, der als Wert der Property Present_Value eines Analog* Objekt dem Wert Null (keine Wert) entspricht. |
Funktion gibt den Gleitpunktwert "Not aNumber" zurück, der als Wert der Property Present_Value eines Analog* Objekt dem Wert Nothing (nicht-auswerten) entspricht. Prozessdaten mit dem codierten Wert Nothing werden vom BACnet Stack ab Revision 12 nicht verarbeitet. | |
Funktion zur Umwandlung einer Gleitpunktzahl in eine Zeichenkette unter Berücksichtigung des Wertebereichs. |
BACnet Hilfsbausteine für String-Verarbeitung
Bausteine | Beschreibung |
---|---|
Funktion zur Ausgabe der Objekt-ID eines BACnet Objekts als kurze Zeichenkette. | |
Funktionsbaustein zum Decodieren von BACnet Strings. | |
Funktionsbaustein zum Codieren von BACnet Strings. |
Signalkonvertierung
Bausteine | Beschreibung |
---|---|
Funktionsbaustein zum Erzeugen eines pulsierenden Ausgabesignals, mit definierter Ein- und Ausschaltdauer in Prozent der Periodendauer (Pulsweitenmodulation). |
Hilfsfunktionen für BACnet BinaryPV Datentypen
Bausteine | Beschreibung |
---|---|
Funktion zur logischen Verknüpfung von BACnet BinaryPV Werten. | |
Funktion zum Invertieren eines BACnet BinaryPV Werts. | |
Funktion zur logischen Verknüpfung von BACnet BinaryPV Werten. | |
Funktion zur logischen Verknüpfung von BACnet BinaryPV Werten. | |
Funktion zum Konvertieren eines BACnet BinaryPV Werts in den Datentyp BOOL. | |
Funktion zur Umsetzung eines Wertes mit Datentyp BOOL der PLC in den Prozessdatenwert eines BACnet Binary* Objekts / Property Present_Value. |
Sonstige BACnet Hilfsfunktionen
Bausteine | Beschreibung |
---|---|
Funktion zum Feststellen der Position einer BACnet Object-ID in einer Liste mit IDs. | |
Funktion zur Codierung des Objekt-Typs und der Objekt-Instance in den BACnet Object_Identifier. | |
Funktion zum Decodierung des BACnet Object_Identifier in die Objekt-Instance (Objektnummer). | |
Funktion zur Decodierung des BACnet Object_Identifier in den Objekt-Typ. | |
Funktionsbaustein für die Begrenzung von Signaländerung pro Zeit (maximale Beschleunigung). | |
Funktionsbaustein zur Mittelwertbildung einer Eingangsgröße X über n Werte. | |
PID Regelbaustein in Parallelanordnung bzw. Idealform. | |
Funktionsbaustein zur Nachbildung einer Verzögerung 1. Ordnung. |
BACnet Konstanten
Konstanten | Beschreibung |
---|---|
Globale Konsten für Default-Werte, Fehlermeldungen, Datenbereichsgrenzen usw. |
BACnet Diagnose-Daten
Datentypen | Beschreibung |
---|---|
Beschreibt Diagnosedaten des Ethernet-Adapter wie gesendete, empfangene oder fehlerhafte Nachrichten. | |
Enthält Informationen über Ausführungszeiten innerhalb des BACnet-Stack. | |
Enthält Informationen über gesendete und empfangene BACnet-Netzwerkpakete. | |
Informationen zum Speicherverbrauch. | |
Enthält Informationen zu persistenten Daten und eine Änderungsstatistik der Properties. | |
Beschreibt Diagnosedaten des Ethernet-Adapter. | |
Beschreibt Diagnosedaten des Ethernet-Adapter. | |
Ausführliche Daten zu BACnet-Diensten |
BACnet Datentypen
Datentypen | Beschreibung |
---|---|
Struktur mit den Verbindungsinformationen eines ADS Servers des BACnet Treiber | |
BACnet Zeichenkette inklusive des verwendeten Encoding-Formats. | |
Liste von BACnet Zeichenketten. | |
Datum mit Tag, Wochentag, Monat und Jahr. | |
Beschreibt Datum und Uhrzeit. | |
siehe BACnet Diagnose Daten. | |
PLC Abbildung des BACnet Datentyps BACnetEventTransitionBits (Properties Event_Enable und Acked_Transitions). | |
Struktur für den Datenaustausch der Property exception_schedule mit Hilfe des Funktionsbausteins FB_BACnet_ExceptionScheduleProperty | |
Teildaten der Property ExceptionSchedule des Schedule-Objekts | |
PLC Abbildung des BACnet Datentyps BACnetLimitEnable. Siehe BACnet-Spezifikation DIN EN ISO 16484-5 zur Property Limit_Enable. | |
PLC Abbildung des BACnet Datentyps BACnetLogRecord für Log_Datum vom Typ Real. Siehe BACnet-Spezifikation DIN EN ISO 16484-5 zur Property Log_Buffer. | |
Struktur für den Datenaustausch der Property Log_Buffer mit Hilfe des Funktionsbausteins FB_BACnet_LogBufferProperty | |
PLC Abbildung der Daten eines Event-Eintrags der BACnet Notification Sink. | |
Struktur für die Beschreibung der Objektliste eines Geräts. Siehe BACnet-Spezifikation DIN EN ISO 16484-5 Property Object_List (Device-Objekt). | |
PLC Abbildung des BACnet Datentyps BACnetObjectTypesSupported. Siehe BACnet-Spezifikation DIN EN ISO 16484-5 zur Property Protocol_Object_Types_Supported. | |
Struktur zum Betrieb des Programm-Objekts | |
Struktur zum Betrieb des Programm-Objekts | |
Struktur für den Datenaustausch der Property Recipient_List mit Hilfe des Funktionsbausteins FB_BACnet_RecipientListProperty | |
Teilstruktur für den Datenaustausch der Property Recipient_List mit Hilfe des Funktionsbausteins FB_BACnet_RecipientListProperty | |
PLC Abbildung des BACnet Datentyps BACnetServicesSupported. Siehe BACnet-Spezifikation DIN EN ISO 16484-5 zur Property Protocol_Services_Supported. | |
PLC Abbildung des BACnet Datentyps BACnetStatusFlags. Siehe BACnet-Spezifikation DIN EN ISO 16484-5 zur Property Status_Flags. | |
PLC Abbildung des BACnet Datentyps Time. Siehe BACnet-Spezifikation DIN EN ISO 16484-5 zum Datentyp BACnetDateTime. | |
PLC Abbildung des BACnet Datentyps BACnetTimeValue für Einträge vom Typ Bool oder Null. Siehe BACnet-Spezifikation DIN EN ISO 16484-5 zum Datentyp BACnetTimeValue. | |
PLC Abbildung des BACnet Datentyps BACnetTimeValue für Einträge vom Typ Bool. | |
Liste von BACnet_TimeValue Einsträgen. | |
Teilstruktur von ST_BACnet_TimeValue | |
Struktur für den Datenaustausch der Property Weekly_Schedule mit Hilfe des Funktionsbausteins FB_BACnet_WeeklyScheduleProperty |
BACnet Enumerationen
Datentypen | Beschreibung |
---|---|
PLC-Abbildung des BACnet Datentyps BACnetAction. Siehe BACnet-Spezifikation DIN EN ISO 16484-5 zur Property Action. | |
Status des BACnet-Adapters. | |
PLC-Abbildung des BACnet Datentyps BACnetBinaryPV. Siehe BACnet-Spezifikation DIN EN ISO 16484-5 zur Property Present_Value von Binary* Objekten. | |
Auflistung der möglichen BACnet Datentypen (Auszug). | |
Bit-Belegung der Wochentage | |
Status des BACnet Server Objekts (siehe BACnet-Spezifikation DIN EN ISO 16484-5 zum BACnet Device Objekt und Property System_Status). | |
PLC-Abbildung des BACnet Datentyps BACnetEventState. Siehe BACnet-Spezifikation DIN EN ISO 16484-5 zur Property Event_State. | |
Bit-Belegung der Event-Transition-Flags Event_Enable und Acked_Transitions). | |
PLC-Abbildung des BACnet Datentyps BACnetEventType. Siehe BACnet-Spezifikation DIN EN ISO 16484-5 zur Property Event_Type. | |
PLC-Abbildung des BACnet Datentyps BACnetFileAccessMethod. Siehe BACnet-Spezifikation DIN EN ISO 16484-5 zur Property File_Access_Method. | |
PLC-Abbildung des BACnet Datentyps BACnetLifeSafetyMode. Siehe BACnet-Spezifikation DIN EN ISO 16484-5 zur Property Mode und Accepted_Modes. | |
PLC-Abbildung des BACnet Datentyps BACnetLifeSafetyOperation. Siehe BACnet-Spezifikation DIN EN ISO 16484-5 zur Property Operation_Expected. | |
Bit-Belegung der Limit-Enable-Flags (Limit_Enable). | |
PLC-Abbildung des BACnet Datentyps BACnetLoggingType. Siehe BACnet-Spezifikation DIN EN ISO 16484-5 zur Property Logging_Type. | |
Betriebsarten des PLC LOOP Objekts FB_BACnet_LOOP | |
PLC-Abbildung des BACnet Datentyps BACnetNotifyType. Siehe BACnet-Spezifikation DIN EN ISO 16484-5 zur Property Notify_Type. | |
Bit-Belegung der Object-Types-Supported-Flags Protocol_Object_Types_Supported). | |
Auflistung der möglichen BACnet Objekte (Auszug). | |
PLC-Abbildung des herstellerspezifischen BACnet Datentyps PersistentDataState (siehe BACnet Device Objekt | |
Tuningmodi des Bausteins FB_BACnet_LOOP | |
PLC-Abbildung des BACnet Datentyps BACnetPolarity. Siehe BACnet-Spezifikation DIN EN ISO 16484-5 zur Property Polarity. | |
Auflistung der möglichen BACnet Prioritäten einer kommandierbaren Property (z.B. Present_Value). | |
PLC-Abbildung des BACnet Datentyps BACnetProgramError. Siehe BACnet-Spezifikation DIN EN ISO 16484-5 zur Property Reason_For_Halt und Funktionsbausteinbeschreibung FB_BACnet_Program | |
PLC-Abbildung des BACnet Datentyps BACnetProgramRequest. Siehe BACnet-Spezifikation DIN EN ISO 16484-5 zur Property Program_Change und Funktionsbausteinbeschreibung FB_BACnet_Program | |
PLC-Abbildung des BACnet Datentyps BACnetProgramState. Siehe BACnet-Spezifikation DIN EN ISO 16484-5 zur Property Program_State und Funktionsbausteinbeschreibung FB_BACnet_Program | |
Auflistung der möglichen BACnet Properties (Auszug). | |
Auflistung der möglichen Werte der BACnet Property Reliability (Auszug). | |
PLC-Abbildung des BACnet Datentyps BACnetSegmentation. Siehe BACnet-Spezifikation DIN EN ISO 16484-5 zur Property Segmentation_Supported. | |
PLC-Abbildung des BACnet Datentyps BACnetSilencedState. Siehe BACnet-Spezifikation DIN EN ISO 16484-5 zur Property Silenced. | |
Bit-Belegung der Status-Flags (Status_Flags). | |
Die Enumeration enthält eine Auflistung der vom BACnet Treiber unterstützten Zeichenketten Encodings. | |
PLC-Abbildung des BACnet Datentyps BACnetEngineeringUnits. Siehe BACnet-Spezifikation DIN EN ISO 16484-5 zur Property Units. |