swimmy67

FX3U PID Autotune Parameters?

20 posts in this topic

I have been working on a project that uses the Inverter communication instructions, and the PID instruction in the PLC. The inverter communication was easy to setup. The PLC is communicating with four mitsubishi FR-E540-0.4K-NA inverters. When the PLC first starts, the parameters are loaded into the inverters via the RS-485 communication instructions. This allows the inverter to start, stop, and change speed. The PLC receives the status of each inverter to monitor if the inverter is running or there is a fault. What I am having trouble with is the PID instruction. The FX3U Analog Instruction manual goes in detail about the setting of the PID but it doesn't give very good information for the way I need to run the PID. I need to use the Limit Cycle method. Here is what is used for setting the PID: (S1) Target Value (SV) (S2) Measured Value (PV) (S3) Parameter (D) Output Value (MV) The PID uses 29 points in the parameter section for the calculation of the MV value. The setting values are from (S3) to (S3) +6. I am using D50 for the (S3) point in the PID instruction. This will occupy D50 to D78. For PID operation I am setting (S3)+1, or D51, bit0 to 1: Backward operation, used for heating. D51 bit5 to 1: Upper and Lower limits of the output values are valid. For the Autotune operation I set D50 (Sampling Time) to 2 seconds. D51 bit0 to 1, bit4 to 1: Autotune Is Exicuted, bit6 to 1: Limit Cycle Method. D52 (Input Filter) to 10%. D53 (Proportional gain) to 545%. D54 (Integral time) to 315 x 100 ms. D55 (Differential gain) to 0%. D56 (Differential time) to 787 x 10 ms. Limit Cycle parameters: D75 (PV value threshold) to 0. D76 (Output value upper limit) to 1000. D77 (Output value lower limit) to 0. D78 (Wait setting for end of auto tune) 100%. When I exicuted the auto tune, I let the instruction run. 6 hours later the auto tune was still operating. It was never able to automaticly get the parameters. Is there something that I missed? For the Limit cycle parameters, should I set D75 to something other than zero? I measured the actual PV threshold at 2.3. Should I input this value into D75? I am using GX Developer FX version 8.25B I am attaching the working program for review. This program is also a very good example of the Inverter communications. Thanks for looking and all of your help. Kari Swimelar swimmy67 FX3U_PLC_Program..zip
1 person likes this

Share this post


Link to post
Share on other sites
Just a little more information: I am using a FX3U-4AD-PT-ADP RTD input Card. FX2N-2DA Analog output card. Honeywell Modutrol M7284A-1046 actuator. I hope this helps, Thanks, Kari Swimelar swimmy67

Share this post


Link to post
Share on other sites
I was tuning PID loops on an FX2N a while ago, and presumably it's all very similar for the FX3U ..... have copied the post that I wrote back then if it's of any use. -------------------------------------------------------------- For what it's worth, this is what I've learnt this week. I had to tune a system that used a high spec pneumatic control valve to close againts a water flow generated by a centrifugal pump. The flow rate was monitored by a water meter giving a 4-20 ma output. This was the Process Variable. The Set Point was an operator specified flow rate. The valve took 10 secs to fully close (from 100% open), when working against the water flow pressure. The same valve took 5 secs to fully open (from fully closed) when working with the water flow pressure. Disabled the Derivative Constant and tried to set up the Proportional and Integral values from guesswork ..... no joy ..... just a wildly unstable system. Read the manual and tried the Autotune function ..... no joy, in fact I have't a clue how that's supposed to work, as it seems to hold the MV value constant. Anyone know? Spoke to a Guru, who said ... a) Set Proportion Constant to 100% b) Set Integral Value to 60% - 80% of the system response time (in other words how long it takes the valve to move from fully open to fully closed and vice versa) c) Disable the Derivative Constant. The Integral Value was then set to 6 secs (60 x 100 ms) and immediately the system got better. 100% on the Proportional was too much and resulted in much bigger changes than I needed .... ended up at 10% which gave me a slow, steady landing on the setpoint. Calibrated the flow rates against valve position bits, and use that value as the manual PID mv. After a few seconds, witch to auto and PID works like a charm. Fow what it's worth ......

Share this post


