A method for generating a fault diagnosis database of a CNC (Computer Numerical Control) machine tool, comprising: a) setting at least one fault condition of the CNC machine tool; b) running a first simulation model of the CNC machine tool under each set fault condition respectively in order to generate a plurality of faults (203, 203...203(m)), and recording a plurality of fault phenomena (204, 204...204(n)) of the plurality of faults (203, 203...203(m)); c) for each fault phenomenon (204, 204...204(n)) recorded, backtracking at least one possible fault generating the fault phenomenon, in order to establish an association between the fault phenomenon and at least one possible fault generating the fault phenomenon; d) generating a first fault diagnosis database of the CNC machine tool according to the at least one association established; e) wherein the step of establishing the association between the fault phenomenon and the at least one possible fault generating the fault phenomenon, comprises: establishing a plurality of reverse fault propagation paths of the fault phenomena; f) the step of generating the first fault diagnosis database according to the at least one association established, comprises: generating a fault propagation model as the first fault diagnosis database according to the established reverse fault propagation paths of the plurality of fault phenomena; g1) wherein the fault propagation model comprises the plurality of faults (203, 203...203(m) as first order faults (203, 203...203(m)), a plurality of second order faults (203, 203, 203, 203; 203, 203, 203(qs); 203) triggerable by one or more of the first order faults (203, 203...203(m)), and the fault propagation paths, g2) wherein the fault propagation paths connect the fault phenomena (204, 204...204(n)) with the first order faults either directly or through one or more of the second order faults, and g3) wherein the fault propagation paths comprise first fault propgagation paths directly connecting one or more fault phenomena directly with one or more first order faults, second fault propagation paths connecting one or more fault phenomena with one or more second order faults, and third propagation paths connecting one or more second order faults with one or more first order faults. a) setting at least one fault condition of the CNC machine tool; b) running a first simulation model of the CNC machine tool under each set fault condition respectively in order to generate a plurality of faults (203, 203...203(m)), and recording a plurality of fault phenomena (204, 204...204(n)) of the plurality of faults (203, 203...203(m)); c) for each fault phenomenon (204, 204...204(n)) recorded, backtracking at least one possible fault generating the fault phenomenon, in order to establish an association between the fault phenomenon and at least one possible fault generating the fault phenomenon; d) generating a first fault diagnosis database of the CNC machine tool according to the at least one association established; e) wherein the step of establishing the association between the fault phenomenon and the at least one possible fault generating the fault phenomenon, comprises: establishing a plurality of reverse fault propagation paths of the fault phenomena; f) the step of generating the first fault diagnosis database according to the at least one association established, comprises: generating a fault propagation model as the first fault diagnosis database according to the established reverse fault propagation paths of the plurality of fault phenomena; g1) wherein the fault propagation model comprises the plurality of faults (203, 203...203(m) as first order faults (203, 203...203(m)), a plurality of second order faults (203, 203, 203, 203; 203, 203, 203(qs); 203) triggerable by one or more of the first order faults (203, 203...203(m)), and the fault propagation paths, g2) wherein the fault propagation paths connect the fault phenomena (204, 204...204(n)) with the first order faults either directly or through one or more of the second order faults, and g3) wherein the fault propagation paths comprise first fault propgagation paths directly connecting one or more fault phenomena directly with one or more first order faults, second fault propagation paths connecting one or more fault phenomena with one or more second order faults, and third propagation paths connecting one or more second order faults with one or more first order faults.