Have you tried running with execution highlighting to see where it stalls?
(I don't understand your VI at all, it makes little sense to me. Which button turns the motor on? Why are there 3 different stop buttons? What is the meaning of the two hidden "iteration (0:initialize)" terminals that never get a value? There is data dependency between the two parallel loops (via device #) so the upper loop cannot start until the lower loop finishes Is this as intended? Do you really need to send the PSU Command string with each iteration of the lower loop? What is the difference between the two case structures except for the wait? ...?)