Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

How to use PCI6154 to do data acquisition and processing with the producer and consumer mode?

I use PCI 6154 to do data acquisition and processing. However, I got error 200279 that is showed by the following figure with the program in the attachment. I think the PCI6154 acquised data continously and the former data processing loop didn't accomplished. The data block the hardware and can't receive the PC. 

 

How do I do  data acquisition and processing sequentially and the data acquired by PCI6154 after the processing accomplished, which seems like the producer and consumer mode? Please give me some tips to do this.

 

 

error.jpg

Download All
0 Kudos
Message 1 of 3
(2,047 Views)

Hi Doxxxxxxxx,

 

I've attached some resources below to help you out. I took a quick look at the VI and it appears that you have aquisition and processing going on in a single loop. The processing is likely taking a long enough time that the application isn't reading from the data fast enough. To properly use Producer/Consumer architecture, you'd want to split aquisition and processing into their own separate Producer loop and Consumer loop respectively.

 

The link below has some troubleshooting steps to take in response to that error:

Error -200279: Unable to Keep Up with Acquisition in DAQmx

https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z0000019KTeSAM&l=en-US

 

The link below goes over Producer/Consumer architecture.

Application Design Patterns: Producer/Consumer

https://www.ni.com/en/support/documentation/supplemental/21/producer-consumer-architecture-in-labvie...

 

You'd want to throw the Aquisition steps into the Producer loop and keep the processing steps in the Consumer loop. 

Jiwhan S.
Technical Support Engineer
National Instruments
0 Kudos
Message 2 of 3
(1,952 Views)

Hi JiwhanS,

 

Thanks for your reply. I really appreciate it. I saw your post and learn about the information of Error -200279 and Producer/Consumer mode. However, when I test the code named Move-Window.vi in https://www.ni.com/en/support/documentation/supplemental/21/producer-consumer-architecture-in-labvie..., some error occurs. When the producer loop is running, the consumer loop stops and the data enqueues continually until the memory overflows. The Vi have already attached. Please help me to solve this problem. And the diagram of my code and code in tutorial 3023 is following:

PC.jpg

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0 Kudos
Message 3 of 3
(1,925 Views)