Shunt Calibrate Multiple Channels in One Task - Error 201398

Having created a task with multiple AI Strain Gage channels (each set with same bridge properties and quarter bridge config.), I recieve an error when passing the task to the "DAQmx Perform Shunt Calibration (Strain).vi"
My VI works fine if only a single channel is contained in the task, but more than one channel causes the error.  Do I have to loop through each channel manually?
The "possible reason(s)" varies depending on my approach, but often indicates the AI.Bridge.ShuntCal.GainAdjust being requested is "-Inf"

You can start a new thread even if you have the same issue. What exactly you aregetting and show us the code for better understanding.
The best solution is the one you find it by yourself

Similar Messages

  • Select multiple channels for one task - control and shift keys don't work

    Hi,
    Following advice from several other posts, I'm trying to select multiple physical channels  from the dropdown list so that I can then use the "unflatten channel string" function later on. It looks like if I hold down either shift or cntrl I should be able to select multiple channels from the list, however, this doesn't work for me. I tried going into the "key navigations" property for the task channel control but it doesn't have any associations listed. Has anyone else come across this and found a fix?  I have previously got around this by stating multiple channels with a colon (eg. ai1:3) but this doesn't work for the unflatten function.
    Thanks, 
    Claire.
    Solved!
    Go to Solution.

    Thanks for your reply Dennis, I see what you mean, unfortunately that doesn't solve my problem so I'm missing something else. I've attached my VIs. I expected that the output from the unflattenstring block would be an array of either the channel references or the names I had given them, and that therefore the "array size" in the 4th pane would be "9" (equal to the number of channels).  Instead the output is a an "unnamed task#(some number)" when I look at it with a probe. Perhaps I'm misunderstanding how the task naming works?
    THanks, 
    Claire.
    Attachments:
    Analog SW Trigger_v3.vi ‏33 KB
    Cont Acq&Graph Voltage-Analog SW Trigger_cfjv3.vi ‏64 KB

  • Reading multiple channels in one task

    Hi i am trying to read three voltage inputs in one task. I have configured the task and used generate code to get the example. But i am now getting the data from all three channels in one waveform, but i would like to work independantly on the three channels. What should i do.

    Hi vamy,
    If you read all channels with AI Read, it should return an array of waveforms (not just a single waveform). You can use "Index Array" to get the waveform from each individual channel, or use "Index Waveform Array", which is basically the same operation.
    Dan

  • Multiple channels in one task with ch to ch config

    Hi,
    Normally the way I acquire sample from more than one channel on a cDAQ system is like this:
    1, I create virtual channels for my AIs in MAX
    2, in LabVIEW I use channel constants and merging them using comma as a separator (eg. with the concatenate string node).
    3, the I configure the sample clock using the comma separted channels as an input
    4, start the task
    5, acquire samples
    6, stop and clear the task
    This worked just fine so far as I acquired samples from my cDAQ modules with the same speed and all of them were simple analog inputs. But I have to implement a strain gage measurement (NI 9237) now and I'd like to use the bridge offset nulling calibration VI to get rid of the offset I have. That complicates my structure.
    It seems the VI I have created runs just fine but I am wondering if this is a legit solution as I used the sample clock twice. (the VI uses simulated channels for now)
    Attached the VI (LV2012) and its block diagram image as well.
    Please advise. Thanks!
    i-
    Attachments:
    Strain_test.gif ‏14 KB
    Strain_test.vi ‏36 KB

    I have failed to realize that the offset nulling VI has another input called "skip unsupported channels". This is false by default, but setting it true resolves the problem without changing my structure at all.
    Well done, kudos to myself
    Attachments:
    Strain_test2.gif ‏8 KB

  • Assigning Multiple channels to one Camapign

    Hi Gurus.
    We have a requirement for our business where the marketing user would like to assign multiple channels to a campaign. Is this possible.
    Ex. Marketing dept creates a campaign would like to target all existing customer. Now they want to execute this campaign through, telephone, e-mail, etc.
    My question is it possible and if so how can we assign multiple channel for one campaign execution.
    Unfortunately this a urgent requirement and i need to come up with a solution by very quickly.
    Your help ment awould be really appreciated.
    Thanks
    Rao

    Hi Rao
    it is pretty easy,just you have to define the communication channel for all the BPs which you want to use for your segmentation cause.
    within those BPs go to the identification tab and therein you just mention all those communication channels details which you want to use for assigning the BP to target group
    after you are done with it just assign target group and do the segmenation.
    do revert back in case of any doubt
    best regards
    ashish

  • DAQmx multichann​el read error. DAQmx believes there are multiple channels in my task.

    Hello,
    I recieve the appended error message when attempting to use DAQmx Read in my VI.  LabVIEW is telling me that I am attempting to read a single channel when my task is configured for multiple channels.  However, as you can see in the task configuration pane, that is not the case!  If I attempt to use DAQmx Read to generate a waveform with multiple channels, the VI executes without error but I do not want a 1D waveform array..  Any tips?
    Regards,
    Steve
    Solved!
    Go to Solution.
    Attachments:
    multi_chan_errr.JPG ‏42 KB
    channel_Vin.JPG ‏108 KB

    This is exactly why I ALLWAYS hide my DAQ Tasks inside a "Resource Module" 
    As I use the term a "Resource Module" is a special case Action Engine tha exposes only that subset of functionality that a specific project needs to take on a given resource external to LabVIEW.  And, it provides a single point of entry to access that resource by keeping private data private.  Had you used the technique here you would have had one vi to look at.  and, there likely would have been no "Reconfigure to add channel" method available to cause trouble.
    Jeff

  • Two Counter channels in one task ID with DAQmx?

    I am writing a program which will control the movement of a gimble on the X and Y axis with servo motors while recieving
    position feed back from two encoders on those axis. I am using a 6251M series card's AO to control the movement
    of the gimble, while running the encoders into a 6602 for position. When setting up my task ID in MAX I noticed I could add
    both ctr0 and ctr1 to the task ID, but  when I tried read the counters with that task I got an error in Labview and with the
    test function in MAX  saying I need to use a multichannel read. I can not find a multichannel read under the counter
    section of my DAQmx read, and was wondering if this is even possible. I am used to programming with Traditional DAQ
    and know you have to keep separate counter task ID's, but having bought an M series card and having to use DAQmx I
    was wanting to know if I could combine them.
    Thanks

    You can have multiple channels in a single task, but those channels all
    have to be of the same type.  You can have analog inputs together
    with other analog inputs, but cannot combine digital inputs/outputs,
    analog outputs or counter tasks with that analog input task.
    Once you pair only like tasks together then you shouldn't run into any more issues like this.
    Best of luck,
    Otis
    Training and Certification
    Product Support Engineer
    National Instruments

  • How do I read multiple channels at one time using labview with the Fluke Hydra Data Bucket 2620a using serial port?

    I need to take a reading of 15 channels about once a second. I can read one value at a time using the monitor function on the read values.vi driver, but this takes forever to read all the channels.

    I don't have this instrument but I took a look at the instrument driver and it appears that you can only configure one channel at a time to read from. You might want to take a look at the command set for this instrument and see if it allows for configuration of multiple channels. It could be that the instrument driver just doesn't have that built in.
    J.R. Allen

  • How  to use multiple channels with one remoteObject .

    hi,
    I have an application which is accessed through HPPS some
    times , also it can be access on server with http service.
    so I want to know how to configure config files or add
    runtime channels which will support either channel depending on
    the server it is accessed over.
    Is there any one who can help me to solve this...i need it
    soon.
    thank you...

    Hi,
    Please visit the URL below for details on adding channel sets
    at runtime. Add multiple channels to the channel set so that the
    fall back mechanism works.
    http://livedocs.adobe.com/blazeds/1/blazeds_devguide/runtimeconfig_5.html#194376
    Hope this helps.

  • How to Read All Channels in one task in vc

    I want to read 6 channals' datas in VC. Now I create 6 task, and read it sperately.
    I know that it can read from one task, but how??
    DAQmxCreateTask("",&task1);
    DAQmxCreateTask("",&task2);
    DAQmxCreateTask("",&task3);
    DAQmxCreateTask("",&task4);
    DAQmxCreateTask("",&task5);
    DAQmxCreateTask("",&task6);
    DAQmxCreateAIVoltageChan(task1,"Dev1/ai0","",DAQmx​_Val_Cfg_Default,-5.0,5.0,DAQmx_Val_Volts,NULL);
    DAQmxCreateAIVoltageChan(task2,"Dev1/ai1","",DAQmx​_Val_Cfg_Default,-5.0,5.0,DAQmx_Val_Volts,NULL);
    DAQmxCreateAIVoltageChan(task3,"Dev1/ai2","",DAQmx​_Val_Cfg_Default,-5.0,5.0,DAQmx_Val_Volts,NULL);
    DAQmxCreateAIVoltageChan(task4,"Dev1/ai3","",DAQmx​_Val_Cfg_Default,-5.0,5.0,DAQmx_Val_Volts,NULL);
    DAQmxCreateAIVoltageChan(task5,"Dev1/ai4","",DAQmx​_Val_Cfg_Default,-5.0,5.0,DAQmx_Val_Volts,NULL);
    DAQmxCreateAIVoltageChan(task6,"Dev1/ai5","",DAQmx​_Val_Cfg_Default,-5.0,5.0,DAQmx_Val_Volts,NULL);
    DAQmxCfgSampClkTiming(task1,"",1000.0,DAQmx_Val_Ri​sing,DAQmx_Val_FiniteSamps,N);
    DAQmxCfgSampClkTiming(task2,"",1000.0,DAQmx_Val_Ri​sing,DAQmx_Val_FiniteSamps,N);
    DAQmxCfgSampClkTiming(task3,"",1000.0,DAQmx_Val_Ri​sing,DAQmx_Val_FiniteSamps,N);
    DAQmxCfgSampClkTiming(task4,"",1000.0,DAQmx_Val_Ri​sing,DAQmx_Val_FiniteSamps,N);
    DAQmxCfgSampClkTiming(task5,"",1000.0,DAQmx_Val_Ri​sing,DAQmx_Val_FiniteSamps,N);
    DAQmxCfgSampClkTiming(task6,"",1000.0,DAQmx_Val_Ri​sing,DAQmx_Val_FiniteSamps,N);
    DAQmxStartTask(task1);
    DAQmxStartTask(task2);
    DAQmxStartTask(task3);
    DAQmxStartTask(task4);
    DAQmxStartTask(task5);
    DAQmxStartTask(task6);
    DAQmxReadAnalogF64(task1,-1,10.0,DAQmx_Val_GroupBy​Channel,OriginData1,N,&read1,NULL);
    DAQmxReadAnalogF64(task2,-1,10.0,DAQmx_Val_GroupBy​Channel,OriginData2,N,&read2,NULL);
    DAQmxReadAnalogF64(task3,-1,10.0,DAQmx_Val_GroupBy​Channel,OriginData3,N,&read3,NULL);
    DAQmxReadAnalogF64(task4,-1,10.0,DAQmx_Val_GroupBy​Channel,OriginData4,N,&read4,NULL);
    DAQmxReadAnalogF64(task5,-1,10.0,DAQmx_Val_GroupBy​Channel,OriginData5,N,&read5,NULL);
    DAQmxReadAnalogF64(task6,-1,10.0,DAQmx_Val_GroupBy​Channel,OriginData6,N,&read6,NULL);
    DAQmxStopTask(task1);
    DAQmxStopTask(task2);
    DAQmxStopTask(task3);
    DAQmxStopTask(task4);
    DAQmxStopTask(task5);
    DAQmxStopTask(task6);
    DAQmxClearTask(task1);
    DAQmxClearTask(task2);
    DAQmxClearTask(task3);
    DAQmxClearTask(task4);
    DAQmxClearTask(task5);
    DAQmxClearTask(task6);
    thank you!

    DAQmxCreateTask("",&task1);
    DAQmxCreateAIVoltageChan(task1,"Dev1/ai0:ai5","",DAQmx_Val_Cfg_Default,-5.0,5.0,DAQmx_Val_Volt​s,NULL);
    DAQmxStartTask(task1);
    DAQmxReadAnalogNChanF64(task1,-1,10.0,DAQmx_Val_GroupByChannel,OriginD​ata1,N,&read1,NULL);//This proto changes fo DAQmxNch1sample.... I do not have it in front of me
    DAQmxStopTask(task1);
    DAQmxClearTask(task1);
    int32_t DAQReadNChan1Samp1DF64_130(uintptr_t taskID, double timeout, int32_t incomingStatus, Array1DDouble **data, LStrHandle extendedErrorInfo);// is the C version
    Jeff

  • Multiple resources on one task

    Hi all
    I'm a little rusty.  I'm working in 2010.
    I have been given the durations (in days) that tasks will take.  I have multiple resources, all of whom will be working on the same tasks, all assigned units will differ, example, resource A will spend 60%, B will spend 20% and C will spend 20%. 
    Apparently each resource with have a different number of effective hours per day.
    How should I handle this in the schedule?
    thanks
    JD
    J Day

    Hi J Day,
    1- You can set the task type based on your business context. You can for example set your task to fixed unit. Doing this, if the work increases, the duration will increase accordingly and the %unit will be kept. Thus you'll see a duration variance.
    2- Be aware that setting the max unit of a resource in the resource sheet is NOT taken into account while assigning the resource on a task. It is only used to flag weither or not a resource is overallocated. For example, if  you set the resource A has
    a max unit of 50% (4hrs/day) and then you assign it at 100% on a task, it will be assign at 8hrs thus shown as overallocated. Project will not make the calculation that the 100% you set in the assignment is 100% of 50%, meaning 4hrs. You have to do this calculation
    by yourself while creating assignments. Note also that the max unit is used when you assign a resource without entering a %unit; Project will take by default the max unit. Hope this is clear.
    Hope this helps,
    Guillaume Rouyre, MBA, MCP, MCTS |

  • How Do You Write Thermocouple Readings From Multiple Channels to One Text File?

    Hi Everyone,
    I am having difficulty writing a Labview program that allows me to combine readings taken from 8 thermocouples to one text file. I am using a NI cDAQ - 9174 with NI 9219 modules.
    Attached is a copy of my program thus far. I have figured out how to combine readings from 8 thermocouples to one waveform chart but the text file will infact be more vital.
    I am very new to Labview and only require it for this task so the simpler the solution the better. Apologies for the lack of technical language.
    Any help would be much appreciated.
    Amy

    Here's one simple possibility...
    Of course, this shows incomplete file handling, and you'll probably want to truncate your floating point values to a few decimal places. I have used this kind of operations for generating text and csv files for thermocouples, much like you are doing.
    Good luck!
    Dan

  • Multiple Assets in One Track - Errors

    I am having problems with clips cutting to black after a chapter break. The audio continues to play, but the video disappears. This occurs randomly when multiple videos are added to the same track. Does anyone have any info? Thanks in advance.

    Hi
    Does it happen in Simulator? Try building your project to your hard drive and test the VIDEO_TS folder in DVD Player.
    It's a kind of "bug" in simulator.
    Hope that helps !
      Alberto

  • How to write to one channel of a task with multiple channels? (plus other things...)

    So I have a USB-6009 DAQ.  It has 12 digital output lines.  I want one channel that is "Dev0\line0:10" which represents an address bus in my application.  And a second channel "Dev0\line11" which represents a program enable line in my application.
    I have tried creating two different tasks and adding one channel to one task and the other channel to the other task.  The only task that worked was the task with "Dev0\line0:10".  It was always the task containing that channel, regardless of the order of creation.  So then I moved on to a different method.  (I read somewhere that I should only create one task of each type.  like only 1 DO task only 1 AO task etc...  However I am also using the two analog ouputs to and have a task for each AO and they work just fine.)
    I tried add both channels to one task.  But when I needed to control only the address bus, I had to have some information for the other channel as well.  This was a little trying, but I could configure it that way.  But it turned out to be easier for me to just make one channel with all the lines and OR in the data for line11 with each write.
    I just wondered if it was possible to write to one particular channel of a task and not the other channel?  That would really be the ideal solution for me.  especially if I could write multiple samples to the one channel while I left the other channel alone.  Which brings up another complaint... Why does WriteMultiSamplePort only work if I use a DigitalMultiChannelWriter, and not if I use a DigitalSingleChannel writer even though my task only has one channel (and by the way I set up the channel as one channel for all lines)?  A perplexing issue to be sure.
    And no I can't just load all my samples into an array and write them all at once because I also have to manipulate the two analog outputs in between the various digital writes.
    I am using NI DAQmx 7.5 and C#.  I am trying to use the DAQ to program a digital switch, which has proven to be a real challenge.  In push-pull mode there is too much ringing for the switches programming port to tolerate.  But the switches interface is LVTTL, so I needed the 3.3V.  When I changed to open-collector I had to use voltage dividers to drop down to 3.3V.  But the rise time using open-collector is too slow for me the program the switch in serial mode, so I had to change to parallel.  The switch has an 11 bit multi-plexed ADDR/DATA bus.  So the DAQ I had chosen to use which had plenty of lines for the serial programming, now is strained to it's absolute limits by the parrallel interface.   ARGH.  The only output I am not currently using is the counter, and I'm going to need it if I ever want to read back from the switch.  But first I have to seperate the ADDR/DATA bus from the CS line on the DIO lines of the DAQ.  And I don't know for sure what I'm going to do about the voltage level translation when I have to go bi-directional.  Maybe I can filter out the ringing in push-pull mode?  Any thoughts on that?

    Hi Saikey,
    In most cases, you are exactly right: you can only use one task for one type of operation (i.e. only one analog input task in the same program). With the USB 6009, you can have multiple digital output tasks running at the same time. I was able to run a digital output program with two different digital output tasks configured for a USB-6009.
    However, you stated that it would be better if you had everything in a single task for your application and write data to only some of the channels. The easiest way to do this is to modify your array of output data so that only the data to that one channel is changing. So, for example, if you keep writing a 0 to the channels that do not need new data nothing will change.
    If you have to change your analog outputs during this program, you could create an event structure that would stop and restart the analog output tasks without changing the digital output data. I hope that you find this information helpful.
    Regards,
    Hal L.

  • Help! data manipulation for high speed streaming to disk from multiple boards and multiple channels

    I am using Labview 7.1 and have been trying to capture data from 12 channels simutaneously sampled at 2MS/s each and streaming to disk for up to a minute or more.  The hardware I am using is 2 x PXI 6133 S series boards with a MXI4 link to a Pentium D 2.8 Ghz machine with 2Gb ram.   I have 2 sata drives set up in a raid 0 configuration which should give me hard disk write speed faster or equal to the MXI-4 transfer speed. 
    I have first started off by using the example code "multi device sync - analog input- cont acquisition" which has enabled me to sync the two boards and sample at the required speed. 
    To stream the data to disk, I have first merged the data from each board  together to save it to one file.  I have tried using the storage vi's but I end up with a Daqmx read error (trying to read data that is no longer available).  I have played around with the read data size to the point that I either get a insufficient memory error, or I get the "trying to read data that is no longer available"  error.  I have also tried using the file IO blocks with some success and have found that I have been able to stream to disk only if I configure the daqmx read block to output the data in "raw 1D I16" format and plugging it into the file-write block.  In doing this, I have noticed that using  multiple channels on one daqmx read task, I will get all the channels in one 1D array rather than a 2D array organized by channels.  This makes it messy to read at the end of this, and I also don't want to write another vi to separate the channels, due to the high chance of getting the data mixed or messed up if I happen to change the number of channels on a board
    Is there a cleaner way of streaming this data to disk and keeping the channel data separated from each other?, and/or is there a better way to capture and handle the data I need? 
    I have attached the vi which I have got to consistantly work streaming to disk using the raw 1D I16 format.
    Thanks in advance to anyone who can help.
    Attachments:
    multidevicesync_analoginput_streamtodisk.vi ‏197 KB

    Hi,
    i can suggest following
    Refer to an example VI called as "High speed data logger.VI"  in conjunction with "High Speed data logger reader.vi" in Labview examples. Alhrough the logger might be in Tradiditional Daq format, it can be quite easily converted to Daq Mx format to store data in Binary (I32 format) . I have used this for many of my applications and i have found that the data retrieved does not have any "messups".
    Why not keep a seperate file for each card? This way, you do not have to load your application with extra process. You only have to acquire and save. After saving in Binbary format, you can retrive it offline, convert it to ascii format and merge the data files of various cards to get one consolidated ascii data file.
    hope this helps
    Regards
    Dev

