Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

Need some clear info on data cquis. with LV in linux

i have a couple of questions any help would be greatly appreciated. i want to migrate to LV for linux froim the windows version. it is really hard to just get a clear understanding of using labview with linux from the ni web site.

Q1 :
i found out that NIDAQmx base does not use property nodes. So how can i get things like the actual sampling rate for a DAQ task. is putting the output as a wavform and pulling out the dt value the only way. Is there any way to access other information about the channels?

Q2 :
Can i just make convert my NIDAQmx routines back to traditional NIDAQ? Is traditioanl NIDAQ fully operational in linux?

Q3 :
Will programs written using comedi drivers be affected by my using NIDAQmx base? For windows it seems that things have to be configured in NIDAQ for use with mx or traditional. Will using NIDAQmx base reset the cards fin the mx mode and make things that use other ways of accessing the cards not work anymore?

i was really excited about getting LV for linux but i can't find enough information on how DAQ works with linux. the only info i could find was in regards to NIDAQmx base. BUt it was hard to figure out if traditional NIDAQ works with linux. And how to get around the limitations of NIDAQmx base.

Any help or a pointer to a ni faq site that answers these questiosn would be appreciated.

THANKS!




0 Kudos
Message 1 of 17
(3,857 Views)

sorry one other thing i forgot to ask:

it says that there is no multithreading support in NIDAQmx base. does that mean that programs that have simultaneous, hardware timed analog output and analog input will suffer greatly in performance?

and again if traditional NIDAQ does work with LV 7.1 and linux will that suffer from this problem as well?

thanks.

0 Kudos
Message 2 of 17
(3,845 Views)
Hi evren,

I'm a Mac OS X user but I think everything I know (which is little) should apply to linux.
1: when using NI-DAQmx Base you set the sample rate but has no infos on actual sample rate. Output is array.
2 : NI-DAQ doesn't work with Linux
3 : Don't know

Well I'm using NI-DAQmx Base for a month and I'm a little bit frustrated (for example, different sample rates, thermocouple and volt simultaneous acquisition are not possible), but we can hope NI-DAQmx Base will be upgraded soon, and for me there is no other solution...

Boris Matrot
0 Kudos
Message 3 of 17
(3,837 Views)
Hi evren,

I'm a Mac OS X user but I think everything I know (which is little) should apply to linux.
1: when using NI-DAQmx Base you set the sample rate but has no infos on actual sample rate. Output is array.
2 : NI-DAQ doesn't work with Linux
3 : Don't know

Well I'm using NI-DAQmx Base for a month and I'm a little bit frustrated (for example, different sample rates, thermocouple and volt simultaneous acquisition are not possible), but we can hope NI-DAQmx Base will be upgraded soon, and for me there is no other solution...

Boris Matrot
0 Kudos
Message 4 of 17
(3,836 Views)

thanks for the info.

how did people do data acquistion with linux in the pre-mx days? was there any data acquistion routines like the traditional ones? or did labview for linux come out at the same time as mx?

the root of my question is just whether there is any non-mx way to do data acquistion with LV for linux. i would be willing to alter those parts of my program until a fullfunctioning mx version comes out for linux. without it i guess i will have to wait on using linux, which is really disapointing. i was really excited about getting the linux version becuase i thought it was fully functional.

0 Kudos
Message 5 of 17
(3,832 Views)
evren,

I am going to try to answer your questions (and hopefully make you feel better about your purchase).

"Q1 :
i found out that NIDAQmx base does not use property nodes. So how can i get things like the actual sampling rate for a DAQ task. is putting the output as a wavform and pulling out the dt value the only way. Is there any way to access other information about the channels?"

DAQmx Base does not allow you to read your data into a waveform data type, you can only read your data as an array of doubles.  Although, your actual sampling rate will be very close the the sampling rate you inputed into your DAQmx Base timing VI.

"Q2 :
Can i just make convert my NIDAQmx routines back to traditional NIDAQ? Is
traditioanl NIDAQ fully operational in linux?"

NI-DAQ is not supported in Linux.

"Q3 :
Will programs written using comedi drivers be affected by my using
NIDAQmx base? For windows it seems that things have to be configured in
NIDAQ for use with mx or traditional. Will using NIDAQmx base reset the
cards fin the mx mode and make things that use other ways of accessing
the cards not work anymore?"

As long is you are not trying accessing your DAQ card from the two drivers at the same time then you should not have any problems.  You might need to reset the device each time you finish using one driver so that there are no conflicts.  You will not be able to use the comedi drivers and the DAQmx-Base drivers at the same time.  Personally, I would avoid using the two drivers on the same system.

"
how did people do data acquistion with linux in the pre-mx days? was there any data acquistion routines like the traditional ones? or did labview for linux come out at the same time as mx?"

There was not a National Instruments DAQ driver before NI-DAQmx Base.  You had to use 3rd party drivers before that, like comedi.


What functionality are you trying to achieve in DAQmx Base that you are unable to achieve?  What DAQ card do you have?  I should be able to give you an equation you can use to determine your actual sampling rate based of off the sampling rate you input into your DAQmx Base timing VI.

Lorne Hengst
Application Engineer
National Instruments


0 Kudos
Message 6 of 17
(3,823 Views)


thanks for your help Lorne H.

That's exactly the info i needed.

right now i have a program thats takes analog input at ~32kHz from mulitple chans while simultaneously sending out one channel of hardware timed analog output. the analog input data is streamed to disk.

it would be great if i could transition it to a linux machine for a new project since a linux machine is setup already for that experiment. i believe the card in that system is an E-series card for a PCI bus. i may also use this on a system with the low cost M-series card as well.

Will the lack of multithreading in DAQmx hurt the performance of a program like this? For one set of experiments the progam actually delivers analog output triggered by the analog input data. For this i need low latencies and if the lack of multithreading slows down the analog read it might not work.

Not knowing the exact sampling rate is not a huge deal, but it was a practical problem that would be an issue with getting the linux version. i thought by putting that out there i might be able to get some feedback on problems i might face.

any more help would be greatly appreciated. i would like to transition to the linux version very much.

thanks!
-evren


0 Kudos
Message 7 of 17
(3,817 Views)
Hi,

Concerning multithreading, the assertion "NI-DAQmx doesn't support multi-threading" only means you can't run two analog input (or two AO, DI or DO) in parallel. On the contrary, it is possible to run 1 AI, 1 AO, 1DI and 1DO in parallel. As far as I know it doesn't affect acquisition speed and synchronisation between AI and AO.

After verification on my mac, the triggering vi exists in NI-DAQmx base and seems to allow Analog outputing triggered by an analog edge.
I never used it but I could if you don't have any confirmation from another user.

Regards

Boris Matrot
0 Kudos
Message 8 of 17
(3,813 Views)
by 2 AI in parrallel does that mean you can only have 1 AI channel at a time, or only one set of channels with all the same sampling rates etc at one time?

i'm guessing the latter but i need to know for sure.

thanks.

-evren

0 Kudos
Message 9 of 17
(3,810 Views)
You're right, it's the latter.

I work on it but there is now way to have different sampling rates on two AI channels (it's possible undirectly with NI-DAQ, but impossible with NI-DAQmx Base, precisely because of the multithreading limitation). However, you can use different acquisition ranges on different AI channels.

Boris Matrot
0 Kudos
Message 10 of 17
(3,807 Views)