MATLAB®-GUI Schalten Magnetventile

Aus Technische Beeinflussbarkeit der Geschmacksache Kaffee
Zur Navigation springen Zur Suche springen

Armin Rohnen, 30.07.2023

Zum Start der GUI befinden sich alle Magnetventile im ungeschalteten Zustand. Erst die Funktionalität der App führt zum Schalten von Magnetventilen.

In den Properties wird für jedes verfügbare Magnetventil ein Flag (flag_Y<xx>) mit dem Initialwert 0 (ungeschaltet) angelegt.

Durch die Verkabelung der Magnetventile entspricht die YNr des Magnetventils nicht zwangsweise der Schalter-Nr auf der Platine. Damit lässt sich aus der YNr des Magnetventils nicht der zu verwendende Schalter-Index auf der SSR-Platine ableiten. Daher wird für jedes Magnetventil ein Y<xx>_switch angelegt. Dieses erhält als Wertezuweisung den Index des zugehörigen Schalters (switch) aus der Initialisierung der SSR-Platine.

Für jedes im manuellen Modus bedienbare Magnetventil existiert eine Callback-Funktion in der GUI. Diese ruft je nach Status des zugehörigen Flags (flag_Y<xx>) die Funktionen VentilON oder VentilOFF mit der YNr als Parameter auf. Dabei schaltet VentilON das Magnetventil ein, während VentilOFF das Magnetventil in den Ruhezustand bringt. Die Funktionalität der beiden Routinen ist gleich, bei etwas differierenden Parameter.

Die Funktionen verwenden die übergebene YNr des zu schaltenden Magnetventils zum Setzen des zugehörigen Status-Flags auf den korrekten Statuswert, zur Auswahl des zugehörigen Icons zur Button-Beschriftung und für die Bestimmung des richtigen Schalters auf der SSR-Platine.

Wenn die YNr größer 0 ist, was eine Fehlauslösung wäre, erfolgt die Anweisung auf der SSR-Platine "ventile[Y_switch(YNr)].value(1)" bzw "... .value(0)", was die Schaltung des Magnetventils auslöst.

Die Funktionen Kaffeebezug, Wasserbezug, Dampfbezug, Spülen, Grundreinigung und ggf. weitere Funktionen lösen Magentventilschaltungen aus. Über die Grundbedingungen jeder einzelnen dieser Funktionen ist sicher zu stellen, dass alle erforderlichen Magnetventile sich im richtigen Schaltungszustand befinden. Alle, für die jeweilige Funktion erforderliche Magnetventile sind zunächst durch VentilOFF(YNr)-Aufrufe in den Ruhezustand zu bringen. Danach werden alle zu schaltenden Ventile durch VentilON(YNr)-Aufrufe zu schalten. Für den Fall der undefinierten Magnetventile, sind diese in den Ruhezustand zu bringen. Die Schaltung der Magnetventile erfolgt im manuellen Modus und in allen anderen Modi immer über durch VentilOFF(YNr)- und VentilON(YNr)-Aufrufe.