68. ITAE parameters for FOPDT system

This notebook is a convenient interface to the tbcontrol.fopdtitae module, which calculates the values of the PI/PID controller settings based on Table 11.3 of Seborg, Edgar, Melichamp and Lewin (itself based on Smith and Corripio, 1997).

from tbcontrol import fopdtitae

We can get the parameters using the function fopdtitae.parameters: The default is disturbance parameters on a PI controller.

fopdtitae.parameters(K=1, tau=1, theta=1)
[0.859, 1.4836795252225519]

69. Interactive version

We’ll build an interactive version by printing the parameters with their names and allowing for easy entry.

from ipywidgets import interact, FloatText
names = 'Kc', 'τI', 'τD'

This is the function which does the calculations. You can check the values in Example 11.5:

def tablefunction(K, tau, theta=1.07, type_of_input='Disturbance', type_of_controller='PI'):
    parameters = fopdtitae.parameters(K, tau, theta, type_of_input, type_of_controller)
    for name, value in zip(names, parameters):
        print(name, "=", value)
tablefunction(1.54, 5.93, 1.07, 'Disturbance', 'PI')
Kc = 2.9719324064107253
τI = 2.745987615154182
         K=FloatText(value=1.54), tau=FloatText(value=5.93), theta=FloatText(value=1.07),
         type_of_input=['Disturbance', 'Set point'], type_of_controller=['PI', 'PID']);
[ ]: