myPID.Compute();
Input = thermocouple.readCelsius();
Do some computing, then get some input. OK.
"You people get busy coding. I'll go see what their requirements are."
I'm not sure why you want to constrain the way PID operates. The idea is that, if sampled adequately often, the Output value should be the amount that the Input needs to change to achieve the desired Setpoint.
You are computing a new Output value, and then using it, or not, depending on the relationship between Input and Setpoint.
The Output value is a temperature, given that Input and Setpoint are both temperatures, isn't it?
Why you expect a temperature to equate to servo position escapes me.