 |
 |
7.1 Motivation : retours sur un bug
précédent suivant
Après avoir visionné l’accident du vol, voici quelques explications
extraites du rapport d’experts réalisés en 1996. Les parties expliquant
la cause informatique de cet accident ont été mise en gras.
« In general terms, the Flight
Control System of the Ariane 5 is of a standard design. The attitude of
the launcher and its movements in space are measured
by an Inertial Reference System (SRI). It has its own internal computer, in which angles and velocities are
calculated on the basis of information from a “strap-down” inertial platform, with laser gyros and
accelerometers. The data from the SRI are transmitted through the databus to the On-Board Computer (OBC),
which executes the flight program and controls
the nozzles of the solid boosters and the Vulcain cryogenic engine, via
servovalves and hydraulic actuators.
In order to improve reliability
there is considerable redundancy at equipment level. There are two SRIs
operating in parallel, with identical hardware and
software. One SRI is active and one is in stand-by, and if the OBC detects that the active SRI has failed it immediately
switches to the other one, provided that this
unit is functioning properly. Likewise there are two OBCs, and a number of
other units in the Flight Control System are
also duplicated.
The design of the Ariane 5 SRI is
practically the same as that of an SRI which is presently used on
Ariane 4, particularly as regards the software.
Based on the extensive documentation
and data on the Ariane 501 failure made available to the Board, the following chain of events, their inter-relations and
causes have been established, starting with the
destruction of the launcher and tracing back in time towards the primary
cause.
- The launcher started to
disintegrate at about H0 + 39 seconds because of high aerodynamic
loads due to an angle of attack of more than 20
degrees that led to separation of the boosters from the main stage, in turn triggering the self-destruct system
of the launcher.
- This angle of attack was caused by
full nozzle deflections of the solid boosters and the Vulcain
main engine.
- These nozzle deflections were
commanded by the On-Board Computer (OBC)
software on the basis of data transmitted by
the active Inertial Reference System (SRI 2).
Part of these data at that time did not contain proper flight data, but
showed a diagnostic bit pattern of the
computer of the SRI 2, which was interpreted as flight data.
- The reason why the active SRI 2
did not send correct attitude data was that the unit had declared a failure due to a
software exception.
- The OBC could not switch to the
back-up SRI 1 because that unit had already ceased to function during the previous data cycle (72 milliseconds period)
for the same reason as SRI 2.
- The internal SRI software
exception was caused during execution of a data conversion from
64-bit floating point to 16-bit signed integer value.
The floating point number which was converted
had a value greaterthan what could be represented by a 16-bit signed integer.
This resulted in an Operand Error.
The data conversion instructions (in Ada code)
were not protected from causing an Operand
Error, although other conversions of comparable variables in the same place in the code were
protected.
»
Christian Bac, Denis Conan, Télécom
SudParis, CSC 4002, Octobre 2015
|
|