You are not registered yet. Please click here to register!


 
 
plc storereviewsdownloads
This board is for PLC Related Q&A ONLY. Please DON'T use it for advertising, etc.
 
Try our online PLC Simulator- FREE.  Click here now to try it.

---------->>>>>Get FREE PLC Programming Tips

New Here? Please read this important info!!!


Go Back   PLCS.net - Interactive Q & A > PLCS.net - Interactive Q & A > LIVE PLC Questions And Answers

PLC training tools sale

Reply
 
Thread Tools Display Modes
Old May 12th, 2004, 09:11 PM   #1
Shawn Cassidy
Member
Canada

Shawn Cassidy is offline
 
Shawn Cassidy's Avatar
 
Join Date: Mar 2004
Location: Montreal
Posts: 98
GE Fanuc VersaMax PID control problem

I'm having a problem with a PID control loop I'm troubleshooting. It's a pretty simple machine that unrolls wire from 1 roll then rewinds it on another roll with a dancer (0-10 v feedback pot) in between the 2 rolls to control the speed of the rewind motor. The unwind (machine) speed is operator controlled. My problem is when I restart (mid-production)the machine with a partially full roll at the rewind end and an almost empty roll on the unwind end. The PID gain is too much and the PLC cannot compensate rapidly enough. The result is usually a broken wire. If I start the machine with a full unwind roll and an empty rewind roll and run it through without stopping I have no problem. The PLC is able to control and match the rate of rewind. I adjusted the gain to have the rewind just be able to keep ahead of the unwind rate at start. But the gain is pretty high to start the machine without a dancer alarm. The dancer has a machine shutoff switch if I have a broken wire or the rewind is not keeping up. The difference in footage rolled per rotation of a empty roll or full is around 5 feet of wire. I thought of possibly measuring the amount of wire on the rewind roll with an ultrasonic sensor to determine an appropriate gain if a mid-production shutdown/restart is required. I could scale the gain from empty to full roll and use it in the PID. I also thought of reloading the last PID values for a restart but I will have to rely on the operator to reset the PID when a new roll is loaded. My sample rate for the PID is 12mSec. I'm using a GE Fanuc VersaMax Micro PLC but I think this problem can apply to any brand... Any ideas?
  Reply With Quote
Old May 12th, 2004, 11:50 PM   #2
kamenges
Member
United States

kamenges is offline
 
kamenges's Avatar
 
Join Date: Nov 2002
Location: Brillion, WI
Posts: 3,628
This probably isn't as much a PID gain issue as it is a system model / feed forward issue. But I need a little more information on your machine.
First of all, are the unwind and rewind center-driven or surface driven. I'm guessing center driven so my comments will be based on that. You also say you go right from the unwind to the rewind with a dancer between them. From this I infer there is no pull roll or web measurement encoder of any kind between the two. Is this correct? You stated that the unwind is the machine speed master. Is the center speed changed as the roll unwinds to keep a constant wire speed or does the center speed stay the same and the wire speed slows down?
With center driven unwinds and rewinds that run any speed at all you would typically calculate the roll diameters and use those to generate a baseline spindle speed command. That way your PID loop doesn't need to account for the whole speed command. It only needs to tweak the speed command to keep the dancer where you want it. Do you have a roll diameter estimator in your program? You were on the right track with measuring the diameter at stop with an ultrasonic. That would definitely help. However, if you don't have a speed reference based on diameter this will only help so much.
It sounds like the machine automatically resets some product roll related stuff on a machine stop. You might consider looking for a more accurate indicator of when the roll diameter changes than that. Is there something the plc needs to do to allow removal of an unwind or rewind roll? Use this to reset your variables instead.
Give us as much info on your physical configuration as you can.

Keith
  Reply With Quote
Old May 13th, 2004, 12:55 AM   #3
Eric Nelson
Lifetime Supporting Member + Moderator
United States

Eric Nelson is offline
 
Eric Nelson's Avatar
 
Join Date: Apr 2002
Location: Randolph, NJ
Posts: 4,346
Quote:
Originally posted by Shawn Cassidy
I also thought of reloading the last PID values for a restart but I will have to rely on the operator to reset the PID when a new roll is loaded.
As Keith mentioned, the machine MUST have some method of knowing that it's at the START of a cycle. Otherwise, it would start off with values from the END of the previous cycle. Since you currently CAN'T continue from a restart, it sounds like it simply resets EVERY time you stop. IOW, it assumes that you ALWAYS start the cycle with a full unwind roll.

If that's the case, then your reloading idea sounds like the best solution. You can avoid having the operators 'forget' to reset by forcing them to make a choice at startup. When they start a cycle, prompt them with an additional "What do you want to do?" question. Let them choose betwen something like "Continue Previous Cycle" or "Start New Cycle". If they choose a new cycle, reset you values. Otherwise, reload the previous values. There's no "Whoops, I forgot to reset". The prompt forces them to remember!...

beerchug

-Eric
  Reply With Quote
Old May 13th, 2004, 04:02 PM   #4
Shawn Cassidy
Member
Canada

Shawn Cassidy is offline
 
Shawn Cassidy's Avatar
 
Join Date: Mar 2004
Location: Montreal
Posts: 98
The rolls are center driven. The dancer has a pot sending 0-10v analog to the PLC to give dancer position. There is no other web measuring device on the machine. I also have a speed feedback encoder from the unwind motor to give the PLC a speed reference. The unwind speed remains constant through the entire process however the rate at which it feeds the wire changes due to the reduced diameter of the wire (more wire on the roll=more wire output per turn). I do not have a roll diameter estimator in my program. I'm not exactly sure how I can estimate the diameter. I know the empty diameter of the roll, I know the full diameter of a roll, I know the speed or RPM of the master roll. I should be able to calculate or estimate the approx. amount of wire on each roll at any give time during the process. right? Do you have an example....
About reloading the PID values or taking a snapshot at stop. I could have the operator reset the PID when a new roll is started by getting an input from one of the actions to change the roll rather than have them manually push a button. Or prompt them as Eric suggests. Thanks for the help guys. Much appreciated.
  Reply With Quote
