Uncoiler payout programming

shane2977

Member
Join Date
Mar 2014
Location
Hamilton
Posts
9
Hi all,

I'm looking for ideas on how to program the control of the payout of my uncoiler. The machine has a servo-driven feeder that feeds material about every 10-15 seconds. The feeds vary in length. The material is uncoiled into trays and the feeder draws from these trays. You can think of the trays as accumulators for the material.

Currently, I measure the radius of the coil on the uncoiler. I have a prox that triggers on 8 evenly spaced bolts around the drum (I also have an encoder on the uncoilers) Using the measured diameter I calculate how much material there is between each prox pulse. I have a "Fed_Material" tag in the PLC that represents the amount of material in the tray. Every time the prox pulses I add the calculated amount to the tray. Every time the feeder does a feed I subtract the feed amount from the tray.

The feeder will wait until there is enough material in the tray before feeding. The uncoiler compares what's in the tray and what's needed for the next feed. If the next feed is greater than what's in the tray, the uncoiler will begin to accelerate. If the the tray has more then then the next feed, the uncioler will slow down. The idea is to keep the uncoiler turning continuously. As the tray gets low the uncoiler speeds up but if it gets to full the uncoiler slows down.

This works ok but I would like to know what you guys have come up with.

Thanks
Shane
 
A variable amount of material can reside in the tray, is that correct?


If yes, this is somewhat analogous to a tank level control, except the PLC is modeling the accumulation in the tray, instead of having a level sensor making an actual measurement.
Since the feeder is probably a discrete process, it also makes sense to subtract the next future feed from the accumulation ("level") model.

So a PID might work. That said, it sounds from the description that your current control process is already very similar to a P-only PID.
 
It is hard to say without actually being on site and seeing for my self
You say you are using the trays as accumulators but with that you really don’t know how much material is on the tray at any point in time So your challenges is that much greater.
The material thickness and weight are also a factors that are in play
I think I would go with a free hanging loop accumulator using a few short range contactless measuring sensors. Laser or ultrasound
One to measure the roll diameter the other to measure the accumulation loop
I think the way you are trying is limited at best, entering in the starting diameter of the roll and counting the bolts as they go past to calculate the distance traveled will only get you so far
But if you measures the diameter as it unwinds would be a better way to calculate the necessary speed .
If you measure the web in the accumulation loop you could you should have constant point that you want to maintain
As you pull material from the web the loop get’s smaller and the unwinder speed will need to increase in proportion to the distance from the set point. The machine input takes what it needs and the unwinder will do what it needs to keep the loop constant the process line speed would also be part of the calculations. I have seen many web control systems with this type of control they generally work well
 
I sort of agree with Gary, I have used ultrasonic measurement on a reel and in the calculations we would enter the thickness of material, then calculate the dia (or feed rate) from the known dia of the coil & the inner bobbin etc. etc. We also had an accumulator this was just like an unwound coil feeding in & out so if the coil in the accumulator got tight (sorry not quite sure how to explain it) but there was another sensor in the middle of the accumulator that detected to loose coil tightening and increase the feed & vice versa.
So in essence it was a combination of outgoing speed, accumulator tightness & coil diameter + thickness of material.
 
As it is removing material from the tray, does the feeder take material at a constant rate?


At the time a feed event starts, can the uncoiler know the length of the feed?


Is there a maximum length for a single feed? Is there a minimum length?


What is the maximum uncoiler rate as a fraction or multiple of the feed rate?



Because rather than feedback (PID) control, feedforward would be an alternate approach.
 
Last edited:
Thanks for chiming in Gary and parky.

I agree with you guys on creating and measuring the loop. I pitched that and was told there is no way of creating a loop. Any thoughts on how you would handle it with no loop?
 
As it is removing material from the tray, does the feeder take material at a constant rate?
At the time a feed event starts, can the uncoiler know the length of the feed?
Is there a maximum length for a single feed? Is there a minimum length?
What is the maximum uncoiler rate as a fraction or multiple of the feed rate?
Because rather than feedback (PID) control, feedforward would be an alternate approach.

-No not at a constant rate. It is periodic but consistent. In other words, feed-shear-stack-repeat.

-Yes, the feeder is controlled by a servo motor. The length is precise.

-Yes. I'm not sure the exact min/max. I believe 500mm to 1800mm is close

-I've never quantified this but I would say the feeder is 4-5 times faster than the uncoiler.

I am not familiar with feedforward. Can you elaborate on it please?

Thanks
 
Yes, this is correct. The level measuring is a great comparison. I think I will explore the use of a PID. Thanks




The PID CV could be added to a feedforward value from the feeder, so the PID CV is a trim value on top of the current feedrate, even when zero. Perhaps clamp the CV to a minimum value, such as the rate equivalent to a shortest likely feed event starting 15s hence, but stopping altogether if the accumulation model hits some maximum, but perhaps not.


To be honest, with such a predict model as that with a feedforward model of the feeder, it does not require a PID, it's P-only, which can be implemented with a simple sequence:


Code:
UncoilRadius = measured Uncoiler radius

PVlast = PVnow, last modeled tray accumulation, ft

PVnow = PVlast + ((CVuncoil - Feedrate) * UpdateTime), modeled tray accum., ft

SP = tray accumulation setpoint (say one longest possible feed), ft

CVtrim = (SP-PVnow) * TrimGain, ft/min

FeedRate = current feedrate of feeder (either 0 or K), ft/min

