Zum Inhalt

Programm-Editor: Überblick und erster Programmablauf

Mit dem Programm-Editor wird die Logik des Wetterrelais grafisch aufgebaut. Ein Programm besteht aus Funktionsblöcken, deren Ein- und Ausgänge miteinander verbunden werden. Datenquellen liefern Wetter-, Zeit-, Modbus- oder Gerätewerte. Nachfolgende Blöcke können diese Werte prüfen, umrechnen oder logisch verknüpfen. Am Ende steuert das Programm beispielsweise einen Geräteausgang, stellt Werte im Dashboard bereit oder übergibt Signale an Modbus beziehungsweise ein Shelly-Gerät.

Übersicht des Wetterrelais Programmeditors mit verbundenen Funktionsblöcken

Grundprinzip

Ein Programm wird üblicherweise von links nach rechts gelesen:

  1. Quelle auswählen – beispielsweise Wetterdaten, Zeitschaltuhr, Modbus Output oder Eingabekonstante.
  2. Daten verarbeiten – beispielsweise mit Statistik, Skalierung, Arithmetik oder Prüfen.
  3. Bedingungen verknüpfen – beispielsweise mit UND oder Invertierer.
  4. Ergebnis verwenden – beispielsweise an einem Geräteausgang, einer Ausgabevariable, einem Modbus Input oder einem Shelly Aktor.
  5. Programm prüfen und übertragen – erst mit Übertragen wird das Programm auf dem Wetterrelais gespeichert und ausgeführt.

Signalrichtung beachten

Eine Verbindung läuft immer vom Ausgang eines Blocks zum Eingang eines anderen Blocks. Ein Ausgang kann dabei mehrere nachfolgende Blöcke versorgen. Welche Anschlüsse miteinander verbunden werden dürfen, bestimmt der Typ Logik, Wert oder Daten.

Ein erstes einfaches Programm

Ein typisches Beispiel ist eine wetterabhängige Schaltung:

Wetterdaten (Temperatur)
        │ Daten
        ▼
      Prüfen
        │ Logik
        ▼
  Geräteausgang

Der Wetterdatenblock liefert eine Datenreihe. Der Block Prüfen bewertet diese Daten anhand der eingestellten Bedingung und erzeugt daraus ein logisches Ergebnis. Dieses logische Ergebnis kann anschließend einen Geräteausgang steuern.

Die drei Verknüpfungsarten

Der Editor unterscheidet drei Informationsarten:

Typ Bedeutung Beispiele
Logik Ein binärer Zustand TRUE/FALSE, EIN/AUS, Bedingung erfüllt
Wert Ein einzelner numerischer Wert 21.5, 1200, -3
Daten Eine Reihe zusammengehöriger Werte stündliche Wetterwerte, Messwertfolgen

Die Typen verhindern, dass fachlich nicht passende Blöcke miteinander verbunden werden. Eine ausführliche Beschreibung findest du unter Verknüpfungsarten.

Blöcke und Textfelder einfügen

In der Toolbox befinden sich alle verfügbaren Funktionsblöcke. Ein Block kann entweder angeklickt oder per Drag & Drop auf das Programmfeld gezogen werden. Neu eingefügte Blöcke werden fortlaufend benannt, beispielsweise Prüfen 1, Prüfen 2 oder Code 1.

Zusätzlich kann ein Textfeld eingefügt werden. Textfelder haben keine Anschlüsse und beeinflussen die Programmausführung nicht. Sie dienen ausschließlich dazu, Abschnitte, Hinweise oder Funktionsgruppen im Programm zu dokumentieren.

Eigenschaften bearbeiten

Wird ein Block ausgewählt, zeigt der Editor dessen Eigenschaften an. Dort können je nach Block beispielsweise Zeitraum, Grenzwert, Rechenart, Adresse oder Verzögerungszeit geändert werden. Auch der sichtbare Titel eines Blocks kann angepasst werden.

Änderungen an Eigenschaften werden im Editor unmittelbar übernommen. Sie werden jedoch erst auf dem Gerät wirksam, wenn das Programm übertragen wurde.

Entwurf und aktives Programm

Der Editor unterscheidet zwei wichtige Aktionen:

  • Übertragen speichert das Programm auf dem Gerät und startet es.
  • Als Entwurf speichern speichert den aktuellen Bearbeitungsstand auf dem Gerät, führt ihn aber nicht aus.

Ein Entwurf darf deshalb auch noch offene oder fehlerhafte Verbindungen enthalten. Das aktive Programm muss dagegen vollständig und gültig sein. Details stehen unter Speichern, Entwurf, Import und Export.

Gute Vorgehensweise bei größeren Programmen

Bei umfangreicheren Programmen empfiehlt sich eine klare Struktur:

  • Signalfluss möglichst von links nach rechts aufbauen.
  • Quellen, Verarbeitung und Ausgänge räumlich gruppieren.
  • Eigene, sprechende Blocknamen vergeben.
  • Textfelder als Überschriften oder Erklärungen einsetzen.
  • Lange kreuzende Verbindungen möglichst vermeiden.
  • Teilfunktionen zuerst aufbauen und anschließend verbinden.
  • Vor der Übertragung offene Anschlüsse und rote Verbindungen beseitigen.
  • Vor größeren Änderungen das Programm als .wpgm exportieren.

Weiterführende Kapitel

Für die tägliche Arbeit sind besonders diese Kapitel relevant: