I am controlling the pH of a continuous process (DAF unit).
Currently, the pH probe is sending a raw mV value to a transmitter.
The operator is typing in setpoints for the 4-20 mA output to the transmitter
(example: 0 RPM = 4mA = 7.2 pH, Max RPM = 20 mA = 8 pH)
This scaled output is being sent to a dosing pump that accepts a 4-20 mA signal and as a result lowers the pH until it reaches 4 mA, when the pump stops.
I want to only use the transmitter as a local display, and send the 4-20 output to a groov RIO (scaled for 0-14 pH instead, to get the actual pH value to the RIO)
Then I would like to output a 4-20 from the RIO to the dosing pump.
Doing it this way would allow 2 things:
- Remote monitoring of the pH, and also now can alarm operators when pH goes out of range
- Allow operator to enter a setpoint from groov view, so they do not have to dig in the transmitter or dosing pump menus.
I am a bit stuck on the best way to implement this. I started by just taking the 4-20 output of the transmitter to the RIO, and scaling it from 4-20 mA to 0-14 pH.
I have considered using a PID instead of this method described above, but I’m unsure how to even start getting the correct values / scan time, and some Googling has told me that pH is a difficult variable to control with a PID due to its highly nonlinear curve, and also because we have a varying influent flow rate.
Any tips or pointers in the right direction are greatly appreciated, because it’s making my head hurt