cristian Geschrieben February 27, 2019 at 19:55 Share Geschrieben February 27, 2019 at 19:55 I'm trying to make 5 steppers travel through n sets of targets. The steppers need to reach their target at the same time. I'm running a loop in a thread (C#) to calculate velocity and speed ramping for each stepper, to set the target of each stepper (to move the steppers) and to monitor when the steppers reach their target; a new set of targets is assigned when the steppers reach their target (roughly after more than 3 seconds). This means that I do in the same iteration 3 requests per stepper (SetMaxVelocity, SetSpeedRamping, SetSteps/SetTargetPosition) and in total 15 requests per set of targets. It works but after a few sets of targets one of the steppers does not execute the 'move'(SetTargetPosition) command (usually, the same stepper which is also last to be moved by the code). What's going on? How many commands can I send to the steppers during the same iteration? I tried calling the Tinkerforge API methods asynchronously and sleeping the thread for a brief time after every stepper command but there was no difference. Zitieren Link zu diesem Kommentar Share on other sites More sharing options...
borg Geschrieben February 28, 2019 at 09:11 Share Geschrieben February 28, 2019 at 09:11 What's going on? How many commands can I send to the steppers during the same iteration? I am not sure if i understand the question correctly. But, if you call SetTargetPosition while the Motor is currently running, it will immediately try to go to the new target and discard the previous one. There is no queue of targets or similar. Zitieren Link zu diesem Kommentar Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.