On-The-Fly position change motion profile

nosempre

Member
Join Date
Aug 2013
Location
berlin
Posts
3
Hi All,
I'm working on a project which its position needs to be controlled by an external setpoint system dynamically.
I use Twincat that provide me some function block for external setpoint data. But there is a need to write my own custom s-curve motion profile with on-the-fly position change support. I mean , the position data may change before the current positioning job finished. If the PLC get a new target position with the same direction, the PLC is going to change its target position without decelerating current velocity.

Can someone help me on coding this motion profile or solving its algortihm ?

Thank you for your help in advance.

Regards
Nosempre
 
This shouldn't be a problem if the target position hasn't started ramping down yet. However, if the target has started ramping down everything is a whole harder. Honestly, it gets a whole lot harder If the new position ahead then what? You can maintain the current speed and then ramp down but if the current speed is very slow that solution is not good. The proper thing to do is to calculate a new move and ramp up. You will need formulas like this:
http://deltamotion.com/peter/Maxima/Seg1234567.html
These equations do not assume the initial velocity and acceleration are 0.

If the new position requires a direction change then we slow down to a stop and then start a new move in the new direction when operating with our basic motion commands.
I would keep it simple.

Our controller has and handle this problem. The html that I linked too will only handle some of the cases. I have done lots and lots of math solving all the cases and it is more than I would wish to reveal or could practically reveal on a forum. This is simply too much info for the too many cases.

Hint, one could buy our motion controller. It can follow a moving target created by a joy stick or some other input easily. You have to understand I am not in a hurry to reveal code to Beckhoff and Beckhoff should have made this easy.

Note, this is one of the first problems we had to solve years ago. Our back ground is the saw mill industry where logs are told to move to some set position but as they move they are scanned and the set positions are changed on-the-fly after the optimized sawing solution was determined. This only required one set point change. Following the target generated by a joy stick is different. It requires another algorithm.
 
Hi Peter,

It has been long time since I wrote you. I would like to buy your motion controller but there are some restrictions that prevent me to buy. Like filed -bus options. I must use EtherCat fieldbus in my application.

Your formulas give me a great starting point to create my own set point generator. I developed an algorithm which supports on-the-fly position update. But there is some problem on that like doesnt reach to max velocity even I sent incerasing position value in order very quickly (It generates flucruation in velocity.)
I know your knowledge so valuable but I would happy if you give me some hint that how to achieve this problem or which way (algorithm) do I need to follow ?

Thanks
 
Hi Peter,

It has been long time since I wrote you. I would like to buy your motion controller but there are some restrictions that prevent me to buy. Such as fieldbus options. I must use EtherCat fieldbus in my application.

Your formulas gave me a great starting point to create my own set point generator. I developed an algorithm which supports on-the-fly position update. But there is some problem on that like doesnt reach to max velocity even I sent incerasing position value in order very quickly (It generates fluctuation in velocity).
I know your knowledge so valuable but I would happy if you give me some hint that how to achieve this problem or which way (algorithm) do I need to follow ?

Thanks
 

Similar Topics

I'm going to be working on some InTouch and System Platform projects - I've not worked with WonderWare before and am wondering if someone could...
Replies
9
Views
6,740
I'm wondering if anyone has any ideas how I could go about this. Let's say I have a Automation Direct Click (8x\6y) and when the following...
Replies
10
Views
3,892
I'm wondering if anybody knows a way to edit the severity of an alarm in FTView using a button or numeric input rather than going into the tag...
Replies
2
Views
2,111
Hey all. I’d like to change the IP address in the MultiHop table in a MicroLogix 1100 on the fly. I’ve tried putting the address I want to change...
Replies
5
Views
2,428
Hey all. I’m curious to see if it’s possible to change a message instruction in a MicroLogix 1100 (or any other AB PLC/PAC) from a read to a write...
Replies
5
Views
1,634
Back
Top Bottom