Mutiple readings from Express DAQ Assistant VI

Hello All!
First I'm a fresh noob to LabView and although I understand most of the basic concepts, I'm also new to programming in general. I'm working on a project to remotely monitor several different parameters of a system. Right now I'm working on a test program to monitor three parameters in my shop across the street. I'm using a NI USB-6008 as a DAQ device, DAQmx 8.0 and LabView 8.0. All of my input signals are 4-20 mA signals coming from my three sensing devices. 
Here's my problem; I need to monitor all three signals on digital displays. I can accomplish this by using three different instances of the express DAQ assistant but then I get the dreaded "50103 error" unless I wire the stopped output of one assistant to the stop input of the next in a feedback loop and even then I get the 50103 error on the first iteration of the loop. From my research I understand that this isn't the correct way to program this. I should use one DAQ assistant with multiple channels assigned to each one of my parameters. I've did this but now how do I make each one read out on an individual digital display? I only have one output from my DAQ assistant.

Hi George,
Use split signal in the signal manipulation functions menu to get your 3 individual singals on respective indicators
Regards
Dev
Attachments:
SPLIT.vi ‏85 KB

Similar Messages

  • Where can i find labview signal express DAQ assistant at?

    Hi, i need help
    Q1) where can i locate Labview signal express DAQ assistant at?
    Q2) Is Labview signal express functions same as Labview 8.6 ?

    LabVIEW Signal Express and LabVIEW are two different products.
    If you are talking about the DAQ Assistant, then you need to have the latest DAQmx driver installed and you should be able to find in the Measurement I/O palette on the LabVIEW Block Diagram.
    Adnan Zafar
    Certified LabVIEW Architect
    Coleman Technologies

  • How to properly read data from one DAQ-assistant and write simultaneously with another DAQ-assistant (which is inside a loop)

    Hello.
    I'm a newbie working on my Master's thesis conserning a project that is based on old G-code made by another newbie so bear with me.
    I need to create a sequance of output controls. For this I'm using a for loop that eventually creates two triangular ramps during a period of 90 seconds. I've confirmed that this function works properly by measuring the actual output of the DAQ-decice (NI USB 6353).
    The problem is the following: During this controll-cycle I need to simultanously collect data from the same DAQ-device. At this point there is only one DAQ-assistant output-block in the main loop of the program and all the signals are derived from it to where they are needed.There is a case-structure (the bottom case structure in the picture) that contains the functions needed to collect the data during the test cycle. However these two actions, outputting data and inputting data, are not synchronized in any way which may be the reason why I get the 200279 error or alternatively the 200284 error during the test cycle. I've tried changing the sample rate, buffer size and the timeout time as adviced but nothing seems to help.
    What would be the simplest way to solve this problem?
    Help is greatly appreciated!
    Attachments:
    problem.jpg ‏206 KB

    Thanks for quick reply.
    However, I did try it (see the picture) but I still have a problem: I only get 100 samples / channel during the test sequence (all from the first seconds of the sequence) in total even though I've set the data aqcuiring DAQ-assistant as "continous" and "samples to read = 95k" and rate is 1000Hz.
    Edit.
    And lastly, I have trouble adding this "extra" DAQ-assistant to the vi. because I get an error about a resource (The 6353) being reserved, even though I connected a false constant to the "STOP" -input of the main DAQ-assistant.
    Attachments:
    is_this_what_you_meant.jpg ‏212 KB

  • Dynamically passing data into a running while loop from a DAQ assist. in an ouside while loop

    Hello,  I'm currently a student working on a senior project and I'm trying to do a state machine that will turn off and turn on a compressor depending on time and coprocessor failure. 
    In the run state, wich is #1 on the case structure box I placed the DAQ assist.  Which takes in data from an accelerometer.  If the accelerometer's value is above the limit four times it will end the loop or if the time runs out it will end the loop. 
    The problem I am having is that i need to run four compressors.   I was thinking about having four case structures all within the outside loop, but I can only have the DAQ assist in one location.  This means that I now have to move the DAQ assist out of the run loop or run all four compressors in the one case structure.  If i remove the DAQ assist.  I can only get it take in data once when the loop starts and never again.  I understand why, but is there a way to dynamically pass data froma  DAQ assist.  into a running loop? 
    Also on a side note, i can't find a tutorial on how to really create a state machine using Enums.  Does any one know where to find this. 
    I have attached my curent program.
    Thank you for your help,
    Ryan
    Attachments:
    TEST STAND STATE MACHINE 2-28-07.vi ‏288 KB

    in labview choose file->new... then pick standard state machine and there are instructions.
    you can create a custom control and either use an enum, text ring or menu ring.  Edit the values and then save the control and drop into your vi and you can wire this to your case structure
    - James
    Using LV 2012 on Windows 7 64 bit

  • How do you save dynamic data type, from the DAQ assistant, for use in Excel or matlab?

    Currently, I have the following basic VI setup to save Data from my PCI6221 Data Aquisition Card.  The problem I'm having is I keep getting the last iteration of the while loop in the measurement file and that's pretty much it.  When I try to index the data leaving the loop it gives me a 2D array of Data which cannot be input into the "Write to Measurement File" VI.  How would I save this to a useful Data/time step format?  I was wondering of a way to continuously collect the Data and then save it in a large measurement file that I would manipulate in Matlab/excel?  Am I using the wrong type of loop for this application?  I also noticed my Dynamic Data array consists of data, time, timestep and then a vector of the data taken.  Is it possible to just get a vector of the time change per sample alongside the data?    Sorry for the barrage of questions but any help would be greatly appreciated, and thanks in advance!
    -Bryan
    Attachments:
    basic DAQ.vi ‏120 KB

    There is a VI in the Express > Signal Manipulation palette called "From DDT" that lets you convert from the Dynamic Data Type to other data types that are more compatible with operations like File I/O....for instance, you could convert your DDT into a 2D array and use the Write To Spreadsheet File.vi.  Just a thought...
    -D
    Darren Nattinger, CLA
    LabVIEW Artisan and Nugget Penman

  • How to achieve data from more than 1 DAQ-assistant?

    When running my LabVIEW program using the data coming from 2 simulation sources, no problem occurs and data is correct.
    When using the data coming from 2 DAQ-assistants (real data), an error occurs, telling the following:
    "ERROR 50103 occured at DAQmx Read (Analog 1D Wfm NChan NSamp).vi, reason: The specified resource is reserved. The operation could not be completed as specified"
    Does anyone know what exactly is wrong and how to solve this problem?
    Nowhere I found a solution for this problem and I have been trying numerous things to change in the program, but the same problem keeps occuring.
    Could anyone please help me?
    I need to solve this to be able to perform tests for my graduation project.
    Tha
    nk you very much in advance,
    Yours Sincerely,
    Karel Rycek

    The problem is you are trying to access the AI channels at the same time. When you setup the first DAQ assistant it reserves the AI section of the board. When you then try and use the second DAQ Assistant you get the error because it is trying to access a reserved section. If you had 2 different boards this wouldn't be a problem. That is probably overkill though. What you can do is read multiple channels in the 1st DAQ assistant and then in your program split the data off if you need to do different calculations.

  • When using DAQ assistant to read frequency

    When using DAQ assistant to read frequency and Task timing is set to:
    N Samples, Clock settings to read 26,
    Frequency setup to rising edge,
    1 counter with 10 kHz to 1 kHz range.
    I get back a single number.
    Can I assume this is an average reading of 25 samples with the first sample unused?
    What is the base clock used?
    Is the “26” 26 cycles of the frequency to be measured?

    Hello,
    If you choose to acquire N samples from the DAQ Assistant then it will acquire all of these samples and return them to LabVIEW as an array.  However, when you use the DAQ Assistant it outputs the data in the dynamic data type first.  This data type makes it easy to graph and run the data through other express VIs.  If you were to create a Numeric Indicator from this data type it would just display the last element from the dynamic data array.  To display this data properly in a numeric format convert the dynamic data to an array of doubles by using the Convert From Dynamic Data function in LabVIEW.  Then you can select to convert it to a 1D array of scalars and when you create an indicator off of the output of this function all of the data should be displayed.
    The timebase that is used for lower frequency measurements is the onboard clock, which is internally connected to the Source.  Then you connect your signal to be measured to the Gate of the counter.  Since the frequency of the onboard clock is known it can be used to calculate the frequency of an unknown source based on when the counter is on and off (determined by the Gate). 
    Have a good day,
    Brian P.
    Applications Engineer

  • NI-DAQmx task works in MAX or DAQ Assistant test panel but not in LabVIEW

    I am attempting to read a single AI channel from a PCI-6024E card via an SCB-68. I have created a NI-DAQmx Analog Input Voltage Task in MAX for this channel, sampling in contiuous aquisition mode at 100 kHz, 10000 samples at a time, with RSE terminal config. If I use the Test feature from MAX, the channel acquires data as expected.
    In LabVIEW, I call this task using an DAQmx Task Name Constant. If I right-click this constant and select "Edit Task", the Daq Assistant opens and I can use the Test feature from the DAQ Assistant to see that the data is still being acquired as expected.
    However, when I try to programmatically read this channel in LabVIEW using the VI "DAQmx Read (Analog Wfm 1Chan NSamp).vi", the VI returns a constant DC value of 500 mV, which I know is incorrect (I can monitor the signal across the two terminals in the SCB-68 with a DMM to know that the signal coming in varies as expected, and as I read using the test panels). This erroneous reading occurs even if I make a new VI, drop the task name constant on the diagram, right-click the task name constant and select "Generate Code - Example" and let LabVIEW create its own acquisition loop (which is very similar to what I already set up, using the "DAQmx Read" VI).
    Any ideas why the Test Panels work correctly but the LabVIEW code does not?

    Hello bentnail,
    I'm not sure why the test panels are readin the value correcly but the LabVIEW code does not, but there are a couple of things we can try.
    1) What happens if you just use the DAQ Assistant and place it on the block diagram? Does it read out the correct values?
    2) Try running a shipping example that comes with LabVIEW. "Acq&Graph Voltage-Int Clk.vi" should work well.
    3) What kind of signal are you expecting to read (peak to peak voltage, freqeuncy, etc.)?
    Thanks,
    E.Lee
    Eric
    DE For Life!

  • How can I programmatically change the voltage range settings in a DAQ Assistant

    Hi,
    First post here.  
    I need to be able to change the voltage range properties of a daqmx DAQ Assistant based on user input.  My hardware, an SCXI-1102C does not allow changing this property on a running task, so I'd like to either set the analog input voltage range before the DAQ Assistant activates, or pause the DAQ Assistant immediately after it starts, set the values and then resume.
    I don't know how to edit the task ahead of time because the DAQ assistant creates the task when it runs, and there is no task before that.
    In the attached picture, I have a conditional section, set to run only if the while loop iteration is 0.  I take the task from the Daq assistant, send it to a stop task vi, set the property, and then send the task on to the start task vi. I can watch it run with the debug light on, and everything seems to work correctly, but on the second (and all the other) iteration of the loop, I read out AI.Max and it seems like the DAQ Assistant has re set it back to 5V.  Can anyone see what is going wrong here?
    BTW, this is continuous acquisition and the code does not produce error messages when it runs.
    I did come across a similar question that someone posted here back in 2006, but his question was specifically aimed at a Labview API (VB, I think), and not an actual G solution.
    Attached are the actual vi in question and a png image of the block diagram.
    Thanks! 
    Ruby K
    Solved!
    Go to Solution.
    Attachments:
    Labview_question.PNG ‏14 KB
    Sample_AIV.vi ‏91 KB

    First, if you want to start getting beyond the basics with DAQ, you are going to have to stop using the DAQ assistant and do it with lower level DAQmx VI's.  There are hundreds of examples in the example finder.  You can even right click on the DAQ assistant and select open front panel.  That will create a subVI that you can open and see what is going on behind the scenes.  Do it.  I think you'll find the DAQ task is being recreated on each (though I'm not 100% of how the settings are established or maintained in each section of that subVI).
    The second problem is you have a bit of a race condition on iteration 0.  Those two DAQ property nodes are running at the same time.  So when you read the AI.Max, it may be happening before or after the AI.Max is set in your case structure.
    Third, make sure you wire up your error wires.

  • Tare function DAQ assist and restart function for the vi program

    Hi!
    I have a program that aquiers a signal from the DAQ assist. I have searched here on the forum and on the web, but I can't find a way to implement a tare function. The signal is from a loadcell and therby it would be good if Icould tare the signal to value zero. In the DAQ assist I can calibrate it manually, but i would like to wire this function to a button. 
    Also I have another problem that shouldn't be hard to solve, but I'm struggling with it. I want a resert function in my labview code so that i can restart the program from the begginging. I have used a case structure with normal and restart enum constant, and wierd them via a tunnel. But it dosn't seems to work. Instead of resetting the program it only stops it 
    I have attached my code below.
    Best Regards Maurlind
    Solved!
    Go to Solution.
    Attachments:
    Tare function and restart.vi ‏365 KB

    I solved my problem with the tare function, i used a case structure and shift register to store values in it. se picture below.
    I haven't found a way to restart my VI yet. I tried to implement something from the community , see this link: https://decibel.ni.com/content/docs/DOC-4747
    But that doesn't work for my VI and i don't know why. Could someone explain why doesn't work ?
    My goal is to restart my whole VI with a press of a button.
    Best Regards Maurlind
    Attachments:
    tare function.png ‏25 KB
    restart vi.vi ‏488 KB

  • Error with 2 Daq assistant

    Hello
    Another noob joining the community. Here is my question.
    What am i doing wrong? I use 2 Daq assistants on the NI9401 module this is for digital input and output. I use it for generating 2 signals. If i test it with 1 it works but if i go to 2 or more it fails. This is the error i get . I have also added the program as an attachment.
    Thanks in advance.
    Solved!
    Go to Solution.

    Hello,
    That error means that the DIO task is reserved and cannot be obtained by one of the DAQ assistants. There is actually a nice example program on what you want to do. It can be found here:
    https://decibel.ni.com/content/docs/DOC-11632
    This example does not use the DAQ Assistasnt but the DAQmx API VIs (which the DAQ Assistant is using also anyway). If the order is not important (and since the these DIO tasks are software timed it is probably not an issue you can also choose to use the error cluster from one DAQ assistant and wire it to the other (see attached VI). Doing it that way you force one DAQ task to wait for the other one to finish. In that way they cannot run at the same time preventing for the error to happen.
    regards,
    Rik Prins, CLD
    Applications Engineering Specialist Northern Europe, National Instruments
    Please tip your answer providers with kudos.
    Any attached Code is provided As Is. It has not been tested or validated as a product, for use in a deployed application or system,
    or for use in hazardous environments. You assume all risks for use of the Code and use of the Code is subject
    to the Sample Code License Terms which can be found at: http://ni.com/samplecodelicense
    Attachments:
    2 Daq assistant generating error (3).vi ‏169 KB

  • DAQ Assistant to typedef data cluster

    Hi All,
    I was hoping someone could be able to shed some light on an issue I have been pulling my hair on for a week now.  I am recently new to LabView (less than 6 months), and up until I have been able to locate/research any issues I had ran into.  The problem I'm having is as follows:
    Basically, I am using an SCXI-1581 and an SCXI-1102B (along with multiple other pieces of hardware) for a device we are creating.  Generating the signals with the DAQ Assistant was quite simple.  The problem I am running into is finding a way to relay these signals to an array or cluster, so that multiple other subvi's can quickly just "Unbundle by Name" to wire to their specified indicators on each page.  I have tried arrays, clusters, typedef's, etc to no avail and I'm not sure where else to look for help.  Unbundling the typedef cluster onto the subvi's works like a charm, the problem is the typedef ctl is not getting any data sent to it so the indicators on the SubVI's never receive a value other than the 0 located in the cluster typedef.  If there is a better way to go about doing this I would sure appreciate the help. 
    Breakdown:  I have 41 thermistors being generated from the DAQ Assistant.  I need to somehow convert this data into a form where it will be able to be constantly updated and read from a typedef/global/something.  I have taken a screenshot of what I was working on when I decided to post here.  There are broken wires atm, because I was trying everything I could think of.  Signal Manipulation/From DDT, Array to Cluster, Build Cluster by Name, Build Array, numerous things.  I basically want all 41 thermistors to leave the DAQ Assistant, be split by channel name/value, and input into an array or cluster that can become global.  I have broken it down to 4 channels in my screenshot for simplicity's sake.
    My apologies for repeating myself or running on, I'm working on very little sleep at the moment
    I appreciate any help anyone can shed on the situation.  Thank you!
    -Justin
    Attachments:
    DAQ_Cluster.png ‏17 KB

    I didn't have it connected in that particular screenshot but I have tried that before.  I just redid that scenario and took another screenshot.  Bringing a cluster typedef and dropping it in, switching to indicator so it will allow an input, and changing the Original Cluster Visible property to FALSE (just so two clusters of 4 Numeric Indicators are not visible).  Using the attached screenshot, the numeric values do update (on the front panel of this VI), but as soon as I connect that typedef to another VI and unbundle, those values do not populate on the subVI.  I changed the DAQ Assistant in this current example (to test)  as I am at home and do not have the 1581/1102B hardware here with me. 
    I will note that I do have this functionality working on another section of the GUI I am working on.  This working portion has 8 Boolean values in a typedef cluster and is exported and unbundled in the same manner as I am trying to get working with these data values on the subVI.  The way that the values get sent to the typedef is different but overall the same way that I would like to aim for on the DAQ_Cluster2 image.  Two screenshots enclosed this time.  I can go into much further detail if necessary.  Thanks again for the feedback.  I'm going to knock out some more of the pages involved for now, if anyone has any more feedback that would be fantastic.
    Also aeastet thank you for your reply as well.  I started reading through your link to Ben's nugget but my brain is mush right now and I am not too familiar at all with some of that functionality.  I will look back at it more soon.
    Thanks again!
    Attachments:
    DAQ_Cluster2.png ‏27 KB
    FCV_Cluster.png ‏8 KB

  • DAQ Assist Reading Wrong Voltage

    Hello,
    I'm using the DAQ Assistant VI to read an analog input voltage from a National Instruments PCI-6221 card. I'm reading the voltage from pin AI0. I supply a voltage directly to this pin from a DC power supply, but the voltage measurement obtained from the DAQ Assistant is incorrect - it seems to be scaled by a factor of about 1/3. For example, if I supply 4 Volts to pin AI0, the DAQ Assist reads 1.43 Volts. I used a multimeter to confirm that the voltage at pin AI0 is in fact 4 Volts, and so I know the problem is with my LabVIEW program and not my power supply.
    Here are the steps that lead to my problem:
    1. In the block diagram, I insert a DAQ Assistant block.
    2. In the Properies of the DAQ Assistant, I select Analog Input->Voltage
    3. I select channel ai0
    4. I click "test" in order to test the channel
    5. The voltage is shown to be 1.43 Volts, even though 4 Volts is being supplied to the pin (this is confirmed with a multimeter).
    6. To ensureI click OK to finish configuring the DAQ Assistant. I run the program and plot the voltage. The plot also shows 1.43 Volts.
    Does anyone have an idea why this may be occuring. I've spent a good 4 hours trying to diagnose this and haven't found anything.
    Thanks,
    Abed Alnaif
    Solved!
    Go to Solution.

    Thanks so much for your help. I used MAX, and found out that the issue
    is that I had specified differential voltage, but I should have
    specified RSE voltage.
    However, now I have a different issue: When I apply a voltage to one pin, MAX also shows a voltage on other pins.
    For example:
    1. I apply a DC voltage of 4V to analog input pin ai0.
    2. In MAX->Text Panels..., I select Channel Name = Dev1/ai0 and Input Configuration = RSE
    3. I click Start, and the chart shows the correct voltage (4V)
    4. I change the Channel Name to Dev1/ai1and Input Configuration = RSE
    5. The chart shows a noisy voltage reading between 1.45 and 1.5 V, even though no voltage is applied to pin ai1
    6. When I change the voltage on pin ai0 to 2V, the voltage reading on pin ai1 changes to 0.63V
    7. Using my multimeter, I confirm that there is in fact 2V on pin ai0 and 0V on pin ai1
    Does anyone know why applying a voltage to pin ai0 causes a voltage reading on pin ai1?

  • Plot from two DAQ readings on opposing axis

    I have a DAQ system taking two different readings. I want to plot them both on the same graph with one reading, say temperature, on the X-axis and the other, say humidity, on the Y-axis. How do I do this?

    Hi mbooker,
    you should write "DAQ Assistent Express VI" whenever you mention "DAQ system"!
    If you would use "plain" DAQmx functions you wouldn't have to go all the way through datatype conversion from DDT to meaningful representation...
    Best regards,
    GerdW
    CLAD, using 2009SP1 + LV2011SP1 + LV2014SP1 on WinXP+Win7+cRIO
    Kudos are welcome

  • How to select signals from the output of a DAQ assistant

    Hi! 
    I am a new user of Labview 8.5 and I am working with a USB-6210. I have two different instruments connected to the same USB device, half of the channels are being used for pressure transducers where I only need to reed and save the data, while the other half are associated to TCD detectors where I need to perform some analysis to the signal to obtain and save the data. I am in the first step of building the block diagram, After I define each of the signals which its corresponding channel using the DAQ assistant, I need to select and separate the signals coming from the pressure transducers from those coming from the TCD detectors, before I can continue drawing the block diagram. I am trying to use the Select Signal function but I am not sure how to do this. Can anyone please let me know at least in which manual can I find a good explanation? I have been reading the Getting Started and the User Manual for LabView but they have not been very useful so far.
    Thanks!
    Solved!
    Go to Solution.

    Wire the Select Signals express VI to your DAQ Assistant and run the VI once (this allows the signal names to propegate).  Then when you open the Select Signals configuration you'll be able to pick out the channels you want by name instead of just "Signal 1" etc.
    It sounds like you'll probably want two Select Signal Express VIs, one for the TCD detectors and one for the pressure transducers.  Something like this:
    If you right click on the VI and select Help or click on the Help button within the configuration dialog you will bring up the LabVIEW help page for this (or any other) VI.  Are you looking for some other information that isn't documented in the help file?
    Hope this helps,
    Simon

Maybe you are looking for

  • Aggregate on basis of multiple characteristics

    Hi , There is a Key Figure Quantity. I need to aggregate it in Universe on the basis of characteristic A and B, and restrict the rows if the aggregated quantity is less than 15. Is this possible in Universe ? We tried this in Bex with conditions , bu

  • PowerShell Exchange 2007 Question To count up the total number of email addresses (view/hidden) per GAL

    Hello All: I am very new to Power Shell and need some help: I have 224 GAL's on our Exchange System (Ex 2007) where, I need to count the total number of email addresses/display names assigned to each GAL.  I am not sure how to set up a for-next loop

  • ORA-00600 error

    Hi , I got an ORA 600 error while executing my PL/SQL. The exception thrown : An error occurred processing the prepared call for CORP_INTERFACES_PG.P_LOAD_CORP_INTERFACE_DATA(1).-ORA-00600: internal error code, arguments : [kcbgtcr_13], [], [], [], [

  • Dr to Sales Invoice error log

    A/R INVOICE u2013 ROWS- WAREHOUSE CODE][LINO:0],u2019NO MATCHING RECORDS FOUND u201CINVENTORY LOG MESSAGE suggestions on how to solve this thank you

  • Weblogic JMS Bridge betwwen WL 11g (10.3.3.0) and ActiveMQ 5.4.2

    Hi, I'm getting following warning when I try to connect two JMS Bridge Destinations (source WebLogic and destination ActiveMQ) through a Bridge. <Warning> <Connector> <BEA-190032> << eis/jms/WLSConnectionFactoryJNDINoTX > ResourceAllocationException