Sign in to follow this  
Followers 0
justwhy2003

do i really need a PID loop?

5 posts in this topic

I have an application that i originally thought might need a PID or at least PI loop to control it. Im not too sure now after reading some posts and also reading through the programming manual sections on the PID functions (FX3U) Im taking a 4-20mA signal from a dissolved oxygen meter in a sewage treatment plant, this is to control 2 blowers, 1 duty 1 assist. the blowers are also controlled by a 4-20 mA signal each to a VSD. Each blowers frequency range is 30-50 hZ so i want that to be be the total range (30-50 + 30-50) as the requirement for air increases. My plan with out the PID is to take the 4-20 in from the DO meter at a resolution of 8000 and split this into 2 x 400 resolution 4-20 mA outputs based on 0-4000 and 4000-8000 (also using <, > commands) Ill put my set point in one register subtract this from my input, multiply the difference and use this to control my output signals. Does this sound crazy or am i mssing something that makes this sound too simple. Does it sound like an application for a PID loop or am i trying to make it more complicated than it needs to be? justin

Share this post


Link to post
Share on other sites
Just a few questions to you application. With the 2 blowers on maximum speed does the DO meter reading increase rapidly? How long does it take to achieve setpoint? Are we talking seconds or minutes? Your idea is splitting the 4-20mA into a low and high band to increase your main blower to 100% during lower band and then 100% of your duty blower for higher band. Does having both blowers increase in speed simultaneously rather than sequentially increase your DO too rapidly? As your DO meter signal drops, you increase your blowers speed. You will most likely need some other code to fine adjust the magnitude of the outputs to your blowers otherwise you will see excessive hunting of your Process value to setpoint. This all depends on how fast the reaction is in your process. I have used this method in the pass on applications where PID control just could not handle the process, like controlling EB Gun power to vaporise alloys. Also try adding timers in between the DA numeric adjustments. The closer the PV is to setpoint, the slower the adjustment. The further the PV is to setpoint, the faster the adjustment. Also try adding deviation bands into your setpoint to stop continued adjustments instead of just < > from setpoint.

Share this post


Link to post
Share on other sites
i think the DO can increase quite quickly when the air is applied to the tank it can raise 1 mg/L in under a minute. (the range of the DO is 0-20 mg/L) im going to try the following: Take the 8000 resolution of the 4-20mA representing 0-20 mg/L giving me a change in the digital word of 8000/20= 400 per mg/L change in DO. If the maximum deviation id expect from my set point is 2 mg/L (the DO shouldnt vary from between 1 and 2 mg/L) this will give me a maximun error of 2x400= 800. The maximum output word i require for my 2 band, 2 x 4000 resolution 4-20mA outputs is 8000 so if i multiply my error by 10 ill have a linear range that will have maximum output 8000. I realise that the stability of the system might be a little jumpy so im guessing that if i sample the input fom the DO at say 10 second intervals and update my output based on this i can set up a control loop that will do the job for me. Any thoughts?

Share this post


Link to post
Share on other sites
I dont see why this wouldnt work. Try 1 second sampling, because you will only increment/decrement the output value of 4000 numerics per band per blower. This equates to only a 40% speed adjustment on each of your blowers from 30 to 50hz. An adjustment of +/- 1 numeric per second is quite fine. I assume you are going to restrict your 2 inverters so that minimum speed is at 30hz. (This will aid in your blower motor's cooling). You can also connect the inverters to seperate Analogue outputs rather than connecting a single 4-20mA output in serial to them. This would get rid of the headache of scaling your inverters to react to the lower and upper bands of the 4-20mA signal. You can then use PLC code to output to each analogue channel if the input was below or above 4000. Dont forget to invert your input value. ie. Output_Value = 8000 - Input_Value If Output_Value < 4000 then Channel1 = Output_Value x 2 If Output_Value >= 4000 then Channel1 = 8000 Channel2 = (Output_Value - 4000) x 2 Best of luck on this project.

Share this post


Link to post
Share on other sites
OK, i got the control loop working on the above method. At the minute im only using a multimeter on each channel to measure the 2 x 4-20mA outputs, entering the 4-20mA input and recording the results to get waht id expect. I realise that the sampling will have to be tuned on site while the blowers/VSDs are actually attached. I had considered using 1 x 4-20mA output across 2 blowers and configuring them for 4-12mA and 12-20mA as Dippy mentioned but im actuall using 3 blowers, 1 duty (lower 30-50 hZ), 1 assist (upper 30-50 hZ) and one stand by to cut in if the duty blower trips out. If i allocate 2 seperate 4-20 mA signals as im doing and i change the dutys periodically to level the running hours or the standby replaces the duty, ill be able to output the 2 seperate signals on different channels to suit the different duty and assist blowers. As a further twist, the range over which the total 2 x 4-20 mA signals operate isnt goint to be set any more, it is going to be entered via SCADA so if a DO of 0.5 mg/L to 4 mg/L is entered (upper value = setpoint) the corresponding values will be set in registers in the PLC with the difference being the range and the factor between this range and the max 8000 output word is the constant factor that any deviation from the 4mg/L (setpoint value) is multiplied by to give the output value (max output, 100 hZ is max deviation from 4 mg/L i.e. 0.5 mg/L). My only worry now is if some how the DO fluctuates about the point where the duty blower is running at 50hZ and the assist blower is just required and not required, i dont really want it kicking in and out at a rate of 1 second (if that is what my sampling rate is)....

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
Sign in to follow this  
Followers 0