{"id":9585,"date":"2021-12-21T19:03:23","date_gmt":"2021-12-21T19:03:23","guid":{"rendered":"https:\/\/bryceautomation.com\/?p=9585"},"modified":"2021-12-22T13:36:31","modified_gmt":"2021-12-22T13:36:31","slug":"tuning-plantpax-p_pide-with-simulator","status":"publish","type":"post","link":"https:\/\/bryceautomation.com\/index.php\/2021\/12\/21\/tuning-plantpax-p_pide-with-simulator\/","title":{"rendered":"Tuning PlantPAx P_PIDE with Simulator"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\">Introduction to Tuning PlantPAx P_PIDE with Simulator<\/h3>\n\n\n\n<p>Before Tuning PlantPAx P_PIDE, please reset your simulator.  This way, we&#8217;ll get back to a known configuration.  To reset the simulator, use your test button until you get to the reset option.  Then press Up then TEST again.<\/p><div id=\"bryce-2069472751\" 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 sections, we&#8217;ve already set up our <a href=\"https:\/\/bryceautomation.com\/index.php\/2021\/12\/20\/function-blocks-for-plantpax-pid\/\">function block logic<\/a> and <a href=\"https:\/\/bryceautomation.com\/index.php\/2021\/12\/20\/adding-plantpax-objects-for-pid\/\">HMI displays. <\/a> Additionally, we <a href=\"https:\/\/bryceautomation.com\/index.php\/2021\/12\/21\/associating-plantpax-objects-for-pid\/\">pointed the HMI Objects to tags<\/a> in the processor, and scaled our <a href=\"https:\/\/bryceautomation.com\/index.php\/2021\/12\/21\/configuring-plantpax-objects-for-pid\/\">analog values.<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Configure the PID Faceplate<\/h3>\n\n\n\n<p>First of all, be sure your P_AOut instruction is in program control mode.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"259\" height=\"145\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-212.png\" alt=\"\" class=\"wp-image-9599 lazyload\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 259px; --smush-placeholder-aspect-ratio: 259\/145;\" \/><\/figure>\n\n\n\n<p>Before we begin, we need to set up a few things on the P_PIDE faceplate.  First of all, let&#8217;s set up our Tag and Label.  That way, we are sure which PID we are working on.<\/p>\n\n\n\n<p>Go to Maintenance | Advanced Properties | HMI Configuration.  We&#8217;ll simply name this as FlowPIDE.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"475\" height=\"214\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-207.png\" alt=\"\" class=\"wp-image-9594 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-207.png 475w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-207-300x135.png 300w\" data-sizes=\"(max-width: 475px) 100vw, 475px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 475px; --smush-placeholder-aspect-ratio: 475\/214;\" \/><\/figure>\n\n\n\n<p>Next, we&#8217;ll set up which PID Equation we wish to use.  Independent mode calculates P, I, and D separately.  With Dependent mode, a change in P affects the rest of the equation as well.  You are probably using both types in various equipment.  Independent is more traditional, but there are still a lot of independent PID loops.  Basically, the equation you use depends on your preference.<\/p>\n\n\n\n<p>For this exercise, we will use Dependent mode.  Keep in mind the equation we use will affect our final values for Integral and Derivative.  On the engineering tab, go to page 4.  Set your mode to dependent.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img decoding=\"async\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-208.png\" alt=\"\" class=\"wp-image-9595 lazyload\" width=\"262\" height=\"209\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-208.png 481w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-208-300x240.png 300w\" data-sizes=\"(max-width: 262px) 100vw, 262px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 262px; --smush-placeholder-aspect-ratio: 262\/209;\" \/><\/figure>\n\n\n\n<p>Additionally, on this page, you will set the action.  Forward acting or reverse acting.  This is how the PID calculates the error.  For this simulation, we want reverse acting.  We need more output to reduce the error.  Remember, the error is not absolute.  That is to say, if the process variable crosses the setpoint, the error becomes negative (in which case, the error is still getting lower).<\/p>\n\n\n\n<p>At last, you are ready to tune the loop.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Find Kc<\/h3>\n\n\n\n<p>For this exercise, we&#8217;ll use a heuristic method.  In other words, we&#8217;ll use trial and error.  This is usually the fastest way to tune the loop.  It&#8217;s important to realize that a heuristic method is not random.  We simply find the critical value of proportional gain that causes instability.  We know the loop is unstable when we have continuous oscillations.<\/p>\n\n\n\n<p>To begin, let&#8217;s set the load on your flow simulator to 20%.<\/p>\n\n\n\n<p>We are still in operator control mode.<\/p>\n\n\n\n<p>On the tuning tab, enter an operator setpoint of 50%.  In the same way, set the Proportional Gain (Kc) to 1.   Integral and derivative are zero.   Let&#8217;s observe the result of our settings.  <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"361\" height=\"179\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-209.png\" alt=\"\" class=\"wp-image-9596 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-209.png 361w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-209-300x149.png 300w\" data-sizes=\"(max-width: 361px) 100vw, 361px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 361px; --smush-placeholder-aspect-ratio: 361\/179;\" \/><\/figure>\n\n\n\n<p>Switch to Auto Mode.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"54\" height=\"103\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-210.png\" alt=\"\" class=\"wp-image-9597 lazyload\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 54px; --smush-placeholder-aspect-ratio: 54\/103;\" \/><\/figure>\n\n\n\n<p>As you can see, nothing happens.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"246\" height=\"156\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-211.png\" alt=\"\" class=\"wp-image-9598 lazyload\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 246px; --smush-placeholder-aspect-ratio: 246\/156;\" \/><\/figure>\n\n\n\n<p>The reason nothing happens is because this loop is based on velocity.  In other words, the change in the control variable will only happen if we have a change in error.  Since there is no change in error, any value we apply to Kc at this point will not move the process variable.   We need to go to manual mode, and find an output value that will raise our process variable to a point that we can tune the loop.<\/p>\n\n\n\n<p>Switch back to Manual mode, and place a value of 25 into the CV.  By slowly raising the CV, I&#8217;ve found that 25% output will bring our process variable into mid range for tuning.<\/p>\n\n\n\n<p>Now, switch back to auto mode.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Kc=1<\/h4>\n\n\n\n<p>At this point, we need to apply a step change.   This way we can observe the effects of disturbances in the system.  We can do this by changing the setpoint, or the load.  For this example, let&#8217;s just decrease the setpoint to 25%.  Keep in mind, we are still in operator mode.  This means that we can change the setpoint from the faceplate.<\/p>\n\n\n\n<p>As you can see, we had a disturbance in our system.  The process variable did finally settle on a value, and is stable.  <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"251\" height=\"175\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-213.png\" alt=\"\" class=\"wp-image-9600 lazyload\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 251px; --smush-placeholder-aspect-ratio: 251\/175;\" \/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Kc=1.5<\/h4>\n\n\n\n<p>Since we did see a few &#8220;hops&#8221; in the process variable, this means we are probably getting close to the critical value for Kc.  Let&#8217;s increase Kc slightly to 1.5, and move the setpoint back to 50%.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"255\" height=\"170\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-214.png\" alt=\"\" class=\"wp-image-9601 lazyload\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 255px; --smush-placeholder-aspect-ratio: 255\/170;\" \/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Kc=1.75<\/h4>\n\n\n\n<p>We are definitely approaching instability.  Let&#8217;s try 1.75.  Again, reduce your setpoint to 25.<\/p>\n\n\n\n<p>As you can see, a Kc setting of 1.75 did cause continuous instability.<\/p>\n\n\n\n<p>At this point, we need to record the natural period, then decrease Kc by half.  Meanwhile, we will record the natural period.  This is the number of minutes it takes to get from peak to peak of trough to trough.  Basically, this is 10 seconds.  This would be 0.17 minutes.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"173\" height=\"111\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-215.png\" alt=\"\" class=\"wp-image-9602 lazyload\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 173px; --smush-placeholder-aspect-ratio: 173\/111;\" \/><\/figure>\n\n\n\n<p>Reduce Kc by half, to 0.88<\/p>\n\n\n\n<p>Let&#8217;s apply your step change with a setpoint of 50.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img decoding=\"async\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-216.png\" alt=\"\" class=\"wp-image-9604 lazyload\" width=\"150\" height=\"137\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 150px; --smush-placeholder-aspect-ratio: 150\/137;\" \/><\/figure>\n\n\n\n<p>As soon as we applied our new value for Kc, we became stable very quickly.  Notice we are still below the setpoint.  We&#8217;ll fix that when we add integral.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Calculate Integral-Ti (Tuning PlantPAx P_PIDE with Simulator)<\/h3>\n\n\n\n<p>Most controllers simply use Proportional and Integral.  In short, Kc alone does not usually hold the setpoint.<\/p>\n\n\n\n<p>As a rule of thumb, our Ti in minutes per repeat will be equal to the natural period (which is .17).  Keep in mind, this is simply a starting point.   We use Ti in the dependent equation.  If you use independent mode, then we need to convert Ti to Ki.  Always pay attention to the units.  If your Ki is in repeats per minute, then use the following formula:  Ki=Kc\/(Ti*60).  If your controller uses repeats per minute, then simply use Kc\/Ti.<\/p>\n\n\n\n<p>Let&#8217;s enter .17 for integral, and then apply some step changes.  We&#8217;ll drop the setpoint to 25%, and the PID should recover, and your process variable should be around 25.  After that, raise the setpoint back to 50%.  Observe how the PID responds.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"228\" height=\"133\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-217.png\" alt=\"\" class=\"wp-image-9606 lazyload\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 228px; --smush-placeholder-aspect-ratio: 228\/133;\" \/><\/figure>\n\n\n\n<p>Clearly, we recovered from the disturbance.  However, we do have some minor fluctuations until the Process Variable settles.  Let&#8217;s see if we can fix that by reducing Kc somewhat.  Let&#8217;s try Kc=0.75.  Try your transitions again.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"377\" height=\"129\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-218.png\" alt=\"\" class=\"wp-image-9607 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-218.png 377w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-218-300x103.png 300w\" data-sizes=\"(max-width: 377px) 100vw, 377px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 377px; --smush-placeholder-aspect-ratio: 377\/129;\" \/><\/figure>\n\n\n\n<p>As you can see, we basically have one less hop when the setpoint was at 50.   This time, leave your setpoint as is, and we&#8217;ll cause a disturbance by changing the load.  We&#8217;ll make sure the loop is still stable under load transitions.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"266\" height=\"139\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-219.png\" alt=\"\" class=\"wp-image-9608 lazyload\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 266px; --smush-placeholder-aspect-ratio: 266\/139;\" \/><\/figure>\n\n\n\n<p>The characteristics of the load changes are different from the setpoint changes.  However, we are still able to maintain the setpoint.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Calculate Derivate&#8211;Td  (Tuning PlantPAx P_PIDE with Simulator) <\/h3>\n\n\n\n<p>Generally, you will not use derivative often unless you have a special purpose for it in your plant.  Derivative anticipates future error.  It does this based on the slope of the process variable (or error depending on your settings).  Derivative opposes a change in the process variable.  It works by extending the slope to find what the error will be in the future.  Obviously, for any slope, the further we predict into the future, the more effect derivative will have.<\/p>\n\n\n\n<p>For dependent mode, we simply divide Ti by 8 to get Td.  If you use independent mode, then follow this equation for Td in Minutes:  Kd = Kc * Td * 60  As I&#8217;ve said before, if your units are in seconds instead of minutes, then your formula would just be Kc * Td.<\/p>\n\n\n\n<p>Since our natural period was .17 minutes, we need 1\/8th of that amount for our Td.   In this case, the value is .02.<\/p>\n\n\n\n<p>Let&#8217;s add .02 as our derivative and watch the result.<\/p>\n\n\n\n<p>Check your load transitions to 50%, then back to 25% to cause a disturbance.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img decoding=\"async\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-220.png\" alt=\"\" class=\"wp-image-9610 lazyload\" width=\"222\" height=\"131\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 222px; --smush-placeholder-aspect-ratio: 222\/131;\" \/><\/figure>\n\n\n\n<p>We were able to get to the setpoint, however, we have excessive controller action.  This could cause excessive wear on the control equipment.  In turn, this requires extra maintenance.  A better way to anticipate load transitions is usually with Feed Forward (FF).  We&#8217;ll discuss this in a later session.  For now, let&#8217;s remove the derivative, and set the value to 0.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Summary<\/h3>\n\n\n\n<p>In short, we simply found the value of Kc that causes continuous oscillations.  At this point, we record the natural period, and cut Kc in half.  After that, we use the natural period in minutes as our Ti variable.  Likewise, we use 1\/8th of the natural period for Td if we decide to use it.  If your controller has Ki and Kd variables, you are probably using independent mode.  In that case follow the formulas above for conversion to those variables.<\/p>\n\n\n\n<p>Keep in Mind that if you are in program control mode, your program will control the setpoint.  Usually, you will do this by making PSet_SP visible, and feed a value into this node from your logic.  Additionally, in a cascading configuration, the master PID loop would change the cascade setpoint of the instruction.  In the next section, we&#8217;ll cover <a href=\"https:\/\/bryceautomation.com\/index.php\/2021\/12\/22\/cascading-pid-with-plantpax\/\">cascading PID in PlantPAx.<\/a><\/p>\n\n\n\n<p>&#8212; Ricky Bryce<\/p>\n<div id=\"bryce-4083028399\" 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 PlantPAx P_PIDE with Simulator Before Tuning PlantPAx P_PIDE, please reset your simulator. This way, we&#8217;ll get back to a known configuration. To reset the simulator, use your test button until you get to the reset option. Then press Up then TEST again. In the last sections, we&#8217;ve already set up our function <a class=\"moretag btn btn-primary\" href=\"https:\/\/bryceautomation.com\/index.php\/2021\/12\/21\/tuning-plantpax-p_pide-with-simulator\/\">Read More \u00bb<\/a><\/p>\n","protected":false},"author":1,"featured_media":9596,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[410,195],"tags":[48,196,418],"class_list":{"0":"post-9585","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-pid","8":"category-plantpax","9":"tag-pid","10":"tag-plantpax","11":"tag-tuning-p_pide","12":"czr-hentry"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Tuning PlantPAx P_PIDE with Simulator - Bryce Automation<\/title>\n<meta name=\"description\" content=\"Tuning PlantPAx P_PIDE with Simulator -- We&#039;ll find the best values for Proportional, Integral, and Derivative.\" \/>\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\/21\/tuning-plantpax-p_pide-with-simulator\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Tuning PlantPAx P_PIDE with Simulator - Bryce Automation\" \/>\n<meta property=\"og:description\" content=\"Tuning PlantPAx P_PIDE with Simulator -- We&#039;ll find the best values for Proportional, Integral, and Derivative.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/bryceautomation.com\/index.php\/2021\/12\/21\/tuning-plantpax-p_pide-with-simulator\/\" \/>\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-21T19:03:23+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-12-22T13:36:31+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-209.png\" \/>\n\t<meta property=\"og:image:width\" content=\"361\" \/>\n\t<meta property=\"og:image:height\" content=\"179\" \/>\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\\\/21\\\/tuning-plantpax-p_pide-with-simulator\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2021\\\/12\\\/21\\\/tuning-plantpax-p_pide-with-simulator\\\/\"},\"author\":{\"name\":\"Ricky\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/#\\\/schema\\\/person\\\/5d5b0f6f6ad768f1ee52968338e63af7\"},\"headline\":\"Tuning PlantPAx P_PIDE with Simulator\",\"datePublished\":\"2021-12-21T19:03:23+00:00\",\"dateModified\":\"2021-12-22T13:36:31+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2021\\\/12\\\/21\\\/tuning-plantpax-p_pide-with-simulator\\\/\"},\"wordCount\":1467,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2021\\\/12\\\/21\\\/tuning-plantpax-p_pide-with-simulator\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/uploads\\\/2021\\\/12\\\/image-209.png\",\"keywords\":[\"PID\",\"PlantPAx\",\"Tuning P_PIDE\"],\"articleSection\":[\"PID\",\"PlantPAx\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2021\\\/12\\\/21\\\/tuning-plantpax-p_pide-with-simulator\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2021\\\/12\\\/21\\\/tuning-plantpax-p_pide-with-simulator\\\/\",\"url\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2021\\\/12\\\/21\\\/tuning-plantpax-p_pide-with-simulator\\\/\",\"name\":\"Tuning PlantPAx P_PIDE with Simulator - Bryce Automation\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2021\\\/12\\\/21\\\/tuning-plantpax-p_pide-with-simulator\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2021\\\/12\\\/21\\\/tuning-plantpax-p_pide-with-simulator\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/uploads\\\/2021\\\/12\\\/image-209.png\",\"datePublished\":\"2021-12-21T19:03:23+00:00\",\"dateModified\":\"2021-12-22T13:36:31+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/#\\\/schema\\\/person\\\/5d5b0f6f6ad768f1ee52968338e63af7\"},\"description\":\"Tuning PlantPAx P_PIDE with Simulator -- We'll find the best values for Proportional, Integral, and Derivative.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2021\\\/12\\\/21\\\/tuning-plantpax-p_pide-with-simulator\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2021\\\/12\\\/21\\\/tuning-plantpax-p_pide-with-simulator\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2021\\\/12\\\/21\\\/tuning-plantpax-p_pide-with-simulator\\\/#primaryimage\",\"url\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/uploads\\\/2021\\\/12\\\/image-209.png\",\"contentUrl\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/uploads\\\/2021\\\/12\\\/image-209.png\",\"width\":361,\"height\":179,\"caption\":\"PID Settings\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2021\\\/12\\\/21\\\/tuning-plantpax-p_pide-with-simulator\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/bryceautomation.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Tuning PlantPAx P_PIDE with Simulator\"}]},{\"@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 PlantPAx P_PIDE with Simulator - Bryce Automation","description":"Tuning PlantPAx P_PIDE with Simulator -- We'll find the best values for Proportional, Integral, and Derivative.","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\/21\/tuning-plantpax-p_pide-with-simulator\/","og_locale":"en_US","og_type":"article","og_title":"Tuning PlantPAx P_PIDE with Simulator - Bryce Automation","og_description":"Tuning PlantPAx P_PIDE with Simulator -- We'll find the best values for Proportional, Integral, and Derivative.","og_url":"https:\/\/bryceautomation.com\/index.php\/2021\/12\/21\/tuning-plantpax-p_pide-with-simulator\/","og_site_name":"Bryce Automation","article_author":"https:\/\/www.facebook.com\/ricky.bryce.7","article_published_time":"2021-12-21T19:03:23+00:00","article_modified_time":"2021-12-22T13:36:31+00:00","og_image":[{"width":361,"height":179,"url":"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-209.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\/21\/tuning-plantpax-p_pide-with-simulator\/#article","isPartOf":{"@id":"https:\/\/bryceautomation.com\/index.php\/2021\/12\/21\/tuning-plantpax-p_pide-with-simulator\/"},"author":{"name":"Ricky","@id":"https:\/\/bryceautomation.com\/#\/schema\/person\/5d5b0f6f6ad768f1ee52968338e63af7"},"headline":"Tuning PlantPAx P_PIDE with Simulator","datePublished":"2021-12-21T19:03:23+00:00","dateModified":"2021-12-22T13:36:31+00:00","mainEntityOfPage":{"@id":"https:\/\/bryceautomation.com\/index.php\/2021\/12\/21\/tuning-plantpax-p_pide-with-simulator\/"},"wordCount":1467,"commentCount":0,"image":{"@id":"https:\/\/bryceautomation.com\/index.php\/2021\/12\/21\/tuning-plantpax-p_pide-with-simulator\/#primaryimage"},"thumbnailUrl":"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-209.png","keywords":["PID","PlantPAx","Tuning P_PIDE"],"articleSection":["PID","PlantPAx"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/bryceautomation.com\/index.php\/2021\/12\/21\/tuning-plantpax-p_pide-with-simulator\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/bryceautomation.com\/index.php\/2021\/12\/21\/tuning-plantpax-p_pide-with-simulator\/","url":"https:\/\/bryceautomation.com\/index.php\/2021\/12\/21\/tuning-plantpax-p_pide-with-simulator\/","name":"Tuning PlantPAx P_PIDE with Simulator - Bryce Automation","isPartOf":{"@id":"https:\/\/bryceautomation.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/bryceautomation.com\/index.php\/2021\/12\/21\/tuning-plantpax-p_pide-with-simulator\/#primaryimage"},"image":{"@id":"https:\/\/bryceautomation.com\/index.php\/2021\/12\/21\/tuning-plantpax-p_pide-with-simulator\/#primaryimage"},"thumbnailUrl":"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-209.png","datePublished":"2021-12-21T19:03:23+00:00","dateModified":"2021-12-22T13:36:31+00:00","author":{"@id":"https:\/\/bryceautomation.com\/#\/schema\/person\/5d5b0f6f6ad768f1ee52968338e63af7"},"description":"Tuning PlantPAx P_PIDE with Simulator -- We'll find the best values for Proportional, Integral, and Derivative.","breadcrumb":{"@id":"https:\/\/bryceautomation.com\/index.php\/2021\/12\/21\/tuning-plantpax-p_pide-with-simulator\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/bryceautomation.com\/index.php\/2021\/12\/21\/tuning-plantpax-p_pide-with-simulator\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/bryceautomation.com\/index.php\/2021\/12\/21\/tuning-plantpax-p_pide-with-simulator\/#primaryimage","url":"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-209.png","contentUrl":"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-209.png","width":361,"height":179,"caption":"PID Settings"},{"@type":"BreadcrumbList","@id":"https:\/\/bryceautomation.com\/index.php\/2021\/12\/21\/tuning-plantpax-p_pide-with-simulator\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/bryceautomation.com\/"},{"@type":"ListItem","position":2,"name":"Tuning PlantPAx P_PIDE with Simulator"}]},{"@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\/9585","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=9585"}],"version-history":[{"count":0,"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/posts\/9585\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/media\/9596"}],"wp:attachment":[{"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/media?parent=9585"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/categories?post=9585"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/tags?post=9585"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}