Old May 13th, 2004, 09:50 PM   #5
kamenges
Member
United States

kamenges is offline
 
kamenges's Avatar
 
Join Date: Nov 2002
Location: Brillion, WI
Posts: 3,628
You probably won't be constucting a model in the classical sense bit the effect will be the same.
It sounds like you are generating the rewind speed refewrence completely out of the plc. For the purpose of what we are doing here we will asume the rewind is doing what you tell it to do.
In the perfect world you wouldn't need a PID loop to do this. If you knew the unwind and rewind roll diameters and the motor to spindle gear ratio for the unwind and rewind you could calculate the exact speed command for the rewind spindle to get the unwind and rewind roll surface speeds to exactly match. You want to get as close to that as you can.
I have seen two relatively stable ways of calculating roll diameter that are pretty easy to implement. In your case you aren't shooting for an exact roll diameter. All you want is a ratio of the unwind diameter to the rewind diameter.
This description assumes you can get both the unwind and rewind speed feedback or the unwind and rewind speed command. The command would probably be better in your case. Let's assume the PID block is controlling the dancer reasonably well; that is, the dancer is stable and not on either mechanical end of travel. The rewind to unwind speed ratio is:

Command Ratio = Rewind Speed Command / Unwind Speed Command
or you can use the speed feedback and get:
Feedback Ratio = Rewind Speed Feedback / Unwind Speed Feedback

Keep in mind the rewind speed command listed above is the total speed command for the rewind, both the PID and anything else we throw in. Ideally both calculations woild yield the same ratio. However in practice the feedback ratio will bounce around more. You could use this ratio directly to develop a rewind speed command:

Rewind Speed Command = Unwind Speed Command * Ratio
You can probably tell that this method results in positive feedback for the rewind speed command. The faster you tell the rewind to go, the bigger the ratio, which tells the rewind to go faster, which results in a bigger ratio, which tells.... The PID function is what keeps this from happening. If you drive the rewind speed command too far one way or another with the ratio the PID will detect the dancer displacement and respond to bring the dancer back to the right spot.
I wouldn't directly use the ratio calculation as the speed multiplier. I have seen too many cases where a bad calculation can push the speed command past where the PID can correct for it and you do run away. Instead, compare the calculated ratio to the ratio you use as your speed multiplier. If the calculated value is greater than the speed multiplier, add some small value to the speed multiplier. If calculated is less than the speed multiplier, subtract the small value from the speed multiplier. And only do the add/subtract thing if you are above some minimum speed. Do the comparison and the add or subtract every 500 msec or so as a start. Do it more often if your speed multiplier changes too slowly. You will know you are fast enough if the speed ratio bounces up and down just a little bit all the time. If it is constantly going in one direction the compare rate is too slow or the amount you are adding/subtracting is too small.
Now multiply your unwind speed times the speed multiplier to get a baseline rewind speed command. Then add in the PID output to get a total speed command for the drive. You will notice that the PID output will be much smaller with this method. And you will accel and decel with much better dancer stability.
When you reset, just set you speed multiplier (ratio) to the full roll to empty core ratio and you will be good to go.

Good luck.
Keith

Last edited by kamenges; May 13th, 2004 at 09:52 PM.
  Reply With Quote
Old May 14th, 2004, 03:23 AM   #6
DAN MCGINNIS
Member
United States

DAN MCGINNIS is offline
 
DAN MCGINNIS's Avatar
 
Join Date: May 2004
Location: Marion, MI
Posts: 1
RE: GE FANUC VERSA MAX PID CONTROL PROBLEM

Shawn this may not be what your looking for but its food for thought. You may want to think about adding an encoder on reel to keep track of how much wire is left on reel get the values of 2,3, or 4 positions, make subroutines in plc to change the value of gain. That way if a wire should break mid way through the reel it may look at subroutine #2 if using 4 positions and start out with that particual gain. If your able to do that with the hardware you are using.
  Reply With Quote
Old May 16th, 2004, 08:10 AM   #7
Shawn Cassidy
Member
Canada

Shawn Cassidy is offline
 
Shawn Cassidy's Avatar
 
Join Date: Mar 2004
Location: Montreal
Posts: 98
Thanks for all the ideas. I'll try a to add the improvements in the next couple of days. Now I know I'm going in the proper direction rather than a dead end. Much appreciated!
  Reply With Quote
Reply
Jump to Live PLC Question and Answer Forum

Bookmarks


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Topics
Thread Thread Starter Forum Replies Last Post
Siemens S7 PID Control Problem qee LIVE PLC Questions And Answers 27 May 15th, 2007 10:53 AM
problem with PID control cardmaster24 LIVE PLC Questions And Answers 6 December 6th, 2004 11:44 PM
GE Fanuc VersaMax Easy Program Store Device CaseyK LIVE PLC Questions And Answers 2 September 13th, 2004 06:38 PM
GE Fanuc "CALL" function problem pambridge LIVE PLC Questions And Answers 2 May 14th, 2004 06:25 AM
how often should I trigger the PID? Ron Beaufort LIVE PLC Questions And Answers 11 February 22nd, 2003 10:57 AM


All times are GMT -5. The time now is 12:21 PM.


.