Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

PCI-4451 Analog Output using FIFO allocation mode

I'm using a PCI-4451 DSA device to generate a short length (<50 updates) repeating pulse train. I want to write directly to the 4451's onboard FIFO so that I only have to transfer data to the device once and let the 4451 continuously regenerate the pulse train on its own. Using the the AOCONFIG.vi I set the allocation mode to "6" (use FIFO Memory). But when I write to the buffer, and then call AOSTART.vi, I get no output. Sometimes my system simply crashes. In either case, I get no LabVIEW generated errors when I set the allocation mode to "use FIFO memory." According to my 4451 documentation, I do have an AO FIFO, so it should be working. What could be going wrong?
0 Kudos
Message 1 of 3
(3,000 Views)
Hello,

It appears as though you doing all the right things to get this working correctly. You should be able to use any analog output example and simply change the Allocation Mode to Use FIFO Memory. You do have to make sure that you do not exceed the maximum FIFO size. I would try reducing the number of data points you need. I would also look at the following KnowledgeBase and the linked sample program at the end of it:

http://digital.ni.com/public.nsf/websearch/CC07E585D9F94D2B86256C1A005344EF?OpenDocument

Regards,

Andrew Mierau
Applications Engineer
National Instruments
0 Kudos
Message 2 of 3
(3,000 Views)
Thanks for your response,

I used the VI you linked to and the non-FIFO mode AO works fine. In FIFO mode, it does end up generating an output, but it only iterates through the buffer once, no matter what the input to "number of buffer iterations" is on AOSTART.vi. I want it to regenerate indefinitely, but wiring "0" to "number of buffer iterations" and allowing regeneration on AOWRITE.vi doesn't make it do that. Could this be caused by a driver problem?

Also, I figured out that if I run a non-FIFO mode AO, stop the VI (I allow AOCLEAR.vi to execute), and then switch to a FIFO mode AO without first shutting down LabVIEW, my system locks up. It's not enough to just close the VI and reopen it to get FIFO mode to run again without locking up; I
actually have to exit and restart LabVIEW. Running a FIFO mode AO first and then runnning a non-FIFO mode AO causes no problems. I'm using Win2k professional and LabVIEW 7.
0 Kudos
Message 3 of 3
(3,000 Views)