Design and implement PID controllers

PID control involves several tasks that include:

  • Selecting an appropriate PID algorithm (P, PI, or PID)
  • Tuning controller gains
  • Simulating the controller against a plant model
  • Implementing the controller on a target processor

While simple in theory, design and implementation of PID controllers can be difficult and time consuming in practice.

MATLAB and add-on products bring efficiency to these design tasks by enabling you to:

  • Configure your Simulink PID Controller block for PID algorithm (P,PI, or PID), controller form (parallel or standard), anti-windup protection (on or off), and controller output saturation (on or off)
  • Automatically tune controller gains against a plant model and fine-tune your design interactively
  • Autotune controller gains in real time against a physical plant
  • Tune multiple controllers in batch mode
  • Run closed-loop system simulation by connecting your PID Controller block to the plant model
  • Automatically generate C code for targeting a microcontroller
  • Automatically generate IEC 61131 structured text for targeting a PLC or PAC
  • Automatically scale controller gains to implement your controller on a processor with fixed-point arithmetic

Examples and How To



PID Tuning Against a Plant Model

Motor Control

Power Conversion


Chemical Processes


Real-Time PID Autotuning



Software Reference

See also: control systems, system design and simulation, physical modeling, linearization, parameter estimation, PID tuning, control design software, Bode plot, root locus, PID control videos, field-oriented control, BLDC motor control, motor simulation for motor control design, power factor correction, small signal analysis

Download Code Examples

Learn how to automatically tune PID controller gains