Smart Motion Cheat Sheet

Good show, Gerry

Gerry is right again! The Rockwell engineer probably did make it clear that their formula was for the time the jerk was postive or negative, not for the whole ramp.

So Gerry, are you up to calculating what you call dS as a function of Vf, Vi and J only? This involves substituting the equation for time you developed into the distance equation. This starts to get messy.

It is best if you use a math package that can do symbollic math. I use Mathcad 11. I am told that Mupad is a similar package that can do symbollic math.

Questions

1. What if the initial acceleration is not zero.
2. How does one know which set of equations to use? There is a simple formula I use to determine whether I use the formula where a constant acceleration is reached or the simpler version you have been working on. I call these two sets of formulas the seven or five segment equations. See the link to Keith's thread above. I explain the seven segments there.

Dan said:
Peter commented it may not be worth his time to post since there are so few responses.
I didn't say that. I am just going to let the forum continue this thread at its own pace instead of mine.
 
This is a long series of graphics that I hope will bring a lot of you along to understand some of the basics in motion control.

This is Part 1 of 2.

The first addresses the most extreme case of "Jerk".

The rest go back to some of the basics and then end up back at "Jerk".

I hope you can get something from this... all questions are welcome.
425b14252429725f.gif

425b1476603441ff.gif

425b14bb39a7df82.gif

425b14eb6e7b528c.gif

425b151b41ab9f55.gif

425b15471e7e6bf2.gif
 
Peter Nachtwey said:
The Rockwell engineer probably did make it clear that their formula was for the time the jerk was postive or negative, not for the whole ramp.
This is what the help file says (in part)

scrv.jpg


So Gerry, are you up to calculating what you call dS as a function of Vf, Vi and J only? This involves substituting the equation for time you developed into the distance equation. This starts to get messy.
I was hoping Keith would do that...

what you call dS
I note that Terry also likes to use "S" for position - "dS" being change in position.
 
Can we display Greek letters easily? I know I have asked before.

dS works. I don't use s because s get used in the Laplace transforms. Since I Mathcad which can display Greek letters so I use deltaX where delta should be replaced by the Greek delta.

BTW, so many get all wrapped up with PIDs. Actually the PID is the simplest and smallest part of a motion controller. The target or motion profile generator is really the heart and soul of a motion controller. The target generator is the most difficult part to debug because there are so many different cases. Think of the all the different combinations of initial and final conditions there are. For instance, what does the target generator do when it is moving at a constant velocity to a position. Along the way it gets a command to increase velocity but there is not enough distance to go to reach the peak velocity? Issuing new commands while the axis is accelerating or decelerating is also a challenge. Many, probably most motion controllers don't handle that well. Look at Gerry's picture above. What do you do if the time to the peak does not fall on an even scan time, but occurs between two scans?

A good motion controller does all these calculation correctly so the user only needs to enter the destinations, speeds, accelerations and jerk. In most cases people don't change the acceleration and jerk once set. Some motion controllers have commands that allow one to specify the end result. For instance, a simple command would require only a position and a time to get there. The speed, acceleration and jerk are selected to make a smooth motion profile so the axis gets to the desired position at the desired time.

This is not an easy topic. I wouldn't want to write the code for this in ladder.
 
One last shot...

I feel better about this one than the last ones. Heres to hopin'.

Assuming we at least reach the accel rate we have:

[(Vf2 - Vi2)/(2a)] + {[(Vf - 3Vi)a]/(2J)}

The thing that hung me up was the offset distance (distance traveled at initial speed while accelerating). More specifically the time value. I came up with the offset distance as:

Vi * {[Vf-Vi-(a2/J)]/a}

I've done simple s-curve velocity profile generators and resultant position profile generators in a plc. Going the next step to hit a target position with changing position, velocity, accel and jerk in the profile would take a whole slew of code. You could probably pull it off with structured text but the computation would probably be pretty slow. Although you could probably selectively run alot of the code based on current conditions, which would help some.

Drum roll, please.

Keith
 
All cheer, Keith got the formula right!

It should be pointed out that there are two sets of formulas. Gerry was working on the formula for the case Vmax-Vmin<a^2/j. In this case the motion profile has two segments while ramping up and a constanst acceleration is not reached although peak acceleration may be reached.
Keith's formula is for when Vmax-Vmin>a^2/j. A motion controller must do this check to determine which set of formulas to use. Keith's formula is used when there is a constant acceleration segment in addition to where the two other segments where the jerk is positive and then negative.
When Vmax-Vmin=a^2/j either equation can be used.

It is possible that a simple point to point move may require a 3 segment ramp up and a 2 segment ramp down depending on the parameters and the initial and final conditions. Therefore a motion controller must always check to see which formula applies before starting to ramp. A state machine that keeps track of which of the segments is active will execute each of the segments in turn until the final position is reached. Usually the target generator stays in each state for the length of time each segement is valid. This means the motion controller must also calculate how long each state or segment will last before going to the next state.
 

Similar Topics

hi all i am new here i have a mitsubishi smart touch hmi i.e ms-60t-pe but i cannot find a software to edit and download a program in it any help...
Replies
3
Views
173
I HAVE SMART TOUCH MS-60T-Pe MITSUBISHI HMI BUT I CANT FIND A SOFTWARE TO EDITE AND DOWNLOAD A PROGRAM IN IT.......CAN ANYONE HELP PLEASE!
Replies
0
Views
81
Hi guys, I am looking for a good replacement for an Omron smart relay. A customer of ours has a couple of these and they are beginning to fail. As...
Replies
14
Views
1,154
Hi all, I have existing S7 200 smart PLC system, I don't know what software version they used to program it. I use microwin smart version 2.3 to...
Replies
0
Views
513
Hi I am fresh for Siemens. I have Smart 700 ie v3 HMI and I need the software to download/upload or configuration. How can I get the software...
Replies
2
Views
646
Back
Top Bottom