Need help with waveform and digital output

Hey everyone,
I am driving a rotational motor with an example waveform output VI and an example digital output VI. I am able to successfully send a square wave with the desired properties to rotate the motor and I am also able to successfully send a digital output (1 or 0) to change its direction (clockwise/couter-clockwise.
However I need some advices to write a setup such that after the motor runs as desired, I can return the motor back to its original position. I think the simplest way is timing how long it takes to finish its task, and just change the digital output, keep the same wave properties and run for the same amount of time.
So how can I time how long the program runs and with some kind of button, change the digital output and run the program again?


As more of a program architecture tip, this sounds like a great time to be using a State Machine.  I say this because you mention resetting the motor (one state) then running it again (another state) repeatedly.  As a design tip, I would check out this article, along with the Design Pattern Template that comes with LabVIEW.  You can find this by going to File >> New... then expanding the tree to VI >> From Template >> Frameworks >> Design Patterns >> Standard State Machine.
Brian A.
National Instruments
Applications Engineer