CVuncoil = CVtrim + FeedRate, ft/min

UncoilerRate = (CVuncoil/(2*PI*UncoilRadius)), RPM
[Update: scratch that, it assumes the UncoilerRate can at least match the feeder rate while feeding]


This would require continuous (i.e. at least once per PID update) of the tray accumulation model. So I would be concerned about the long-term accuracy in the tray accumulation model. Having and measuring a loop, as suggested by @GaryS and @parky seems like a better approach, but might require investment.


Can a photo of the process with the tray be posted here?
 
Last edited:
-No not at a constant rate. It is periodic but consistent. In other words, feed-shear-stack-repeat.




I meant is the feeder rate constant while feeding, i.e. not over an entire feed-shear-stack cycle time i.e. not including the time when the the feeder is not actually feeding anything.


I assume the goal is to never have the feeder have to wait i.e. for the uncoiler to sufficient material in the tray.


Is the time between the feeder [stopping at the end of one feed event] and [starting at the beginning of the next feed event] known, or at least known to within some min/max limits?
 
Last edited:
Assume the following knowns:

  • Lfeed, ft; the length of material fed during one feed event
  • Tfeed, s; the duration of time it takes the feeder to feed Lfeed feet of material
    • If not known, then calculate Tfeed = Lfeed / Frate, where
    • Frate, ft/s; average rate at which feeder feeds material
  • Tshear, s; the duration of time it takes to shear the fed material
  • Tstack, s; the duration of time it takes to stack the fed and sheared material
  • UCrateMAX, ft/s; the maximum rate at which the uncoiler can feed material
Then calculate:

  • TdelayMIN, s = Tshear + Tstack
    • the minimum duration of time between the feeder stopping for one feed and starting for the next
  • UCrateOPT, ft/s = Lfeed / (TdelayMIN + Tfeed)
    • The optimal rate the uncoiler needs to achieve for the feeder to start a next feed immediately when the previous fed material is done being stacked
  • Tdelay, s, the actual delay to use:
    • If UCrateMAX >= UCrateOPT:
      • Tdelay = TdelayMIN
      • UCrate = UCrateOPT
    • Else (UCrateMAX < UCrateOPT):
      • Tdelay = Lfeed / UCrateMAX) - Tfeed
      • UCrate = UCrateMAX
There probably needs to be some padding added to the Tshear and/or Tstack values, and taken from the actual UCrateMAX value.


This approach sets Tdelay and UCrate; Tdelay is used to tell the feeder when it can next start. It is otherwise the same as the tray accumulation model, but probably less complex. If UCrateMAX is dependent on the radius, then UCrate and Tdelay will have to be re-calculated each time the feeder stops. It can be initialized at TIME=0 by starting the uncoiler at the calculated UCrate for a second or so to accumulate a small amount of material in the tray, then restricting the feeder from starting until TIME=Tdelay+1. The uncoiler will be running continuously at the calculated UCrate with no large step changes in speed. If the feeder fails to start at [its last stop + Tdelay] at any point, then the uncoiler should be stopped.


This still has the problem of accumulating errors one way or the other over time, but that is the same with any tray accumulation model; only an actual measurement of the tray accumulation would avoid that issue.
 
Last edited:
Shane
The loop would be free hanging no tension on at all tissue paper will hang there
2 rollers the web hangs below them the unwinder feed the web based on the loop position and the infeed pulls it out as needed it's really a very simple system
the unwinder is setup to maintain the loop
 
Shane
The loop would be free hanging no tension on at all tissue paper will hang there
2 rollers the web hangs below them the unwinder feed the web based on the loop position and the infeed pulls it out as needed it's really a very simple system
the unwinder is setup to maintain the loop




Btw, I agree with @GaryS here. The tray accumulation model may be what the OP is limited to, which is why I went through the exercise of simplifying the implementation.



However, in the event that hardware equivalent to a loop could be added (e.g. if a hanging loop is not in the cards, perhaps a camera looking at the tray and a RaspberryPI calculating the length), an actual measurement of the material in the tray would be a much batter approach.
 
Theirs no question about it's a real mess nd need fixing
But if you boss in not willing to address it then their is no much you can do
one thing i did notice is that you already have a dimeter sensor on he unwineder
it looks like its' a laser type just to left of the roll mounted on the arm
al lot cud be done by adjusting the unwinerd speed down a little it is clearly running faster then necessary
i also have to wonder if the wed is threaded correctly the handling of the wed is way to rough with as many rolls as they have i would thig the web should accumulate between them instead of just paling up on the floor
i know a lot could be done to improve the operation with just some fine tuning
 

Similar Topics

Hello all. Anyone got experience or can share some knowledge on how to do this. I’ve got a new application where I am guiding metal strip from a...
Replies
19
Views
7,161
Dear all, I have fx2n plc on my hand but I don't have the programming cable sc-09 and it would not be easy for me to get one. I need the cable...
Replies
3
Views
96
Hi all, i am the new controls guy at the plant and i have inherited a pc from the previous controls guy with Siemens tia portal version 16 and 17...
Replies
20
Views
873
I need to pull the program off of an old 90-30 so I can convert it to Allen Bradley. This is my first time messing with GE and I don't have the...
Replies
2
Views
84
New to vfds. I put in parameters. IP, but I get ethernet flashing and link solid. What did I do wrong?
Replies
9
Views
470
Back
Top Bottom