LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Use daq across multiple Labview applications

Is it possible to have daq handoff data to multiple Labview applications running at the same time?  Each application is specific to a certain test setup, but each test setup has its channels run into a couple of scxi cards in one computer/daq card.  One application may access channels 0,1,9,10 on scxi module 1 and channels 1,2,3 on scxi module 2; another application accesses channels 2-7 on scxi module 1 and channels 4,5,6 on scxi module 2; etc. (get the picture?).  I want to turn each of these little applications into executables.  Is it possible to have multiple sessions of daq running at the same time for the same card?  Is this the idea behid tasks with daqmx?  If not, can I create a small daq application that runs independently of my actual test apps, and somehow have one executable talk to another executable?
0 Kudos
Message 1 of 5
(2,986 Views)

Hi,

Unfortunately what you want to achieve is not possible.

A single device's AI channels( event if it is multiplexed SCXI channels) cannot be accessed by two applications simultaneously.

The reason, If all SCXI channels multiplexed to the same ADC, one alllication will set the ADC clock/  timing sequence of acq for those channels in scan list and now, if you try to access teh same device from another application, you get an error message tellint that device is reserved and not availible.

regards

Dev

 

 

0 Kudos
Message 2 of 5
(2,971 Views)
True enough, but I think it could work if you program it correctly. I am mainly thinking, have the daq application configure the channels no matter which application wants them. Have it also set the scan rate and other details based on the most critical channel. Have the daq application continously reading channels into a 2-d array, and buffer the data into a shift register. Then when one of the other applications wants data, it dumps whichever channels that app is asking for. None of the actual test application would ever request 'daq', but they would request data that has been stored from daq. I guess one thing I want to know is can I request data (such as a 2D array of dbls) across totally seperate executables?

It almost sounds like the perfect job for the new 'shared' variable type in Labview 8, but I am not familiar enough with its ins-&-outs.
0 Kudos
Message 3 of 5
(2,969 Views)

Hmm, labVIEW 8, I have not yet touched, so here ends my field.

Sorry, I cannot answer that query

all the best

Regards

Dev

 

 

0 Kudos
Message 4 of 5
(2,966 Views)

hi there

you could try to create a LabVIEW - dll that does the whole IO for one single device. this dll would then be called by the several applications. by doing so only one piece of code (the dll) opens, configures and handles the device.

 

Best regards
chris

CL(A)Dly bending G-Force with LabVIEW

famous last words: "oh my god, it is full of stars!"
0 Kudos
Message 5 of 5
(2,960 Views)