← Alle Projekte
Berufliches Projekt
SoftwareProduktionstechnikTestautomatisierungC#EmbeddedDesktop

Produktionsplattform für Flashen, Parametrierung & Qualitätssicherung

Von Grund auf entwickelte C#-/WPF-Produktionssoftware für Firmware-Programmierung und -Updates, auftragsspezifische Parametrierung, geführte Qualitätssicherung, Dokumentation und Rückverfolgbarkeit über das gesamte Reglerportfolio.

Diagramm des Produktionsablaufs mit drei Stufen — Auftragseingang, Gerätebearbeitung und QA & Rückverfolgbarkeit — vom Scannen des Auftragsbarcodes über Firmware-Flashing und Parametrierung bis zur geführten QA-Prüfung und Archivierung des QA-Berichts
  • Komplette C#-/WPF-Anwendung einschließlich Architektur von Grund auf entwickelt
  • Zentrales Produktionswerkzeug für das gesamte Reglerportfolio mit mehreren Produktgenerationen und zahlreichen auftragsspezifischen Varianten
  • Proprietäres Embedded-Kommunikationsprotokoll vollständig in C# umgesetzt, einschließlich Framing, CRC, Quittierungen, Wiederholungen, Timeouts und Fehlerbehandlung
  • Firmware-Auswahl, Bootloader-Updates, Parametrierung und Verifikation auf Basis ERP-generierter Auftragsdaten automatisiert
  • Geführter QA-Ablauf verhindert das Überspringen von Prüfschritten und erzeugt automatisch gerätespezifische Produktionsnachweise
  • An mehreren Produktionsarbeitsplätzen für mehrere tausend Geräte pro Jahr eingesetzt

Ausgangssituation

Vor der Auslieferung mussten die Regler in der Produktion programmiert, aktualisiert, kundenspezifisch parametriert und geprüft werden. Derselbe Produktionsablauf musste dabei das gesamte Reglerportfolio des Unternehmens abdecken: mehrere Produktgenerationen, unterschiedliche Reglergrößen und -konfigurationen sowie ein zusätzliches Fernbedienungsprodukt. Hinzu kamen zahlreiche auftragsspezifische Varianten der einzelnen Geräte.

Der bestehende Produktionsprozess basierte auf einem internen Werkzeug, das kompliziert zu bedienen war und umfangreiches Produktwissen voraussetzte. Firmware-Updates waren aufwendig, neue Produktionsmitarbeiter mussten intensiv eingelernt werden, und QA-Daten wie Seriennummern und Geräte-IDs wurden teilweise von Hand erfasst.

Ich entwickelte eine neue Produktionsanwendung, die diesen Prozess durch einen kontrollierten Ablauf für Firmware-Programmierung, Software-Updates, kundenspezifische Parametrierung, geführte Qualitätssicherung, Dokumentation und Rückverfolgbarkeit ersetzte.

Diagramm des Produktionsablaufs mit drei Stufen — Auftragseingang, Gerätebearbeitung und QA & Rückverfolgbarkeit — vom Scannen des Auftragsbarcodes über Firmware-Flashing und Parametrierung bis zur geführten QA-Prüfung und Archivierung des QA-Berichts

Der Ablauf ist bewusst linear und kontrolliert aufgebaut: Jede der drei Stufen Auftragseingang, Gerätebearbeitung und QA/Rückverfolgbarkeit muss abgeschlossen sein, bevor die nächste beginnt, und normale Produktionskonten können keinen Schritt überspringen oder in falscher Reihenfolge ausführen.

Meine Verantwortung

Ich habe die komplette Anwendung einschließlich ihrer Softwarearchitektur von Grund auf entwickelt.

Die Software wurde in C# mit WPF und MVVM umgesetzt. Zu meinem Umfang gehörten Benutzeroberfläche, Geräte- und Parametermodelle, Kommunikationsschicht, XML-Verarbeitung, Flash- und Update-Logik, Parametrierung, Test-Engine und QA-Workflow, Benutzerkonten und Berechtigungen, PDF-Berichte, Serverarchivierung sowie die Update-Funktion der Anwendung selbst.

Die Anwendung war kein neues Frontend für die vorherige Produktionssoftware. Sie ersetzte den bisherigen Produktionsablauf und implementierte gleichzeitig die notwendige Gerätekommunikation, um direkt mit den bestehenden Embedded-Produkten arbeiten zu können.

Softwarearchitektur

Die Anwendung war entsprechend den Aufgaben im Produktionsprozess in klar getrennte Funktionsbereiche und Objekte gegliedert:

  • WPF-/MVVM-Benutzeroberfläche
  • Gerätemodell
  • Geräteparametermodell
  • Kommunikationsschicht
  • XML-Interpreter
  • Firmware-Programmierung und Update-Logik
  • Test-Engine und Workflow-Steuerung
  • Benutzer- und Berechtigungsverwaltung
  • PDF-Dokumentation und Netzwerkarchivierung

