Systemsoftware: Unterschied zwischen den Versionen

Aus Technische Beeinflussbarkeit der Geschmacksache Kaffee
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „Die Systemsoftware lässt sich nicht ohne die Beachtung der Systemelektronik erstellen. Für die Systemsoftware wurde ein mehrstufiger Entwicklungsprozess definiert: # Nutzung einer MCU auf der MicroPython verwendet werden kann. Dies ist durch das STM32F411 nucleo Board der Basiselektronik bzw. durch den Raspberry Pi Pico der Multi-MCU-Elektronik gegeben. # Auf der MCU werden lediglich die elementaren Grundfunktionen (GPIO schalten und erfassen, Messwert…“)
 
 
(100 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
<htmltag tagname="img" src="http://vg04.met.vgwort.de/na/4531f1734b324b72b2d7e566cdf639f0"  width="1" height="1" alt=""></htmltag>
[[Datei:Breites Logoband.png|mini|zentriert|hochkant=2.5]]<br>
Die Systemsoftware lässt sich nicht ohne die Beachtung der Systemelektronik erstellen.
Die Systemsoftware lässt sich nicht ohne die Beachtung der Systemelektronik erstellen.


Zeile 11: Zeile 13:


= Projektdokumentationen und Beschreibungen =
= Projektdokumentationen und Beschreibungen =
* Konzeptbeschreibung Systemelektronik
* [[:Datei:20210228 Konzept Systemelektronik.pdf|Konzeptbeschreibung Systemelektronik]]
* Workflow Embedded Systems
* [[:Datei:20210605 Workflow Embedded Systems.pdf|Workflow Embedded Systems]]
* Funktionsanalyse Boilerbefüllung, Tassenwärmung, Milchschäumen
* [[:Datei:20200521 Bericht1 NerminArbi.pdf|Funktionsanalyse Boilerbefüllung, Tassenwärmung, Milchschäumen]]
* Funktionsanalyse zur halbautomatischen Entkalkung
* [[:Datei:20200518 Bericht halbauto Entkalkung Egger Alexander.pdf|Funktionsanalyse zur halbautomatischen Entkalkung]]
* Funktionsanalyse Rückspülung und Spülung
* [[:Datei:20200518 V0 4 Bericht Funktionsanalyse Rückspulung-Spulung Sladoje.pdf|Funktionsanalyse Rückspülung und Spülung]]
* Funktionsanalyse Espresso und Teewasserbezug
* [[:Datei:20200521 Bericht Espresso-Teewasserbezug Urbin.pdf|Funktionsanalyse Espresso und Teewasserbezug]]
* Funktionsanalyse Energieeffizienz
* [[:Datei:20200522 Bericht Funktionsanalyse Energieeffizienz Egger Alexander.pdf|Funktionsanalyse Energieeffizienz]]
* Funktionsanalyse Bedienung
* [[:Datei:20200521 V2 Bericht Funktionsanalyse Bedienung Sladoje.pdf|Funktionsanalyse Bedienung]]
* Funktionsanalyse Abbildung aller Maschinen
* [[:Datei:20200525 Bericht Abbildung aller Maschinen Urbin V2.pdf|Funktionsanalyse Abbildung aller Maschinen]]
* Fehleranalyse Entschichtung
* [[:Datei:20200609 Bericht Fehleranalyse Entschichtung.pdf|Fehleranalyse Entschichtung]]
* Fehleranalyse Brühgruppe und Dampfbezug
* [[:Datei:20200610 Fehleranalyse Dampf Brühgruppe Sladoje.pdf|Fehleranalyse Brühgruppe und Dampfbezug]]
* Fehleranalyse Mischer und Magnetventile
* [[:Datei:20200613 Bericht Fehleranalyse Mischer;Magnetventile V2.pdf|Fehleranalyse Mischer und Magnetventile]]
* Fehleranalyse Boiler
* [[:Datei:20200611 Bericht3 NerminArbi.pdf|Fehleranalyse Boiler]]
* Dichtheitsprüfung
* [[:Datei:20200705 Dichtheitsprüfung.pdf|Dichtheitsprüfung]]
* Prüfkonzepte Magnetventile und Mischer
* [[:Datei:20200704 Massnahmen Urbin.pdf|Prüfkonzepte Magnetventile und Mischer]]
* Maßnahmen Boiler
* [[:Datei:20200701 Maßnahmenanalyse NerminArbi.pdf|Maßnahmen Boiler]]
* Maßnahmen Entschichtung
* [[:Datei:20200628 Maßnahmen Entschichtung zweiter Stand.pdf|Maßnahmen Entschichtung]]
* Maßnahmen Brühgruppe und Dampf
* [[:Datei:20200627 Maßnahmenkonzept Brühguppe Dampf Sladoje.pdf|Maßnahmen Brühgruppe und Dampf]]
* FMEA Tabelle
* [[:Datei:20200707_FMEA.xlsx|FMEA Tabelle]]
* PPT Simulation des Bedienkonzeptes
* [[:Datei:20201207_Bedienkonzept.pptx|PPT Simulation des Bedienkonzeptes]]
* Bedienkonzept Funktionsliste
* [[:Datei:20210207_Bedienkonzept_Funktionsliste.xlsx|Bedienkonzept Funktionsliste]]
* Bedienkonzept Projektdokumentation
* [[:Datei:20210219_Bedienkonzept_Projektdokumentation.pdf|Bedienkonzept Projektdokumentation]]
* MATLAB® GUI
* [[:Datei:HMProjektBedienoberflaecheEspresso.zip|MATLAB® GUI]]
* Entwicklung Systemsoftware SoSe2022
* [[Entwicklung Systemsoftware SoSe2022]]
* Entwicklung Systemsoftware SoSe2023
* [[Entwicklung Systemsoftware SoSe2023]]


= Programmcode =
= [http://www.institut-fuer-kaffeetechnologie.de/Intern/index.php?title=Programmcode Programmcode] =
Aktueller Programmcode und Änderungsdokumentation ab Jan 2023
Aktueller Programmcode und Änderungsdokumentation ab Jan 2023


= Software-Bugfixes =
= [http://www.institut-fuer-kaffeetechnologie.de/Intern/index.php?title=Software-Bugs Software-Bugs] =


= ToDo-Liste(n) Systemsoftware =
= ToDo-Liste(n) Systemsoftware =


== Prioritätsangabe ==
== Prioritätsangabe ==
Prio 1 - Abarbeitung zeitnah erforderlich
Prio 1 - Abarbeitung zeitnah erforderlich<br>
Prio 2 - Abarbeitung erforderlich
Prio 2 - Abarbeitung erforderlich<br>
Prio 3 - Abarbeitung kann warten
Prio 3 - Abarbeitung kann warten<br>
Prio 99 - Abarbeitung erfordert Vorarbeiten
Prio 99 - Abarbeitung erfordert Vorarbeiten<br>


== Status ==
== Status ==
10 - Erfasst
10 - Erfasst<br>
30 - in Bearbeitung
30 - in Bearbeitung<br>
50 - Lösung definiert
50 - Lösung definiert<br>
70 - in Umsetzung
70 - in Umsetzung<br>
90 - Umsetzung abgeschlossen
90 - Umsetzung abgeschlossen<br>
99 - Abbruch per Beschluss (Dokumentation dazu erforderlich)
99 - Abbruch per Beschluss (Dokumentation dazu erforderlich)<br>
100 - Maßnahme bestätigt
100 - Maßnahme bestätigt<br>


= ToDo-Liste: Allgemeines =
{| class="wikitable sortable"
{| class="wikitable sortable"
|+ = ToDo-Liste: Allgemeines =
|-
|-
! Arbeitspaket !! Wer !! Prio !! Status !! WV
! Arbeitspaket !! Wer !! Prio !! Status !! WV
Zeile 69: Zeile 71:
|-
|-
| [[Stromsparmodus]] || || 99 || 10 ||
| [[Stromsparmodus]] || || 99 || 10 ||
|-
| || || || ||
|}
= ToDo-Liste: MCUs - Hardwarenahe Software =
{| class="wikitable sortable"
|-
! Arbeitspaket !! Wer !! Prio !! Status !! WV
|-
| [[Grundfunktionen der MCU und mehrere MCUs]] || || || 100 ||
|-
| [[UART-Kommunikation Multi-MCU]] || || 1 || 10 ||
|-
| Basisboard: [[Schalten Magnetventile (Labor) STM32-Basisboard]] MATLAB®GUI || || || 100
|-
| Basisboard: [[Pumpenansteuerung Basisboard Multi-MCU]] || || || 100 ||
|-
| Basisboard: [[Schrittmotorsteuerungen Basisboard Multi-MCU]] || || || 100 ||
|-
| Basisboard: [[Tastenerkennung Basisboard Multi-MCU]] || || 1 || 10 ||
|-
| Basisboard: [[Füllstandserkennung Basisboard Multi-MCU]] || || || 100 ||
|-
| Basisboard: [[Durchflussmessung Basisnoard Multi-MCU]] || || || 100 ||
|-    
| SSR-Platine: [[Schalten Magnetventile SSR-Platine Multi-MCU]] || || || 100 ||
|-
| SSR-Platine: [[Schrittmotorsteuerungen SSR-Platine Multi-MCU]] || || || 100 ||
|-
| Messplatine: [[Messdatenerfassung Multi-MCU]] || || || 100 ||
|-
| || || || ||
|}
= ToDo-Liste: MCUs - Verlagerung der Regelkreise aus der MATLAB®-GUI auf die Mikrocontroller der Steuerungselektronik =
{| class="wikitable sortable"
|-
! Arbeitspaket !! Wer !! Prio !! Status !! WV
|-
| [[Kommunikation per UART]] || || 1 || 10 ||
|-
| [[Mehrkernnutzung und/oder Multitasking]] || ||  1 || 10 ||
|-
| [[Verlagerung des Füllstandsreglers auf das Basisboard]] || || 1 || 10 ||
|-
| [[Verlagerung der Boilerdruckregelung auf die Messplatine]] || || 1 || 10 || 
|-
| [[Verlagerung des Mischtemperaturreglers auf das Basisboard]] || || 1 || 10 ||
|-
| [[Verlagerung des Durchflussreglers auf das Basisboard]] || || 1 || 10 || 
|-
| [[Erstellung der Funktionssteuerung - Preinfusion auf dem Basisboard]] || || 2 || 10 ||
|-
| [[Erstellung der Funktionssteuerung - Kaffeebezug auf dem Basisboard]] || || 1 || 10 ||
|-
| [[Erstellung der Funktionssteuerung - Wasserbezug auf dem Basisboard]] || || 1 || 10 ||
|-
| [[Erstellung der Funktionssteuerung - Dampfbezug auf dem Basisboard]] || || 1 || 10 ||
|-
| [[Erstellung der Funktionssteuerung - Spülen auf dem Basisboard]] || || 1 || 10 || 
|-
| [[Erstellung der Funktionssteuerung - Grundreinigung auf dem Basisboard]] || || 1 || 10 || 
|-
| [[Integration eines Displays mit Touchfunktion]] || || 1 || 10 || 
|-
| [[Integration eines Vertikalhebels]] || || 1 || 10 || 
|-
| [[Visualisierung und Interaktion über die MATLAB®-GUI]] || || 1 || 10 || 
|-
| || || || ||
|}
= ToDo-Liste: MATLAB®-Funktionen und GUI =
{| class="wikitable sortable"
|-
! Arbeitspaket !! Wer !! Prio !! Status !! WV
|-
| [[MATLAB®-GUI Start der App]] || || || ||
|-
| [[MATLAB®-GUI Initialisierung Multi-MCU]] || || || ||
|-
| [[MATLAB®-GUI Schalten Magnetventile]] || || || ||
|-
| [[MATLAB®-GUI Datensicherung]] || || || ||
|-
| [[Messwerte erfassen Multi-MCU]] || || || ||
|-
| [[Pumpenansteuerung Multi-MCU]] || || || ||
|-
| [[Füllstandsregler Multi-MCU]] || || || ||
|-
| [[Regler Boilerdruck Multi-MCU]] || || || ||
|-
| [[Mischregler Multi-MCU]] || || || ||
|-
| [[Durchflussregler Multi-MCU]] || || || ||
|-
| [[Misch-Durchfluss Kaskadenregelung Multi-MCU]] || || || ||
|-
| [[Preinfusion Multi-MCU]] || || || ||
|-
| [[einfacher Kaffeebezug Multi-MCU]] || || || ||
|-
| [[Kaffeebezug Multi-MCU]] || || || ||
|-
| [[Wasserbezug Multi-MCU]] || || || ||
|-
| [[Dampfbezug Multi-MCU]] || || || ||
|-
| [[Spülvorgänge Multi-MCU]] || || || ||
|-
| [[Grundreinigung Multi-MCU]] || || || ||
|-
| [[Tastenbedienung Multi-MCU]] || || || ||
|-
| [[Display Multi-MCU]] || || || ||
|-
| [[Glasboiler Abtropfwanne]] || || || ||
|-
| [[Schrittmotorensteuerung Bypass]] || || || ||
|-
| [[Schrittmotorensteuerung Mischer]] || || || ||
|-
| [[Schrittmotorensteuerung Brühgruppendrossel]] || || || ||
|-
| [[Adaption an Multi-MCU - Neuprogrammierung MATLAB® GUI]] || || || ||
|-
| || || || ||
|-
| || || || ||
|-
| Dokumentation der Software mit STM32-Elektronik. <br>Ein Betrieb dieser wird nicht mehr weiter verfolgt. || || || ||
|-
| [[Messwerte erfassen (Labor)]] || || || ||
|-
| [[Pumpenansteuerung (Labor)]] || ||  || ||
|-
| [[Füllstandsregler (Labor)]] || ||  || ||
|-
| [[Regler Boilerdruck (Labor)]] || ||  || || 
|-
| [[Mischregler (Labor)]] || || || ||
|-
| [[Durchflussregler (Labor)]] || || || ||
|-
| [[einfacher Kaffeebezug (Labor)]] || ||  || || 
|-
| [[Kaffeebezug (Labor)]] || || || ||
|-
| [[Wasserbezug (Labor)]] || || || ||
|-
| [[Dampfbezug]] || ||  || || 
|-
| [[Spülvorgänge (Labor)]] || || || ||
|-
| [[Tastenbedienung (Labor)]] || || || || 
|-
| [[Anpassungen für Schrittmotorensteuerung]] || || || ||
|-
| || || || ||
|}
= ToDo-Liste: APP =
{| class="wikitable sortable"
|-
! Arbeitspaket !! Wer !! Prio !! Status !! WV
|-
| [[APP - Konzept]] || || 2 || 10 ||
|-
| [[Messwerte erfassen APP]] || || 99 || 10 ||
|-
| [[Preset / Profilverwaltung]] || || 99 || 10 ||
|-
|-
| || || || ||
| || || || ||
|}
|}

Aktuelle Version vom 11. April 2024, 14:13 Uhr

Breites Logoband.png


Die Systemsoftware lässt sich nicht ohne die Beachtung der Systemelektronik erstellen.

Für die Systemsoftware wurde ein mehrstufiger Entwicklungsprozess definiert:

  1. Nutzung einer MCU auf der MicroPython verwendet werden kann. Dies ist durch das STM32F411 nucleo Board der Basiselektronik bzw. durch den Raspberry Pi Pico der Multi-MCU-Elektronik gegeben.
  2. Auf der MCU werden lediglich die elementaren Grundfunktionen (GPIO schalten und erfassen, Messwert erfassen, PWM Ausgeben, Sollwert ausgeben, etc.) realisiert und über eine MicroPython zu MATLAB® Schnittstelle [41] wird die Funktionalität in einer MATLAB® GUI hergestellt.
  3. Die Softwareentwicklung startet mit der labortechnischen Espressomaschine und wird auf die weiteren Projekte schrittweise transportiert. Dazu ist die Maschinenelektronik gleich zu halten und es sind die gleichen Anschluss-Pins zu verwenden.
  4. Nach Abschluss der Testphase der MATLAB® Bedienung wird schrittweise die Betriebssoftware in MicroPython auf der MCU implementiert, so dass am Ende dieses Prozessschrittes die MATLAB®-Verbindung lediglich für weiterführende Datenerfassung und grafische Darstellungen verwendet wird, welche nicht mit dem Display der Maschine möglich ist oder dort nicht dargestellt werden soll.
  5. Ob eine Portierung des MicroPython-Codes nach Microcontroller C durchgeführt wird, ist derzeit nicht entschieden.

Es wurden mehrere, die Softwareentwicklung vorbereitende FMEAs durchgeführt. Die hierdurch entstandenen Dokumentation befinden sich in der Dokumentationsauflistung. Im weiteren wurde eine Projektarbeit zur Konzeptfindung für die Badienung durchgeführt. Auch die hierdurch entstandenen, teilweise auf die FMEA aufbauenden Dokumente befinden sich in der Dokumentationsliste.

Projektdokumentationen und Beschreibungen

Programmcode

Aktueller Programmcode und Änderungsdokumentation ab Jan 2023

Software-Bugs

ToDo-Liste(n) Systemsoftware

Prioritätsangabe

Prio 1 - Abarbeitung zeitnah erforderlich
Prio 2 - Abarbeitung erforderlich
Prio 3 - Abarbeitung kann warten
Prio 99 - Abarbeitung erfordert Vorarbeiten

Status

10 - Erfasst
30 - in Bearbeitung
50 - Lösung definiert
70 - in Umsetzung
90 - Umsetzung abgeschlossen
99 - Abbruch per Beschluss (Dokumentation dazu erforderlich)
100 - Maßnahme bestätigt

ToDo-Liste: Allgemeines

Arbeitspaket Wer Prio Status WV
Sicherheitsfunktionen 99 50
Übersicht über verbaute Aktorik und Sensorik in Tabellenform 2 90
Stromsparmodus 99 10

ToDo-Liste: MCUs - Hardwarenahe Software

Arbeitspaket Wer Prio Status WV
Grundfunktionen der MCU und mehrere MCUs 100
UART-Kommunikation Multi-MCU 1 10
Basisboard: Schalten Magnetventile (Labor) STM32-Basisboard MATLAB®GUI 100
Basisboard: Pumpenansteuerung Basisboard Multi-MCU 100
Basisboard: Schrittmotorsteuerungen Basisboard Multi-MCU 100
Basisboard: Tastenerkennung Basisboard Multi-MCU 1 10
Basisboard: Füllstandserkennung Basisboard Multi-MCU 100
Basisboard: Durchflussmessung Basisnoard Multi-MCU 100
SSR-Platine: Schalten Magnetventile SSR-Platine Multi-MCU 100
SSR-Platine: Schrittmotorsteuerungen SSR-Platine Multi-MCU 100
Messplatine: Messdatenerfassung Multi-MCU 100


ToDo-Liste: MCUs - Verlagerung der Regelkreise aus der MATLAB®-GUI auf die Mikrocontroller der Steuerungselektronik

Arbeitspaket Wer Prio Status WV
Kommunikation per UART 1 10
Mehrkernnutzung und/oder Multitasking 1 10
Verlagerung des Füllstandsreglers auf das Basisboard 1 10
Verlagerung der Boilerdruckregelung auf die Messplatine 1 10
Verlagerung des Mischtemperaturreglers auf das Basisboard 1 10
Verlagerung des Durchflussreglers auf das Basisboard 1 10
Erstellung der Funktionssteuerung - Preinfusion auf dem Basisboard 2 10
Erstellung der Funktionssteuerung - Kaffeebezug auf dem Basisboard 1 10
Erstellung der Funktionssteuerung - Wasserbezug auf dem Basisboard 1 10
Erstellung der Funktionssteuerung - Dampfbezug auf dem Basisboard 1 10
Erstellung der Funktionssteuerung - Spülen auf dem Basisboard 1 10
Erstellung der Funktionssteuerung - Grundreinigung auf dem Basisboard 1 10
Integration eines Displays mit Touchfunktion 1 10
Integration eines Vertikalhebels 1 10
Visualisierung und Interaktion über die MATLAB®-GUI 1 10

ToDo-Liste: MATLAB®-Funktionen und GUI

Arbeitspaket Wer Prio Status WV
MATLAB®-GUI Start der App
MATLAB®-GUI Initialisierung Multi-MCU
MATLAB®-GUI Schalten Magnetventile
MATLAB®-GUI Datensicherung
Messwerte erfassen Multi-MCU
Pumpenansteuerung Multi-MCU
Füllstandsregler Multi-MCU
Regler Boilerdruck Multi-MCU
Mischregler Multi-MCU
Durchflussregler Multi-MCU
Misch-Durchfluss Kaskadenregelung Multi-MCU
Preinfusion Multi-MCU
einfacher Kaffeebezug Multi-MCU
Kaffeebezug Multi-MCU
Wasserbezug Multi-MCU
Dampfbezug Multi-MCU
Spülvorgänge Multi-MCU
Grundreinigung Multi-MCU
Tastenbedienung Multi-MCU
Display Multi-MCU
Glasboiler Abtropfwanne
Schrittmotorensteuerung Bypass
Schrittmotorensteuerung Mischer
Schrittmotorensteuerung Brühgruppendrossel
Adaption an Multi-MCU - Neuprogrammierung MATLAB® GUI
Dokumentation der Software mit STM32-Elektronik.
Ein Betrieb dieser wird nicht mehr weiter verfolgt.
Messwerte erfassen (Labor)
Pumpenansteuerung (Labor)
Füllstandsregler (Labor)
Regler Boilerdruck (Labor)
Mischregler (Labor)
Durchflussregler (Labor)
einfacher Kaffeebezug (Labor)
Kaffeebezug (Labor)
Wasserbezug (Labor)
Dampfbezug
Spülvorgänge (Labor)
Tastenbedienung (Labor)
Anpassungen für Schrittmotorensteuerung

ToDo-Liste: APP

Arbeitspaket Wer Prio Status WV
APP - Konzept 2 10
Messwerte erfassen APP 99 10
Preset / Profilverwaltung 99 10