Link to post
Share on other sites
Collin, Thanks for the reply. I have read the post and tried the settings but it still did not work. I personally do not think that the Mitsubishi PID is able to work for gas heating applications. All of the sample code that I found was for Electric heat and not for gas heating. The problem is for the PID to control the MV output from 0% to 100%. Every parameter that I put into the PID would not work. When the temperature is below setpoint the MV output is 100%. When the temperature is above setpoint the MV output is 0%. There is no in between. The PID will not control at say 20% to 30% when the temperature is near the setpoint to maintain the temperature. I have tried the auto tune to establish the proper settings but the auto tune would not finish. I aborted the auto tune and put in values that I calculated from the FX3U analog manual. Thanks for your help. Kari Swimelar swimmy67

Share this post


Link to post
Share on other sites
What exactly do you mean by >>I need to use the Limit Cycle method.<< Could you also tell me what you are physically trying to control with the Modutrol? Is it gas flow rate or water flow rate? If you have the proportional and integral constants set at reasonable values, then the MV can show 100% 0r 0%, but as the PID loop sees the PV approach the Set Point then you should see the MV start to alter. What happens to the MV when the PV get close to the SP ...... is it still acting like a switch? How quickly does the system show a significant reaction to a large change in MV ..... seconds, minutes, hours? Edited by Colin Carpenter

Share this post


Link to post
Share on other sites
Hi swimmy67, What is the typical reaction time on the process if, lets say, you change the output with 50% (starting at a cool temperature). You can set your PID's integral time to 67% of that.(Rule of thumb) It sounds to me that your proprtional gain is too high. This will cause a massive switch between the two extremes. A good starting point is about 10%. Check that the PID loop is continuously active (the rung powering it). A restart of the function will cause the PID to recalculate all values. First P, then I, then D. One thing you should not do is use too a high a filter value. This can completely tell the PID wrong information and the corrective action cannot be calculated accordingly. Set your differential time to 0 if you are not using it. Also remmeber that yours is a heating application and that the PID is a reverse acting PID. (I think that you have this setting right). Your Proportional gain is too high!!!! (545%) I have used the MItsubishi PID on plenty ovens (gas heating) before and they all run within 1 celsius from set point. Let us know what is happening.... Unfortunately I don't have the software to check out your software, so I can not see what you did. Sorry!!!

Share this post


Link to post
Share on other sites
Colin, With the FX3U PLC the PID function is a little different than the FX2N PID function. There are added parameters that have to be set for the PID when auto tuning. FX2N PID has fewer parameters. The parameters are (S3) to (S3)+24. The FX3U PID has parameters from (S3) to (S3)+28. In addition the parameter (S3)+1 has additional parameters to set. Parameter (S3)+1 bit6 sets "Step Response Method" or "Limit Cycle Method" for the auto tune. When selecting Limit Cycle there are additional parameters that also need to be set. Parameter (S3)+25 to (S3)+28 also need to be set. The problem that I have is the PID not functioning as it should. I have set the Proportional gain to 10%, The Integral time to 60, Differential gain to 0, Differential time to 0. I set parameter (S3)+22 to 100, parameter (S3)+23 to 0. When the PID runs ,continuously of course, the output percentage does not maintain at a percentage between 0% and 100%. When the PV is low the output is 100%, when the PV is high the output is 0%. when the PV is at setpoint the output is 0%. Any ideas would be helpful. Thanks, swimmy67

Share this post


Link to post
Share on other sites
Sounds to me like something's not quite right. With the values you have set, you should see some noticeable differences. Problem is that the FX3U is only just about to be launched over here (UK) and my GX Developer software doesn't yet recognise the FX3U, so I can't look at your code. For info, have attached some IEC developer screen shots of the PID on an FX2N .... probably won't help, but you necer know.

Share this post


Link to post
Share on other sites
Colin, Thanks for the information. I will look it over and try and see if I can get it to work. The Honeywell Modutrol is used for Natrual gas flow in the Eclipse burner. Low flame to high flame control. The burner is heating cooking oil to 190 deg C. I am trying to control the burner with the PID function in the Mits PLC. So far I have not had any luck in controlling it correctly. I will keep you posted on the situation. Thanks, swimmy67

Share this post


