This paper describes a Fault Explanation System (FES) that aids in the diagnosis of failures in discrete event systems such as certain manufacturing processes. These systems are characterized by the use of programmable logic controllers (PLC) to control the systems. In addition PLC's also perform event logging. The event log (fault log) records exceptions which may be alarms, warnings or status reports. A major difficulty is that most of the alarms do not indicate real faults in the system; for example, a fault may cause an exception which indicates what the fault is, but this exception may also give rise to a number of other exceptions which are just side-effects. FES interprets and explains faults in the log based on a model provided by the ladder logic diagrams of the PLC. These explanations separate real exceptions from the kind of side-effects described above. Finally FES ranks explanations according to their plausibility.