{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "*This notebook contains course material from [CBE30338](https://jckantor.github.io/CBE30338)\n", "by Jeffrey Kantor (jeff at nd.edu); the content is available [on Github](https://github.com/jckantor/CBE30338.git).\n", "The text is released under the [CC-BY-NC-ND-4.0 license](https://creativecommons.org/licenses/by-nc-nd/4.0/legalcode),\n", "and code is released under the [MIT license](https://opensource.org/licenses/MIT).*" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "< [PID Control with Bumpless Transfer](http://nbviewer.jupyter.org/github/jckantor/CBE30338/blob/master/notebooks/04.03-PID_Control_with_Bumpless_Transfer.ipynb) | [Contents](toc.ipynb) | [Realizable PID Control](http://nbviewer.jupyter.org/github/jckantor/CBE30338/blob/master/notebooks/04.05-Realizable-PID-Control.ipynb) >

\"Open

\"Download\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# PID Control with Anti-Reset-Windup" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Additional Benefits of Tracking the Manipulated Variable\n", "\n", "An extra **tracking** input was added in order to improve response when switching from manual to automatic control. This turns out to have additional benefits for the case where the controller would otherwise be requesting infeasible values for the manipulated variable.\n", "\n", "The next simulation simply repeats the applies the tracking controller to the heater startup case." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "def PID(Kp, Ki, Kd, MV_bar=0, beta=1, gamma=0):\n", " # initialize stored data\n", " eD_prev = 0\n", " t_prev = -100\n", " P = 0\n", " I = 0\n", " D = 0\n", " \n", " # initial control\n", " MV = MV_bar\n", " \n", " while True:\n", " # yield MV, wait for new t, SP, PV, TR\n", " t, PV, SP, TR = yield MV\n", " \n", " # adjust I term so output matches tracking input\n", " I = TR - MV_bar - P - D\n", " \n", " # PID calculations\n", " P = Kp*(beta*SP - PV)\n", " I = I + Ki*(SP - PV)*(t - t_prev)\n", " eD = gamma*SP - PV\n", " D = Kd*(eD - eD_prev)/(t - t_prev)\n", " MV = MV_bar + P + I + D\n", " \n", " # update stored data for next iteration\n", " eD_prev = eD\n", " t_prev = t" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "scrolled": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "TCLab Model disconnected successfully.\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%matplotlib inline\n", "from tclab import clock, setup, Historian, Plotter\n", "\n", "TCLab = setup(connected=False, speedup=10)\n", "\n", "controller = PID(2, 0.1, 2, beta=0) # create pid control\n", "controller.send(None) # initialize\n", "\n", "tfinal = 800\n", "\n", "with TCLab() as lab:\n", " h = Historian([('SP', lambda: SP), ('T1', lambda: lab.T1), ('MV', lambda: MV), ('Q1', lab.Q1)])\n", " p = Plotter(h, tfinal)\n", " T1 = lab.T1\n", " for t in clock(tfinal, 2):\n", " SP = T1 if t < 50 else 50 # get setpoint\n", " PV = lab.T1 # get measurement\n", " MV = controller.send([t, PV, SP, lab.Q1()]) # compute manipulated variable\n", " lab.Q1(MV) # apply \n", " p.update(t) # update information display" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We observe markedly improved performance with less overshoot of the setpoint, less undershoot, and faster settling time. \n", "\n", "The reason for the improved response is that the integral term of the PID controller is constrained such that the manipulated variable remains within feasible limits. This important feature is called **anti-reset windup**." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Embedding Anti-Reset Windup inside the Controller\n", "\n", "The most common reason for a mismatch between the controller output and the actual value of the manipulated variable are the existence of hard limits on $MV$. These hard limits can be enforced inside of the control algorithm which may, for some applications, eliminate the need for using the **tracking** input.\n", "\n", "The next cell modifies our control algorithm to accomodate this feature, and automatically detects if a tracking signal is passed to the controller." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "def PID(Kp, Ki, Kd, MV_bar=0, beta=1, gamma=0):\n", " # initialize stored data\n", " eD_prev = 0\n", " t_prev = -100\n", " P = 0\n", " I = 0\n", " D = 0\n", " \n", " # initial control\n", " MV = MV_bar\n", " \n", " while True:\n", " # yield MV, wait for new t, SP, PV, TR\n", " data = yield MV\n", " \n", " # see if a tracking data is being supplied\n", " if len(data) < 4:\n", " t, PV, SP = data\n", " else:\n", " t, PV, SP, TR = data\n", " I = TR - MV_bar - P - D\n", " \n", " # PID calculations\n", " P = Kp*(beta*SP - PV)\n", " I = I + Ki*(SP - PV)*(t - t_prev)\n", " eD = gamma*SP - PV\n", " D = Kd*(eD - eD_prev)/(t - t_prev)\n", " MV = MV_bar + P + I + D\n", " \n", " # Constrain MV to range 0 to 100 for anti-reset windup\n", " MV = 0 if MV < 0 else 100 if MV > 100 else MV\n", " #I = MV - MV_bar - P - D\n", " \n", " # update stored data for next iteration\n", " eD_prev = eD\n", " t_prev = t" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This version of the control is tested again with our startup example, but this time without using the tracking input to the controller. The results demonstrate the importance of anti-reset windup." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "50" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "550 % 100" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "TCLab Model disconnected successfully.\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%matplotlib inline\n", "from tclab import clock, setup, Historian, Plotter\n", "\n", "TCLab = setup(connected=False, speedup=10)\n", "\n", "controller = PID(1, 0.2, 0, beta=0) # create pid control\n", "controller.send(None) # initialize\n", "\n", "tfinal = 1200\n", "\n", "with TCLab() as lab:\n", " h = Historian([('SP', lambda: SP), ('T1', lambda: lab.T1), ('MV', lambda: MV), ('Q1', lab.Q1)])\n", " p = Plotter(h, tfinal)\n", " Tlo = lab.T1\n", " Thi = 120\n", " for t in clock(tfinal, 2):\n", " SP = Thi if (t % 600 < 100) else Tlo # get setpoint\n", " PV = lab.T1 # get measurement\n", " MV = controller.send([t, PV, SP]) # compute manipulated variable\n", " lab.Q1(MV) # apply \n", " p.update(t) # update information display" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['Time', 'SP', 'T1', 'MV', 'Q1']" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "h.columns" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "< [PID Control with Bumpless Transfer](http://nbviewer.jupyter.org/github/jckantor/CBE30338/blob/master/notebooks/04.03-PID_Control_with_Bumpless_Transfer.ipynb) | [Contents](toc.ipynb) | [Realizable PID Control](http://nbviewer.jupyter.org/github/jckantor/CBE30338/blob/master/notebooks/04.05-Realizable-PID-Control.ipynb) >

\"Open

\"Download\"" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.4" } }, "nbformat": 4, "nbformat_minor": 2 }