industrial 951
Member
Hello, was wondering if anyone could shoot me some pointers on my first PID loop for controlling temperature for product (bottling manufacture). I would post my file but its to large after being zipped, will try and save as L5 file tomaro if needed.
Hardware: panelview plus 1500, compactlogix, flex IO with Ethernet, analog input and output cards.
So this is the mechanical setup. A pump, pumps product from a batch tank through a heat exchanger to another holding tank, the purpose of this heat exchanger Is just to maintain product temperature at 40F. The cooling is done with glycol. there is a Temp transmitter at the outlet of the heat exchanger to the holding tank on the product side. there is a modulating valve 4-20ma at the inlet of the heat exchanger on the glycol side. The product freeze point is 27F and must not freeze. also the product temperature entering the heat exchanger would be roughly 50F.
Now for the logic I have a PID on a periodic task of 100ms, the PID update time is set to .1 ms. the Proportional is set to 2, the Integral is set to 1. is this a good starting point for this type of application? I have the scaling tab of the PID set for the process variable to match the temperature min and max of the Temp transmitter in F degrees ( I scale the data before I send to PID ) also the same for the engineering units are the same. ( is the setpoint based off of the engineering units min and max? ) the control variable is set to min and max 0 to 30840. the control variable gets moved to the analog output channel via MOV instruction. the reason is if the pump is not running or if the temperature gets too low say 32F I want to move a 0 to the output channel to close the glycol valve. ( is this good practice or is there an alternative way to provide freeze control? my concern is if the valve is constantly slamming shut it might be taxing on the plant glycol system?) I also want to be able to send a setpoint to the PID via HMI and put the PID in manual and give it a percentage of how much for the valve to open for manual control, so do I basically reference the tags in the HMI to the PID control block data. thanks in advance for any input.
Hardware: panelview plus 1500, compactlogix, flex IO with Ethernet, analog input and output cards.
So this is the mechanical setup. A pump, pumps product from a batch tank through a heat exchanger to another holding tank, the purpose of this heat exchanger Is just to maintain product temperature at 40F. The cooling is done with glycol. there is a Temp transmitter at the outlet of the heat exchanger to the holding tank on the product side. there is a modulating valve 4-20ma at the inlet of the heat exchanger on the glycol side. The product freeze point is 27F and must not freeze. also the product temperature entering the heat exchanger would be roughly 50F.
Now for the logic I have a PID on a periodic task of 100ms, the PID update time is set to .1 ms. the Proportional is set to 2, the Integral is set to 1. is this a good starting point for this type of application? I have the scaling tab of the PID set for the process variable to match the temperature min and max of the Temp transmitter in F degrees ( I scale the data before I send to PID ) also the same for the engineering units are the same. ( is the setpoint based off of the engineering units min and max? ) the control variable is set to min and max 0 to 30840. the control variable gets moved to the analog output channel via MOV instruction. the reason is if the pump is not running or if the temperature gets too low say 32F I want to move a 0 to the output channel to close the glycol valve. ( is this good practice or is there an alternative way to provide freeze control? my concern is if the valve is constantly slamming shut it might be taxing on the plant glycol system?) I also want to be able to send a setpoint to the PID via HMI and put the PID in manual and give it a percentage of how much for the valve to open for manual control, so do I basically reference the tags in the HMI to the PID control block data. thanks in advance for any input.