Multiple input limit range from multiple channels

Hallo I´m kinda new to LabView and need some information,
I use a Multifunction DAQ 16 Bit with the following specifications:
1. M-Series
2. NI PCI 6250
3. Operated by Microsoft XP
My problem:
* I would like to use 4 analog input channels from my M-Device to measure 4 diffrenttypes of voltage. The resolution from each channels varying from +/-10, +/-5, +/-1, etc (those are the possible range if i dont misunderstood the Data sheet from NI). I have tried to use a daqmx create task in a For-Loop so that vi runs only 1 input limit for 4 times and then put all the signals in the daqmx create channels.
The vi does execute the measurement but I dont get the right scale that I want.
Thanx for the info
Message Edited by Piiwee on 11-29-2005 08:40 AM

Hi Piiwee,
You are doing just great with your English.
I got an idea as to what your problem is.
Just Have a look at attached VI.
it should solve your problem.
I have used chart instead of graph
I have stacked the 4 plots one over other and auto scaled each(  you can also set scale of each graph by going to properties)
Hope this helps
Regards
Dev
Attachments:
DAQ channel acq_chart.vi ‏85 KB

Similar Messages

  • Add to Multiple Numeric Limit Test from code

    How can I add tests to Adding to Multiple Numeric Limit Test from code using CVI code?

    Hi,
    Try this out
    http://forums.ni.com/ni/board/message?board.id=330&message.id=2387&query.id=12265#M2387
    Regards
    Ray Farmer
    Regards
    Ray Farmer

  • Multiple Input and Output from a 6534

    Hello
    I am after some advice regarding my PCI 6543 digital I/O card and the best way to achieve my desired results. I am programming in Visual C++ with Ni-DAQ 7.
    I want to generate a pattern output from one of the ports, Port A, following a software command. This pattern consists of a 10uS pulse on DIOA0, that repeats 200 times with a period of 100uS. I want this DIOA0 output line to initiate an input on ports C and D, possibly through the REQ pin. Consequently the input should acquire 200 times for each call to the pattern output.
    I want this to repeat, so the pattern output goes again (as in a FOR loop), and the input occurs again for an as yet undetermined number of times.
    I have managed to get something worki
    ng for 1 iteration, and I can generate multiple pattern outputs, but the inputs only seem to acquire for the 1st iteration. However, if I step through the code in debug mode I can get the input to work correctly.
    Any ideas would be gratefully appreciated.
    I am still trying to get some earlier problems with this application solved.
    Kind Regards
    Jamie

    Hi Jamie,
    There are a couple different ways you can loop from a buffer. You can either use the onboard memory of the 6534 and loop from there or you can specify as a software configuration that the board loop through the PC memory buffer.
    For the onboard looping you need to specify the following:
    iStatus = Set_DAQ_Device_Info (1, ND_PATTERN_GENERATION_LOOP_ENABLE, ND_ON);
    For software, PC memory looping, the following function specifies this:
    iStatus = DIG_DB_Config (iDevice, iGroup, 1, 0, 1);
    I attached a couple programs that might be of use. Check this post:
    http://exchange.ni.com/servlet/ProcessRequest?RHIVEID=101&RPAGEID=135&HOID=5065000000080000008BA10000&USEARCHCONTEXT_CATEGORY_0=_31_%24_12_&USEARCHCONTEXT_CATEGORY_S=0&UCATEGORY_0=_31_%24_1
    2_&UCATEGORY_S=0
    Hope that helps. Have a good day.
    Ron

  • Can I exclude measurement (of multiple numeric limit test) from results ?

    I'm working on test where instrument returns multiple results at one call.
    I use NI MultipleNumericLimitTest -step type (TS 2.0.1).
    In some cases I'd like to exclude certain measurement from the results.
    I could do this for example by setting Comparison type of selected measurement to "No Comparison", so that this measurement is assumed to PASS always.
    Is there any property flag or any other way to exclude measurement from the results completely ?
    (So I don't want this measurement to affect on multiple limit test status or to appear in the report)
    cheers,
    Masi

    Hi!
    Yes, there is a property that you can set/reset that specifies whether the property appears in the report or not.
    1. Right click on your multiple numeric step and select View Contents
    2. From the tree view, browse to YourStep->Results->Measurement.
    3. Right click Measurement and select properties.
    4. Click the Advanced button and look for the PropFlags_IncludeInReport flag and uncheck it.
    That's it, now your measurements will not appear in the report. If you want some of the measurements (but not all) to be included in the report, then browse to the specific measurement YourStep->Results->Measurement[i], and check the PropFlags_IncludeInReport flag for that property.
    I hope this helps. Let me know if you need more information.
    Marcela.

  • Get multiple Input/Output Stream from same socket ?

    For a better express of my problem i will put my test example
    I have those 4 classes
    package test;
    import...
    public class ReaderExecutor extends Thread{
            private InputStream in = null;
            private static int defaultID = 0;
            private int ID = getID();
            public ReaderExecutor(InputStream in){
                this.in = in;
            public void run(){
                try {
                    int c ;
                    while ((c=in.read())!=-1)
                        System.out.println("ReaderThread " + this.ID + ":" + c);
                catch (IOException e) {
                    System.out.println("ReaderThread "+this.ID+" stopped !");
            private static int getID(){
                return defaultID++;
    package test;
    import...
    public class WriterExecuter extends Thread{
        OutputStream out = null;
        private static boolean odd = true;
        private boolean isOdd ;
        public WriterExecuter(OutputStream out) {
            this.out = out;
            isOdd = odd;
            odd = !odd;
        public void run(){
            try{
                for (int i = isOdd?1:2;i<10;i+=2){
                    System.err.println(i);
                    out.write(i);
            }catch(Exception e){
                System.out.println("WriterThread stopped !");
    package test;
    import...
    public class Main { 
        public Main() {
        public static void main(String[] args) throws Exception {
            try{
                ServerSocket ss = new ServerSocket(9090);
                System.out.println("Ascult ... ");
                Socket client = ss.accept();
                new ReaderExecutor(client.getInputStream()).start();
                //Thread.sleep(2000);
                new ReaderExecutor(client.getInputStream()).start();
            }catch (Exception e){
                e.printStackTrace();
    package test;
    import...
    public class Main1 {
        public Main1() {
        public static void main(String[] args) {
            try{
                Socket s = new Socket("localhost",9090);
                WriterExecuter t= null ;
                t = new WriterExecuter(s.getOutputStream());
                t.start();
                t = new WriterExecuter(s.getOutputStream());
                t.start();
            }catch(Exception e){
                e.printStackTrace();
    }Now if i run successive Main , Main1 i get this output
    Ascult ...
    ReaderThread 0:0
    ReaderThread 1:0
    ReaderThread 0:0
    ReaderThread 1:0
    ReaderThread 0:0
    ReaderThread 1:0
    ReaderThread 0:0
    ReaderThread 1:0
    ReaderThread 0:0
    ReaderThread 0 stopped !
    ReaderThread 1 stopped !The question is can i get other Input/Output individual streams with a separate logic functionality from the same socket?
    From this example it seems i can't :(
    Thx
    Alex

    For what you are trying to do the simplest solution is to have one socket per "stream" that is the way they are designed to be used.
    However, you can multiplex multiple stream over a single socket, but you have do the coding yourself or use a solution which does this for you e.g. JMS. (There is no support at the socket level for this)

  • Giving Multiple Inputs to XSLT from OSB

    Hi ,
    I have a requirement where I need to feed 2 input documents to a xslt to get the desired output document . These 2 input documents are stored in OSB user defined variables say var_A and var_B .
    I know usually I can pass only 1 input variable to a XSLT transform action . But I somehow need to access both of the var_A and var_B from my xslt , as these contain my input data used for transformation . Of course one option is to write 2 xslt and handle each input document sequentially . But I don't want to do that .
    How to do this . Any pointers would help me a lot . Thanks in advance .

    hy .. now stuck in a more horrific issue . When I pass input parameters to the xslt , I cant use them in the xslt , no matter what syntax I use . As simple as this one in the code below which just outputs the value of parameters doesn't work . My inputs are xml documents .
    I used lot of options while selecting values of parameters like : document($A) , $A. Nothing seems to be working . Error which I get are : java.lang.RuntimeException: Invalid conversion from 'node-set' to 'org.apache.xmlbeans.impl.store.Xobj$DocumentXobj'.
    <xsl:param name="A"/>
    <xsl:param name="B"/>
    <xsl:template match="/">
              <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cla="http://webservices.zurich.com/zsoa/nac/claimmanagement/claimpredictivemodeling-v1_0" >
                   <soapenv:Body>
                        <cla:calculateAndRetrievePredictiveModelScoresResponse>
                        <Test>
                        <xsl:value-of select = "$A"/>
                        </Test>
                        </cla:calculateAndRetrievePredictiveModelScoresResponse>
                   </soapenv:Body>
    pls help me out . m ysing styluss studio for dev and run time OSB 11G .

  • How to have multiple inputs for a Pic Ring?

    Alright, I've got this program in which there is a pic ring with multiple pictures on a tab page on the Front Panel. And on the Block Diagram the Pic Ring receives a number through a numeric indicator. There are multiple boolean variables set up and depending on which one is true that dictates which number the indicator pushes on to the Pic Ring. However, I can only connect one boolean up to the indicator at a time. If I connect mutliple wires to the indicator the wires become broken immediately. I have a screen shot depicting the setup in the Block Diagram.
    Anyway, my question is basically how to setup a numeric indicator for a Pic Ring to have multiple inputs?
    Attachments:
    PicRing Multiple Inputs.jpg ‏319 KB

    Shogun,
    You will probably need some sort of case structure to determine your input.
    It looks to me like you are searching a common string for whether it contains Valve1, Valve2, Valve3 and so on.  Depending on which one it finds you are outputting that picture.  I would need more information as to what exactly you were doing, but I might look in the string for "Valve" then a number and feed that output into a case structure.  For instance if you find Valve3 in the string you send the input corresponding to Valve3 into the picture ring
    Matt J
    Professional Googler and Kudo Addict
    National Instruments

  • Building index from multiple master and child relationship tables

    Hello,
    My question is:
    Is it possible to create the index for master and child tables?
    If yes, can you please point me out to any links or give me an example.
    Actually i just followed this below link to create the index using multiple tables
    Building index from multiple tables for text search
    I am able to create the index using above link,but problem accured , when i search for one master data column value then it is returning many rows with same master data for each child row.
    for example
    SELECT
    a.conc_program_name,
    a.conc_program_desc,
    b.param_name
    FROM a_master a, b_child b
    WHERE b.report_dtls_id = a.report_id
    AND CONTAINS (a.dummy, 'PAY') > 0
    Which retruns
    PAY Master A
    PAY Master B
    PAY Master C
    Please let me know is there any way i can restrict this to single row with concatination of child data like
    PAY Master A B C
    Another doubt is ,i have the column value like p_consolidation_set_id,when i give this in CONTAINS (a.dummy, 'p_consolidation_set_id') > 0 ,then not able to get the any results.
    please let me what shall i do for this issue.
    Thanks
    Message was edited by:
    user496798

    There are various ways to concatenate the values. One nice generic solution is to use Tom Kyte's stragg function:
    http://asktom.oracle.com/pls/ask/f?p=4950:8:::::F4950_P8_DISPLAYID:2196162600402
    If p_consolidation_set_id is a variable name, not a value, then do not put quotes around it.
    Message was edited by:
    Barbara Boehmer

  • Acquiring Analog Input from Multiple Channels in Labview

    Hello,
    i am working on a VI where i need to acquire signals from multiple channels in Labview using NI-9129.Initially i want to acquire contineous input signals (voltage and current) and display it on the graph.
    Having looked at forum and Labview examples i tried to make an initail VI but i am not sure if the setup i made needs any modification to serve my purpose.I am fairly new to Labview software.
    All i want is
    1.To acquire conteneously current and voltage 
    2.Display current and voltage individually on the graph.
    3.Perform some basic calculations like MAXIMUM,MINIMUM and AVERAGE values of voltage and current.
    4.Log the data into  excel file
    I have attached the VI i made so far.i need abit of advice if i am moving in the right direction or not.
    Thank You for having a look at my question.
    Attachments:
    Voltage-Current VI.vi ‏81 KB

    Engr_tech wrote:
    i think i already have the tdms for  data logging.as far as the tdms data logging is concerned,when i enable the logging mode to "read and log" the data logged inside the excel sheet would be seperate for current and voltage.?
    Is it practically possible to acquire data from 4 different channels and plot them.if yes,then am i right to assume that all i need is to modify the current VI for four channels having all of them in parallel.
    Yes, you are logging directly to a TDMS file.  This is definately the best route for data logging from a DAQ.  The currents and voltages will show up as different channels in the same group.
    To add more channels, just add them to your DAQmx task.  The logging will handle it with no issue.  Your calculations will also a little work to add the extra channels.  Same for the graphs, since you are using seperate charts.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • Data acquisition from multiple channels.

    Hello
    Right now, I am able to acquire the signal from a single load cell and display it.But I would like to know of how to acquire  acquire signals from two load cells simultaneously.I am using Labview 6i and I am using AI S-Scan with AI config to acquire the waveform.It would be of great help if you could suggest a simple method to acquire the signals.
    PS: Please find the attached file used for acquisition from a single load cell.
    Looking forward for your reply.
    Manasa
    Attachments:
    test 4.vi ‏102 KB

    Hi Manasa,
    If I understand what you are trying to do, it is relatively
    straightforward to configure your application to acquire data on two channels.
    I was unable to run your vi as it was missing some of the subVI’s
    from your application.  However, your
    attachment was sufficient to see what you are trying to do. 
    Here is how to add channels:
    1.      
    In the I/O Channel Constant, you can add
    additional channels by using a comma or a semi-colon.  For example, to scan the first four channels
    you would put 0:3 in the constant (see attached screenshot ChannelConfig.jpg).  To scan the first and third channel you would
    put 0,2.
    2.      
    The AI Single Scan VI will now read from
    multiple channels.  Often it easiest to
    configure the output of this VI for viewing by first putting the data into an
    array using the Build Array VI.  It can
    then be plotted in a waveform graph. (see attached screenshot ReadtoGraph.jpg
    and WaveFormGraph.jpg)
    Just a few notes about “simultaneous” sampling:
    Most of the NI data acquisition cards have a multiplexer
    between the various input channels and the Analog to Digital (A/D) converter
    creating a very small delay between each channel (usually ms range or
    smaller).  NI does make several data acquisition
    cards that can perform true simultaneous sampling, meaning that there is an A/D
    converter for each channel.
    For the large majority of applications, the small delay
    between channels is negligible.
    Jared T.
    Attachments:
    ReadtoGraph.JPG ‏21 KB
    ChannelConfig.JPG ‏288 KB
    WaveFromChart.JPG ‏61 KB

  • Is there a way to acquire a set number of points from multiple channels?

    I had set up a VI to use AI ONE POINT.VI for multiple channels. Getting one data point for me is useless. I need, say, 100 data points from multiple channels at once. Is there a way to do that? Is there an example program I'm not seeing that already does that?
    Thanks!
    p.s. I have Labview 6.1

    Hello,
    Thank you for contacting National Instruments.
    As Dennis had mentioned, there are many example programs that ship with LabVIEW that demonstrate how to take measurements from multiple channels with either a finite or continuous amount of data to be acquired. In LabVIEW 6.1 you can find these examples by going to Help >> Find Examples >> Hardware Input and Output >> DAQ >> Analog Input >> General.
    In these examples, if you would like to sample multiple channels, you simply need to add the physical channels separated by a comma for example: 1,3,5 would sample channels one, three, and five. You can also use a colon to sample a sequence of channels for example: 4:6 would sample channels four, five, and six. This makes it easy for you to choose the chann
    els that you would like to sample without having to make any modifications to your code.
    Regards,
    Bill B.
    Applications Engineer
    National Instruments

  • 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

  • Boolean values from multiple Digital Inputs

    Hi guys,
    This should be really basic but I've looked around to find a solution with no succes...
    I have a Digital Input device with multiple inputs. 
    Eg, I'm reading 0-24VDC signals from pushbuttons and limit switches.
    I simply would like to be able to assign each input to a boolean variable to use throughout the code.
    Example: I've setup the DAQ Assist and get the usual "Data" output. I'm guessing this produces an array of boolean signals.
    How do I convert that array into an individual boolean DI signal for each input?
    Or better still, is there a VI I should be using that outputs individual signals?
    I've also got the same problem for Digital Outputs. I'm guessing I'll be able to apply the same principles to that problem though.
    Sorry if this is obvious and thanks for the help,
    Joel
    Solved!
    Go to Solution.

    Index Array will break apart an array into individual elements.
    Build Array does the reverse taking individual values and build them into an array.
    I would recommend looking at the online LabVIEW tutorials
    LabVIEW Introduction Course - Three Hours
    LabVIEW Introduction Course - Six Hours

  • Displaying real-time data using gui meter from multiple channels.

    I am using DAQ USB-6009 for my assignment. Part of my task is to display real-data from multiple channels in the form of gui meters.  eg. irradiance and voltage...
    I used a split signal to separate the signals from different channels coming out of the data output terminal of the DAQ assistant. The problem is that I do not know which vi to connect in between the split signal and the gui meter. I am looking for one vi that is capable of handling signals (measurement)  and outputting the data to the gui meters simultaneously and individually based on the channel they are coming from.

    Thnx for your tip, Dennis.
    However, I have another problem that just occurred to me when my VI manages to execute as I wanted.
    I noticed that the needle on my gui meter will only "appears" to be responding to every changes to its input when I have set it to run continuously and the only way to stop it is via abortion which might leave the resources (eg. external hardware) in unknown state. Is there any safer and workable ways to organise the VIs using while loop?
    I have placed my DAQ assistant, write to measurement file (vi), add function, split signal and gui meters all in 1 single while loop.
        DAQ-------> write to measurement file
                 |
                 |                                                 ​                   |--------------------------------> add function----> gui meters
                 ---------------------------------------------> split signals ---|--------------------------------> add function----> gui meters
                                                      ​                                |--------------------------------> add function----> gui meters
    If I do the following steps,
    1. press run continuously to start the VI
    2. click the same button to disable continuous run when the VI has completed its task.
    3. click the stop button in the front panel to stop the while loop
    Does doing these steps ensure that I will not leave resources in unknown state? Is it a safer way to stop a VI which is running continuously?
    Pardon me for I am new to LabView. Even though, I have read the user's
    manual and tried out all the execises, there are some concepts that I
    need clarification on and mistakes that I need to discover through more hands-on.

  • How to Read from multiple channels

    Dear Sir
    I am acquiring data using FP-RTD-122 using OPC Client software. I ahve made one socket for that and i am using command
    CWDataSocket1.AccessMode = cwdsReadAutoUpdate
    CWDataSocket1.URL = "opc://localhost/National Instruments.OPCFieldPoint/FP Res\FP-RTD-122 @1\Channel 0"
    CWDataSocket1.Connect
    v = CWDataSocket1.Data.Value
    where v is a variant type.But this is 8-channel RTD so how can i read values from all channels using single socket connection Because at presnt i have to use 8 sockets for all eight channels.

    At least as of FieldPoint 4.0 and earlier (I do not know about 4.0.1 or later), the OPC Server did not support multiple channel analog items. Thus to read all eight channels of a FP-RTD-122 module, you would need 8 separate socket connections. For discrete modules (boolean), the "All" tag, is treated as a single 8 or 16 bit number.
    Regards,
    Aaron

Maybe you are looking for

  • Supplier Open Iterface Import

    Hi I am using Supplier Open Interface Import to import the list of vendors. On running the concurrent request if fails with the following error. ERR REP-1419: 'beforereport': PL/SQL program aborted. Do someone know the cause. Are there any special re

  • The burn to the PIONEER DVD-RW DVR-K06A drive failed. Verifying the burned

    I am trying to burn an album from iPhoto '09 and I receive the following error message: The burn to the PIONEER DVD-RW DVR-K06A drive failed. Verifying the burned data failed. I have attempted 3 different times using the same media that worked prior

  • My hp f380 all in one will not print items in queue

    My printer keeps disconnecting from my computer or going offline and will not print things so they go into the queue and i am unable to view or print anything from queue

  • Small Plastic Pieces Replacement Help Please! [Dv4-2165dx] Picture Included

    Hello. In 2010 I bought a HP Dv4-2165dx. I really love this computer and would like to repair it. As you can see in this picture the plastic part that covers these usb hubs and the ac power inlet was broken off.  I think it comes in a couple pieces.

  • Delete InfoCube

    Hi, I get this message when i tried to delete Cube "Operation ' Change Attribute TSTATE ' could not be carried out for Request 2760" Regards, NPR