I think we don't have enough information to answer the VISA questions.
In what way does VISA Read fail?
Are all the serial ports receiving actual data simultaneously, or are you trying to monitor several ports that are mostly quiet, and respond to each one as it receives data?
Do you have a bunch of parallel loops--one for each port, or are you doing the reads sequentially?
Have you confirmed that a single VISA Read on a single port works correctly?
Post your answers back here and perhaps we can figure something out.
As far as parsing the data stream, this is a separate issue. The VISA Read function returns a string, so if you need to extract numbers from it, you have to use different functions from the string palette menu. The "Scan from St
ring" is very useful. "Spreadsheet String to Array" is useful for parsing waveforms.
If you are on Windows, you can use Instrument I/O Assistant to help you figure out how to parse the data from your devices. It only deals with a single device at a time, but you can take apart its results and apply it to your case.
I hope this helps.
Brian