LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Obtaining Pre-scaled Units from already generated DAQmx Task

Hello,

 

I'm working on developing a tester that uses MAX scales for it's signal calibration. When the operator is using the tester he only needs access to the scaled (calibrated) measurement coming from DAQmx, so the scale is input into the task at start.  When the calibration tech is working with the station I'd like to provide the prescaled units to him so that he can compare with the transfer standard he's working with. Now I know I could do this by canceling the already running task and rebooting into a new one that doesn't use the scale, but I'd think that accessing the raw measurements (mA or V) from a task that uses a scale (mBAR or inch/lbs for instance) on the fly SHOULD be possible (not to mention awesome). I just haven't figured out how to do it yet. Anyone have any ideas?  I've found an old thread from 2008 that was discussing the 'create a new task' method mentioned above, nothing in regards to this however.  

 

Thanks!

 

Tim

0 Kudos
Message 1 of 5
(2,797 Views)

Hi Tim,

 

Correct me if I am wrong, but it sounds like you will be running two measurements continuously while trying to compare them and ultimately calibrate them together.

 

I may be taking your description the wrong way, but I believe the functionality you are after can be found while creating a new task. When you have a task created and are viewing it in MAX, simply add a channel in the configuration tab. Note in the Two Channel Comparison attached image that I have a screenshot where I used the blue plus button under 'Channel Settings' to add a channel. Notice in the Waveform Comparison image I can observe two similar waveforms, which I believe is what you are trying to accomplish.

 

Let me know if I am not understanding this correctly.

 

Regards,

Finch Train

Download All
0 Kudos
Message 2 of 5
(2,744 Views)

This actually might be an option depending on which hardware you are using.  I'm working with a cDAQ that appears to not support duplicate channels which is a problem.  

 

I've attached an example of what I tried to do based upon your recommendation.

 

To clarify: what I'm really looking for is a 'switch' that will let me turn the scaling on and off programatically.  I've also dug through the DAQmx Scale API and wasn't able to find a switch for this either. My thought is that DAQmx should provide a switch, ideally on the 'read' call that would allow you to read the measurement pre-scale. I know this doesn't exist, but hopefully this helps explain what I'm trying to achieve and perhaps find an analog. I've added some images also that I hope improve the clarity.

 

Thanks for the reply!

 

Tim

0 Kudos
Message 3 of 5
(2,735 Views)

Hi Tim,

 

I think these resources may be useful for you going forward. It may require some tweaking to fit your program.

 

Scaling and Reading Multiple Channels in the Same Task

https://decibel.ni.com/content/docs/DOC-32972

 

Change DAQmx scales in LabVIEW and save the changed scales to MAX

http://www.ni.com/example/26625/en/

 

If you have a free channel, you can jump the input to a free input channel and create two tasks that show the reading that you want.

 

I hope this helps,

 

Finch Train

 

 

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

Finch,

 

Thank you for your consideration.

 

I've decided to clear the task and start from scratch when needing to access the raw values.  To my knowledge the exact option I'm looking for doesn't exist in LabVIEW right now but your ideas are much appreciated.

 

Regards,

 

Tim

0 Kudos
Message 5 of 5
(2,648 Views)