Während der letzten Neugestaltung der Rosenbauer Rettungstreppe wurde nicht nur die Bedienung überarbeitet, sondern auch das CAN Bus System von Grund auf neu implementiert. Eine Reduktion der elektronischen Steuergeräte wurde durch den Einsatz von sicherheitszertifizierten Steuergeräten der Firma TTControl erreicht. Die Risiko- und Gefahrenanalyse ergab, dass Sicherheitsanforderungen bis zu Performance Level d, wie in der ISO 13849 definiert, gegeben sind.

Vereinfachte Architektur auf der Grundlage sicherheitszertifizierter Elektronik

Mit der neuen Architektur ist es uns gelungen, alle Sicherheitsfunktionen in ein einziges TTControl Steuergerät zu integrieren, das intern über die notwendige Redundanz verfügt. Sicherheitsanforderungen wie Kippen und Nivellierung wurden von zwei unabhängigen Entwicklerteams programmiert, ein Team bei TTControl in Brixen und ein weiteres Team bei Rosenbauer in Leonding. Im Elektronikmodul steuert das Multitasking Echtzeitsystem SAFERTOS® die beiden entwickelten Algorithmen gleichzeitig. Der Sicherheitsalgorithmus stoppt die Rettungstreppe komplett und unmittelbar. Der Algorithmus der Anwendung sorgt dafür, dass sich die Maschine nie in eine Position bewegt, in der der Sicherheitsalgorithmus die Kontrolle übernehmen müsste, und warnt den Anwender im Voraus auf dem Display. Da das TTControl Steuergerät kombiniert mit SAFERTOS® Störungssicherheit garantiert, kann die nicht sicherheitsrelevante Anwendungssoftware auf der gleichen Steuerung weiterentwickelt und eingesetzt werden, ohne dass die Sicherheitszertifizierung für jede neue Softwareversion wiederholt werden muss. Da unsere Produkte je nach Endkunden sehr stark variieren, ist dies eine wichtige Funktion, um den Wartungsaufwand der gesamten Software zu reduzieren.

Mit dieser Sicherheitsarchitektur haben wir eine Reduzierung der Steuergeräte von sechs Modulen dreier unterschiedlicher Typen, auf drei Module identischer Art erzielt. Eine weitere Reduzierung der Elektronik wurde bei den Hydraulikventilen vorgenommen. Die vorherige Generation verfügte über einen Ventilblock, in dem jedes Ventil ein kleines Elektronikmodul integriert hatte, das über ein individuelles PWM-Signal gesteuert wurde. Jetzt wurde die Komplexität des Systems reduziert, indem die Elektronik auf den Ventilen eliminiert und stattdessen zwei Ausgänge für jedes Ventil verwendet wurden. Die TTControl Steuerungen haben zu diesem Zweck alles zur Verfügung. Sie verfügen über ausreichend Ausgänge und jeder PWM-Ausgang ist in der Lage, seinen Strom zu messen. Die Genauigkeit der Strommessung reicht aus, um das Ventil über die Stromregelung ohne zusätzlichen Sensor am Ventil in jede Position zu fahren. Nur Stellglieder mit Positionssteuerung sind mit Sensoren ausgestattet, während die gesamte Drehzahlregelung ohne Sensoren erfolgt.

 

Softwareentwicklung an einem virtuellen Modell

