You had nothing connected to the case statement, the inner and out while loops had nothing wired to the conditional terminal, and you had nothing wired to the right side of the shift register. I could see no reason at all for the inner while loop and I'm guessing what the case statement is for. I made this a little more flexible to allow you to specify the start point, the increment, the stop point, and a loop delay. I replaced the GPIB Write with a VISA Write as VISA is generally the prefered GPIB communication method and added error in/error out connections. O prefer to use the Format Into String instead of the separate functions you have for creating the command. Other than that, I didn't need to change much at all.