OkiePC
Lifetime Supporting Member
Sending the dancer signal directly to the drive will work, but as the roll grows, the position of the dancer will change too. It should start out at the lower (fuller) part of the dancer travel and end up at the higher (emptier) end when the roll is finished.
And it will react AFTER the line speed changes, so it will "top out" or go near empty when the line stops, and must wait for the dancer to fill up some when the line re-starts before it will resume.
I am shocked that your calculated winder speed produced so much instability. If you base it on line speed and then trim it with the ratio "learned" or calculated, then trim it with the dancer, it should be very stable.
I had an old honeywell winder program that was an offshoot of just sending the dancer to the drive directly and it worked quite well, but the dancer would get out of position when the line stopped or started. It took the dancer signal and changed the slope of the linear device to put the full range of the final value in a narrow band of the dancer's physical travel range, multiplied it by line speed, and then sent that value to the drive. It worked like a charm, causing the dancer to only "range" a very small amount as the winder diameter increased.
Just watching the line run as you have it, you can monitor the line speed versus winder speed at core size and max size of the wound roll. That will give you the upper and lower limits of your range of ideal ratios.
Then you can use a PID to "find" this ratio with very low gain settings. That eliminates keeping track of how much stuff is currently in the roll, and will take care of variations in product thickness and elasticity. Use the full range of PID CV then, external to the PID, rescale it between your known upper and lower limits (plus a little padding on each end of the scale)
Multiply the ratio by the line speed and send it to the drive.
This works well for me on systems where I can not tell when a new roll is started and therefore can't track the length of the winding roll.
I use a very low P-gain setting and an even lower I gain, 0 derivative. When a new roll begins, the winder will run too slow for the first one or two seconds and then ramp up to the line speed as the PID nails down the gear ratio between the two. If the gains are set too high, there will be oscillations. You have to compromise between responsiveness and stability, but there is usually a happy medium. If not, integrate the wound length into the formula, and give the PID less influence, or set the PID output to the known starting value when the winder begins a new roll.
Whatever you do, an accurate line speed signal should be integrated into the logic especially if stops and starts or frequent speed changes occur.
Hope this helps.
Paul
And it will react AFTER the line speed changes, so it will "top out" or go near empty when the line stops, and must wait for the dancer to fill up some when the line re-starts before it will resume.
I am shocked that your calculated winder speed produced so much instability. If you base it on line speed and then trim it with the ratio "learned" or calculated, then trim it with the dancer, it should be very stable.
I had an old honeywell winder program that was an offshoot of just sending the dancer to the drive directly and it worked quite well, but the dancer would get out of position when the line stopped or started. It took the dancer signal and changed the slope of the linear device to put the full range of the final value in a narrow band of the dancer's physical travel range, multiplied it by line speed, and then sent that value to the drive. It worked like a charm, causing the dancer to only "range" a very small amount as the winder diameter increased.
Just watching the line run as you have it, you can monitor the line speed versus winder speed at core size and max size of the wound roll. That will give you the upper and lower limits of your range of ideal ratios.
Then you can use a PID to "find" this ratio with very low gain settings. That eliminates keeping track of how much stuff is currently in the roll, and will take care of variations in product thickness and elasticity. Use the full range of PID CV then, external to the PID, rescale it between your known upper and lower limits (plus a little padding on each end of the scale)
Multiply the ratio by the line speed and send it to the drive.
This works well for me on systems where I can not tell when a new roll is started and therefore can't track the length of the winding roll.
I use a very low P-gain setting and an even lower I gain, 0 derivative. When a new roll begins, the winder will run too slow for the first one or two seconds and then ramp up to the line speed as the PID nails down the gear ratio between the two. If the gains are set too high, there will be oscillations. You have to compromise between responsiveness and stability, but there is usually a happy medium. If not, integrate the wound length into the formula, and give the PID less influence, or set the PID output to the known starting value when the winder begins a new roll.
Whatever you do, an accurate line speed signal should be integrated into the logic especially if stops and starts or frequent speed changes occur.
Hope this helps.
Paul