Xyntos | Logo

Softwaresimulation Schindler

Eine Softwaresimulation ist ein enormer Mehrwert, insbesondere für ein komplexes System wie einen Aufzug. Die Kosten für die Implementierung einer Softwaresimulation können durch effizientere Weiterentwicklungen in kurzer Zeit amortisiert werden. Die Softwarequalität steigt, da Softwaretests optimiert werden können.

Kunde

Schindler Aufzüge AG

Meine Rolle

Senior Software Engineer

Dauer

3 Jahre 6 Monate

Status

Erfolgreich abgeschlossen

Was war die Herausforderung?

Die Simulation eines Aufzugs erfordert normalerweise aufwändige Installationen in der Grösse eines Kleiderschranks. Sämtliche Komponenten – von Kabinen- und Etagenmodulen über Türelektronik und Schachtinformationen bis hin zum Antrieb – müssen physisch vorhanden sein. Für die Arbeit am System ist eine ständige Netzwerkverbindung notwendig, und bestimmte Funktionen sind nur direkt am Simulator vor Ort zugänglich.

Auf eigene Initiative und auf eigenes Risiko habe ich eine Softwaresimulation für ein bestehendes Embedded-Projekt aufgebaut. Der Kunde war zu Beginn eher skeptisch.

Das Ergebnis übertraf alle Erwartungen:

  • Der Kunde entschied sich schliesslich, die Simulation in den Entwicklungsprozess zu übernehmen. Schon bald zeigte sich eine deutliche Steigerung sowohl der Produktivität der Softwareentwickler als auch der Softwarequalität.
  • Neue Geräte lassen sich vorab in die Simulation integrieren, inklusive der Kommunikation mit dem Controller, und im Gesamtsystem testen, bevor sie als physisches Gerät implementiert werden. Dies reduziert Entwicklungsrisiken und verkürzt die time to market erheblich.
  • Die Debug-Möglichkeiten sind deutlich komfortabler als im realen System: Softwarefehler lassen sich schnell reproduzieren, analysieren und beheben.

Dank dieser Simulation konnte der Entwicklungsprozess nicht nur effizienter gestaltet, sondern auch die Softwarestabilität signifikant erhöht werden – ein praxisnahes Beispiel, wie innovative Softwarelösungen komplexe Embedded-Systeme entscheidend verbessern können.

Die Aufzugssimulation wird als vollwertige Softwaresimulation umgesetzt, in der sämtliche vernetzten Geräte virtualisiert werden. Für den Controller wird ein neuer Hardware-Layer implementiert, der die Interaktion der Software mit der simulierten Hardware ermöglicht. Der Zustand des Aufzugs wird grafisch visualisiert, sodass Entwickler die Systemfunktionen intuitiv nachvollziehen können.

Technische Umsetzung und Features:

  • Bestehender C++-Code wird in eine C++ DLL gebaut und in die Simulation eingebunden, sodass vorhandene Logik direkt genutzt werden kann.
  • Die Simulationslogik wird vollständig in C# implementiert.
  • Das GUI wird mit C# WPF erstellt und ermöglicht eine übersichtliche Bedienung sowie Visualisierung des Aufzugszustands.
  • Verschiedene Grundkonfigurationen können gewählt werden, je nach Aufzugtyp, der simuliert werden soll.
  • Die Simulation stellt eine gRPC-Schnittstelle (Google Remote Procedure Call) bereit. Über diese Schnittstelle lassen sich in automatisierten Softwaretests gezielt Fehlerzustände triggern, wodurch die Testbarkeit und die Qualitätssicherung erheblich verbessert werden.

Dieser Ansatz ermöglicht es, neue Geräte und Funktionen vollständig im virtuellen System zu testen, bevor sie physisch implementiert werden, steigert die Entwicklungsgeschwindigkeit und verkürzt die time to market erheblich, reduziert Fehlerquellen und unterstützt eine effiziente, reproduzierbare Softwareentwicklung.

Die Softwaresimulation des Aufzugs hat den Entwicklungsprozess deutlich verbessert und messbare Vorteile geschaffen:

  • Produktivität und Softwarequalität steigen: Entwickler können neue Funktionen schneller implementieren und Fehler deutlich schneller identifizieren und beheben.
  • Entkopplung von vernetzten Geräten: Neue Funktionen können entwickelt und getestet werden, ohne dass die physischen Geräte bereits vorhanden sein müssen. Dadurch wird die Time-to-Market erheblich verkürzt.
  • Keine aufwändigen Installationen mehr nötig: Da es sich um eine reine Softwaresimulation handelt, entfallen komplexe, platzintensive Hardware-Simulatoren.
  • Automatisierte Softwaretests: Fehlerzustände lassen sich gezielt triggern, wodurch die Softwarequalität signifikant erhöht und Entwicklungsrisiken reduziert werden.
  • Unterstützung für das Support-Team: Die Simulation wird aktiv genutzt, um Fehler zu reproduzieren. Dabei können ohne grossen Aufwand auch ältere Softwareversionen eingesetzt werden, was die Fehlersuche erheblich erleichtert.

Insgesamt ermöglicht die Simulation eine effiziente, reproduzierbare und risikoarme Softwareentwicklung, die sowohl Kosten als auch Entwicklungszeit spart.

Andere Projekte

Liftsteuerungen Schindler

Aufzugsbereich

Kabelverarbeitungsmaschinen Komax

Automation

Softwaresimulation Komax

Automation

MIKO – Manufacturing Interface Komax

Automation
XYNTOS_Logo_mit_claim_weiss