Hello All,
This is more of a sanity check then anything. I have a project that I need to control the velocity of a fan based on the pressure inside the enclosure. The loop time is pretty long with a update of about 300 - 1000ms and I will likely only be using the PI terms. I am running the control through an 5069-L330ER with and running studio V32. I do not think there is a way to directly execute a velocity PID using the PID function in CompactLogix. The way I have it setup is the PV and SP are fed into the PID function. The output of the PID is used for the change in velocity. So with the output at 100% the fan will ramp at max accel at an output of zero the speed will stay the same. The wonky part of this setup is changing the control action from PV-SP to SP-PV based on the PV and SP difference to get a negative value when it climbs too high to apply a decel to the fan. Is this the best way to implement this functionality? Are there any performance issues I may run into? I can't seem to figure out a better way to do this. Any suggestions would be greatly appreciated. If you have done the same then please reply. Sanity.....
-Patrick Hughes
This is more of a sanity check then anything. I have a project that I need to control the velocity of a fan based on the pressure inside the enclosure. The loop time is pretty long with a update of about 300 - 1000ms and I will likely only be using the PI terms. I am running the control through an 5069-L330ER with and running studio V32. I do not think there is a way to directly execute a velocity PID using the PID function in CompactLogix. The way I have it setup is the PV and SP are fed into the PID function. The output of the PID is used for the change in velocity. So with the output at 100% the fan will ramp at max accel at an output of zero the speed will stay the same. The wonky part of this setup is changing the control action from PV-SP to SP-PV based on the PV and SP difference to get a negative value when it climbs too high to apply a decel to the fan. Is this the best way to implement this functionality? Are there any performance issues I may run into? I can't seem to figure out a better way to do this. Any suggestions would be greatly appreciated. If you have done the same then please reply. Sanity.....
-Patrick Hughes