Have a single devicel, a USB-6343 here and 4 Vis running as seperate executeables.. but they all need different channels off that device (D I/O, AI/O, counters). This works except when it gets to the analog inputs. I sort of aware that due to the single ADCs, you can't have multiple tasks doing the analog inputs. When I was doing a single Vi, I made a single task that polled NChan1Samp , and then unpacked the cluster and used them for various purposes. It sort of skipped my mind when I ran multuple copies of this Vi , it wouldn't work.
My first attempt at getting around this was creating a DAQmx Task in NI Max that would pull 6 analogs, and change the VIs to each read from this DaqMx Task, but be concerned with different indexes. That failed.. same results as if i had different threads directly trying to access the analogs (1st one gets it, rest done).
Is there something else I can try? I have thought I could make a dedicated Vi that becomes a server for the analogs via shared variables? Anything simpler than this? I haven't used the shared variable thing yet so would have to figure that out first.