Sign in to follow this  
Followers 0
onboardx

How can I run the PID function block?

8 posts in this topic

Hi guys. I want to heating control but I could not make the settings of pid control fb. I didn't see any changes at the manipulated value? Can you help me? 

156.jpg

Edited by onboardx

Share this post


Link to post
Share on other sites

I haven't worked with that block before, but I can share my guesses with you.

You need to set some values at "Kp, Ti, Td, and Kd" before you can expect the PID to start working.

I think you can get some ideas of basic values from the manual.

Share this post


Link to post
Share on other sites

Like Bryll said, you need to set Kp, Ti, Td and Kd to begin with. 

As it looks right now you have all of them at 0 which means there will be no control signal to the process. There are a host of different methods for setting up PID controllers.

The most widely used controller is the PI controller meaning it has a proportional part and and an integral part. Using a derivative part is only necessary in some applications and it needs filtering of the input signal to work good.

I would start with changing the proportional gain (Kp) until you see that the process value is equal to or close to the desired value. More gain will make it faster but might also result in overshoot meaning the temperature might go above what you want for a short time. It is better for it to be a bit slower and not overshoot.

If the temperature remains stable but not quite at the desired value start increasing Ti until the process value settles at the correct value. Too much Ti could result in oscillation and then you will need the D-part to fix it.

I hope this helps!

Feel free to chime in if anyone thinks my tips are wrong or something is missing.

Share this post


Link to post
Share on other sites

I don't know what kind of system you are controlling but if it is not too important that the temperature is very precise you can use bang-bang control as well. This is very simple but not as precise as PID control. 

What you do is that if the temperature is below the desired value, put the heater on maximum. As soon as the temperature is equal to or larger than the desired value you turn the heater off. This may cause the temperature to fluctuate a bit around the desired value but if it is OK this is a very simple method to implement.

Edited by Davka

Share this post


Link to post
Share on other sites
Just now, Davka said:

I don't know what kind of system you are controlling but if it is not too important that the temperature is very precise you can use bang-bang control as well. This is very simple but not as precise as PID control. 

What you do is that if the temperature is below the desired value, put the heater on maximum. As soon as the temperature is equal to or larger than the desired value you turn the heater off. This may cause the temperature to fluctuate a bit around the desired value but if it is OK this is a very simple method to implement.

I want to heating conrol. I found sampe program but It didn't worked in simulation. I set to actual temp but pid block  remained in pretuning. 

Share this post


Link to post
Share on other sites

So do you need very exact temperature control or for the temperature to stay close to a value with some margin?

Share this post


Link to post
Share on other sites

Kindly post us Values for Kp ki kd. How to import this library to new PLC?


 

Edited by deepanasheith

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