LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

Multiple board acquisition... and easter egg !

I cannot find any _specific_ documentation on how to do multiple board data acquisition (or
generation for that matter).
I have two PCI-4451.

I've figured out that I cannot use SCAN_Op or DAQ_Op because they operate on a single board and my
only option seems to use DAQ_Start, launched simultaneously for each channel of each board, right
?

But when I use it, even on a single channel on a single board, I don't get the expected behavior:
- the function doesn't return immediately as expected
- it locks up the computer completely during the acquisition (even the mouse and async timers
won't work)
- it reboots my computer randomly (not even a BSOD)

Any comment ? Did I forget some setup call to DAQ_Whatever before ?
Using CVI 7.0,
NI-DAQ 7.2, Win2k...



BTW, I think I found a LabWindows/CVI easter egg !!!
I did a DAQ_Start acquisition with a wrong gain, but still got data in the resulting array. The
data was weird, so I looked at it in hexadecimal...
--
Guillaume Dargaud
http://www.gdargaud.net/
"If indeed there's no such thing as a stupid question, then how do you explain this one ?" -
Ed Smith.
0 Kudos
Message 1 of 2
(3,121 Views)
There is an example program on our website for synchronizing two PXI-4472 boards in a PXI chassis at this url: http://sine.ni.com/apps/we/niepd_web_display.display_epd4?p_guid=B45EACE3E1C356A4E034080020E74861&p_....

Since you are not using a PXI chassis, there are some things that you will need to do:
1) You need to connect the RTSI bus between both boards (this is that connector on the back of the board).
2) You will need to change a few lines of code in the RounteSignals() function in the 'sync.c' file because you won't have the PXI Star trigger available. Here is what the code inside that func
tion should look like:

Select_Signal (devMaster, ND_RTSI_1, ND_BOARD_CLOCK, ND_DONT_CARE);
Select_Signal (devMaster, ND_RTSI_0, ND_IN_START_TRIGGER, ND_LOW_TO_HIGH);
Select_Signal (devSlave, ND_BOARD_CLOCK, ND_RTSI_1, ND_DONT_CARE);
Select_Signal (devSlave, ND_IN_START_TRIGGER, ND_RTSI_0, ND_LOW_TO_HIGH);


I haven't actually tested this code with these changes yet, but the idea is that as opposed to using the PXI Star Trigger we are using RTSI Line 1.

-Logan Kunitz
0 Kudos
Message 2 of 2
(3,121 Views)