# PID control VI

## Recommended Posts

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.

It's my final project and I'm desperate.

##### Share on other sites

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.

##### Share on other sites

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 ?

##### Share on other sites

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.

##### Share on other sites

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.

##### Share on other sites

They are part of the PID toolkit and should be in the PID palette.

## Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

×   Pasted as rich text.   Paste as plain text instead

Only 75 emoji are allowed.

×   Your previous content has been restored.   Clear editor

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

×

×