MATLAB®-GUI Schalten Magnetventile

Aus Technische Beeinflussbarkeit der Geschmacksache Kaffee
Version vom 30. Juli 2023, 17:27 Uhr von Armin Rohnen (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „= 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 au…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
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 ebenfalls Magentventilschaltungen aus. Über die Grundbedingungen jeder einzelnen dieser Funktionen ist sicher zu stellen, dass alle Magnetventile sich im richtigen Schaltungszustand befinden. Falls undefiniert sind durch VentilOFF(YNr)-Aufrufe die Magnetventile in den Ruhezustand zu bringen. Die Magnetventile werden dann in der gleichen Logik wie im manuellem Modus geschaltet.