In diesem Projekt wurde bei Rosenbauer Pionierarbeit im Bereich der Anwendungssoftware-Entwicklung geleistet. Ein virtuelles Modell für das gesamte Hydrauliksystem wurde erstellt, mit zwei PWM-Signalen für jedes Stellglied als Eingang. Alle Sensorsignale wurden am realen System gemessen und als Ausgänge wie Hydraulikdrücke, Endlagen der Stellglieder, CAN-Signale und Stromwerte verwendet. Dieses Modell wurde auf zwei Arten verwendet:

  • Einerseits wurde es durch automatische Codegenerierung auf anderen TTControl Steuergeräten eingesetzt, um dem Entwicklungsteam für Sicherheitssoftware die Möglichkeit zu geben, Softwaretests durchzuführen, ohne zur Rettungstreppe fahren zu müssen. So wurden alle relevanten Eigenschaften der 33 Tonnen schweren und rund 1 Million Euro teuren Rettungstreppe in einem Steuergerät dargestellt.
  • Andererseits wurde das Modell verwendet, um die Anwendungssoftware zu entwickeln. Dafür wurden die fest codierten Strom- und Positionsregler von TTControl in Simulink importiert. Auf diese Art und Weise arbeiteten extern gelieferte Codestücke und das Modell der Mechanik in einer PC-Simulation, unabhängig vom Produktionszustand der Maschine und komplett ohne Hardware.

Früher begann die Software-Entwicklung ebenfalls auf dem Schreibtisch, aber niemand wusste, wie sich die Software exakt auf der Maschine verhalten würde. Die eigentliche Arbeit begann zu dem Zeitpunkt, an dem der Programmierer an der Maschine saß. Bei der neuen modellbasierten Methode ist klar, dass die Anwendungssoftware grundsätzlich funktionsfähig ist und man muss bei der Inbetriebnahme nur noch nach den Unterschieden oder dem fehlenden Testfall suchen. Es hat sich herausgestellt, dass alles, was in der Simulation funktionierte, tatsächlich auch in der Realität funktionierte. So gelang zum Beispiel der schwierige Teil, die richtigen Ruhepositionen zu finden und die erste und letzte Stufe des Mainframe-Teleskops in einer flachen Position zu halten.

Effiziente Softwareprüfung vom Büro aus

Mit der Simulation können die Entwicklungsdurchläufe mit maximaler Leistung durchgeführt werden und die Programmierer werden nicht von äußeren Einflüssen abgelenkt. Eine Maschine dieser Größe kann nur im Freien betrieben werden, so dass die Programmierer dem Wetter und dem Lärm des Dieselmotors ausgesetzt sind. Bei jedem Durchlauf muss die Software auf die Steuerung hinuntergeladen und interessante Variablen überwacht und aufgezeichnet werden. In der Praxis werden die Tage lang und stressig, da es in der Regel sehr lange dauert, bis alle Eingänge und Ausgänge kontrolliert und die mechanische und elektrische Installationen zu 100 % abgeschlossen sind. Der Liefertermin ändert sich nie, aber alle anderen Prozesse dauern länger als geplant, was durch Überstunden der Programmierer kompensiert werden muss. Mit der Simulation kann die Softwareentwicklung und -prüfung effizient im Büro erfolgen, frei von Lärm, Stress und schlechten Wetterbedingungen. Die Qualität und die Möglichkeit der Wartung der erstellten Software ist auf diese Weise wesentlich besser.

Bei der Softwareentwicklung selbst geben MATLAB/Simulink/Stateflow und der eingebettete Codegenerator die Möglichkeit, sich auf den Softwareentwurf zu konzentrieren. Die schwierige Arbeit, den Code nach dem Zeichnen des Stateflow-Diagramms zu schreiben, wird durch den Codegenerator automatisiert. Selbst wenn sich während der Inbetriebnahme herausstellt, dass das Modell eine falsche Annahme enthielt, ist das Hinzufügen eines zusätzlichen Zustands oder Übergangs nur eine Frage des Zeichnens und hat keine großen Auswirkungen auf eine bereits programmierte Software.

Ein weiterer Vorteil des modellbasierten Designs ist, dass die Zeichnungen der Software vom Kundendienst und anderen Beteiligten, die keine Programmierer sind, verstanden werden können. Die selbsterklärenden Zeichnungen in Simulink/Stateflow können in HTML exportiert und als ausführliche Dokumentation der Software für alle veröffentlicht werden.