{"id":9234,"date":"2021-12-12T20:46:59","date_gmt":"2021-12-12T20:46:59","guid":{"rendered":"https:\/\/bryceautomation.com\/?p=9234"},"modified":"2021-12-19T20:35:40","modified_gmt":"2021-12-19T20:35:40","slug":"tuning-simulator-with-enhanced-pid","status":"publish","type":"post","link":"https:\/\/bryceautomation.com\/index.php\/2021\/12\/12\/tuning-simulator-with-enhanced-pid\/","title":{"rendered":"Tuning Simulator with Enhanced PID"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\">Introduction to Tuning the Simulator with an Enhanced PID (PIDE) Instruction<\/h3>\n\n\n\n<p>There are a few things to keep in mind when tuning the simulator with the Enhanced PID (PIDE) Instruction.  First of all, the PIDE uses Function blocks.  You will need to make sure you have activated the Function Block feature of Studio 5000.  Secondly, the PIDE instruction bases it&#8217;s calculations by Velocity.   Velocity PID&#8217;s use change in error rather than error for some calculations.  For example, let&#8217;s say our error is 10%, and controller gain is 1.   When we change the controller gain to 2, there is no immediate change in output.  However, from now on, any change in error will change the proportional output twice as much.<\/p><div id=\"bryce-3444420194\" class=\"bryce-afterfirst bryce-entity-placement\"><script async src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js?client=ca-pub-8316758073402323\" crossorigin=\"anonymous\"><\/script><ins class=\"adsbygoogle\" style=\"display:block;\" data-ad-client=\"ca-pub-8316758073402323\" \ndata-ad-slot=\"7728240895\" \ndata-ad-format=\"auto\"><\/ins>\n<script> \n(adsbygoogle = window.adsbygoogle || []).push({}); \n<\/script>\n<\/div>\n\n\n\n<p>In the last section, we set up the PIDE instruction using a function block.  At this point, we&#8217;ll tune the PIDE.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Set up a Trend Chart<\/h3>\n\n\n\n<p>Before we begin, let&#8217;s create a trend chart that monitors FlowPIDE.SP, FlowPIDE.PV, and FlowPIDE.CV.  Right click the Trends folder to start a trend.  We&#8217;ll just name this as FlowPIDE, and the sample period is 100ms.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"411\" height=\"210\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-57.png\" alt=\"\" class=\"wp-image-9235 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-57.png 411w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-57-300x153.png 300w\" data-sizes=\"(max-width: 411px) 100vw, 411px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 411px; --smush-placeholder-aspect-ratio: 411\/210;\" \/><\/figure>\n\n\n\n<p>On the next screen, choose the scope (program) that your tags reside in.  Add the tags to the &#8220;Tags to Trend&#8221; box.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"207\" height=\"80\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-160.png\" alt=\"\" class=\"wp-image-9467 lazyload\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 207px; --smush-placeholder-aspect-ratio: 207\/80;\" \/><\/figure>\n\n\n\n<p>Click Finish, then go to the chart properties.  Set the X-Axis tab for a time span of 5 minutes.  Likewise, go to the Y-Axis tab, and set the axis for a predefined scale.  This will use the min\/max settings of each pen on the pens tab.  This already defaults as 0 to 100%.<\/p>\n\n\n\n<p>Go to Pens and set up the colors of your tags.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"472\" height=\"105\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-161.png\" alt=\"\" class=\"wp-image-9469 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-161.png 472w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-161-300x67.png 300w\" data-sizes=\"(max-width: 472px) 100vw, 472px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 472px; --smush-placeholder-aspect-ratio: 472\/105;\" \/><\/figure>\n\n\n\n<p>Click &#8220;Run&#8221;.  You should see data on your trend chart, thought it won&#8217;t be doing much just yet.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Initialize the CV for Tuning the Simulator with the Enhanced PID<\/h3>\n\n\n\n<p>Since this is a velocity PID, we&#8217;ll initialize the Control Variable.  That way, it starts off where we would expect it to be.  Right on 0.<\/p>\n\n\n\n<p>First, turn on your FlowProgProg bit.  The FlowAutoReq is still 0.  <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"330\" height=\"45\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-162.png\" alt=\"\" class=\"wp-image-9470 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-162.png 330w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-162-300x41.png 300w\" data-sizes=\"(max-width: 330px) 100vw, 330px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 330px; --smush-placeholder-aspect-ratio: 330\/45;\" \/><\/figure>\n\n\n\n<p>This should now have the instruction in Manual Mode.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"149\" height=\"177\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-66.png\" alt=\"\" class=\"wp-image-9248 lazyload\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 149px; --smush-placeholder-aspect-ratio: 149\/177;\" \/><\/figure>\n\n\n\n<p>Next, go to the configuration of the instruction with the ellipsis.  Turn on the CVInitReq bit, hit enter, then shut it back off, and hit enter.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"389\" height=\"117\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-67.png\" alt=\"\" class=\"wp-image-9249 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-67.png 389w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-67-300x90.png 300w\" data-sizes=\"(max-width: 389px) 100vw, 389px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 389px; --smush-placeholder-aspect-ratio: 389\/117;\" \/><\/figure>\n\n\n\n<p>This should have initialized the PIDE instructions&#8217; Control Variable to a value of 0.<\/p>\n\n\n\n<p>Now, turn on your LevelProgAutoReq bit.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"327\" height=\"49\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-114.png\" alt=\"\" class=\"wp-image-9382 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-114.png 327w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-114-300x45.png 300w\" data-sizes=\"(max-width: 327px) 100vw, 327px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 327px; --smush-placeholder-aspect-ratio: 327\/49;\" \/><\/figure>\n\n\n\n<p>We should now be fully functioning in Auto Mode.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Tuning for Kc<\/h4>\n\n\n\n<p>Remember our goal is to increase the value of Kc until the loop becomes unstable.  Once the loop becomes unstable, we&#8217;ll record the natural period.  We&#8217;ll use the natural period for other settings later on.  After we record the natural period, we will cut Kc in half.<\/p>\n\n\n\n<p>Start your trend chart, so we can start recording data.  Minimize your trend chart.<\/p>\n\n\n\n<p>To begin, set  your load to 10% on the Flow simulator.<\/p>\n\n\n\n<p>In the properties of your PIDE instruction, we&#8217;ll set the Kc to 0.25.  Let&#8217;s see what happens on the trend chart.<\/p>\n\n\n\n<p>Perform an online edit, and change the setpoint to 50.  We&#8217;ll leave the setpoint at 50 for the rest of this exercise.<\/p>\n\n\n\n<p>As  you can see, our Control Variable increased, and everything appears to be stable.  You will have some normal, small fluctuations in a flow process.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"270\" height=\"114\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-116.png\" alt=\"\" class=\"wp-image-9387 lazyload\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 270px; --smush-placeholder-aspect-ratio: 270\/114;\" \/><\/figure>\n\n\n\n<p>Let&#8217;s increase Kc to 0.5.  After that, let&#8217;s cause a disturbance by increasing the load to 50%.  Watch the graph, then reduce the load back to 10%.<\/p>\n\n\n\n<p>As you can see, the loop is still stable.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"365\" height=\"145\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-117.png\" alt=\"\" class=\"wp-image-9389 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-117.png 365w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-117-300x119.png 300w\" data-sizes=\"(max-width: 365px) 100vw, 365px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 365px; --smush-placeholder-aspect-ratio: 365\/145;\" \/><\/figure>\n\n\n\n<p>Let&#8217;s perform the same experiment with Kc at 1.  Try to change your load to 50% after changing the controller gain.  If the PV Settles, change the load back to 10%.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"290\" height=\"135\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-118.png\" alt=\"\" class=\"wp-image-9390 lazyload\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 290px; --smush-placeholder-aspect-ratio: 290\/135;\" \/><\/figure>\n\n\n\n<p>We started to see a slight overshoot from where the process variable will eventually settle.   Let&#8217;s increase Kc to 1.5, and observe the results.  Test your transition to 50%, then back to 10% again.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"355\" height=\"137\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-119.png\" alt=\"\" class=\"wp-image-9391 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-119.png 355w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-119-300x116.png 300w\" data-sizes=\"(max-width: 355px) 100vw, 355px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 355px; --smush-placeholder-aspect-ratio: 355\/137;\" \/><\/figure>\n\n\n\n<p>As you can see.  We survived the transition to 50%, however, we became unstable during the load transition back to 10%.   Let&#8217;s record the natural period.  In this case, it&#8217;s around 10 seconds, which is .17 minutes.   We will use this value for calculating the integral, and derivative later on.   For now, it appears that our best value for Kc is around 0.75.<\/p>\n\n\n\n<p><strong><em>Notice that the peaks of the PV and CV are 180 degrees out of phase.  When a loop is unstable, and the peaks are directly opposite of each other, the instability is from Proportional Gain.  On the other hand if the peaks are offset by just 90 degrees, the instability is usually from your integral setting<\/em><\/strong>.  <strong><em>If your integral is too high, the PV follows the CV slightly when the loop is unstable.<\/em><\/strong><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Finding Ti for Tuning the Simulator with Enhanced PID<\/h3>\n\n\n\n<p>Obviously, our Kc value is now stable (except for minor variations in flow).  However, our process variable is far below our setpoint of 50.  The integral action will make up the difference.   The integral ads to the process variable every so often based on error.  How often this happens will be our setting for the Ti Variable.  The units for Ti are in Minutes per Repeat.  Again, a repeat is based on how much error we have.  As the error gets smaller, Integral still adds to the control variable.  If the process variable crosses the setpoint, then the integral action is negative.  It is recommended to set Ti to the natural period in minutes of the oscillations.  In this case, we&#8217;ll set Ti to 0.17 and observe what happens.  Remember, Kc is at 0.75 now.<\/p>\n\n\n\n<p>Once your loop stabilizes, try a load transition to 50%.   Observe your chart, then set the load back to 10% after it stabilizes.  You might want to change your X axis to a span of 15 or 20 Minutes to observe the progress of our changes.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"550\" height=\"502\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-120.png\" alt=\"\" class=\"wp-image-9392 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-120.png 550w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-120-300x274.png 300w\" data-sizes=\"(max-width: 550px) 100vw, 550px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 550px; --smush-placeholder-aspect-ratio: 550\/502;\" \/><\/figure>\n\n\n\n<p>Obviously, fast load transitions cause a lot of error.  However, your settings are able to correct for this error, and bring the Process Variable back to the Setpoint.  If our process cannot handle this much error, then we simply need to slow down the load transitions.  We could run into danger of overfilling the tank.  You could prevent a disastrous event by cutting off the feed pump if the level nears 100%.  Another option is to divert the excess into another tank.<\/p>\n\n\n\n<p>If you are using Independent mode, then your variable is Ki.  This is usually in repeats per minute, or repeats per second.  For repeats per minute, simply use this formula.  Ki=Kc\/(Ti*60).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"> Finding Td for Tuning the Simulator with Enhanced PID (Derivative)<\/h3>\n\n\n\n<p>Usually, you will not use derivative in a flow control process.  As you can see, the process variable is a bit noisy.  This can cause excessive control action.  Derivative is predictive.  Derivative is based on the rate of change of the process variable (or error).  Think of derivative as opposing a change in error.  This applies whether the slope is positive, or negative.  By setting derivative, we set up how far into the future we want to predict.  Based on a given slope, a prediction over a longer time will have more effect on your control variable.  As a rule of thumb, Td = 1\/8th of the natural period.  In other words, 1\/8th of Ti.  In this case, that would be about 0.02.   Add derivative, and see what happens during your load transition to 50%, and then test the load transition back to 10%.<\/p>\n\n\n\n<p>Aside from the derivative action causing the control action to be all over the place, it took us longer to get to the setpoint.  This is because the derivative action opposes a change in the process variable (as per our configuration settings).  Another option is for derivative action to oppose a change in error.  <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"584\" height=\"373\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-74.png\" alt=\"\" class=\"wp-image-9261 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-74.png 584w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-74-300x192.png 300w\" data-sizes=\"(max-width: 584px) 100vw, 584px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 584px; --smush-placeholder-aspect-ratio: 584\/373;\" \/><\/figure>\n\n\n\n<p>Obviously, we have an overactive control variable.  Derivative smoothing could help with this.  In the properties of your PIDE instruction, turn on Derivative Smoothing.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"573\" height=\"170\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-121.png\" alt=\"\" class=\"wp-image-9395 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-121.png 573w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-121-300x89.png 300w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-121-570x170.png 570w\" data-sizes=\"(max-width: 573px) 100vw, 573px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 573px; --smush-placeholder-aspect-ratio: 573\/170;\" \/><\/figure>\n\n\n\n<p>Perform your transitions to 50% then back to 10% again.<\/p>\n\n\n\n<p>You will see that it does help, but we still have a lot of activity on the control variable.   Normally, in a flow process, we&#8217;ll just leave the derivative at 0.  Go to the properties of the PIDE instruction to turn off the derivative action.<\/p>\n\n\n\n<p>If you are using Independent mode, then use this formula to convert Td to Kd in ControlLogix.  <\/p>\n\n\n\n<p>Kd = Kc * Td * 60<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Summary<\/h3>\n\n\n\n<p>To Summarize, we simply raised Kc until the process variable was unstable in certain load transitions.  That that point, we recorded the natural period.   We reduced Kc to half.  We set the Ti variable to the natural period in minutes.  Derivative would be 1\/8th of Ti if we decide to use it.  <\/p>\n\n\n\n<p>&#8212; Ricky Bryce<\/p>\n<div id=\"bryce-2012490742\" class=\"bryce-after-content bryce-entity-placement\"><script async src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js?client=ca-pub-8316758073402323\" crossorigin=\"anonymous\"><\/script><ins class=\"adsbygoogle\" style=\"display:block;\" data-ad-client=\"ca-pub-8316758073402323\" \ndata-ad-slot=\"4667596182\" \ndata-ad-format=\"auto\"><\/ins>\n<script> \n(adsbygoogle = window.adsbygoogle || []).push({}); \n<\/script>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>Introduction to Tuning the Simulator with an Enhanced PID (PIDE) Instruction There are a few things to keep in mind when tuning the simulator with the Enhanced PID (PIDE) Instruction. First of all, the PIDE uses Function blocks. You will need to make sure you have activated the Function Block feature of Studio 5000. Secondly, <a class=\"moretag btn btn-primary\" href=\"https:\/\/bryceautomation.com\/index.php\/2021\/12\/12\/tuning-simulator-with-enhanced-pid\/\">Read More \u00bb<\/a><\/p>\n","protected":false},"author":1,"featured_media":9227,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,410],"tags":[407,247],"class_list":{"0":"post-9234","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-controllogix","8":"category-pid","9":"tag-enhanced-pid","10":"tag-pide","11":"czr-hentry"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Tuning Simulator with Enhanced PID - Bryce Automation<\/title>\n<meta name=\"description\" content=\"Initializing and Tuning the Simulator with an Enhanced PID Instruction. We&#039;ll find the best value for Kc, Ti, and Td under load transitions.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/bryceautomation.com\/index.php\/2021\/12\/12\/tuning-simulator-with-enhanced-pid\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Tuning Simulator with Enhanced PID - Bryce Automation\" \/>\n<meta property=\"og:description\" content=\"Initializing and Tuning the Simulator with an Enhanced PID Instruction. We&#039;ll find the best value for Kc, Ti, and Td under load transitions.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/bryceautomation.com\/index.php\/2021\/12\/12\/tuning-simulator-with-enhanced-pid\/\" \/>\n<meta property=\"og:site_name\" content=\"Bryce Automation\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/ricky.bryce.7\" \/>\n<meta property=\"article:published_time\" content=\"2021-12-12T20:46:59+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-12-19T20:35:40+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-52.png\" \/>\n\t<meta property=\"og:image:width\" content=\"517\" \/>\n\t<meta property=\"og:image:height\" content=\"376\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Ricky\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2021\\\/12\\\/12\\\/tuning-simulator-with-enhanced-pid\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2021\\\/12\\\/12\\\/tuning-simulator-with-enhanced-pid\\\/\"},\"author\":{\"name\":\"Ricky\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/#\\\/schema\\\/person\\\/5d5b0f6f6ad768f1ee52968338e63af7\"},\"headline\":\"Tuning Simulator with Enhanced PID\",\"datePublished\":\"2021-12-12T20:46:59+00:00\",\"dateModified\":\"2021-12-19T20:35:40+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2021\\\/12\\\/12\\\/tuning-simulator-with-enhanced-pid\\\/\"},\"wordCount\":1429,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2021\\\/12\\\/12\\\/tuning-simulator-with-enhanced-pid\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/uploads\\\/2021\\\/12\\\/image-52.png\",\"keywords\":[\"Enhanced PID\",\"PIDE\"],\"articleSection\":[\"ControlLogix\",\"PID\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2021\\\/12\\\/12\\\/tuning-simulator-with-enhanced-pid\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2021\\\/12\\\/12\\\/tuning-simulator-with-enhanced-pid\\\/\",\"url\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2021\\\/12\\\/12\\\/tuning-simulator-with-enhanced-pid\\\/\",\"name\":\"Tuning Simulator with Enhanced PID - Bryce Automation\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2021\\\/12\\\/12\\\/tuning-simulator-with-enhanced-pid\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2021\\\/12\\\/12\\\/tuning-simulator-with-enhanced-pid\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/uploads\\\/2021\\\/12\\\/image-52.png\",\"datePublished\":\"2021-12-12T20:46:59+00:00\",\"dateModified\":\"2021-12-19T20:35:40+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/#\\\/schema\\\/person\\\/5d5b0f6f6ad768f1ee52968338e63af7\"},\"description\":\"Initializing and Tuning the Simulator with an Enhanced PID Instruction. We'll find the best value for Kc, Ti, and Td under load transitions.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2021\\\/12\\\/12\\\/tuning-simulator-with-enhanced-pid\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2021\\\/12\\\/12\\\/tuning-simulator-with-enhanced-pid\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2021\\\/12\\\/12\\\/tuning-simulator-with-enhanced-pid\\\/#primaryimage\",\"url\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/uploads\\\/2021\\\/12\\\/image-52.png\",\"contentUrl\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/uploads\\\/2021\\\/12\\\/image-52.png\",\"width\":517,\"height\":376,\"caption\":\"PIDE\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2021\\\/12\\\/12\\\/tuning-simulator-with-enhanced-pid\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/bryceautomation.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Tuning Simulator with Enhanced PID\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/#website\",\"url\":\"https:\\\/\\\/bryceautomation.com\\\/\",\"name\":\"Bryce Automation\",\"description\":\"Automating Home and Industry...\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/bryceautomation.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/#\\\/schema\\\/person\\\/5d5b0f6f6ad768f1ee52968338e63af7\",\"name\":\"Ricky\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/wphb-cache\\\/gravatar\\\/a8f\\\/a8fe6bf79d292b388ffee281ccb12488x96.jpg\",\"url\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/wphb-cache\\\/gravatar\\\/a8f\\\/a8fe6bf79d292b388ffee281ccb12488x96.jpg\",\"contentUrl\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/wphb-cache\\\/gravatar\\\/a8f\\\/a8fe6bf79d292b388ffee281ccb12488x96.jpg\",\"caption\":\"Ricky\"},\"sameAs\":[\"http:\\\/\\\/bryceautomation.com\",\"https:\\\/\\\/www.facebook.com\\\/ricky.bryce.7\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/ricky-bryce-4367a416\\\/\"],\"url\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/author\\\/ricky\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Tuning Simulator with Enhanced PID - Bryce Automation","description":"Initializing and Tuning the Simulator with an Enhanced PID Instruction. We'll find the best value for Kc, Ti, and Td under load transitions.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/bryceautomation.com\/index.php\/2021\/12\/12\/tuning-simulator-with-enhanced-pid\/","og_locale":"en_US","og_type":"article","og_title":"Tuning Simulator with Enhanced PID - Bryce Automation","og_description":"Initializing and Tuning the Simulator with an Enhanced PID Instruction. We'll find the best value for Kc, Ti, and Td under load transitions.","og_url":"https:\/\/bryceautomation.com\/index.php\/2021\/12\/12\/tuning-simulator-with-enhanced-pid\/","og_site_name":"Bryce Automation","article_author":"https:\/\/www.facebook.com\/ricky.bryce.7","article_published_time":"2021-12-12T20:46:59+00:00","article_modified_time":"2021-12-19T20:35:40+00:00","og_image":[{"width":517,"height":376,"url":"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-52.png","type":"image\/png"}],"author":"Ricky","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/bryceautomation.com\/index.php\/2021\/12\/12\/tuning-simulator-with-enhanced-pid\/#article","isPartOf":{"@id":"https:\/\/bryceautomation.com\/index.php\/2021\/12\/12\/tuning-simulator-with-enhanced-pid\/"},"author":{"name":"Ricky","@id":"https:\/\/bryceautomation.com\/#\/schema\/person\/5d5b0f6f6ad768f1ee52968338e63af7"},"headline":"Tuning Simulator with Enhanced PID","datePublished":"2021-12-12T20:46:59+00:00","dateModified":"2021-12-19T20:35:40+00:00","mainEntityOfPage":{"@id":"https:\/\/bryceautomation.com\/index.php\/2021\/12\/12\/tuning-simulator-with-enhanced-pid\/"},"wordCount":1429,"commentCount":0,"image":{"@id":"https:\/\/bryceautomation.com\/index.php\/2021\/12\/12\/tuning-simulator-with-enhanced-pid\/#primaryimage"},"thumbnailUrl":"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-52.png","keywords":["Enhanced PID","PIDE"],"articleSection":["ControlLogix","PID"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/bryceautomation.com\/index.php\/2021\/12\/12\/tuning-simulator-with-enhanced-pid\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/bryceautomation.com\/index.php\/2021\/12\/12\/tuning-simulator-with-enhanced-pid\/","url":"https:\/\/bryceautomation.com\/index.php\/2021\/12\/12\/tuning-simulator-with-enhanced-pid\/","name":"Tuning Simulator with Enhanced PID - Bryce Automation","isPartOf":{"@id":"https:\/\/bryceautomation.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/bryceautomation.com\/index.php\/2021\/12\/12\/tuning-simulator-with-enhanced-pid\/#primaryimage"},"image":{"@id":"https:\/\/bryceautomation.com\/index.php\/2021\/12\/12\/tuning-simulator-with-enhanced-pid\/#primaryimage"},"thumbnailUrl":"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-52.png","datePublished":"2021-12-12T20:46:59+00:00","dateModified":"2021-12-19T20:35:40+00:00","author":{"@id":"https:\/\/bryceautomation.com\/#\/schema\/person\/5d5b0f6f6ad768f1ee52968338e63af7"},"description":"Initializing and Tuning the Simulator with an Enhanced PID Instruction. We'll find the best value for Kc, Ti, and Td under load transitions.","breadcrumb":{"@id":"https:\/\/bryceautomation.com\/index.php\/2021\/12\/12\/tuning-simulator-with-enhanced-pid\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/bryceautomation.com\/index.php\/2021\/12\/12\/tuning-simulator-with-enhanced-pid\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/bryceautomation.com\/index.php\/2021\/12\/12\/tuning-simulator-with-enhanced-pid\/#primaryimage","url":"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-52.png","contentUrl":"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-52.png","width":517,"height":376,"caption":"PIDE"},{"@type":"BreadcrumbList","@id":"https:\/\/bryceautomation.com\/index.php\/2021\/12\/12\/tuning-simulator-with-enhanced-pid\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/bryceautomation.com\/"},{"@type":"ListItem","position":2,"name":"Tuning Simulator with Enhanced PID"}]},{"@type":"WebSite","@id":"https:\/\/bryceautomation.com\/#website","url":"https:\/\/bryceautomation.com\/","name":"Bryce Automation","description":"Automating Home and Industry...","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/bryceautomation.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/bryceautomation.com\/#\/schema\/person\/5d5b0f6f6ad768f1ee52968338e63af7","name":"Ricky","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/bryceautomation.com\/wp-content\/wphb-cache\/gravatar\/a8f\/a8fe6bf79d292b388ffee281ccb12488x96.jpg","url":"https:\/\/bryceautomation.com\/wp-content\/wphb-cache\/gravatar\/a8f\/a8fe6bf79d292b388ffee281ccb12488x96.jpg","contentUrl":"https:\/\/bryceautomation.com\/wp-content\/wphb-cache\/gravatar\/a8f\/a8fe6bf79d292b388ffee281ccb12488x96.jpg","caption":"Ricky"},"sameAs":["http:\/\/bryceautomation.com","https:\/\/www.facebook.com\/ricky.bryce.7","https:\/\/www.linkedin.com\/in\/ricky-bryce-4367a416\/"],"url":"https:\/\/bryceautomation.com\/index.php\/author\/ricky\/"}]}},"_links":{"self":[{"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/posts\/9234","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/comments?post=9234"}],"version-history":[{"count":0,"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/posts\/9234\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/media\/9227"}],"wp:attachment":[{"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/media?parent=9234"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/categories?post=9234"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/tags?post=9234"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}