Global virtual channels and DAQmx AI inputs

I would like to see and example linking global virtual channels and input configuration for DAQmx AI inputs.  The DAQmx input requires physical channels and not global virtual channels.

Hello rlbrehm,
If you are using a global virtual channel then you have alredy set up the input configuration, as shown here:
So you simply need to set up timing and read, as shown here and in the attached VI:
Message Edited by Dr. Doiron on 08-06-2009 02:55 PM
With warm regards,
David D.
Attachments:
Global Virtual Channel.vi ‏9 KB
Input Config.jpg ‏176 KB
VI.jpg ‏78 KB

Similar Messages

  • How can I get properties of global virtual channels using DAQmx?

    I'm using DAQmx with VB6. In my app, I would like to be able to present the user with a list of available predefined channels to select from. I can use DAQmxGetSysGlobalChans to get a list of the channels, but I need a way to sort out which of these channels are defined as inputs, and which are outputs. It would also be nice to be able to query other properties of the virtual channel (for example, the device and physical channel being used). These all seem very simple things, but I haven't found anything like this in the documentation so far.
    Thanks.

    Try using  DAQmxGetChanType(TaskHandle taskHandle, const char channel[ ], int32 *data)DAQmxGetChanType(TaskHandle taskHandle, const char channel[ ], int32 *data).  This will return one of the following types:
    DAQmx_Val_AI
    10100
    Analog input channel.
    DAQmx_Val_AO
    10102
    Analog output channel.
    DAQmx_Val_DI
    10151
    Digital input channel.
    DAQmx_Val_DO
    10153
    Digital output channel.
    DAQmx_Val_CI
    10131
    Counter input channel.
    DAQmx_Val_CO
    10132
    Counter output channel.
    Let me know if this works. 
    Regards,
    L. Allen

  • Duplicating a CTR Global Virtual Channel in MAX does not update the CO.Pulse.Term setting

    Hi, 
    Here is the issue description:
    MAX version: 4.6.2f1
    daqmx:  9.0.2
    Hardware: cDAQ-9178 , NI-9474 Digital output.
    For this module one has:
    crt 0 out  <--> PFI3 
    ctr 1 out  <--> PFI7
    crt 2 out  <--> PFI1
    ctr 3 out  <--> PFI5
    1. In MAX create a Global Virtual Channel as a CTR output on ctr0.
    2. use the Duplicate in the menu to create a second counter output. Change its name, and change it ctr output to ctr 1 OUT.
    3. In MAX, the Pulse Output Setup pane should reflect the change by showing the ouput terminal pointing to the proper PFIi
    4. Export the settings to an INI file, and look at the CO.Pulse.Term settings for both CTR channels: they will both appear with the SAME PFIi !
    5. Using LabVIEW Write a vi that generate pulses on these 2 channels , you will get Error -89137 saying a PFIi resource is already used. If you look at the Task property CO.Pulse.Terminal, it returns the same for both tas, which is the same error seen in the ini file.
    Can someone at NI check this? Thx.
    Laurent
    PS: I posted this message in the LabVIEW board as I did not find one for MAX
    Solved!
    Go to Solution.

    Hi Laurent,
    I verified this behavior with DAQmx 9.1 and a simulated device.  I will file this as a Corrective Action Request (CAR). Creating the channels manually works correctly and produces the correct .ini file.  Sorry for any inconvenience this may cause.
    Regards,
    h_baker
    National Instruments
    Applications Engineer
    Digital Multimeter Resources

  • Is There a way to programmatically extract global virtual channel info from max?

    I have a group of DAQmx virtual global channels setup in MAX and I would like to be able to programmatically extract the physical channel information to be included with the data file. In the past I have been able to use traditional NI-DAQ channel utility vi's to accomplish this, but they only see traditional NI-DAQ virtual channels and not DAQmx virtual channels. Is there a group of vi's for extracting DAQmx virtual channel information? I'm using Labview 7.1 with a Windows XP OS.

    Paul,
    I can access basic properties using the approach you described, but do you know how to get the units from the global virtual channel?  Say I had a general appliance for reading in load cells, and I wanted to have the axis labels in a graph show the units of whatever load cell had been selected.

  • How can I creat virtual channel and traditional devices while my card installed,I can not do?

    I installed PCI-6220 card,and I also installed DAQmx and Traditional DAQ in my computer,
    but I cannot creat virtual channel at the last step(attachment:TDAQ6220.jpg).
    Maybe this is the reason I didn't creat traditional NI-DAQ Device,but I can not creat it.
    (see attachment: DAQ Device.jpg,there is no PCI-6220 on list).
    What's wrong?What shall I do?
    Junwei You

    Hello Rainer,
    You can see this attachment(6024E.jpg),the 6024E card appears on Traditional NI-DAQ Devices,
    but I don't know how can it be created(I don't creat it,we buy the whole system together with the machine).
    I tried create a new traditional Device(I want to confirm 6024E), but still I can not see any NI-DAQ device in traditional NI-DAQ device
    lists. See the 'Create New....' interface.How can do it?
    Thanks!
    Attachments:
    6024E.JPG ‏128 KB

  • Error 200302 in DAQ-mx global virtual channels when reading 0Hz

    Hello, I am attempting to calculate flowrate via frequency (by counting the pulses for a given time).
    The frequency read seems fine when the operation is running. However, when there is no flow (only tested by reading the channel with the operation off) there is an error 200302 (Signal being measured is slower than the specified measurement time.Increase the measurement time, or use a different measurement method.).The concern is to make sure that when there is actually no flow rate while operating that the returning information is confirmed to be valid.
    So far the only solution I've found is just ignoring/hiding errors. Any further help would be appreciated and if I have not been thorough enough please let me know.
    Thank you for reading.

    Hi JRoe,
    You can change the timeout to -1 where no timeout will occur and consequently no error; however, until a sample is read the DAQmx Read will wait before progressing onto the next while loop iteration.  This is another option to consider in addition to handling the error exception. 
    Regards,
    h_baker
    National Instruments
    Applications Engineer
    Digital Multimeter Resources

  • How do I import Traditiona​l NI-DAQ Virtual Channels and MAX 3.1

    I installed Labview 7.1 on a new machine and the tools option in MAX 3.1 does not have the option to import traditional NI-DAQ configurations.

    If you have support for Traditional NI-DAQ installed, you should have the option to open a configuration file from: Tools>>Traditional NI-DAQ Configuration>>Set Active Configuration. You can check the installation of Traditional NI-DAQ under the Software tree in MAX.
    Hope this helps.
    Regards,
    Erin

  • Use virtual channel name as input to DAQmx Write? LV8 and DAQmx

    I've created a task for digital output that contains 8 named channels using the DAQmx Create Channel VI in Labview. Is it possible to use the channel name as an input to the DAQmx Write VI to reference the desired channel? I tried wiring a string with the channel name to the "task/channels in" input but I get a -200428 error that says the Value passed to the Task/Channels In control is invalid.
    The help "name to assign" input for the DAQmx Create Channel VI says
       If you use this input to provide your own names for the virtual channels, you must use the names when you refer to these channels
       in other NI-DAQmx VIs and Property Nodes
    OK, so how do you use the name assigned in other VIs?
    George

    George,
    I think that there may be some confusion here about the difference between local and global virtual channels.  First of all, please take a look at the following knowledge base:
    Physical Channels, Virtual Channels, and Tasks in NI-DAQmx
    As discussed in this KB, local global channels are created inside a task, and they only apply to that task.  In the help file for the DAQmx Write VI, the "task/channels in" description says "if you provide a list of virtual channels, NI-DAQmx creates a task automatically."  When you wire a string to this input, a new task is being created, and unless the channel name that you wire in is a global virtual channel (listed in MAX), you will get the error 200428 that you mentioned.  This is because that virtual channel that you are specifying is local to another task and is not associated with this new task. 
    One solution to this issue is to use the DAQmx Save Global Channel VI to save your local virtual channel as a global virtual channel before calling DAQmx Write.  Once this is done, you can then wire the same string constant to the "task/channels in" input of DAQmx Write or other DAQmx VI's. 
    The help text is still correct, but is only applicable in certain situations.  For example, if you create and name an analog input local virtual channel with DAQmx Create Channel, you could then use this channel name as the source input to a DAQmx Trigger VI configured for an analog edge start trigger.  You could also use that channel name as the input to the "ActiveChans" DAQmx Channel Property, which would enable you to modify the properties of that particular channel. 
    Hopefully this information is helpful to you.

  • About virtual channel in different device and/or different type channel

    Hi all,
      I am looking for a way to write to several analog channels at the same time. In my code, I didnt' pay much attention to that, I just have them placed in the the same frame in the flat sequence such that they might be started to write simultaneously. However, sometimes they might not working perfectly. I am reading something on DAQmx and I found that there is something call virtual channel so I have put more than 1 channel into a unit (called virtual cahnnel), so I can write something to it at the same time. Here are my question
    1) what's the different between virtual channel and channel group? If I write a array of 3 elements to a channel group (consists of dev1/ao1, dev1/ao2 and dev1/ao5),  am I writing to channel group or virtual channel?
    2) can I bind different channels from different devices to form a virtual channel, e.g. dev0/ao0 dev1/ao0 dev2/ao0?
    3) can I bind different type of channel to form a virtual channel, e.g. dev0/ao0, dev0/port0/line0?
    4) last question is about synchronization on writing to a virtual channel (or channel group?) Last say I have a pulse train each pulse is separated in time by 1.2ms and total time is 122.4ms. The pulse train will be sent to dev0/ao3, and at 12ms after start send very first pulse of the train, I need to write two analog signal to dev1/ao1 and dev1/ao5. In my current code, create a flat sequence, start the task for sending the train in the first frame, put delay in second frame and delay for 12ms, write dev1/ao1 and dev1/ao5 in the third frame. For some times, this gives me acceptable timing but not always. I wonder how does it help to use virtual channel?
    In the similar situtation, what about if instead of writing to two analog channel, I write to one analog channel and one digital channel?
    Thanks.

    1) virtual channel is created per task and contains a collection of settings such as a name, a physical channel, input terminal connections, the type of measurement or generation, and can include scaling information.. A virtual group is specific to digital IO and has to deal with the way you read/write data off/to the port
    2) yes you can create a task with physical channels from multiple devices assuming they are comparable writes (ie all analog or all analog read, or all digital) but they will have the same channel characteristics (see answer above)
    3) no you cannot create a task that handle an AO and a DO from with in the same task
    4) if you created a task you are using a virtual channel. The only way to ensure timing is to use hardware timing (ie onboard sample clock of you DAQ card) otherwise the reads/writes are basically interrupts and you are at the mercy of the OS to service the interrupt request
    if you need more information please repost with more questions, include your DAQ hardware, and any code pictures to give us a better idea of what you are trying to accomplish and how you are going about it
    Applications/Systems/Test
    National Instruments | AWR Group

  • DAQmX create virtual channel execution time

    Hi,
    I am using DAQmX Create Virtual Channel for 70 different Digital Output. It took 35 seconds to execute the DAQmX Create Viryual Channel VI.
    What are the steps to make the execution faster.
    Valliappan.M

    Have you tried creating a global virtual channel with MAX?
    André
    Regards,
    André
    Using whatever version of LV the customer requires. (LV5.1-LV2012) (www.carya.nl)

  • Why does labview forget the connections to the virtual channels in MAX?

    I create a bunch of virtual channels in MAX - some with double assignment to a single AI port.
    Context - a digital output controls a MUX to switch the inputs into the AI ports of my USB-6361(BNC) DAQmx; thereby allowing me to double up on the number of AI ports I can access (switching every 5ms).
    I can run the code without any troubles. I have now completed my hardware set up and and am now testing the integration with the code. This is where things become a little unstuck.
    Problem: some ports, over time, start displaying erroneous data that is not correct. It is not until I delete the virtual channel and re-create it in MAX, does everything settle and work. This 'bad' data is seen in the MAX test panels tab and virtual channels tab.
    What is going on - should I bite the bullet and program all port assignments (channels) within my code?
    Am i mistakenly killing a link between MAX and the DAQmx?

    natashw already told you that it's expected behaviour when you leave the analog input open. There are two aspects to this:
    1) The analog input amplifier is a high impedance operation amplifier. It's minimal stray capacitance is high enough that it gets charged through very small leakage currents in the amplifier input stage, but the high input impedance doesn't allow those capacitance to discharge quick enough to stay at a defined voltage. So your input is usually very slowly floating to one of the power supply rails depending what transistor side has a slightly higher leakage.
    2) You only have one analog to digital converter. To get multiple channels there is a multiplexer than connects the different input channels to this single ADC. When the multiplexer switches between from a connected signal to an unconnected signal those stray capacitance at the ADC amplifier input has been charged to a certain voltage from the connected channel. With only the internal impedance of the amplifier to discharge this capacitance after the multiplexer switched to an unconnected input, the ADC will simply see the voltage that the stray capacitance has been charged to.
    Having a low impedance amplifier input would solve that problem but create many more problems that would affect the measurement accuracy significantly.
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

  • Q: Why do "virtual channels" mysteriously disappear?

    I am a newbie to Labview 6i and have been encountering a recurring problem.
    I have been using the sample VI "Getting Started Analog Input.VI" as a
    sample to practice basic techniques by making incremental changes and
    observing the results. The first subVI in this block diagram is AI Config.VI
    which requires an input "I/O" which tells it which channel to use.
    Supposedly, I can simply enter a list such as 0,1,2,3 etc and have this
    interpreted as aich0, aich1... of the specified device, but the only way I
    have found to get the program to work is to create a "virtual channel" in
    Measurement And Automation Explorer. If I do this, I can get then choose the
    virtual channel and VI will run.
    The problem that I cannot figure
    out is that every now and then, all the
    virtual channel information is deleted and must be recreated. I can't see
    what it is I am doing that causes this to happen, maybe I'm clicking when I
    should double click or something, but it sure is frustrating. I was just
    running it a minute ago and they were there at the beginning of the session
    and at some point just disappeared without ever acutally running a VI.
    Any ideas would be greatly appreciated.
    Jon Juhlin
    [email protected]

    Jon;
    If you right click at the channel control and select the option named "allow undefined names", you will be able to type in the channel number as well as select the virtual channel.
    Hope this helps.
    To avoid the virtual channel to be deleted you can choose the option to save the configuration file in MAX. That will save all your channels to one file and everytime you open MAX, or try to access the virtual channels in Labview, the ones you created will be there.
    Hope this helps.
    Filipe

  • Duplicate physical channel with virtual channel

    I accidently created more than global virtual channel with one physical channel, for example:
    physical channel  global virtual channel
    a0                       vtc00
    a0                       vtc01
    a0                       vtc02
    My questions are:
    1-How do I change the virtual channel as the following:
    physical channel  global virtual channel
    a0                       vtc00
    a1                       vtc01
    a2                       vtc02
    2-How do I re-name/delete the global virtual channel, when it's not in the task?
    Thanks you for your time, Dylan
    Solved!
    Go to Solution.

    Thanks you Carisa for fast response, but that not the right answer I am looking for. 
    May be I did not make myself clear.  I attached two screenshots for example: On one screenshot, you will see bri00, bri01, bri02, bri03, bri04, bri05, bri06, bri07, bri08, bri50 on the virtual channel tab, however you won't see them display under NI-DAQmx Global Virtual Channel (second screenshot).  On the second screenshot, you only see bri00, bri01, bri02, bri03, bri04, the rest of bris do not display on here like they display on the virtual channel tab. 
    Now I can't create the new global virtual channel under NI-DAQmx Global Virtual Channel with the name bri05, bri06, bri07, bri08, because I will get the conflict name error pop up on the screen.  How can I delete those bris in the virtual channel tab? 
    Thanks again for your time, Dylan
    Attachments:
    virtual-1.png ‏45 KB
    virtual-2.png ‏226 KB

  • Computer crashes when using virtual channel custom scales.

    I am using a PXI-1045, which is connected to my computer via a MXI-3, to hold 3 PXI-6115 cards as well as several other cards. I have been using virtual channels for the nine input channels I am looking at. When I added custom scaling to one of the virtual channels my LabView application crashed the next time I ran it. If I remove the scaling it goes back to working fine, but when I add it back in it crashes again. The crash causes the computer to automatically restart, but on one of the runs I got a "Fatal Internal Error: 'memory.cpp', line 593" message before the computer restarted. I've tried reinstalling MAX and updating some drivers, but nothing seems to help.
    Thank you.

    Still having the same problem. Ever the optimist, I submit the following info.
    Error window screenshot can be found here: https://dl.dropboxusercontent.com/u/22465174/safari/safari_fail_01.JPG
    Enent log entry can be found here: https://dl.dropboxusercontent.com/u/22465174/safari/safari_fail_02.txt
    Version info can be found here: https://dl.dropboxusercontent.com/u/22465174/safari/safari_fail_03.JPG

  • Is there anyway to read the unscaled voltage from a scaled virtual channel?

    I am using DAQmx to read voltage from a SCXI chassis. Programmically in Labview I created a task with virtual channels and custom scales. Later in the program, I wish to view the scaled volatge and the raw voltage at the same time. Is there a property node which will allow me to do so?

    Hi Fergusonhd -- yes, there is a way to do this --> Look in DAQmx-> DAQmxAdvanced-> Scale -> Scale Property node.
    Drop it in and wire in your scale.(I did it by creating a constant for active_scale) Select the various attributes depending on the type of scale you created and manipulate your signals based on that information - For ex. if you created a linear scale, you could get information about the slope and intercept from this property node -- that being said, you can use this information and do the reverse logic:
    [if original was Y=aX+b]
    X = (Y-b)/a
    where b is the Y intercept and a is the slope
    Hope this helps
    VNIU

