Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

Webcast: The Things I Wish I Would Have Known Before I Started Programming with NI-DAQmx


@Dennis Knutson wrote:


Look again at the DAQmx Device property. After you write the ActiveDev property, you can read all of the items you list. Right click and select Properties and you will see what is available.


edit: Just saw from another post of yours that you are not using LabVIEW so my hint will not work for you. The properties are there though, you just have to work harder with a text based language.Smiley Wink



Message Edited by Dennis Knutson on 02-13-2008 09:43 PM



Dennis, thank you! You encouraged me look deeper 🙂 and I found out that the DAQmx version I had installed was ummmm... a bit outdated (7.4)-that is why I failed to find all that information there. Now that I have ver. 8.6 and could request for and retrieve some of the board features, there still are some issues to look into.
1. There is a function DAQmxGetDevAIGains(). It returns an array of 0's to me, while I was expecting some sort of gain coefficients (say, relative to a lowest voltage range available). But however wrong I am with my assumptions, it should not return 0's (I use PCI-6014 DAQ at this time). Why? What do not I undertand about this function?
2. As long as I understand the DAQ bit resolution (ADC/DAC) is the basic device characteristic< which I would like to know in order to make my program generic. But again - I could not find a way to query for this value (or values if to assume ADC and DAC could have different raw data sizes).
There are some functions, which (I guess) return raw data size, but they are task-related, while in fact - as long as I understand - they should be task-independent, since it is a device-based feature.
In general, I really believe that using DAQmx for generic programming (of course, to a realistic degree) could be a good subject for a webcast.
Best regards,
Mike
0 Kudos
Message 21 of 24
(1,670 Views)

Jervin,

The one thing I wish I had understood was how much the Task State Model impacts the speed/performance of vi's that use DAQmx.  Recently helped rewrite a vi for a board tester.  In one of the steps the tester has to simulate hardware in a control loop.  Simulation involves capturing a couple of waveforms and analog values, running some serious signal processing and then updating a continuous waveform output.  Started out with a loop that could be closed no faster than 1Hz and an engineer that said DAQ device was flawed and would not work for this applicaiton.  After vi was rewritten to take full advantage of DAQmx tasks, it ran faster than 1KHz and engineer finally quit bad mouthing NI.

0 Kudos
Message 22 of 24
(1,648 Views)
 

Hi everyone,

I wanted to take a moment to thank everyone who has submitted their idea to the brainstorming session so far.

Right now we have (in chronological order):

  • falkpl: Tutorial of simulated devices
  • MichelleGator: Test Panels in MAX
  • JoeLabView: Contrast with Traditional DAQ
  • centerbolt: Impact of Task State Model

For those of you who don't know what the Task State Model is I encourage you to read:
Developer Zone Tutorial: Transitioning from Traditional NI-DAQ (Legacy) to NI-DAQmx which has an overview of it.

MikeF_cetr: You mentioned including "Using DAQmx for generic programming" as a topic. I was wondering if you could elaborate on you would like to see as far as generic programming.

I'd like to remind everyone that this post is primarily for generating topic ideas for the NI-DAQmx webcast.
If you have any product suggestions, we really value feedback from our users, and you can submit these at our Product Suggestion Center.
If you have questions about using NI-DAQmx with any of our boards, you can always start a new discussion on the Multifunction DAQ board.

As always thanks Stuart G, Dennis Knutson and Raghunathan for providing answers to most of the questions so far.

Thanks everyone, and lets keep the ideas flowing! This is a great start and we'd love to have some more ideas for the webcast!

Jervin Justin
NI TestStand Product Manager
0 Kudos
Message 23 of 24
(1,606 Views)
Chiming in a bit later here, but would it be possible to define a loopback from simulated output to simulated input within DAQmx?
 
I have two 6509 boards in my current project, and I have 80+ lines of digital control to multiple devices (Dev1).  Each control line has a readback line, but not an electrical loopback; the loopback is the result of an FPGA interpreting my control line.
 
My code (not the FPGA) is responsible for state transitions. I use the readbacks to get the current state and then determine if the requested state is compatible. I would like to set a bit on simulated output /Dev1/port1/line1 and have DAQmx internally loop this back on /Dev2/port1/line1. Right now, the value of the bits in the task seem to increment with each read/write. To overcome this I use a LV2 global in parallel to test my transition logic, but I can't test my DAQmx calls without real hardware and a cable to loop the electrical signal back. Smiley Sad
 
I recently finsished testing my logic and went to my station containing real hardware, and now I have problems with DAQmx. I can't test my DAQmx function calls in simulated or real mode Smiley Sad
0 Kudos
Message 24 of 24
(1,376 Views)