Diagramm der Software- und Systemarchitektur der Produktionsanwendung: Die C#-/WPF-/MVVM-Anwendung liegt zwischen den Eingaben aus ERP, XML und Barcode und den Ausgaben QA-Bericht/Netzwerkarchiv und kommuniziert über USB, einen IR-Transceiver und alternativ über Microchip IPECMD mit dem Heizungsregler

Der Workflow war bewusst restriktiv aufgebaut. Produktionsmitarbeiter wurden Schritt für Schritt durch den erforderlichen Ablauf geführt. Ein fehlgeschlagener Test oder ein notwendiger Prozessschritt konnte von normalen Benutzern nicht einfach übersprungen werden.

Für Sonderfälle und Nacharbeit standen Benutzerkonten mit erweiterten Berechtigungen zur Verfügung.

Embedded-Kommunikation

Der Produktions-PC kommuniziert über einen per USB angeschlossenen Infrarot-Transceiver mit den Reglern. Die Anwendung erkennt die Schnittstelle automatisch und stellt die Verbindung selbstständig her.

Eine der zentralen technischen Aufgaben war die vollständige Umsetzung des proprietären Reglerprotokolls in C#. Grundlage dafür waren die bestehende Embedded-C-Implementierung sowie ein internes, in Visual Basic entwickeltes Engineering-Werkzeug aus der Entwicklung.

Die C#-Implementierung bildete das für die Produktionsanwendung benötigte Kommunikationsverhalten vollständig ab, darunter Framing und Befehlsverarbeitung, Checksummen / CRC, Quittierungen, Wiederholungen, Kommunikations-Timeouts, Fehlerbehandlung und Geräteidentifikation.

Damit konnte die Anwendung direkt mit den verschiedenen Reglerfamilien kommunizieren, ohne von der bisherigen Produktionssoftware abhängig zu sein.

Firmware-Programmierung & Updates

Die Software unterstützt zwei unterschiedliche Wege zur Firmware-Programmierung.

Für die Erstprogrammierung eines noch leeren Mikrocontrollers integriert die Anwendung Microchip IPECMD zur direkten Programmierung des Bausteins. Da dieser Vorgang mit einem noch nicht programmierten Regler arbeitet und weitergehende Eingriffsmöglichkeiten bietet, ist er auf entsprechend berechtigte Benutzer beschränkt.

Bei Reglern, die bereits über den Bootloader verfügen, kann die Firmware über die reguläre Infrarot-Kommunikationsschnittstelle des Produkts aktualisiert werden.

Der komplette Update-Ablauf wird von der Anwendung gesteuert:

Regler identifizieren → passende Firmware bestimmen → Bootloader starten → Firmware übertragen → CRC prüfen → Neustart → erneut verbinden → Firmware-Version verifizieren

Sobald sich ein programmierter Regler identifiziert, wählt die Software automatisch die passende Firmware-Version aus. Dadurch wird verhindert, dass ein Mitarbeiter versehentlich Firmware für einen anderen Gerätetyp auswählt.

Zusätzlich habe ich die Übertragung ungenutzter Bereiche des Firmware-Images optimiert. Leere Speicherbereiche konnten mit deutlich weniger Kommunikationsframes übertragen werden, anstatt sie Byte für Byte zu senden. Da die Firmware-Übertragung zuvor zu den zeitintensivsten Produktionsschritten gehörte, konnte die Update-Dauer dadurch deutlich reduziert werden.

Mit der neuen Software wurde außerdem die direkte Programmierung größerer Regler für entsprechend eingewiesene Produktionsmitarbeiter praktikabel. Im vorherigen Ablauf wurde dafür stärker auf die langsamere Update-Prozedur zurückgegriffen.

Auftragsspezifische Parametrierung

Die Regler wurden nicht mit einer einzigen Standardkonfiguration produziert. Kunden bestellten Geräte mit vordefinierten Einstellungen wie Solltemperaturen, Betriebs- und Kundengrenzen, aktivierten Kanälen, Geräte-IDs und weiteren Reglerparametern.

Bei der Auftragserstellung erzeugt das ERP-System automatisch eine XML-Konfigurationsdatei. Die zugehörige Konfigurationsnummer wird als Barcode auf den Produktionsunterlagen bereitgestellt.

Am Produktionsarbeitsplatz scannt der Mitarbeiter diesen Barcode. Die Software verwendet die Konfigurationsnummer, um die passende XML-Datei vom Server zu laden und die vorgesehenen Parameter automatisch zu übernehmen.

