The commission and adaptation of modern automation systems is cost-intensive, error-prone and requires expertise. A large part is attributed to the engineering and programming process of manufacturer-specific components. Unifying the way of describing and controlling hardware results in a higher flexibility of the utilized hardware. This paper introduces a metamodel which allows a more efficient and flexible engineering of industrial automation systems throughout the system life cycle. The resulting model-based engineering approach utilizes highly abstracted models of automation components stored in the metamodel to form more specific models. By applying inheritance and classes, paradigms of object-oriented programming are followed to ensure better re-usability and interchangeability of modeled components. For evaluating the proposed concept the corresponding engineering data model is implemented in AutomationML.