{"id":2610,"date":"2023-10-25T16:59:40","date_gmt":"2023-10-25T16:59:40","guid":{"rendered":"https:\/\/www.thepyroscope.com\/blog\/?p=2610"},"modified":"2023-10-25T17:08:57","modified_gmt":"2023-10-25T17:08:57","slug":"pid-loops-in-boiler-control-systems-part-2-expanded-definitions-of-proportional-and-integral-terms","status":"publish","type":"post","link":"https:\/\/www.thepyroscope.com\/blog\/pid-loops-in-boiler-control-systems-part-2-expanded-definitions-of-proportional-and-integral-terms\/","title":{"rendered":"PID Loops in Boiler Control Systems Part 2: Expanded Definitions of Proportional and Integral Terms"},"content":{"rendered":"\n<p>Now that the basic PID terms have been examined, we can now look deeper into the PID calculations and some less common variations that can be used.<\/p>\n\n\n\n<p><strong>Defining K<sub>P<\/sub><\/strong><\/p>\n\n\n\n<p>In the basic definition of the Proportional Term in Part 1, the Proportional Term was calculated by finding the Error (either SP-PV or PV-SP) and multiplying it by a gain constant. This calculation becomes a little more complicated when determining what K<sub>P<\/sub> actually is. Below are four scenarios for defining K<sub>P<\/sub>.<\/p>\n\n\n\n<p>1. Direct Proportional Gain Constant. One common definition of K<sub>P<\/sub> is as a direct gain constant. The value entered for this constant is directly multiplied by the Error to get the Proportional Term. This is the most straightforward method of calculating \u201cP\u201d.<\/p>\n\n\n\n<p>2. Proportional Band. When a controller uses Proportional Band (PB) to calculate K<sub>P<\/sub> the following equation is used: K<sub>P<\/sub> = 100\/PB. A higher value for Proportional Band will result in a lower K<sub>P<\/sub> and a less sensitive proportional control.<\/p>\n\n\n\n<p>Proportional Band can be thought of as the percentage range difference in the process variable from Setpoint to produce a 0% to 100% change in the Control Output. For example: a proportional-only system that has a 0-100 psi transmitter, a setpoint of 50 psi, a Proportional Band setting of 20.00, and an offset of 50 (50% output is what is expected as the typical load); the resulting Control Output when the PV is 45 psi will be 75%.<\/p>\n\n\n\n<p>Output = (SP \u2013 PV) * (100 \/ PB) + Offset<\/p>\n\n\n\n<p>Output = (50 &#8211; 45) * (100 \/ 20) + 50 = 75<\/p>\n\n\n\n<p>1. Gap Band. When a controller uses a Gap Band for Gain, there will be two settings for calculating K<sub>P<\/sub>. When the Error is within +\/- a selected % of the Setpoint, the smaller of the two values of K<sub>P<\/sub> will be used, and when the Error is outside the selected +\/- of the Setpoint, the greater of the two K<sub>P<\/sub> will be used. This allows the proportional controller to have a greater change to the Control Output when there is a large error, instead of a linear response.<\/p>\n\n\n\n<p>2. Adaptive Gain. Expanding from the dual-gain concept of Gap Band, Adaptive Gain allows further adjustment to K<sub>P<\/sub> than just two discrete settings. Depending on how the control is setup, a full F(x) curve could be used to scale K<sub>P<\/sub> across an error range, or a secondary analog signal could be used.<\/p>\n\n\n\n<p>Of the four methods above, Direct Gain and Proportional band are much more common and are typically adequate for boiler controls.<\/p>\n\n\n\n<p><strong>A Closer Look at the Integral Term<\/strong><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"alignright size-full is-resized\"><a href=\"https:\/\/www.thepyroscope.com\/blog\/wp-content\/uploads\/2023\/10\/Picture1-1.gif\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.thepyroscope.com\/blog\/wp-content\/uploads\/2023\/10\/Picture1-1.gif\" alt=\"\" class=\"wp-image-2613\" width=\"398\" height=\"212\"\/><\/a><\/figure><\/div>\n\n\n<p>As mentioned in Part 1, the Integral term allows the controller to \u201cReset\u201d the proportional control offset over time to account for changes in load demand. The Integral term gets its name from the mathematical function of Integration. Integration is the method of calculating the area under a curve by summing smaller and smaller discrete rectangles below the curve. Consider the \u201cP\u201d term discussed above as a fluctuating trend curve graphed over time. The Integral term essentially integrates this curve with respect to time to apply a time-averaged reset to the proportional control.&nbsp; The controller cannot re-calculate this Integral term in infinitesimally small time chunks, but instead must account for the time it takes to run a full scan of its software program.&nbsp; The frequency that these rectangle chunks are calculated and added into the PID result is determined by the Integral Constant K<sub>I<\/sub> value.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><a href=\"https:\/\/www.thepyroscope.com\/blog\/wp-content\/uploads\/2023\/10\/pid-p2-1-1.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.thepyroscope.com\/blog\/wp-content\/uploads\/2023\/10\/pid-p2-1-1-1024x903.png\" alt=\"\" class=\"wp-image-2614\" width=\"435\" height=\"383\" srcset=\"https:\/\/www.thepyroscope.com\/blog\/wp-content\/uploads\/2023\/10\/pid-p2-1-1-1024x903.png 1024w, https:\/\/www.thepyroscope.com\/blog\/wp-content\/uploads\/2023\/10\/pid-p2-1-1-300x264.png 300w, https:\/\/www.thepyroscope.com\/blog\/wp-content\/uploads\/2023\/10\/pid-p2-1-1-768x677.png 768w, https:\/\/www.thepyroscope.com\/blog\/wp-content\/uploads\/2023\/10\/pid-p2-1-1.png 1063w\" sizes=\"(max-width: 435px) 100vw, 435px\" \/><\/a><\/figure><\/div>\n\n\n<p>The Integral Term is calculated by the following sequence:<\/p>\n\n\n\n<p>1. Calculate the Integral constant K<sub>I<\/sub>. This term takes into account the software scan rate of the controller and the adjustable Integral setting, typically expressed as either repeats-per-minute or as minutes-per-repeat. An example of a controller running at ten scans each second, an Integral setting of 3.00 minutes\/repeat, and a Proportional term \u201cP\u201d of 20 the calculation for that scan would be:<\/p>\n\n\n\n<p>K<sub>I<\/sub>&nbsp; =&nbsp; 1 \/ (3.00 * 60 * 10) =&nbsp; 0.000555\u2026.<\/p>\n\n\n\n<p>2. Multiply the Proportional term \u201cP\u201d by the Integral constant K<sub>I<\/sub> to get the amount to add the Integral term this scan.<\/p>\n\n\n\n<p>\u0394I&nbsp; =&nbsp; 20 * 0.000555\u2026&nbsp; =&nbsp; 0.01111\u2026<\/p>\n\n\n\n<p>This value is added to the Integral term from the previous program scan to become the new Integral term \u201cI\u201d. As the measured SP-PV Error changes, \u201cP\u201d will change and subsequently the calculated \u0394I will change. Notice that if the \u201cP\u201d term remains constant for three consecutive minutes (1800 software scans) in this example, the total \u0394I added to the Output over that 3-minute span will be 20, equal to the \u201cP\u201d term. In a sense, Integral minutes\/repeat can be thought of the amount of time it takes for the PID to add the proportional \u201cP\u201d term to the Output for a constant Error. This is how the steady-state offset of Proportional-only control is corrected or \u201cReset\u201d.<\/p>\n\n\n\n<p>In Part 3 we will look at how PIDs are applied to boiler control systems using the foundation established in Parts 1 and 2.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Now that the basic PID terms have been examined, we can now look deeper into the PID calculations and some less common variations that can be used. Defining KP In the basic definition of the Proportional Term in Part 1, the Proportional Term was calculated by finding the Error (either SP-PV or PV-SP) and multiplying it by a [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":2614,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"content-type":"","footnotes":""},"categories":[10,32],"tags":[],"_links":{"self":[{"href":"https:\/\/www.thepyroscope.com\/blog\/wp-json\/wp\/v2\/posts\/2610"}],"collection":[{"href":"https:\/\/www.thepyroscope.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.thepyroscope.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.thepyroscope.com\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.thepyroscope.com\/blog\/wp-json\/wp\/v2\/comments?post=2610"}],"version-history":[{"count":4,"href":"https:\/\/www.thepyroscope.com\/blog\/wp-json\/wp\/v2\/posts\/2610\/revisions"}],"predecessor-version":[{"id":2631,"href":"https:\/\/www.thepyroscope.com\/blog\/wp-json\/wp\/v2\/posts\/2610\/revisions\/2631"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.thepyroscope.com\/blog\/wp-json\/wp\/v2\/media\/2614"}],"wp:attachment":[{"href":"https:\/\/www.thepyroscope.com\/blog\/wp-json\/wp\/v2\/media?parent=2610"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.thepyroscope.com\/blog\/wp-json\/wp\/v2\/categories?post=2610"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.thepyroscope.com\/blog\/wp-json\/wp\/v2\/tags?post=2610"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}