{ "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", "< [Implementing PID Controllers with Python Yield Statement](http://nbviewer.jupyter.org/github/jckantor/CBE30338/blob/master/notebooks/04.01-Implementing_PID_Control_with_Python_Yield_Statement.ipynb) | [Contents](toc.ipynb) | [PID Control with Bumpless Transfer](http://nbviewer.jupyter.org/github/jckantor/CBE30338/blob/master/notebooks/04.03-PID_Control_with_Bumpless_Transfer.ipynb) >

\"Open

\"Download\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# PID Control with Setpoint Weighting" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Setpoint 'Kick'\n", "\n", "Our standard form for PID control has been\n", "\n", "\\begin{align}\n", "MV & = \\overline{MV} + K_P (SP - PV) + K_I\\int_0^t (SP - PV)\\ dt' + K_D\\frac{d(SP - PV)}{dt}\n", "\\end{align}\n", "\n", "Our initial implementation of PID control uncovered an issue with this formula when there are sudden changes to the setpoint $SP$. The issue is most obvious in the derivative term where\n", "\n", "\\begin{align}\n", "K_D\\frac{d(SP - PV)}{dt} & \\longrightarrow \\infty\n", "\\end{align}\n", "\n", "for a step change in setpoint. The issue is also evident in the proportional term $K_P (SP - PV)$ which undergoes a step change in value. In process control applications, a step change in the manipulated variable may require sudden and abrupt changes in valve position, process flows, or pressures, all of which can cause significant strain on very large devices.\n", "\n", "This phenomenon is called **setpoint kick** (or sometimes **derivative kick**) which is generally to be avoided." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Setpoint Weighting\n", "\n", "The most common remedy is to introduce setpoint weighting. To this end, the PID control formula is written \n", "\n", "\\begin{align}\n", "MV & = \\overline{MV} + K_P e_P + K_I\\int_0^t e_I\\ dt' + K_D\\frac{de_D}{dt}\n", "\\end{align}\n", "\n", "where the error terms are given by\n", "\n", "\\begin{align*}\n", "e_P(t) & = \\beta\\ SP - PV \\\\\n", "e_I(t) & = SP - PV \\\\\n", "e_D(t) & = \\gamma\\ SP - PV\n", "\\end{align*}\n", "\n", "The effect is to introduce a different error term for each term in the control equation. The integral term remains the same as before, which is necessary in order to force the process variable $PV$ to be equal to the setpoint $SP$ at steady-state. The error terms for the proportional and derivative terms, however, include constants $\\beta$ and $\\gamma$ which are used to modify the response to setpoint changes.\n", "\n", "Common practice is to set $\\gamma = 0$ which entirely eliminates derivative action based on change in the setpoint. When incorporated in PID control, this feature is sometimes called **derivative on output**. This almost always a good idea in process control because it eliminates the 'derivative kick' associated with a quick change in setpoint.\n", "\n", "In practice, the term $\\beta$ is generally tuned to meet the specific application requirements. In this case, where setpoint tracking is not a high priority, setting $\\beta = 0$ is a reasonable starting point." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Implementation of Setpoint Weighting\n", "\n", "The implementation of setpoint weighting is straightforward. The object definition is modified to include additional parameters `beta` and `gamma` with typical default values. Error terms for the proportional and derivative terms are computed explicitly, and in the case of the derivative also saved for the next time step." ] }, { "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", " I = 0\n", " \n", " # initial control\n", " MV = MV_bar\n", " \n", " while True:\n", " # yield MV, wait for new t, SP, PV\n", " t, PV, SP = yield MV\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": "markdown", "metadata": {}, "source": [ "## Simulation\n", "\n", "Let's see how well this PID implementation works. We'll perform the simulation with a setpoint that starts at room temperature, then rises to 50°C at $t = 50$ seconds. The data historian will record values of the setpoint, process variable, computed manipulated variable, and the actual value of the manipulated variable." ] }, { "cell_type": "code", "execution_count": 2, "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(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]) # compute manipulated variable\n", " lab.U1 = MV # apply \n", " p.update(t) # update information display" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "< [Implementing PID Controllers with Python Yield Statement](http://nbviewer.jupyter.org/github/jckantor/CBE30338/blob/master/notebooks/04.01-Implementing_PID_Control_with_Python_Yield_Statement.ipynb) | [Contents](toc.ipynb) | [PID Control with Bumpless Transfer](http://nbviewer.jupyter.org/github/jckantor/CBE30338/blob/master/notebooks/04.03-PID_Control_with_Bumpless_Transfer.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 }