Cut to Length application using SLC-5/04

More info

g(m):=r/(h*(1+(m/h)^2))Where g is the gear ratio as a function of the master position m. h is the veriticle distance to the material. Basically this is the derivative of the position equation above that has the arctan function. You can see that the gear ratio is always changing between the time the knife enters and leaves the material being cut and when the knife is straigt down the gear ratio is above one to one because r > h but sometimes not by much. Also, the G(m) term is just the gear ratio. It must be mulitplied by the current velocity of the line speed so the real

vs(m,m'):=g(m)*m'

This is the slave velocity as a function of the master position m and master velocity m'. You can see that calculating the instantaneous line speed is critical and you all know we have seen plenty of threads on that.

Here is a challenge... What is the formula for acceleration as a function of the master position when making the cut? Calculating g'(m) is the first step. g' is the rate of change in the gear ratio as a function of the master position. Remember these formulas are necessary for calculating the velocty and acceleration feed forward terms.

Some controllers use this information to precalculate the slave positions as a function of master positions at put that in a cam table. Our second generation controllers had to have these positions downloaded. Then once must interally calculate the velocity from the positions. Now we use equations like above and compute the gear ratios on-the-fly. This is handy in rotary veneer clipper applications where the knots must be clipped out. In this case the cutlength always changes. Only the over the top equation changes.

I recently did a rotary shear. The princlples are the same but the equations are a little different. One only needs new equations for s(m),g(m) and g'(m).

Where is Oasis?
 
I define the point at where the cut is made as 0 for the next piece and the cut length for the current piece. This way 0 for the slave ( knife ) is the same as 0 for the master ( next piece ). The circumference of the knife must correspond to the cut length of the material being cut.

You must have a reference encoder that always let you know how far and fast the material has traveled. The quality of this information and ability to calculate the master velocity is very important for reasons stated above.

These projects are not trivial. The master encoder has been the biggest problem on every project I have been involved with.
 
The answer

Peter Nachtwey said:
Here is a challenge... What is the formula for acceleration as a function of the master position when making the cut? Calculating g'(m) is the first step. g' is the rate of change in the gear ratio as a function of the master position.
Actually, you need to know the master position, velocity and acceleration. One can simplify things if you can assume the master line speed is constant. Then you can assume the acceleration is constant. I find this to be a bad assumption.

What we need to find is the slave(knife) acceleration. Lets start with the formulas from above and add the master acceleration term which we have assumed to be 0 before.

vs(m,m',m''):=g(m)*m'

Now we differentiate using the product rule.

va(m,,m',m''):=g(m)*m''+g'(m)*m'

The problem here is that m'' ( master or line acceleration ) must be determined by the line encoder feedback and it is difficult enought to calculate m' ( master or line velocity ). I haven't seen that covered on this forum yet.

The other partg is to calculate g'(m). This is the rate of change of the gear ratio with respect to the master position. I showed the formula for g(m) so we must take the derivate of that or the second derivative of r*arctan(m/h). This isn't very hard because one can find the answer on the internet by search for derivative of arctan. I found.
http://www.opensky.ca/~jdhildeb/arctan/arctan_diff.html
I would usually use my Mathcad but I am in the field so I used the net instead.

The second derivative is:
-2*x/((1+x^2)^2)

Note that in our case x=m/h. So we had to apply the chain rule once for every derivative which means we must mulitply by the derivative m with respect to x which is 1/h. So the derivative of r*arctan(m/h) is r/(h*(1+x^2)) and the derivative of that is -2*r/(h^2*(1+x^2)^2). So if you want to calculate the slave acceleration it is.

sa(m,m',m''):=r/(h*(1+(m/h)^2))*m''+2*r/(h^2*(1+(m/h)^2)^2)*m'

With out a good estimate of the slave acceleration you don't have a ghost of a chance because the gear ratio is always changing. You should also run the drive in torque mode and not velocity mode to take advantage of the calculated acceleration, othewise you must depend on the quality of the drive and its ability to differentiate an analog signal. I don't think any PLC is fast enough to run a VFD or servo motor directly in torque mode. Those of you that say 'use sercos' must also jump through extra hoops to make sure the position, velocity and acceleration is downloaded at every 2 millisecond interval. How can the sercos motion controller calculate accurate accelerations from the positions downloaded every two milliseconds? Some of the better sercos controllers can download position and velocity each update and that is probably good enough because the difference in velocity can be used to calculate the acceleration.

Oasis, are you really going to try to do the control in a SLC5/04? There is a lot to these 'simple' rotary knives. Hopefully this thread will save people a lot of time by pointing them in the right direction as opposed to wasting time trying to do the impossible in a PLC.
 
Peter Nachtwey said:
Actually, you need to know the master position, velocity and acceleration. One can simplify things if you can assume the master line speed is constant. Then you can assume the acceleration is constant. I find this to be a bad assumption.

What we need to find is the slave(knife) acceleration. Lets start with the formulas from above and add the master acceleration term which we have assumed to be 0 before.

vs(m,m',m''):=g(m)*m'

Now we differentiate using the product rule.

va(m,,m',m''):=g(m)*m''+g'(m)*m'

The problem here is that m'' ( master or line acceleration ) must be determined by the line encoder feedback and it is difficult enought to calculate m' ( master or line velocity ). I haven't seen that covered on this forum yet.

The other partg is to calculate g'(m). This is the rate of change of the gear ratio with respect to the master position. I showed the formula for g(m) so we must take the derivate of that or the second derivative of r*arctan(m/h). This isn't very hard because one can find the answer on the internet by search for derivative of arctan. I found.
http://www.opensky.ca/~jdhildeb/arctan/arctan_diff.html
I would usually use my Mathcad but I am in the field so I used the net instead.

The second derivative is:
-2*x/((1+x^2)^2)

Note that in our case x=m/h. So we had to apply the chain rule once for every derivative which means we must mulitply by the derivative m with respect to x which is 1/h. So the derivative of r*arctan(m/h) is r/(h*(1+x^2)) and the derivative of that is -2*r/(h^2*(1+x^2)^2). So if you want to calculate the slave acceleration it is.

sa(m,m',m''):=r/(h*(1+(m/h)^2))*m''+2*r/(h^2*(1+(m/h)^2)^2)*m'

With out a good estimate of the slave acceleration you don't have a ghost of a chance because the gear ratio is always changing. You should also run the drive in torque mode and not velocity mode to take advantage of the calculated acceleration, othewise you must depend on the quality of the drive and its ability to differentiate an analog signal. I don't think any PLC is fast enough to run a VFD or servo motor directly in torque mode. Those of you that say 'use sercos' must also jump through extra hoops to make sure the position, velocity and acceleration is downloaded at every 2 millisecond interval. How can the sercos motion controller calculate accurate accelerations from the positions downloaded every two milliseconds? Some of the better sercos controllers can download position and velocity each update and that is probably good enough because the difference in velocity can be used to calculate the acceleration.

Oasis, are you really going to try to do the control in a SLC5/04? There is a lot to these 'simple' rotary knives. Hopefully this thread will save people a lot of time by pointing them in the right direction as opposed to wasting time trying to do the impossible in a PLC.

Been there, tried that in a very similar application. As you can see from Peter's post this isn't for kids (just a phrase not an insult). Buy a motion controller designed to do this and be done with it.
 
Lest anyone read these posts and determine that is if fundamentally impossible to implement a knife control system, keep in mind that Peter is talking about what must be done if you want to do this from scratch in a plc. Many of the better motion controllers will take care of these items for you. You don't need to implement all the motion equations. Guys like Peter have done that for you already.

As Peter said, PLCs aren't designed to be single-minded enough to perform a task like this. PLCs are designed to be everything to all people and to keep you out of trouble while doing it. Not to mention do it all on the relative cheap. They aren't designed to handle a high bandwidth motion application.

Some might say that, at 40 meter/min, this isn't a high bandwidth application. Oasis has already shown from experience that it is higher bandwidth than standard plc control techniques will support. Unless he is either doing a whole boatload of these or he is doing this for free with respect to his time, there is no way he will be able to do this development in a plc for less than the cost of a motion controller.

Keith
 
Been there, tried that in a very similar application. As you can see from Peter's post this isn't for kids (just a phrase not an insult). Buy a motion controller designed to do this and be done with it.
allscott you shouldn`t tell people this.
If we first didn`t try the nearly imposible we wouldn`t get to read Peters post!Although i never understand them it blows my little mind and i love to read them. :site:
 
Thanks for reply.

We have second-hand rotary knife that using AC motor and SEW vector drive and S5 PLC. Specificatio of the machine is maximum 30 MPM, but we want to upgrade to 40 MPM. I just spent my time todo the upgrading base on SLC-5/04 (to replace S5 PLC) but I consider to replace SLC-5/04 using CompactLogix 1769-L35CR processor and connect the Powerflex700VC using controlnet protocol.

Last week we try the some suggestion from Peter's thread (thanks alot) and we run consistent 5mm tolerance with line speed 40 MPM. This is the best that we can achieved with SLC-5/04.
We consider the compactlogix because it has periodic task and better speed control using controlnet. We hope we can achieve 2mm tolerance with line speed is 40 MPM.
Any idea or suggestion?
Thanks
 
Osias-

More power to you.

You ended your last post with 'Any ideas or suggestions?'. The overriding idea and/or suggestion through this whole thread is don't try to do this in a plc. Buy a motion controller and move on. You obviously don't like that suggestion.

Boiled down, your question is 'How do I design and implement a motion controller?', which is akin to 'What is the nature of the universe?'. Your question has slid solidly outside the scope of a forum like this. Peter has been giving you glimpses of the methods needed to solve this problem not so you would implement them in a plc but to show you the folly of even trying.

I'm not against attempting things just for the pure accumulation of knowledge. If your employer is willing to finance this experiment and you are interested in doing this then, by all means, proceed. Just don't expect success. Keep in mind that what you are asking the drive system to do doesn't scale up proportionally with speed. It scales up with the sqaure of speed. So that 'little' 33% step in speed from 30 MPM to 40 MPM is going to require 78% more torque from the drive system. That is no small step.

So, one more time, if you want to complete this project as efficiently as possible with the highest possibility of success, get a motion controller.

Keith
 
Osias started out with a 30mm variation in cut length and is now down to 5mm - I'd like to know what he did to get that improvement - it may point the way forward for any further improvement.
 
Thank you for reply.
We decided to use AB Motion Control to implement the cut-to length.
We use the Kinetix 6000 with controllogix.
Thank you for everybody in this forum that help-us with idea, thanks for Peter for his helpful post.
Regards,
Osias
 

Similar Topics

What's the best ladder logic programming design for a cut to length machine? I would like it to have at minimum run,stop and jog function. Could...
Replies
26
Views
18,841
Hello, This is my first serious PLC project. I'm self educated, and trying to build a servo driven cut to length machine for our shop. I'm using...
Replies
8
Views
10,869
Our customer has a Hydra-Draw machine. This machine pulls coiled steel rod through a die and then cuts-to-length. The hydraulic cylinder is...
Replies
0
Views
2,784
Hi.. For cut length application, how to define accuracy of cutting length (we need +/- 1mm)? I used compactlogix with 2048 ppr encoder and...
Replies
1
Views
4,807
Hi... I want to using Unidrive SP2402 for cut to length machine with running speed at 30 meter/min. I use AC motor (c/w 1024 ppr encoder as speed...
Replies
0
Views
5,150
Back
Top Bottom