Hello,
I apologize for the delay in responding to your question. You are writing to digital channel 0. This is the same thing as digital port 0. A port is simply a collection of digital lines. Since you are reading and writing to lines 0-7 on channel 0, the Write to Digital Line and Read from Digital Line VIs are resetting the state of the port every time they are called. I notice you have wired a 0 to the iteration count of all the write VIs, but nothing to the read VIs. To fix this problem,
- Wire a 1 to the iteration input of all the write VIs except for one. This last VI you can either wire a 0, or leave it unwired as 0 is the default.
- Wire a 1 to the iteration input of all the read VIs.
I have m
odified your VI in this way and attached it below. Ideally, you would want to write to a line with 0 for the iteration count only once (outside the loop). The modified VI will do it at the beginning of every loop iteration. I have tested it here and it seems to work without problems. The reason for the modification is that both the high level read and write VIs reset the port when they are called unless you wire a nonzero number to the iteration input. This effectively tells the VI that the port has been initialized and it can skip it.
Feel free to post again if you have further questions. Happy coding,
Grant M.
National Instruments