01-14-2010 08:24 AM
I am trying to create a motion profile using blending. Howver I want a dwell (of dfferent times and at different places) during the profile. Is there a way to include dwells/delays in a blended motion profile?
Also, Does anyone have an example of an onboard blend (with or without a dwell)? I have used a series on individual moves but I get a delay between moves which I think is caused by the wait on condtition VI so want to use a blend.
Thanks
Scott
01-14-2010 09:46 AM
Hi Scott,
positive values of the blend factor are interpreted as a delay[ms] between consecutive moves. You can change the blend factor for each blend operation.
Running a complete motion sequence in an onboard program is not the intended use case of onboard programming and in fact in such a scenario there are no significant advantages compared to a host program in terms of execution speed and jitter. The reason for that is the fact, that onboard programs run on a quite slow controller in a low-priority thread, so this approach is not recommended.
The most common use case of onboard programming is stopping a move at an event like exceeding a torque limit. Running such a task in an onboard program adds safety, as it runs independently from the (Windows) application.
If your moves are too short and too fast for blending, you shoudl consider using contouring instead. Contouring provides the ultimate flexibility for defining motion profiles, including strictly timed delays.
If you need more information, please add some more specific information to your next post (motion control board type, programming environment, motor type, drive,..)
Kind regards,
Jochen Klier
National Instruments
01-14-2010 10:23 AM
Thanks for the reply. I didn't realise you can change the blend factor for each operation. I have now got this part working.
I also want to change the acceleration, velocity and position for each operation. I have an array of 4 values for each of these (and the blend factor) and index it each time round the for loop. However, when I run the VI it does the operations then just hangs up in the loop when checking for the blend complete.
When I use a single velocity value and still use the array for the blend factor, acceleration and position the VI works fine.
Thanks
Scott
01-14-2010 10:41 AM
01-14-2010 10:44 AM
Scott,
changing acceleration and velocity in blended operations is expected to work fine. Do you get an error or what do you mean it "just hangs up"? Could you post a sample vi?
Thanks,
Jochen
01-14-2010 11:44 AM
posted VI
It gets stuck in the inner loop on the last iteration of the outer loop.
Thanks
Scott
01-18-2010 07:15 AM
Hi Scott,
thank you for posting the code. In the vi you are using positive and negative velocity values. This is not valid for the Absolute Position mode. I guess, that's the source of the issue. Please try again with only positive velocity values. The travel direction is determined by the target position.
Regards,
Jochen