Hello Ariel,
I am not sure what your code looks like, however, it is possible that you have enough parallel processes running that two of your serial port operations are being scheduled in the same thread. If this is the case, you will want to be sure that you are doing your VISA writes and reads Asynchronously so that thread is not locked by a given port until the entire VISA function completes (item 0. below describes how to check this). This will help allow better "interleaving" of operations within a given thread which may be servicing multiple processes.
In any event, I haven't seen your code but I think the following would be interesting to try (it will ensure that you are alternating operations between ports, so that one will not get services more than the other):
0. For sanity, right click on each VISA write and read function and make sure that the last item in the shortcut menu says "Do I/O Synchronously" (this means that the operation is currently being done Asynchronously!) This is shown in the second link below!
1. Write a simple program to communicate via your two serial ports (with whatever they are connected to), however, use dataflow (specifically the error cluster) to force a write and read on one port and then a write and read on another port to occur "one after the other." You can put this whole thing in a loop if you'd like; you can even do a write to port 1 then a write to port 2, then a read on port 1 then a read on port 2. The order really doesn't matter (unless timing is an issue); what we are going for here is programmatically forcing both ports to be serviced an equal number of times! Of course, a given write or read operation will occur based on the which VISA resource name (or corresponding duplicate) has been wired to it... so these will not be wired serially though all the VISA functions. The error cluster, however, should be wired serially (one after the other) through the functions, where we will then be dictating the flow of execution programmatically via dataflow.
Links:
------
UART FIFO Sizes and Performance:
http://digital.ni.com/public.nsf/3efedde4322fef19862567740067f3cc/2d5f972cd550bbc386256f0b005e9a63?OpenDocument
Ansynchronous vs. Synchronous VISA Execution and Performance:
http://digital.ni.com/public.nsf/websearch/ECCAC3C8B9A2A31186256F0B005EEEF7?OpenDocument
Repost if you are still having problems!
Thank you,
JLS