I am developing a test station system that, in essence, runs several seperate LabVIEW programs simultaneously on the same computer, each controlling a different set of I/O channels on one shared set of NI DAQ hardware (analog and digital I/O PCI boards with external signal conditioning).
I have already gotten a system like this running almost flawlessly using LabVIEW 6.1, NI-DAQmx 7.1 with traditional channels, and older E-series DAQ hardware. So long as two programs do not try to write to the same output channel simultaneously, everything works exactly as expected--I can even read from the same (named) channel simultaneously from more than one program. The only issue I have had is that
if one of the compiled applications is closed (not just stopped, but closed) while others are still running, Windows XP (SP1) will bluescreen on a driver error. This is undesireable, but acceptable (though if there's a fix/workaround, I'd love to hear it).
I am now building a similar system using mostly the same software (with an upgrade to LabVIEW 7.1), and I've noticed that the new M-series DAQ hardware seems to offer much more bang for the buck than old E-series hardware and its kin.
My question is this: It appears that I/O on M-series hardware must be performed with new mx channels, with traditional channels not being an option. I am therefore wondering if I will be able to do this kind of multiple simultaneous access with mx channels, or if I must purchase the classic hardware and use traditional channels for this somewhat unorthodox application.
(Incidentally, the multiple simultaneous program thing is a requirement for this system, as it is the only clean way to run
multiple identical copies of the same complete program that only operate on different I/O channels, and re-doing the program from scratch is not an option.)