Protocol library for CANopen