Implementation of a knowledge-based PID auto-tuner