First,use NaCl and Na2SO4 in pH 9 can remove most of the Ca2+,Mg2+,then add Na2CO3 or CO2.Remaining Ca2+ to reduce hardness. Its effect is better and opex is cheaper than caustic etc.
Hi Mahmud, you may consider using lime for softening or soda ash (sodium carbonate). These are generally much cheaper than caustic. Feel free to download the STASOFT computer software freely available on the Water Research Commission's website (South Africa). This allows you to select either of the chemicals for precipitation softening (not ion exchange or others such as that suggested by Richard) and gives you the amount required to achieve the level of hardness you want. Inputs are pH, temperature, sodium, calcium, magnesium, chloride, sulphate, TDS and alkalinity.
apologies that you could not locate the STASOFT software. You can find it by first accessing the Water Research Commission website, then go to the Knowledge Hub, and then search for STASOFT V5. I will also try to give the programme directly, but I do not think The Water Network will allow it.