Zum Inhalt

Framework

Technische Dokumentation des aedifion.controls Frameworks.

Einführung

In aedifion.controls implementieren die Controls Apps bestimmte Regelalgorithmen (siehe Abschnitt Algorithmen für eine Einführung in die verfügbaren Regelalgorithmen). Diese Apps werden in der aedifion Cloud Plattform betrieben und kommunizieren mit dem Edge Device, um Messungen und Befehle zu übertragen. Unsere Edge Devices sind mit modernsten Algorithmen ausgestattet, die in der Lage sind, Probleme wie Kommunikations- und Sensorausfälle sofort zu erkennen und die Kontrolle über das Gebäude an das lokale Automationssystem zurückzugeben. Als Sicherheitsmaßnahme kann das Edge Device sofort den Zustand wiederherstellen, den das lokale Automationssystem vor der Aktivierung der Controls App hatte.

Prozess

Der Signalfluss ist in Abbildung 1 dargestellt. Alle Befehle, die von der aedifion Cloud Plattform kommen, sind MQTT oder AMQP Nachrichten mit einer gemäß SWOP strukturierten Payload.
Wenn eine neue Controls App im Framework erstellt wird, wird eine Konfigurationsnachricht an das Edge Device gesendet. Sie enthält die Konfigurationen wie z. B. Fallback-Werte, die bei einem Kommunikationsausfall gesendet werden sollen. Im regulären Betrieb senden Controls Apps Sollwertnachrichten an das Edge Device, die die Befehle enthalten, die das Edge Device an die Feldgeräte schreibt. Um eine stabile Verbindung zwischen Edge Device und Controls App zu gewährleisten, werden Alive-Nachrichten ausgetauscht. Überschreitet die Zeit seit der letzten Alive-Meldung einen vorkonfigurierten Schwellenwert, sendet das Edge Device automatisch die in seiner Datenbank gespeicherten Fallback-Werte an die Feldgeräte.

Controller Modelle
Abbildung 2: Signalfluss

Sicherheitsmerkmale

Da das Schreiben von Befehlen in ein Automationssystem zu jeder Zeit den sicheren Betrieb des Systems gewährleisten muss, sind die folgenden Sicherheitsfunktionen Teil des .controls-Frameworks.

  • Grenzwertprüfung: Eine Controls App prüft immer, ob der Wert eines Befehls innerhalb des vordefinierten Bereichs liegt und sendet keine Werte außerhalb dieses Bereichs.
  • Prioritäten: In BACnet Systemen, ermöglicht das Prioritäts-Array das Überschreiben von Befehlen. Jeder mit .controls gesendete Befehl wird mit einer Priorität gesendet, standardmäßig der niedrigsten verfügbaren (16).
  • Anmerkungen: Um sicherzustellen, dass sich das Automationssystem immer in einem bekannten Zustand befindet, ermöglichen die Edge Devices die Verfolgung, ob ein Befehl erfolgreich an ein Feldgerät geschrieben wurde.
  • Alarme: Das Setzen eines Alarms stellt sicher, dass ein Benutzer sofort benachrichtigt wird, wenn eine Messung ein unerwartetes Verhalten zeigt.

Kommunikationsprotokoll

Jede MQTT- oder AMQP-Nachricht, die zum Senden eines Befehls an das Automationssystem gesendet wird, enthält einen Wert und einen eindeutigen Identifikator des zu schreibenden Datenpunkts. Außerdem enthält sie eine Priorität, die in BACnet Systemen verwendet wird (siehe die detaillierte Nachrichtenbeschreibung des SWOP-Protokolls).

Komponentenmodelle

aedifion.controls und aedifion.analytics verwenden Komponentenmodelle. Die Komponentenmodelle enthalten beschreibbare Pins und schreibgeschützte Pins, die auf die Datenpunkte eines bestimmten Systems oder einer Komponente im Automationssystem abgebildet werden.

aedifion.controls Bibliothek

Die Bibliothek enthält viele grundlegende Algorithmen, Prognosemodule und Adaptoren, die die Steuerbefehle transformieren. Diese Bestandteile können leicht kombiniert und erweitert werden, um leistungsstarke Anwendungen für jeden Anwendungsfall der HVAC-Optimierung zu erstellen.

Benutzerdefinierte Controls Apps können zunächst als virtuelle Datenpunkte erstellt werden. Wichtig ist die Konvention, dem Namen des Datenpunktes das Suffix _controls-test-VDP anzufügen. So kann die Implementierung eines Regelalgorithmus unter möglichst realistischen Bedingungen erfolgen, ohne das reale Gebäude zu beeinflussen. Stattdessen können die Werte dieses virtuellen Datenpunkts validiert werden, bevor die eigentliche Controls App eingesetzt wird. Die Aktivierung einer auf der Implementierung basierenden Controls App erfolgt nach Anforderung durch aedifion-Mitarbeiter. Außerdem können auf Anfrage komplexere Algorithmen implementiert werden.

Das folgende Beispiel zeigt die Konfiguration für eine Controls App, die zwei Messwerte einer CO2-Konzentration mit einem Grenzwert vergleicht und einen Volumenstromsollwert erzeugt. In diesem Beispiel würde die Prüfung einmal pro Stunde erfolgen und ein neuer Wert für den Sollwert generiert werden.

{
    "pins": {
        "P1": {
            "dataPointID": "co2_concentration_1",
            "data_range": { "time": "600s"},
            "aggregate": "mean",
            "trigger": "every_hour"
        },
        "P2": {
            "dataPointID": "co2_concentration_2",
            "data_range": { "time": "600s"},
            "aggregate": "mean",
            "trigger": "every_hour"
        }
    },
    "parameters": {
        "formula": "mean=(P1+P2)/2;if(mean>800,1000,0);"
    }   
}

Kommunikation mit externen Anwendungen

Anwendungen, die unabhängig von der aedifion Cloud Plattform eingesetzt werden, können die aedifion.io Schnittstellen nutzen, um Befehle zu senden. Einzelne Befehle an das Gebäude können über die aedifion HTTP API übermittelt werden, während kontinuierlich laufende Anwendungen Befehle über MQTT oder Kafka-Nachrichten gemäß dem InfluxDB Line Protocol senden sollten. Diese werden in der aedifion Cloud Plattform verarbeitet und an das Feld übertragen, wobei die oben beschriebenen Sicherheitsmerkmale gewährleistet sind.