From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
03-23-2009 12:48 PM
I have a Data Acquisition program with a few DAQ Assistants. I'm currently using the DAQmx Task Propery Node to get an array of the channel names out of the DAQmx Task. Is there a way to do the same thing, but with the scaled DAQmx units instead? My DAQmx Task is made up of a few temperature measurments (RTD's and thermocouples), and a few voltage signals scaled to units of % or ppm. I'd like to have a 1-D array of the units, which I can put in the final output data spreadsheet with the channel names.
Thanks,
Sam
03-24-2009 04:03 PM
Hi Sam,
Thank you for posting to the NI Forums!! I think I'm a little confused as to what you mean by scaled. Could you please provide an example of what you have and what you're looking for? Are you saying that you want a way to attach the units or that you are wanting to manipulate the actual numbers so that they are on a certain scale? Please let me know and I will be happy to help! Have a great day!
03-24-2009 04:35 PM
Hi Margaret,
Sorry if I was unclear before. I've managed to somewhat solve my problem, in a not-so-elegant way. I've attached an image of the block diagram, which shows the DAQ Assistants. From there, I use a DAQmx Task Property Node to read the array of channel names in the DAQ Assistant. The resulting array ("Names") is used later as an input to a file saving VI, to generate column headings for my data. In the DAQ Assistant, I use custom scales to define units (see the attached DAQ Assitant screen shot). I am trying to get an array of the units (as strings) to match up with the corresponding channels. As you can see on my block diagram, I use a DAQmx Channel Propery Node to get the Analog Input Custom Scale name (using the Channel name as an input). This does work for getting custom scale names, but does nothing for temperatures, or anything that does not have a custom scaling. If there is a custom scale, I use the DAQmx Scale Property Node to get the ScaledUnits output. If there is no custom scale name, then it adds "Deg C" into the array, since everything in my DAQ assistant has a custom scaling except for my temperature measurement. While this works fine for now, I was hoping to having something more dynamic, which would work for any unit, custom or not, without having to modify the block diagram in the event the DAQ Assistant is modified.
Hopefully this somewhat clearer. I'm not terribly experienced with LV, so I was hoping there was a nicer way of accomplishing this.
03-24-2009 05:53 PM
03-24-2009 05:55 PM
03-24-2009 07:06 PM
I am running 8.5.1 (hoping our dept gets 8.6 soon). I'm not at work now so I can't try it out yet, but hopefully that will do what I'm looking for.
Thanks for the help!
03-25-2009 10:03 AM
Here you are.
Again, I am using the "Waveform" datatype. In your example you are using the "Signal" data type. I'm not sure what the differences are, exactly, but I do know that they are different and therefore my subvi may not work for you. Still, it may give you some idea. "Signal" data type comes from express VI's where as the Waveform datatypes come from non-express VI's.... that may have something to do with it. I've had to convert from Waveform to Signal before using the dynamic datatype converter Express VI, but never the other way.