This is one means to create a wound spring.
It uses two graphs: One called Radius and the other called Turns. Pictures of typical graphs are attached. Graphs are a kind of Datum feature.
The centerline of the spring is a datum curve driven by equation using a cylindrical coordinate system. Since I happened to chose an X extent from 0 to 16 in the graphs, the number 16 is used in the relations for the equation. You may choose a different length. You don't have to use the entire graph extent. "t" in the equations is a Pro/E supplied variable that is evaluated over the range of 0 to 1. Unless you want kinks in the spring, keep all transitions between entities in the graph tangent.
r =evalgraph("radius",t*16)
theta = 360*evalgraph("turns",t*16)
z=16*t
Notice that the turns graph changes from 0 to 10 along a straight line. Some other curves are possible, though Pro/E may balk at the next step, creating a solid. Adjustments to accuracy may be required.
The solid (or surface if you like) is created using a variable section sweep. Pick the curve, then select Insert/Variable Section Sweep; sketch the section and it should work.
Notice that the ends of the spring are perpendicular to the centerline allowing addition of straight sections, hooks, and other attachments.
Check the spring pictures available by changing the graphs.
If you need flat segments or reversals, add a graph for the 'z' component.