Knowledge Base

PID implementation: characterizing your process

The objective of “characterizing” the process is to determine its dynamic behaviour, which to us means its time constants, gain and possibly fixed delay (dead time). The way we do that is to apply a “step input” and record the output. We then use Excel to experimentally find a set of cascaded time constants that will fit the output versus time graph. We then repeat the process for a negative step.

As a warmup exercise I suggest you set up PIDassist with the following settings:

  1. Start with whatever settings it comes up with when you launch it.
  2. In the simulator set Delay Line to 0
  3. In the simulator set Gain to 1 and all min/max values to 0/1 respectively.
  4. In the controller select (check) Open Loop
  5. In the controller set the two alternate setpoints to 0.2 and 0.8 and enable (check) Cycle.
  6. In the controller set the sample time Ts to about 1/5th of the shortest time constant in the process.

Get the simulation running, and adjust the horizontal scale until you can see the green output catch up with the red input on each section of the graph.

What you are seeing (in green) is the open loop step response of the process for increasing and decreasing outputs. It is the exact same stuff as we generated using spreadsheets in the theory chapter, and it is what you are now going to do with your process.

You can get a fair bit of help with this from PIDassist and a SPLat controller. The SPLat can drive your process and PIDassist can log the results to disk.