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.


Letztes Update: 2023-07-13
ZurĂŒck zum Seitenanfang