04-04-2013 09:16 PM
I have XY translation stage with two different controllers.
the execution timing of these two controllers are different.
I have attached block digram for understand. In highlight mode, code works fine ... but in execution mode, Y stage gets delayed a bit and moves along with X stage.
How can i ensure movement of stages one after another.
Thanks
Solved! Go to Solution.
04-04-2013 09:34 PM
Put the VIs for the two controllers in parallel loops if you want them to run independently. If you always want X to run after Y, move the X loop outside the Y loop but feed numeric 2 through the Y loop to create a data dependency.
Lynn
04-04-2013 09:40 PM
it would be helpful to post your VI....also,
04-04-2013 09:43 PM
I want to Run XY stage in this fashion.
X X X X X X X X X Y X X X X X X X X X Y X X X X X X X X X Y X X X X X X X X X Y X X X X X X X X X
Physical move should finish before next move command.
04-04-2013 09:47 PM
Thanks apok,
but my vi have subvi's and they send command to DLL. Thats why i posted a picture.
04-04-2013 10:01 PM
A simple data dependency should create the pattern you want.
Lynn
04-05-2013 02:56 AM
Thank you Lynn
04-05-2013 08:34 AM
As a tip, you can add some code inside the X for loop to determine if X should increase or decrease. The code posted here will have X move back to it's starting position each time Y is moved. Depending on your system and overall scan time, this could add a lot of unecessary movement.
Essentially, once X reaches its max, you move y, then X could sweep from max to min (you can reverse the data arrays afterwards so your results are stored in a consistent manner). This way, you cut the overall time for moving X in half. Again, this may or may not be useful for your application.