The paper presents DE/IFT, a new fault diagnosis engine which is based on the authors' IFT algorithm for induction of fault trees. It learns from an examples database comprising sensor recordings, all of which have been classified as corresponding to either the normal behaviour of the system or to one or more fault states. The fault trees generated by IFT are translated into Functions in the C programming language. The disgnosis engine links these into a shell program to yield a software system for monitoring and fault diagnosis which has a fast reaction time and:is capable of dealing with complicated fault situations. The use of DE/IFT is demonstrated by diagnosing incipient faults in a simulated pneumatic servo-controlled robot arm, where the sensor recordings it uses are transient responses of the servo system to an input test signal. A variety of different situations are considered, including singly occurring faults and multiple simultaneous faults, developing steadily over time or occurring intermittently.