Link to post
Share on other sites
Well I was not successful in using the Auto Tune to obtain the values needed for the PID control. I used many different suggestions and even on from tech support in Japan through Mitsubishi Electric. The biggest problem is the Auto Tune never finishes. Yesterday I started the Auto Tune at 1:00pm and by 4:30pm the auto tune was still operating. I aborted the auto tune process and tried the valuse that I received from Colin. I am attaching the program to show the changes that I made from the original program. I hope all will ba able to learn from it and apply any further suggestions. Thanks to everyone that helped me with this project. swimmy67 FX3U_PID_Program.zip

Share this post


Link to post
Share on other sites
I read through the thread just amazed. For decades, I've used single loop controllers to run gas fired burners using PID with a modulating actuator on a gas valve with fairly straight forward set-up. Rule of thumb I use is that gas fired burners have 10x the proportional band of almost any electric heat device, but it depends on the relative capacity of the heater to supply heat to the process. I start at 10% PB and see how it reacts. Interesting how a PLC can make a simple PID loop so complicated. What really confuses me is Mitsubishi's use of the term "proportional gain." Gain is the inverse of propoertional band, where the proportional band is typically defined as the input range of the sensor (but not always) What is proportional gain? The description initially that the MV was either 0 or 100% and nothing in between infers either too narrow a proportional band (value too low, like 0.2%)) or too high a gain value (like 500%). But proportional gain ? ? ? Probably what the rest of the world calls gain. D

Share this post


Link to post
Share on other sites
Did you manage to get it to control OK in the end? Unfortunately, I still can't open the programme because I don't have the FX3U upgrade yet. What values did you end up with for the constants?

Share this post


Link to post
Share on other sites
Hello All, After running trials and changing code I was successful with the Auto Tune today. The whole issue was running two different PID loops. One for Auto Tune and one for running the process control. I changed the code to run only one PID loop. With the auto tune I set the parameters and loaded them into the pid parameters. After the auto tune finishes, the bits that were set for auto tune turn off. I monitored the bit for when it turned off and saved the values in battery backed registers. Here are the parameters that I used for auto tune: (S3) - 500 (S3)+1 Set bits 0, 4, and 6 (S3)+2 - 10 (S3)+3 - 0 (S3)+4 - 0 (S3)+5 - 5 (S3)+6 - 0 (S3)+25 - 0 (S3)+26 - 4000 (S3)+27 - 0 (S3)+28 - 0 When the auto tune finished the values were saved in D400 to D406 registers. The saved values were: (S3) - 500 (S3)+1 Set bits 0, 4, and 6 (S3)+2 - 10 (S3)+3 - 20869 (S3)+4 - 331 (S3)+5 - 5 (S3)+6 - 829 I ran the pid for about 2 hours after auto tune. I set parameters: (S3) - 2000 (S3)+2 - 95 This seemed to stabilize the MV output value. I will post the finished code after I clean it up from the trials today. I wish to thank everyone that gave me so much help with this project. Thank you all, swimmy67

Share this post


Link to post
Share on other sites
Hello all, Here is the attached ladder file for the FX3U PLC. I saved the Ladder file in PDF format so everyone will be able to see. Thanks, swimmy67 Edit: I have attached both files for review. FX3U PLC LADDER 1.PDF Original ladder diagram for unsuccessful PID auto tuning. FX3U PLC LADDER.PDF Edited ladder diagram where the PID auto tune was successful. FX3U_PLC_PROGRAM_LADDER.pdf FX3U_PLC_PROGRAM_LADDER_1.pdf Edited by swimmy67

Share this post


Link to post
Share on other sites
Do you have the GX Developer version of these files? I would like to be able to search the code. Thanks.

Share this post


Link to post
Share on other sites
Patriot, Sorry for the long wait. I was out of the country on an installation. Here is the code in a Zip file. Thanks, swimmy67 AEI_R_D_CC_Fryer.zip
1 person likes this

Share this post


Link to post
Share on other sites
Not a problem. Actually, two days is pretty fast. I just happened to read this old thread recently, since I am attempting to tune a PID loop for an FX3U PLC. I am finding it very helpful to see what you have done to get the auto tune to work. I have read and re-read the manual, and parts of it can be a little confusing to me. Thanks again for posting the information.

Share this post


Link to post
Share on other sites
Not a problem. I hope that this will help you get the job done. swimmy67

Share this post


Link to post
Share on other sites

Hi all

i can't download swimmy's program

Please help me 

Thanks you all

 

 

Share this post


Link to post
Share on other sites

i cant download this program kindly help

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now