alexb Posted September 23, 2009 Report Share Posted September 23, 2009 hey guys, I need your help. I'm working on a project - level control in a tank with water. I suppose to control the level of the water , for example - the user can choose the height he wants the water to fill the tank , and a pump starts to pour water into the tank. I work with the PID VI. The user can choose how to control the water with the controllers - P , Pi , Pd or the combined PID. For example , the P control works like the equation m=P*e m - stands for the strengh of the water pumping e - stands for the error - difference between the height I want , and the height found in the tank. p - is a constant As bigger the difference between the wanted height and the found height , as stronger the strengh of the pumping. While the tank is being filled , the pumping suppose to get wicker until it stops. This algorithm that I wrote shows : The user chooses the set point - the height he wants. The DAQ measures the height - (height * 100) / wanted height --> gives us the error. But , while the tank is being filled , and the error is getting smaller , the pumping strengh stays the same. P.S I didn't use the entrance that called Process Variable in the PID VI. That's where I suppose to attach the "error". But when I do that the pump stops working. Please help I don't know what to do... : ( It's my final project and I'm desperate. Quote Link to comment
ned Posted September 23, 2009 Report Share Posted September 23, 2009 I didn't use the entrance that called Process Variable in the PID VI. That's where I suppose to attach the "error". But when I do that the pump stops working. You haven't understood how PID works at all. You MUST use the Process Variable input; in your case it's the measured height of liquid in the tank. The PID VI calculates the error internally by finding the difference between the Process Variable and the Setpoint. Quote Link to comment
alexb Posted September 23, 2009 Author Report Share Posted September 23, 2009 You haven't understood how PID works at all. You MUST use the Process Variable input; in your case it's the measured height of liquid in the tank. The PID VI calculates the error internally by finding the difference between the Process Variable and the Setpoint. I understand that , but when I use this input. The Pump stops working. I shows that the pump works on -2 volts. Very weird. Is there something that I'm missing ? maybe I suppose to inverse the input in the Pump when I work with the PID VI ? Quote Link to comment
viSci Posted September 23, 2009 Report Share Posted September 23, 2009 Try converting all inputs (level) and outputs pump speed to %, there are egu to % and % to egu vi's for this purpose. also make sure you understand if you are forward or reverse acting. In other words, what is ther relationshiop between input and output. If it is reverse acting then make you PID k gain negative. Quote Link to comment
alexb Posted September 23, 2009 Author Report Share Posted September 23, 2009 Try converting all inputs (level) and outputs pump speed to %, there are egu to % and % to egu vi's for this purpose. also make sure you understand if you are forward or reverse acting. In other words, what is ther relationshiop between input and output. If it is reverse acting then make you PID k gain negative. where can I download vi's such the one u've mentioned ? Quote Link to comment
ned Posted September 23, 2009 Report Share Posted September 23, 2009 where can I download vi's such the one u've mentioned ? They are part of the PID toolkit and should be in the PID palette. Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.