Arlie,
I have set up ramp functions using a timer. You set up a RAMP mode of control, which takes over the PID SETPOINT temporarily. You decide how long it should be between start and full setpoint of the PID. Then you simply move a low beginning number into your SETPOINT location. A good method is to set the beginning setpoint equal to the current process variable.
The time interval between setpoint changes depends on the process and how fast you want to ramp it. Suppose you have a furnace that needs to be heated to 1800 degrees over a 1-hour period (to avoid stressing the refractory material). Your program calculates this: 3600 seconds/(1800-Present Temperature) = Time interval for each 1-degree setpoint change. If the current furnace temperature is 100 degrees, this comes out to 2.11 seconds per degree. You may want to truncate the fraction and set your timer for 2 seconds, a more practical number.
Then say you set the beginning setpoint to 100, and every 2 seconds, you ADD 1 to the SETPOINT, until the final desired setpoint 1800 is reached. When the setpoint = 1800, you disable the RAMP mode.
If your controls are working correctly, and you have allowed enough response time, your process variable should move along with the setpoint as it ramps up.