Startprozedur: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
| Zeile 1: | Zeile 1: | ||
= Philipp Schiebel, 13.11.2025 - Aufgabenanalyse = | |||
==Initialisierung der Systeme== | |||
Nach dem Einschalten der Stromversorgung werden alle vier Mircocontroller (MCU) automatisch aktiviert und führen ihren Code in main.py aus. Darin wird die Kommunikation initialisiert. | |||
==Aufbau der Kommunikationsstruktur== | |||
Nach einer definierten Startwertzeit stellt die Messwertplatine den Anfangstoken bereit. Aufgrund des Verbundes der Platinen (Messwertplatine -> Basisplatine -> SSR-Platine -> Displayplatine) kann die Displayplatine bei Erhalt des Anfangstokens auf eine korrekte Initialisierung aller Platinen schließen. | |||
Jede Platine überprüft zusätzlich den Kommunikations-TimeOut und geht bei ausbleibendem Token in einen Sicherheitszustand über. | |||
==Start der Messwerterfassung== | |||
Nach erfolgreichem Wiedererhalt des Initialisierungstokens startet die die Messplatine die Messwerterfassung, erstellt den ersten Messwertdatensatz und sendet anschließend kontinuierlich Messwert-Token. Die Basisplatine ergänzt die empfangenen Messwerttoken um eigene Messdaten. Dadurch wird ein kontinuierlicher Kommunikations- und Datenaustausch zwischen allen MCUs ermöglicht, bei dem die Messplatine den Takt vorgibt. | |||
==Reglerstart== | |||
Mit Beginn der Messwerterfassung wird auch der Boilerfüllstand überprüft. Bei der Glasboilermaschine werden zusätzlich die Füllstände der beiden Tanks überprüft. Darauf reagiert die Füllstandsregelung. Solange der Sollwert noch nicht erreicht ist, bleibt der Boilerdruckregler deaktiviert. Erst wenn der Füllstand erreicht ist, wird dieser aktiviert. Dabei wird zusätzlich die Boilertemperatur überwacht, um die Entschichtungsfunktion zu steuern. Wird eine einstellbare Abschalttemperatur überschritten, wird die Entschichtung deaktiviert. | |||
Die Startprozedur gilt als erfolgreich abgeschlossen, sobald der Sollwert des Boilerdrucks erstmals überschritten wird. In diesem Moment erkennt der Boilerdruckregler die Betriebsbereitschaft und sendet diese. Die Displayplatine reagiert darauf, indem sie die Betriebsbereitschaft zum Kaffeebezug signalisiert. | |||
==Anzeige und Fehlerausgabe== | |||
Während des gesamten Ablaufs zeigt die Displayplatine den aktuellen Status der Startprozedur an. Dazu gehören Informationen über den Boilerfüllstand, den Boilerdruck und die Boilertemperatur. Bei Timeout oder Fehlern während des Startvorgangs erfolgt eine sichtbare Ausgabe am Display. | |||
= Armin Rohnen, 18.10.2025 - Vorschlag zur Startprozedur = | = Armin Rohnen, 18.10.2025 - Vorschlag zur Startprozedur = | ||
Wenn die aktuelle manuelle Startprozedur der labortechnischen Espressomaschine als Grundlage für die zukünftige Startprozedur dient, dann ergäbe sich für den Ablauf: | Wenn die aktuelle manuelle Startprozedur der labortechnischen Espressomaschine als Grundlage für die zukünftige Startprozedur dient, dann ergäbe sich für den Ablauf: | ||
Aktuelle Version vom 13. November 2025, 21:19 Uhr
Philipp Schiebel, 13.11.2025 - Aufgabenanalyse
Initialisierung der Systeme
Nach dem Einschalten der Stromversorgung werden alle vier Mircocontroller (MCU) automatisch aktiviert und führen ihren Code in main.py aus. Darin wird die Kommunikation initialisiert.
Aufbau der Kommunikationsstruktur
Nach einer definierten Startwertzeit stellt die Messwertplatine den Anfangstoken bereit. Aufgrund des Verbundes der Platinen (Messwertplatine -> Basisplatine -> SSR-Platine -> Displayplatine) kann die Displayplatine bei Erhalt des Anfangstokens auf eine korrekte Initialisierung aller Platinen schließen. Jede Platine überprüft zusätzlich den Kommunikations-TimeOut und geht bei ausbleibendem Token in einen Sicherheitszustand über.
Start der Messwerterfassung
Nach erfolgreichem Wiedererhalt des Initialisierungstokens startet die die Messplatine die Messwerterfassung, erstellt den ersten Messwertdatensatz und sendet anschließend kontinuierlich Messwert-Token. Die Basisplatine ergänzt die empfangenen Messwerttoken um eigene Messdaten. Dadurch wird ein kontinuierlicher Kommunikations- und Datenaustausch zwischen allen MCUs ermöglicht, bei dem die Messplatine den Takt vorgibt.
Reglerstart
Mit Beginn der Messwerterfassung wird auch der Boilerfüllstand überprüft. Bei der Glasboilermaschine werden zusätzlich die Füllstände der beiden Tanks überprüft. Darauf reagiert die Füllstandsregelung. Solange der Sollwert noch nicht erreicht ist, bleibt der Boilerdruckregler deaktiviert. Erst wenn der Füllstand erreicht ist, wird dieser aktiviert. Dabei wird zusätzlich die Boilertemperatur überwacht, um die Entschichtungsfunktion zu steuern. Wird eine einstellbare Abschalttemperatur überschritten, wird die Entschichtung deaktiviert. Die Startprozedur gilt als erfolgreich abgeschlossen, sobald der Sollwert des Boilerdrucks erstmals überschritten wird. In diesem Moment erkennt der Boilerdruckregler die Betriebsbereitschaft und sendet diese. Die Displayplatine reagiert darauf, indem sie die Betriebsbereitschaft zum Kaffeebezug signalisiert.
Anzeige und Fehlerausgabe
Während des gesamten Ablaufs zeigt die Displayplatine den aktuellen Status der Startprozedur an. Dazu gehören Informationen über den Boilerfüllstand, den Boilerdruck und die Boilertemperatur. Bei Timeout oder Fehlern während des Startvorgangs erfolgt eine sichtbare Ausgabe am Display.
Armin Rohnen, 18.10.2025 - Vorschlag zur Startprozedur
Wenn die aktuelle manuelle Startprozedur der labortechnischen Espressomaschine als Grundlage für die zukünftige Startprozedur dient, dann ergäbe sich für den Ablauf:
- alle MCUs starten, wenn die Stromversorgung eingeschaltet wird. Dadurch wird der Programmcode in main.py ausgeführt. In main.py wird als erstes die UART-Kommunikation initialisiert, wie es in der 2. Auflage von [40] beschrieben ist. Dabei wird uart.irq_rx mit einem uart_rx.handler verwendet sowie für ausreichend definierten Schreib- und Lesespeicher gesorgt.
- Alle MCUs warten auf die Initialisierung der Kommunikation
- Nach einer definierten Startwartezeit sendet die MCU der Messwertplatine einen Token zur Initialisierung der Kommunikation.
- Jede andere MCU arbeitet die Initialisierung ab und sendet den Token weiter.
- Der Token muss wieder bei der Messwertplatine ankommen. Erfolgt dies nicht innerhalb einer definierten Zeit (Timeout) dann erfolgt der Abbruch der Startprozedur mit einer entsprechenden Ausgabe am Display. Kommt der Token InTime bei der Messwertplatine wieder an, dann sendet die Messwertplatine einen Token zum Start der Messwerterfassung.
- Der Token wird von der Messplatine erstellt. Dort wird die Messwerterfassung gestartet und wenn der erste Messwertdatensatz zusammengestellt ist, der erste Token gesendet. Ab diesem Zeitpunkt wird immer dann, wenn ein Messwertdatensatz der Messplatine zusammengestellt ist, ein Token gesendet. Dadurch gibt die Messwertplatine den Kommunikationstakt vor.
- Die Basisplatine fügt dem Token die Messwerte der Basisplatine bei.
- Wenn die Displayplatine erstmalig alle Messwerte erhalten hat, sendet diese einen Token zum Start der Systemüberprüfung.
- Auf den Token der Systemüberprüfung reagiert als erstes die Basisplatine. Dort wird der Boilerfüllstand geprüft und so lange ein Boilerfüllstands-Flag 0 gesetzt, solange der Füllstand nicht erreicht ist. Das Boilerfüllstands-Flag muss Bestandteil des kontinuierlich umlaufenden Tokens sein. Solange der Füllstand nicht erreicht ist, darf der Boilerdruckregler nicht starten bzw. muss die Heizleistung = 0 sein.
- Wenn der Boilerfüllstand erreicht ist, wird auf der Messplatine der Boilerdruckregler aktiv. Durch Abgleich mit der Boilertemperatur (kleiner 95 ° C) wird entschieden ob die Entschichtungsfunktion aktiviert wird. Wird die Boilertemperatur von 95 °C überschritten wird die Entschichtung deaktiviert. Wird erstmalig der Sollwert des Boilerdrucks überschritten ist die Maschine betriebsbereit.
- Auf dem Display wird der jeweilige Stand der Startprozedur angezeigt. Während der Startprozedur ist, zumindest aktuell, ein sichtbares Logging sinnvoll.
- Der Zustand des Boilerfüllstandsreglers, des Druckreglers, die Boilertemperatur und der Boilerdruck werden kontinuierlich am Display visualisiert, ebenso wird bei Kaffeebezug die Durchflussrate und der Brühgruppendruck angezeigt. Die Displayplatine dient der Übertragung von Systemlogging und Messwerten zur MATLAB® Wartungs-App.
Armin Rohnen, 04.10.2025
Für den Systemstart der Espressomaschine muss der Funktionsablauf definiert werden. So ist z. B. zunächst die MCU-Kommunikation zu starten, die Messwerterfassung zu starten, es ist zu prüfen ob das Wartungstool angeschlossen ist, es sind die Füllstände zu kontrollieren usw.