Füllstandsregler Multi-MCU: Unterschied zwischen den Versionen

Aus Technische Beeinflussbarkeit der Geschmacksache Kaffee
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
= Armin Rohnen, 13.08.2023 =
= Armin Rohnen, 13.08.2023 =
In der Funktion "fuellstandsregler" welche durch die Funktion "bas_verarbeitung" aufgerufen wird, erfolgt die Steuerung des Boilerfüllstands.
Funktionssteuerungen bzw. Regelungen, welche nicht gleichzeitig zur Boilerbefüllung ablaufen dürfen, müssen über
          app.flag_Aktivitaet = 1
die Funktionalität des Füllstandsreglers unterbinden. Regelungen, welche die Heizleistung einstellen müssen über
          if str2num(app.Boilerfuellstand.Text) == 1
den Füllstand des Boilers überprüfen. Ist dieser nicht gegeben, dann ist die Boilerbefüllung undefiniert und das Heizelement darf nicht eingeschaltet werden. Missachtung dieser Maßnahme führt zum durchbrennen des Heizelements und zu Kurzschluss in der Maschine, mit den entsprechenden Folgeauswirkungen und Schäden.
Funktionssteuerungen bzw. Regelungen, welche nicht gleichzeitig zur Boilerbefüllung ablaufen dürfen, müssen zusätzlich über
          if app.flag_Fuellstandsregler == 1
die eingeschaltete Boilerbefüllung prüfen.
Vorrang hat die zuerst gestartete Funktionalität.
Ist der Boilerfüllstand undefiniert (if str2num(app.Boilerfuellstand.Text) == 0) und der Füllstandsregler bislang noch nicht aktiviert (if app.flag_Fuellstandsregler == 0) wird das Frischwasserventil (Y01) und das Füllventil (Y03) geöffnet sowie die Pumpe mit 4000 mV angesteuert. Es erfolgt solange eine Befüllung des Boilers, bis der Boilerfüllstand wieder definiert ist (if str2num(app.Boilerfuellstand.Text) == 1, bzw. der else-Zweig der ersten Abfrage).
Die Abschaltbedingung ist erfüllt, wenn der Boilerfüllstand definiert (if str2num(app.Boilerfuellstand.Text) == 1) und der Füllstandsregler gleichzeitig aktiviert (if app.flag_Fuellstandsregler == 1) ist. Dann wird das Frischwasserventil (Y01) und das Füllventil (Y03) wieder geschlossen, die Pumpe mit 0 mV ausgeschaltet und über
          app.flag_Fuellstandsregler = 0
die Boilerbefüllung beendet.


= Armin Rohnen, 16.02.2023 =
= Armin Rohnen, 16.02.2023 =
Der für die STM32-Elektronik realisierte Füllstandsregler ist für die Multi-MCU-Elektronik zu realisieren.
Der für die STM32-Elektronik realisierte Füllstandsregler ist für die Multi-MCU-Elektronik zu realisieren.

Version vom 13. August 2023, 14:42 Uhr

Armin Rohnen, 13.08.2023

In der Funktion "fuellstandsregler" welche durch die Funktion "bas_verarbeitung" aufgerufen wird, erfolgt die Steuerung des Boilerfüllstands.

Funktionssteuerungen bzw. Regelungen, welche nicht gleichzeitig zur Boilerbefüllung ablaufen dürfen, müssen über

         app.flag_Aktivitaet = 1

die Funktionalität des Füllstandsreglers unterbinden. Regelungen, welche die Heizleistung einstellen müssen über

         if str2num(app.Boilerfuellstand.Text) == 1

den Füllstand des Boilers überprüfen. Ist dieser nicht gegeben, dann ist die Boilerbefüllung undefiniert und das Heizelement darf nicht eingeschaltet werden. Missachtung dieser Maßnahme führt zum durchbrennen des Heizelements und zu Kurzschluss in der Maschine, mit den entsprechenden Folgeauswirkungen und Schäden.

Funktionssteuerungen bzw. Regelungen, welche nicht gleichzeitig zur Boilerbefüllung ablaufen dürfen, müssen zusätzlich über

         if app.flag_Fuellstandsregler == 1

die eingeschaltete Boilerbefüllung prüfen.

Vorrang hat die zuerst gestartete Funktionalität.

Ist der Boilerfüllstand undefiniert (if str2num(app.Boilerfuellstand.Text) == 0) und der Füllstandsregler bislang noch nicht aktiviert (if app.flag_Fuellstandsregler == 0) wird das Frischwasserventil (Y01) und das Füllventil (Y03) geöffnet sowie die Pumpe mit 4000 mV angesteuert. Es erfolgt solange eine Befüllung des Boilers, bis der Boilerfüllstand wieder definiert ist (if str2num(app.Boilerfuellstand.Text) == 1, bzw. der else-Zweig der ersten Abfrage).

Die Abschaltbedingung ist erfüllt, wenn der Boilerfüllstand definiert (if str2num(app.Boilerfuellstand.Text) == 1) und der Füllstandsregler gleichzeitig aktiviert (if app.flag_Fuellstandsregler == 1) ist. Dann wird das Frischwasserventil (Y01) und das Füllventil (Y03) wieder geschlossen, die Pumpe mit 0 mV ausgeschaltet und über

         app.flag_Fuellstandsregler = 0

die Boilerbefüllung beendet.

Armin Rohnen, 16.02.2023

Der für die STM32-Elektronik realisierte Füllstandsregler ist für die Multi-MCU-Elektronik zu realisieren.