The stable operation of diesel engine is critical to the normal production of the industry, and the prevention, monitoring and identification of faults are of great significance. At present, the fault research on diesel engine still has some defects, such as only few types of faults diagnosis are identified, the accuracy of fault diagnosis is still low, and fault identification is located at a constant speed. Therefore, a rule-based algorithm for fault diagnosis is proposed. Bayesian networks (BNs) and BP neural networks are used to identify seven faults at different speeds. Changchai EV80 diesel engine is taken as an example, and the feature values are extracted from the vibration signals measured from the cylinder head. The signals are processed by wavelet threshold de-noising and Ensemble Empirical Mode Decomposition (EEMD). The signal-sensitive feature values extracted from the decomposed Intrinsic Mode Function are used to distinguish different faults. After obtaining the feature values, a rule-based algorithm using IF... THEN's logic statement is proposed. BNs and BP neural networks established by parameter learning method are used for fault identification. Furthermore, this paper considers the uncertain factors and the interference of the external environment. Gaussian white noise is added to the raw signal and external excitation interference is applied to the diesel engine when it is running under normal operation condition. The results show that the proposed fault diagnostic method can accurately identify the faults.