Maybe you are looking for

  • Can I use any SATA hard drive with an iMac?

    Hi, I'm a PC user from birth, and want to purchase an iMac, but the 500gb-1tb isn't enough storage for what I currently have on my PC (I have 4x 250gb hard drives, plus I'd need more room for the Mac OS). My question is, can I use any HD in the iMac,

  • REFRENCEING PRIMARY KEY IN THE TABLE

    Hi, I want to refer the composite primary key column into one table that is i have one primary key with three columns and i want to refer only one column as a forigen key in the other table. how do i do that ? regards gaurav null

  • SCCM2012 is broken Hardware scan

    SCCM2012 is broken "Hardware scan." I can not get the new data from workstations. Maybe c\Program Files\Microsoft Configuration Manager\inboxes\clifiles.src\hinv MOF file is corrupted? This place is just configuration.mof. File sms_def.mof I do not.

  • Preserving default values

    hi, i created a new table from an old table using the command, create table temp as select * from orders; but the temp table doesn't contains the default values set for the columns of the old table. Can anyone help me in this regards. Regards, Aji

  • Vista 32Bit or 64Bit?

    Hi, Has anyone got any suggestions and some advice on which version of Vista is better, 32Bit or 64Bit and why? My T500 has 4GB memory, but this is the maximum, at the moment, not sure if this will change when the 4GB SDIMM's will be realeased. I've