10-04-2015 02:12 PM
When I start an asynchronous straight line move using softmotion express straight line absolute move, the VI is throwing error -70216 sometimes (not very often but within 24 hours it will definitely happen) and not starting when I enable the execute flag (definitely goes from false to true). Once this happens, I'm still able to execute other commands (for example, can do a Straight-Line Velocity and a Find Reference Move) but not the Straight-Line Absolute move. I don't know how to recover if I catch this error, the only way I've found to recover is to restart my application.
I'm running on LabVIEW 2015 with Softmotion 2015, the VI is running on a 9035 and driving three 9505 modules using unbound axes.
Solved! Go to Solution.
10-05-2015 05:05 PM
Hey Omar,
That sounds like it could be a race condition of some sort. Are you trying to command the same resource in multiple loops? Would you mind posting snippets of your code? Additionally is the move not starting when you enable the execute flag or is the VI not starting?
Regards,
Michael Bilyk
Applications Engineer
National Instruments
10-06-2015 01:47 PM
I found that I did have a potential race condition that was causing a new start motion to happen before the previous motion was complete. I've fixed the bug in my code but I think I found a bug in SoftMotion as a result of testing to reproduce and recover from the issue ...
A start motion command throws an error if the axis is already in motion (which is acceptable to me), but additionally once this happens, when the motor finishes the first move the 'Move Complete' flag never goes to True (even if the velocity goes to zero). Because "Move Complete" is not true, it is not possible to start another move without an error. Additionally, if you send a Stop 'Decelerate' or Stop 'Disable Drive' the move complete stays "FALSE". This makes the drive inoperable from my application and feels like a bug.
However, I found I can recover from this issue by using a Stop 'Immediate' which does clear the "Move Complete" flag and makes it possible for the axis to move again without restarting my FPGA or my SoftMotion App. It seems like any Stop command should clear the "Move Complete" flag when it completes.
10-06-2015 02:24 PM
Hi Omar,
I'm glad you were able to figure out what was going on. Thanks for the feedback. I'll try to recreate the issue and I will talk with my colleagues to see if it is intended to work that way or not.
Regards,
Michael Bilyk
Applications Engineer
National Instruments
10-08-2015 03:25 PM
Hi Omar,
It looks like that is the intended functionality.
Regards,
Michael Bilyk
Applications Engineer
National Instruments