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.)