I have a surge tank that receives it's contents from multiple sources. The source pumps run "randomly" (on about 20-30 seconds, off about 30-90 seconds) but go through a single flow meter before the surge tank. As such, I can calculate the incoming flow rate over time, and get an average for a desired time period. I also have a transducer on the surge tank, so I can determine tank volume.
The surge tank has GS3 VFD running a centrifugal pump to discharge the tank.
The process works best when the VFD pumps the surge tank empty as slow as possible. At it's simplest, I currently have a LERP in the BRX PLC that tell the pump to run at 16.5 Hz when tank is (almost) empty, and 60 Hz when tank is (almost) full. However, at time of relatively low incoming surge flow, the tank gets near empty, and as such "wastes" opportunity to have run slower in the past.
The kicker is I do not have an output flow meter to calculate flow on the surge tank, AND the discharge head pressure on the pump changes over time, so there's no direct correlation with Hz:Flow.
Would this process benefit from a PID to control the pump speed? Like I said, I can calculate and smooth the incoming flow rate over time, and calculate the outgoing flow rate (only during periods when source pumps are not contributing to tank level). I envision using the (averaged and filtered) incoming flow rate to determine SP, and calculate the outgoing PV rate from tank level changes between source pump cycles. Is this too much of a lag time for the PV calculation, causing instability?
On that note, is there an easy instruction to calculate flow rate? Kind of like the inverse of the INTEGRATE instruction?