Damit entfiel die manuelle Übertragung auftragsspezifischer Konfigurationsdaten. Gleichzeitig wurde das Risiko deutlich reduziert, Seriennummern, Geräte-IDs oder Parametersätze falsch einzugeben.

Geführter QA-Workflow

Nach Programmierung und Parametrierung führt dieselbe Anwendung den Mitarbeiter durch die Qualitätssicherung.

Geprüft werden unter anderem:

  • Temperaturerfassung
  • Relaisfunktionen
  • Reglerkommunikation
  • Analogausgänge
  • Firmware-Version

Die physischen Prüfschritte werden vom Produktionsmitarbeiter durchgeführt. Die Anwendung gibt jedoch die Reihenfolge vor und dokumentiert die Ergebnisse. Der Prüfumfang passt sich dabei an die jeweilige Gerätekonfiguration an, beispielsweise an die Anzahl aktiver Kanäle.

Normale Produktionsbenutzer können Schritte weder außerhalb der vorgesehenen Reihenfolge durchführen noch unbemerkt überspringen. Ein fehlgeschlagener Test bleibt als fehlgeschlagen dokumentiert. Nur Benutzer mit erweiterten Berechtigungen können bei Bedarf Sonderaktionen durchführen.

Ein wichtiger Aspekt bei der Entwicklung war, sicherzustellen, dass die Anwendung während eines laufenden Prüfvorgangs weder in einen undefinierten Zustand gerät noch durch einen Abbruch den Produktionsablauf blockiert. Workflow und Kommunikation wurden deshalb auf vorhersehbare Zustandsübergänge, explizite Fehlerbehandlung und kontrollierte Wiederaufnahme ausgelegt.

Rückverfolgbarkeit & Dokumentation

Am Ende des QA-Prozesses erzeugt die Software automatisch einen PDF-Prüfbericht für jedes einzelne Gerät.

Der Bericht enthält Seriennummer, Auftragsnummer, Firmware-Version, Parametersatz, Prüf- bzw. Messwerte, Pass/Fail-Ergebnis, Mitarbeiter und Zeitstempel.

Die Berichte werden automatisch anhand von Serien- und Auftragsnummer benannt und im Dokumentenarchiv des Unternehmens im Netzwerk abgelegt.

Die Identität des Prüfers wird aus dem angemeldeten Benutzerkonto übernommen. Dadurch entsteht eine nachvollziehbare Verbindung zwischen Gerät, Produktionsauftrag, Konfiguration, Prüfergebnis und dem Mitarbeiter, der die Prüfung durchgeführt hat.

Die archivierten Berichte können später von der Produktionsleitung abgerufen werden, wenn die Produktionshistorie eines bestimmten Geräts benötigt wird.

Ergebnis in der Produktion

Die Anwendung wurde zum Standardwerkzeug für die Produktion des gesamten Reglerportfolios und wird an mehreren Produktionsarbeitsplätzen von verschiedenen Mitarbeitern eingesetzt.

Über die Software werden mehrere tausend Geräte pro Jahr bearbeitet; sie war mindestens zwei Jahre dauerhaft im produktiven Einsatz.

Die wesentliche Verbesserung bestand nicht in einer einzelnen Funktion, sondern darin, fehleranfällige manuelle Übergänge zwischen den Produktionsschritten zu beseitigen. Barcode-Scanning ersetzte die manuelle Eingabe von Seriennummern und Auftragskonfigurationen, die Firmware-Auswahl wurde geräteabhängig automatisiert, die Qualitätssicherung folgte einem fest definierten Ablauf, und Prüfberichte wurden automatisch erzeugt und archiviert.

Auch die Zeiten für Firmware-Programmierung und -Updates konnten durch den direkten Flash-Prozess und die Optimierung der proprietären Bootloader-Übertragung deutlich reduziert werden.

Eine formale Zeitstudie wurde nicht durchgeführt. In der Praxis führte die Kombination dieser Änderungen jedoch zu einem deutlich effizienteren Produktionsablauf und reduzierte gleichzeitig Schulungsaufwand, Papierarbeit, Konfigurationsfehler, vergessene Prüfschritte und Nacharbeit.

Für mich war das stärkste Ergebnis des Projekts, eine von mir vollständig konzipierte und entwickelte Software im täglichen Serieneinsatz zu sehen – als fester Bestandteil der Produktion eines etablierten Produktportfolios.

Technologien

C# WPF MVVM Embedded-Kommunikation UART Infrarot USB Proprietäres Protokoll Bootloader CRC Microchip IPECMD XML Barcode-Workflow PDF-Reporting Netzwerkarchivierung