Bi-Polar PID (Caveat)
My $0.02 worth.
I think you will want to predetermine if your application is Bi-Polar "Balanced", prior to electing to use a SINGLE PID instruction to cause +CV and -CV outputs.
This could be an example:
Tank Level Actual is the Process Variable (Pv)
Tank Inlet Proportional Valve 0.00% ~ +100.00% Control Variable (Cv) Adds volume to the tank
Tank Outlet Proportional Valve 0.00% ~ -100.00% Control Variable (Cv) Removes volume from the tank
If the inlet valve and the outlet valve have the same response time, and same capacity to add or subtract volume at the same rate, given the same command value, then a single Bi-Polar PID should work.
BUT: In a typical Heat/Cool where heat is applied via one method (electric resistance, infra-red, or gas fired), and the cooling is a completely different system such as, (cooling water, cooling fans, or refrigeration, then I would classify this type of system as "un-balanced". The Heating slope and thermal lag, are going to be vastly different than the Cooling Slope and thermal lag, and I would not expect one single PID with one set of PID terms to be able to effectively control both heating and cooling.
I would endorse using two separate PID instructions tuned specifically for heating or cooling and enable the appropriate PID depending on which side of the fence that the Pv is on.