Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

Can multiple tasks receive signal events concurrently?

I am programming an application using multiple input cards and failed trying monitor all lines by DAQmx_Val_ChangeDetectionEvent.
 
I created one task for each port and register signal event for each task and all seems successful. But it turned out that only one task which started first among tasks was going to call the callback function registered. Is it possible for all tasks work well calling back concurrently?
0 Kudos
Message 1 of 4
(2,778 Views)
Hi huangcg-
 
Only one change detection task may be run per board at any given time.  The first change detection event you register will be the one that is used by the board, and any additional events will simply be ignored (actually an error should be thrown if you are performing error-checking on each call).
 
So, you can not have seperate change detection events set up for each port on the board.  I would suggest grouping all of your events into a single line mask and working from there.
 
Hopefully this helps-
Tom W
National Instruments
Message 2 of 4
(2,763 Views)

Hi Tom,

I tried doing the same but never get to run both change detection events. 

When you quoted, "Only one change detection task may be run per board at any given time.", do you mean by module or the chassis itself?

 

Thanks,

A

0 Kudos
Message 3 of 4
(2,582 Views)

Hi angel-

In general, the limitation is one change detection task per device.  A "device" is either one PCI/PXI/PCIe/PXIe/USB DAQ board or one NI CompactDAQ chassis.  This is a hardware limitation that can not be worked around in software.

Please let me know if you need more clarification.  Thanks-

Tom W
National Instruments
Message 4 of 4
(2,569 Views)