The high-speed, heavy-load, high-traffic density of railway demands the high reliability of a traction power supply system (TPSS). To achieve this, a diagnosis system is essential. This paper presents a reliable, general, and easy-to-maintain diagnosis system, based on the system model with the purpose of online fault detection, location, and recognition of the TPSS. Two kinds of model-based diagnosis (MBD) are combined to achieve high diagnosis efficiency and recognition ability of fault types. The model library and diagnosis engine are the two main parts of the diagnosis system, both of which have the two-level structure that contains a consistency-based level and an abductive level. In the consistency-based level, the model and diagnosis engine of consistency-based MBD are established, which contribute to the fault detection and diagnosis candidate generation. The minimal support environment offline searching algorithm and binary particle swarm optimization with a genetic algorithm are proposed to enhance the consistency-based reasoning. In the abductive level, the model and diagnosis engine of abductive MBD are utilized to locate the faults and recognize the fault types. With the diagnosis candidates, the abductive reasoning efficiency can be dramatically improved. In addition, to improve the fault location and recognition performance, the Bayes theorem is utilized in the abductive reasoning. As the system relies on the sensor information, a fault-tolerant strategy for fault reasoning is proposed to enhance the diagnosis system reliability. Finally, three cases are presented to illustrate the effectiveness and efficiency of this system.