The only thing that I can see is that you initialize the port in both frames of your sequence. Sequence frame 0 has the i wired to the initialization terminal. So does sequence frame 1. What is happening is that the port gets initialized, then the first byte A is written to the port. Then in the next frame, the port gets initialized again, probably causing some strange data to go to the port, then the next byte B is written. You should try replacing the wire from i in frame 1 of both cases, Motor Up and Motor Down. Replace with a constant other than 0. You could wire an increment function (+1) in between the i and the initialization input. That way, frame 1 will never cause the port to be initialized again. If this doesn't work, then instead of using the high level Write to Digital Port, use the lower level DIO Config and DIO Write found in the same palette as Write to Digital Port. Call DIO Config, then DIO Write with the first byte, then DIO Write with the second byte. This is a better way to do it, especially since you are doing this in a loop many times. See the attached example at the Motor Down case.