In this project a middleware was created for a control unit from Sensortechnik Wiedemann. The abstraction level encapsulates/separates basic functions to simplify the creation of applications and allows that applications are not hardware based. The project also implied the development of function blocks for CAN communication (J1939), joysticks, characteristic lines, current control and various in- and outputs and the central error management for the software components of the library. The management system enables that every instance of a function component can permanently store errors and related Meta data in the memory of the control unit. The stored errors can be readout and governed by CAN communication. The error management was improvement by a multi-level concept which allows differentiating between service and developer.