Jump to content

Recommended Posts



we have to control for a smart energy home some heating systems.

One of them is a floor heating, like the picture. You can see the PID Server results. I have the auto tune several times with a lot of parameter done.

With the VisiLogic and PID server 3 stage and 4 stage.


Have thanks for help.




Link to comment
Share on other sites

Hello Jo,


I don't know exactly if I can help, but at least I can share my experiences with Unitronics PID.


First thing first: I saw that your Output Limits are set to 820 to 4000. You wrote that you want to go with 0 to 10 V, that would be 0 to 4095 in Units for the AO, but that was just something that came to my attention. But be warned, by limiting the output to 820, you will never fully close the valve (just to say).


But going to the PID itself:

I found it easier to limit the action to P and I only, so mostly I set the D value to "0".

Next thing is: as described in help file: If the P value is small, the ragulator will react quicker, if you increase P value, it slows down a little bit.

Same for I value, if it's small, it will react very fast, if its high, it will react slower.


For example: If I have to drive a compressor with a VFD which has to be quick, my normal setting would be like P = 150, I =2, D=0, time = 10.

This means that the regulator will react fast to hold the pressure at the desired level.


If I have to regulate a valve, I normally slow down everything like P = 500, I = 15, D=0, time = 100.


Most time's it's a little trial and error to find the best settings, but when optimizing you should start with changing one parameter only (like first P value a little bit up or down, after that playing with I value).

As stated, I think most in most cases you don't need the D value. I saw that compared to the first post, you did set higher and lower input range. I think you should extend the upper limit even more and go to like 600 (60 °C) as you have a maximum of 90°C possible. Then start trying to set D to 0, start with P = 300, I =15, sample time 60.


See from there how fast or slow it reacts. It's also important to see how fast can the valve work (0 to 100%, what's the time there ?), because it doesn't makes sense to rise and lower the output value fast if the valve is not able to follow.


Hope this might help. I don't know if these tips are helpful with PID-Server, I only use PID in my logic with values changeable via HMI.


Good Luck,


  • Upvote 1
Link to comment
Share on other sites



and thanks for your post. Every help ist welcome.

The 820 are becouse belimo write in the manual that the way is 2-10 V for the valve. 820 are 2 V. I think it is an standard for some valves.

I can feel an the valve the temperature that is closed.


I think that autotune means that the module measerd on the 3 stage the way and the reaction. You have right that the reaction from the valve is not so fast, but it is every time the same. Have the pid in autotune not to learn how the reactance and control bevor temperature is go up. It is possible that I diden`t understand the function of autotune.


Thanks again

Link to comment
Share on other sites

Hi JoS0,


I don't know if I understand correctly what you mean, but I assume that you set up the the PID only with help of the PID FB "RUN Auto Tune".

So the PLC tries to find out the values for P, I and D itself and stores them.


I do it differently:

I set a Positive Transaction of SB2 (Power Up) and as second possible condition a positive transaction of a MB (Manual Config, e.g. MB10) to trigger the PID FB "Configuration".

That way the power up bit or the Manual Config Bit can run the Configuration of the PID with my entered values for Setpoint, Upper/Lower Input/Output Level, P-Value,I-value, D-value, sample time. With linking MIs to values for P, I and D I can change these values and after changing them can trigger the Manual Config Bit to do the Reconfiguration of the PID.


It's important to have the PID FB "RUN PID" in your program to have the PID really work, but I think you found out that on your own... :rolleyes:


After that explanation you see what I meant by saying to "play with the values":

I do a config with some set values, let it run. If it's too fast, I change e.g. the P-Value, do the reconfig, watch it. If it's OK, I let it be, if not - change some more or something else like I-value, reconfig, watch, ..... You know trial and error.

In my opinion the PID FB "RUN AUTOTUNE" is not suitable for systems with slow reacting responds like water flow, heating/cooling big amounts of water and so on.

I generally do it without the "RUN AUTOTUNE" and only use "CONFIGURATION" and "RUN PID" FBs in my applications.

That way I have total control for the PIDs and their behavior, working with Error Integrals and so on, See in help file for more information on the topic of error Integrals.


Hope you can get to a solution with these tips.

Good luck


  • Upvote 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...