This doesn't help Evilbeard at this point, but I have been putting together a controlled winder simulator in the simulator today. Just crazy I guess. So far, I have "built":
Ramped master reference
Integrator to calculate footage of web through the master nip
Integrator to calculate footage wound onto the spindle
Dancer position from those two footages
Diameter calculator
PI
D trim
Spindle reference
Calculated spindle speed
I still need to calculate actual diameter build from footage and thickness. And figure out how to add a banging sound when the dancer hits the stops.

Currently it "runs" and holds the calculated start diameter of 3" for quite awhile. The spindle "manually" creeps the dancer into position when the spindle is started, then the line and PID may be started. It holds position pretty nicely after getting the diameter calculation rate reasonable and tuning the PI and sample rate.
It's almost a pity that it's all "imaginary" in Do-more's simulated mind.

I would really, really love to have a packaged RAMP or even a rate limiter. The alternatives get a bit big and clunky.
So far the bottom line is, it looks like a real section control dancer at the moment since the diameter doesn't build yet. I can definitely see a resemblance to Evilbeard's issues. Too little gain makes the integral too dominant and it swings badly though slow. And I don't even have any emulation of real world lag yet either (RAMP RAMP RAMP).
But right now I am late to bed. If I don't lose interest and can pretty it up a little, I may post it in the examples or something as a toy.
I had a little quirkiness with PC CPU usage maxing out and causing huge delays after setting Memory Manager to retain R,C,D and T. It really seemed to get extreme when a timer started timing. I had this even with only one small program block showing status. Odd. Page faults in DMDesigner.exe were about 1000 per second when it would max out.