I built a gravity based system that uses two pneumatic pinch valves to control the salt flow from the salt hopper down to a mixing vat using a Apex as the main controller. The workflow is:
Water exchange changes out x gallons of water per day. Low water in the salt vat has the apex shut down the water exchange pumps along with the circulation pump in the salt vat. Apex turns on a series of solenoid valves that route RO/DI water to the vat that is low, in this case the salt vat, while monitoring TDS (if TDS goes above 0 the system is shut down and I get a email/alarm). After the vat is filled all the way the circulation pump comes back on along with a high gph mixing pump. During this time the pinch valves add half a cup of salt at a time, done over the course of a few hours. So the apex is set to turn them on/off just enough times to get the vat to 35.0 salinity, which is verified via a conductivity probe. If for some reason the salinity does not hit the spread I have it set to the system will add a few more half cups of salt. If after that the salinity is not correct the system shuts down and I get a email/alarm.
Once the target salinity has been hit the circulation & mixing pumps stay on for an hour and half, then the mixing pump shuts off and the water exchange pumps come back on, until the process repeats itself.