Maybe you are looking for

  • How to get spool along with e-mail or FAX

    Hi, I have a requirement where i have to produce a spool even i go for e-mail or FAX option when the script is triggered. I am using a standard program where it is coded to have either of the option. i.e. either we have to go for a printer or e-mail

  • Is there a way to mask text and then uncover it.

    I am using iweb (08) and have a section called FAQ. I want to be able to write out a question and when you click on the question, the answer appears below it. Is there a way to do this? If not, can I create a hyperlink that when you click on the ques

  • How to View iPhone Screen on Laptop (PC) screen?

    Hi The question is How to View iPhone Screen on Laptop (PC) screen? It is not a jailbreak Iphone. I know there is an opp to hook it up to desktop computer screen via HDMI, but will I get the same result plugging Iphone into laptop via HDMI? Are there

  • Default text is populated in header text while creating PO.

    Hi All,          Can someone help me with some inputs on this issue. 1) <b> A particular PO header text is appearing by default when we click on Long Text tab and coming back in the TCode ME21.</b> 2)  Irrespective of the organization details, Vendor

  • Load FI data only for open items

    Hi all I want to load FI data only for open items. We started off with FI_GL_4 which has STATUSPS(status of FI line item)based on which we have written a start routine to filter out the closed items. But for other FI-GL datasources we dont have STATU