Ariane 5 - 501 (1-3)


4. Juni 1996, Kourou / Frz. Guyana, ESA

Jungfernflug der neuen europäischen Trägerrakete (Gewicht: 740 t, Nutzlast 7 - 18 t) mit 4 Cluster-Satelliten

Entwicklungskosten in 10 Jahren: DM 11 800 Millionen

Ada-Programm des Trägheits-Navigationssystems (Ausschnitt):

...
declare
  vertical_veloc_sensor: float;
  horizontal_veloc_sensor: float;
  vertical_veloc_bias: integer;
  horizontal_veloc_bias: integer;
  ...
begin
  declare
    pragma suppress(numeric_error, horizontal_veloc_bias);
  begin
    sensor_get(vertical_veloc_sensor);
    sensor_get(horizontal_veloc_sensor);
    vertical_veloc_bias := integer(vertical_veloc_sensor);
    horizontal_veloc_bias := integer(horizontal_veloc_sensor);
    ...
  exception
    when numeric_error => calculate_vertical_veloc();
    when others => use_irs1();
  end;
end irs2;


Wirkung:

37 Sekunden nach Zünden der Rakete (30 Sekunden nach Liftoff) erreichte Ariane 5 in 3700 m Flughöhe eine Horizontal-Geschwindigkeit von 32768.0 (interne Einheiten).
Dieser Wert lag etwa fünfmal höher als bei Ariane 4.

Die Umwandlung in eine ganze Zahl führte daher zu einem Überlauf, der jedoch nicht abgefangen wurde.

Der Ersatzrechner (Redundanz !) hatte das gleiche Problem schon 72 msec vorher und schaltete sich sofort ab.
Daraus resultierte, daß Diagnose-Daten zum Hauptrechner geschickt wurden, die dieser als Flugbahndaten interpretierte.

Daraufhin wurden unsinnige Steuerbefehle an die seitlichen, schwenkbaren Feststoff-Triebwerke, später auch an das Haupttriebwerk gegeben, um die großen Flugabweichungen (über 20 Grad) korrigieren zu können. Die Rakete drohte jedoch auseinanderzubrechen und sprengte sich selbst (39 sec).

Ein intensiver Test des Navigations- und Hauptrechners wurde nicht unternommen, da die Software bei Ariane 4 erprobt war.

Schaden:

DM 250 Millionen Startkosten
DM 850 Millionen Cluster-Satelliten
DM 600 Millionen für nachfolgende Verbesserungen
Verdienstausfall für 2 bis 3 Jahre

Der nächste Testflug konnte erst 17 Monate später durchgeführt werden - 1. Stufe beendete vorzeitig das Feuern.
Der erste kommerzielle Flug fand im Dezember 1999 statt.


Tragik:

Der problematische Programmteil wurde nur für die Vorbereitung beim Start und den Start selbst gebraucht.

Er sollte nur während einer Übergangszeit aktiv sein, aus Sicherheitsgründen: 50 sec, bis die Bodenstation bei einer Startunterbrechung die Kontrolle übernommen hätte.
Trotz des ganz anderen Verhaltens der Ariane 5 wurde dieser Wert nicht neu überlegt.

Optimierung:

Nur bei 3 von 7 Variablen wurde ein Überlauf geprüft - für die anderen 4 Variablen existierten Beweise, daß die Werte klein genug bleiben würden (Ariane 4).

Diese Beweise galten jedoch nicht für die Ariane 5 und wurden dafür auch gar nicht nachvollzogen.
Problem der Wiederverwendung von Software !

Unglaublich - nach 40 Jahren Software-Fehler-Erkenntnissen:

Es wurde beim Programm-Design davon ausgegangen, daß nur Hardware-Fehler auftreten können!

Daher hatte der Ersatzrechner auch die identische Software. Die System-Spezifikation legte fest, daß sich im Fehlerfall der Rechner abschalten soll und der Ersatzrechner einspringt.
Ein Restart eines Rechners war nicht sinnvoll, da die Neubestimmung der Flughöhe zu aufwendig ist.

 
PS: Der Versuch, neue 4 Cluster-Satelliten zu starten, gelang im Juli und August 2000 mit zwei russischen Trägerraketen.


Ingolf Giese