1. All data flows from left to right. So I moved the VISA Configure Serial port.vi to the left side of the diagram.
2. No diagram or panel should be larger than one screen. If you are so lucky as to have a very large screen, keep the diagrams to half of the screen. The changes I made allow this guideline to be followed. I did not change the front panel. I could not tell what you wanted the panel to do or look like.
3. Use subVIs to help accomplish item 2. The String Generator.vi contains code that your original had 6 copies scattered all over the diagram. The case structure to the left of the subVI selects the inputs to be used on a particular iteration of the while loop. Generally avoid repeating code; use loops instead.
4. The quotient and remainder function selects the PWM 1 through PWM 6 controls on successive iterations. The shift register connected to PWM 6 is used to detect value changes and only write when a change occurs. (Caution: Equality testing on real numbers is risky because of the way the numbers are stored in binary. It will probably work in this application, but I could not test it because I do not have a serial port.
5. Shift registers on the VISA resource name and error clusters will cause the writing to stop if a serial port error occurs. The presence of an error should probably be ORed into the loop terminator.
6. I failed to connect Output String 5 in the upper left case structure. Trying to do things too quickly and no chance to test.
7. Why do you have 2 Stop buttons? This will be confusing to the user, especially since one of them does not connect to anything.
8. Loops should usually have a Wait function to prevent them from consuming all available CPU time. This is especially important if multiple nodes are executing in parallel. I put a comment on the diagram but did not insert a wait.
If you have other questions, please post them.
Lynn