The traditional methods of structural health monitoring (SHM) have obvious disadvantages such as being time-consuming, laborious and non-synchronizing, and so on. This paper presents a novel and efficient approach to detect structural damages from real-time vibration signals via a convolutional neural network (CNN). As vibration signals (acceleration) reflect the structural response to the changes of the structural state, hence, a CNN, as a classifier, can map vibration signals to the structural state and detect structural damages. As it is difficult to obtain enough damage samples in practical engineering, finite element analysis (FEA) provides an alternative solution to this problem. In this paper, training samples for the CNN are obtained using FEA of a steel frame, and the effectiveness of the proposed detection method is evaluated by inputting the experimental data into the CNN. The results indicate that, the detection accuracy of the CNN trained using FEA data reaches 94% for damages introduced in the numerical model and 90% for damages in the real steel frame. It is demonstrated that the CNN has an ideal detection effect for both single damage and multiple damages. The combination of FEA and experimental data provides enough training and testing samples for the CNN, which improves the practicability of the CNN-based detection method in engineering practice.