Multiple channels definitions for AI

All examples for analog input use one channel only.  I would like to see and example using multiple channel inputs.

Hi rlbrehm,
If you have already created Global Virtual Channels in MAX, you can use the DAQmx Create Task vi to create the task from those in LabVIEW.
If you have a Task configured in MAX, you may use it in LabVIEW as follows:
Using a DAQmx Task in LabVIEW
If you want to define the channels in LabVIEW with multiple characteristics, you can also use the DAQmx Create Channel multiple times in your code to define channels with different characteristics (scales, ranges, etc.).  The following code shows how this can be done, although a more elegant solution would use an array of channel configurations in conjunction with a for loop.
DAQmx Acquire with Multiple Channel Input Ranges
The one thing to take away from this is that there are multiple ways to define your task and the parameters associated with each channel--any of the above methods should be able to produce the same result so it's up to you how you want to define your task and channels.  I hope this is helpful.
-John
John Passiak

Similar Messages

  • SecureAMF channel failed for first time initialization

    Hi all,
    I have a Flex application to authenticate with server via RemoteObject.
    It is working normally with http (i.e. amf channel)
    However when I try to login via https, the first access time, Flex application always return Fault error. Subsequent login is OK.
    From server side, I see user has been logged in successfully at first time.
    Is it because the certificate is not trusted? Any idea?
    Thank you,
    Anh
    This is the log that I have from client side:
    LoginCommand Fault: (mx.rpc.events::FaultEvent)#0
      bubbles = false
      cancelable = true
      currentTarget = (null)
      eventPhase = 2
      fault = (mx.rpc::Fault)#1
        content = (Object)#2
        errorID = 0
        faultCode = "Client.Error.MessageSend"
        faultDetail = "Channel.Connect.Failed error NetConnection.Call.Failed: HTTP: Failed: url: 'https://172.52.22.218:9443/MyApplication/messagebroker/amfsecure'"
        faultString = "Send failed"
        message = "faultCode:Client.Error.MessageSend faultString:'Send failed' faultDetail:'Channel.Connect.Failed error NetConnection.Call.Failed: HTTP: Failed: url: 'https://172.52.22.218:9443/MyApplication/messagebroker/amfsecure''"
        name = "Error"
        rootCause = (mx.messaging.events::ChannelFaultEvent)#3
          bubbles = false
          cancelable = false
          channel = (mx.messaging.channels::SecureAMFChannel)#4
            authenticated = false
            channelSets = (Array)#5
            connected = false
            connectTimeout = -1
            enableSmallMessages = true
            endpoint = "https://172.52.22.218:9443/MyApplication/messagebroker/amfsecure"
            failoverURIs = (Array)#6
            id = (null)
            mpiEnabled = false
            netConnection = (flash.net::NetConnection)#7
              client = (mx.messaging.channels::SecureAMFChannel)#4
              connected = false
              objectEncoding = 3
              proxyType = "none"
              uri = "https://172.52.22.218:9443/MyApplication/messagebroker/amfsecure"
            piggybackingEnabled = false
            polling = false
            pollingEnabled = true
            pollingInterval = 3000
            protocol = "https"
            reconnecting = false
            recordMessageSizes = false
            recordMessageTimes = false
            requestTimeout = -1
            uri = "https://172.52.22.218:9443/MyApplication/messagebroker/amfsecure"
            url = "https://172.52.22.218:9443/MyApplication/messagebroker/amfsecure"
            useSmallMessages = false
          channelId = (null)
          connected = false
          currentTarget = (mx.messaging.channels::SecureAMFChannel)#4
          eventPhase = 2
          faultCode = "Channel.Connect.Failed"
          faultDetail = "NetConnection.Call.Failed: HTTP: Failed: url: 'https://172.52.22.218:9443/MyApplication/messagebroker/amfsecure'"
          faultString = "error"
          reconnecting = false
          rejected = false
          rootCause = (Object)#8
            code = "NetConnection.Call.Failed"
            description = "HTTP: Failed"
            details = "https://172.52.22.218:9443/MyApplication/messagebroker/amfsecure"
            level = "error"
          target = (mx.messaging.channels::SecureAMFChannel)#4
          type = "channelFault"
      headers = (null)
      message = (mx.messaging.messages::ErrorMessage)#9
        body = (Object)#2
        clientId = (null)
        correlationId = "F4E42A7F-5E56-B704-CDB6-87826108D443"
        destination = ""
        extendedData = (null)
        faultCode = "Client.Error.MessageSend"
        faultDetail = "Channel.Connect.Failed error NetConnection.Call.Failed: HTTP: Failed: url: 'https://172.52.22.218:9443/MyApplication/messagebroker/amfsecure'"
        faultString = "Send failed"
        headers = (Object)#10
        messageId = "B549C02F-9EDF-7C6E-C89F-878261572A73"
        rootCause = (mx.messaging.events::ChannelFaultEvent)#3
        timestamp = 0
        timeToLive = 0
      messageId = "B549C02F-9EDF-7C6E-C89F-878261572A73"
      statusCode = 0
      target = (null)
      token = (mx.rpc::AsyncToken)#11
        message = (mx.messaging.messages::RemotingMessage)#12
          body = (Array)#13
            [0] (com.mydomain.model.dto::LoginDTO)#14
              statuscode = "0"
              userName = "myusername"
          clientId = (null)
          destination = ""
          headers = (Object)#15
          messageId = "F4E42A7F-5E56-B704-CDB6-87826108D443"
          operation = "authenticate"
          source = (null)
          timestamp = 0
          timeToLive = 0
        responders = (Array)#16
          [0] (com.mydomain.controller::LoginCommand)#17
        result = (null)
      type = "fault"

    Hi Alex,
    Thank you for your reply. It is true that I failed in IE 6, 7, 8 with amf-secure channel. Firefox and Google Chrome is working.
    I have checked the services-config.xml (should be the default) and see the  <add-no-cache-headers>false</add-no-cache-headers> in channel definition my-secure-amf:
    <!-- Secure Servlet-based endpoints -->
            <channel-definition id="my-secure-amf" class="mx.messaging.channels.SecureAMFChannel">
                <endpoint url="https://{server.name}:{server.port}/{context.root}/messagebroker/amfsecure" class="flex.messaging.endpoints.SecureAMFEndpoint"/>
                <properties>
                    <!--HTTPS requests on some browsers do not work when pragma "no-cache" are set-->
                    <add-no-cache-headers>false</add-no-cache-headers>
                </properties>
            </channel-definition>
    For my-amf, it is set to true
    <!-- Servlet Based endpoints -->
            <channel-definition id="my-amf" class="mx.messaging.channels.AMFChannel">
                <endpoint url="http://{server.name}:{server.port}/{context.root}/messagebroker/amf" class="flex.messaging.endpoints.AMFEndpoint"/>
                <properties>
                    <polling-enabled>false</polling-enabled>
                    <add-no-cache-headers>true</add-no-cache-headers>
                    <invalidate-session-on-disconnect>true</invalidate-session-on-disconnect>
                </properties>
            </channel-definition>
    Is there any other place I need to add the add-no-cache-headers?
    I'm using Websphere application, do I need to set any properties in Websphere?
    Thank you and look forward to your reply,
    Anh

  • Entry Channel setup for multiple company codes

    Hello,
    I have a question regarding the entry channel setup (for external requirements in the Plan-Driven Procurement scenario)
    In previous implementations, I 've created an entry channel below each company code (as the documentation says it should be). Now, for each entry channel, there was a EBP user assigned, which corresponded to an RFC entry in the backend system (I was connecting EBP to multiple backend systems)
    Now, what should I do in the following scenario?:
    1. SRM is only connected to one backend system
    2. There are 50 company codes
    Does that mean I have to create 50 users (for each channel) plus 50 RFC connections in the R/3 system (each with a different user in the backend system), pointing to the same SRM system?
    I was thinking of creating an Org iD in the SRM structure at the top (which would be the entry channel), assign only ONE user to it and then fill attribute BUK with all the company codes. However, I don't know if this will work, because the external requirement process might need the company code defined in the "Function" tab... =/
    Any help would be greatly appreciated.
    Regards,
    Gilberto.

    Hi Proyecto Genesis,
    I am also configuring the Entry channel (org unit) for multiple company codes.
    I tried your logic of defining the entry channel outside company code level. Assigned the BUK attribute and extended attribute for plants and storage locations.
    Also in my case the local Pur org and Pur group is defined outside the company code. Is it correct?
    However the system fails to transfer the external requisition to SRM.
    SLG1 displays following error message.
    "No address found for partner function type Ship-To Address"
    So if I move the Entry channel (org unit) under any one company code level then the external requisitions are transferred correctly to SRM.
    But then the issue is the requirements are not transferred with the backend Pur Org and Pur grp. Instead they are transferred to the Pur Org and Pur grp of the company code under which the entry channel is defined.
    Can you please share how do we need to define the entry channel, local pur org and pur grp for multiple company codes scenario, so that the ECC requisitions are transferred with the correct company code, pur org and pur grp to SRM?
    Or do we need to define Entry channel for each company code and RFC user actually mapping the same backend system?
    Please guide.
    Regards,
    Sandeep

  • What is the recommended way to do multiple channel, single point sampling for control with an NI PCI-6255 in RLP?

    Hello,
    I am writing a driver for the M-series NI PCI-6255 for QNX. I have downloaded the MHDDK and have all the examples working. I have also enhanced the examples to do interrupt handling (e.g. on AI_FIFO interrupt or DMA Ring Buffer interrupt). My ultimate goal is to write a driver that I can use for closed-loop control at 500 Hz using all 80 channels of the NI PCI-6255. I may also need to synchronize each scan with a NI PCIe-7841R card for which I've already written a driver. I want an interrupt-driven solution (be it programmed I/O on an interrupt or DMA that generates an interrupt) so that the CPU is available to other threads while the 80 analog inputs are being read (since it takes quite a while). I also want to minimize the number of interrupts. Basically, I will need to collect one sample from all 80 channels every 2 milliseconds.
    There are many different options available to do so, but what is the recommended technique for the NI PCI-6255 card? I tried using the AI FIFO interrupt without DMA, but it seems to interrupt as soon as any data is in the AI FIFO (i.e. not empty condition), rather than when all 80 channels are in the FIFO, so more interrupts are generated than necessary. I tried using DMA in Ring Buffer mode to collect a single sample of 80 channels and interrupting on the DMA Ring Buffer interrupt, which appears to work better except that this technique runs into problems if I cannot copy all the data out of the DMA buffer before the next AI scan begins (because the DMA will start overwriting the buffer as it is in ring buffer mode). If the DMA is not in ring buffer mode or I make the ring buffer larger than one 80-channel sample then I don't have a way to generate an interrupt when one sample has been acquired (which I need, because I'm doing control).
    I saw something in the documentation about a DMA Continue mode in which it looks like you can switch between two different buffers (by programming the Base Count/Address with a different address than the current address) automatically and thereby double-buffer the DMA but there is no real documentation or examples on this capability. However, I think it would work better than the Ring Buffer because I could interrupt on the DMA CONT flag presumably and be copying data out of one buffer while it is filling the other buffer.
    Another option would be DMA chaining, but again, I cannot find any information on these features specific to the NI DAQs.
    I tried interrupting on AI STOP figuring that I could get a single interrupt for each scan, but that doesn't appear to work as expected.
    I know that DAQmx on Windows has the ability to do such single sample, multiple channel tasks at a fixed rate so the hardware must support it.
    Any suggestions would be appreciated.
    Thanks.
    Daniel Madill

    Hello,
    The interrupt that will happen nearest the times that you need is the AI_Start_Interrupt in the Interrupt_A group. This interrupt will occur with each sample clock. By the second time this interrupt fires, the AI FIFO should have the samples from the first conversion. If it is easier to use programmed IO, you can read the samples out of the FIFO until you get all 80.
    Additionally, you can set the DMA to send samples as soon as the FIFO is no longer empty...instead of waiting for half full or full. This change will reduce latency for your control loop. You can set AI_FIFO_Mode in AI_Mode_3_Register to 0. By the second time this interrupt fires, you should be able to check how much data is in the DMA ring buffer and read the 80 samples when they are available. You can make the ring buffer larger than 80 samples if you see data getting overwritten.
    There is no interrupt associated with 80 samples being available in the FIFO or 80 samples being available/transferred by DMA to the host. X Series has much more flexibility with these interrupts.
    I hope this helps!
    Steven T.

  • 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

  • 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

  • How to place outbound files to multiple channels for a single agreement

    Hi All,
    We need to send single HIPAA 834 document to two different locations(channels) of the same TP. We have single HIPAA 834 agreement with one TP and one channel. is there a way to add two TP outbound channels for a single TP/agreement?
    Thanks,
    Kathar

    Hi Kathar,
    is there a way to add two TP outbound channels for a single TP/agreement?One TP may have multiple channels but one agreement can have only one associated channel. You may consider using the broadcast feature of Oracle B2B here.
    You may read about this feature here -
    https://blogs.oracle.com/oracleb2bgurus/entry/broadcast_feature_in_oracle_as
    Please note that this blog was written for 10g but concept and implementation is same in 11g.
    You need to create two TP profiles for same TP (you should use different name/identifiers for both) and then make them part of same group by adding identifier "Grouping" in both the profiles with same value. From middleware pass the header "Grouping:<value>" in action name or event name header. At runtime B2B will send the same message to both TP profiles.
    Regards,
    Anuj

  • Audio Volume Sliders for multiple channels of audio

    I don't even know if this is possible, but I was wondering if
    there was any way you can set up volume sliders to control multiple
    channels of audio. For a project I'm working on I am going to have
    background audio and comentary. I want the user to be able to
    adjust the volume of both the background audio and the comentary.
    Is there any was I can make seperate sliders for each of those
    tracks of audio?
    Thanks!

    you can not.
    the only workaround i can think of would be to create a volume curve on one track, and then duplicate that track as many times as needed, and drag the regions of your other tracks into these duplicated tracks.

  • Linker error Multiple definitions for symbol

    Hi,
    I have ported a project from Linux-based DAQmx to LabWindows CVI 2012 on a PXI machine. After making all conversion requirements, and successfully compiling, I am getting tons of the following linker errors for various modules files (just pasting
    a subset of those here):
    Multiple definitions for symbol '_PtrToPtr64' in modules X and Y
    Multiple definitions for symbol '_Ptr64ToPtr' in modules Z and Y
    Multiple definitions for symbol '_HandleToHandle64' in modules X and Y
    Multiple definitions for symbol '_HEAP_MAKE_TAG_FLAGS' in modules X and Y
    Multiple definitions for symbol '_TpInitializeCallbackEnviron' in modules X and Y
    I found this relevant post: http://forums.ni.com/t5/LabWindows-CVI/CVI2010-clang-link-errors-with-Windows-SDK/td-p/1425690
    which points to a known issue in CVI 2010. However the workaround (enabling C99 build option) is already set in my project, so this solution does not apply.
    Any idea what could be causing these windows.h symbols to get redefined?
    Thank you
    Solved!
    Go to Solution.

    Anjelica-W wrote:
    Can you run other examples that are accessing the Windows SDK without linker errors?
    You can also try adding import libraries for functions that are not automatically linked as suggested in this KnowledeBase article.
    Thanks for your reply. Yes I can run some basic apps that use windows.h without these linker errors, but cannot figure out the difference with mine. One more thing that could help diagnose the issue: Some of these fuctions are defined in file basetsd.h
    located in CVI2012\sdk\include, an excerpt of that code is below, which seems to be added by CVI. Is it possible that these are also defined somewhere else, causing the conflict? How can I see the linker options in CVI and find the path that it searches for libraries to link?
    // ADDED TO BY CVI
    #if !(defined (_CVI_) && defined (_INTERACTIVE_WINDOW_BUILD_))
    __inline
    void * POINTER_64
    PtrToPtr64(
    const void *p
    return((void * POINTER_64) (unsigned __int64) (ULONG_PTR)p );
    __inline
    void *
    Ptr64ToPtr(
    const void * POINTER_64 p
    return((void *) (ULONG_PTR) (unsigned __int64) p);
    __inline
    void * POINTER_64
    HandleToHandle64(
    const void *h
    return((void * POINTER_64)(__int64)(LONG_PTR)h );
    __inline
    void *
    Handle64ToHandle(
    const void * POINTER_64 h
    return((void *) (ULONG_PTR) (unsigned __int64) h );
    #endif /* _CVI_ */

  • DAQ_START FOR Multiple Channel Data

    Hi dears ;
    Normally we use Scan_start DAQ API to get multiple channel data but i want to get data using Daq_start for multiple channel
    but i dnot want to use this api like Scan_start by giving its second parameter -1 for all channels
    i want to use this api in seperate thread for each channel and i want to get the data from 8 channels simultaneously  using this api.
    plz send code in vc++.if the solution is not possible then send me alternate way.
    Detail:
    There are 8 threads they are running simultanously and every thread want to acquire data from their corresponding channel i.e thread one from channel one thread 2 from channel 2 and son...all the threads goes at the same to acquire the data and come back after one minute and this process continue untill quit the application
    please tell is possible or an altenate solution for this requirement.I donot use Scan_start to get the data of all the channels in one buffer i want to get the data of each channel in its own buffer.
                                     please tell as soon as possible
                                                                             thanks
                                                                                                    ajmal

    Hello ajmal,
    There are a couple reasons why your idea probably won't work.  First, it looks like you are using Traditional (legacy) NI-DAQ functions.  The Traditional NI-DAQ driver is not multi-thread capable.  Meaning that only one thread will be able to access the driver at a time.  Also, it is not possible with Traditional NI-DAQ or NI-DAQmx to have multiple analog input tasks running simultaneously.  Is there a particular reason that you don't want to read all the channels in the same task and separate the array into a different sub-arrays for each channel?
    -Alan A.

  • Reading multiple channels for multiple graphs

    Hey I am fairly new to Labview and am using it just temorarily. My project is to take in readings from a Gaussometer (X,Y, and Z axis) and graph them in read time. The Gaussometer outputs a DC Voltage equal to the gauss of the magnetic field. The X,Y,Z all come in on three differnet channels. Connected to a NI USB-6009
    I know I can use the Express> DAQ Assistant, however that outputs "Data" and I was hoping to use this in an Array. So I used the DDT to Array to convert it to the Array format that I needed (thanks to the forums for the help there). My only problem is that I don't know how to do this with multiple channels at the same time. But I have possibly been going about this all wrong.
    So I just wanted to know if I could get some help on how to read multiple channels and write to them to three different graphs in real time that would be of great help.

    Whether or not you use the Convert From Dynamic Data or the Split Signal, your data should be shown as soon as the DAQ Assistant returns. How you format the data is irrelevant. If the number of samples you request is greater than the sample rate, then it will take longer to acquire the data and there is nothing you can do about that except reduce the number of samples and acquire in a loop. You can append new data to old and display everything in a graph if you want.

  • I want to acquire data for multiple channels using PCI 6120 that works on traditional DAQ. I cannot access more than one channel, can someone help me or if someone has data acquisition vi for PCI 6120, please send me over . Thanks

    I have PCI 6120 card and I want to acquire data for more than one channels. I'm using traditional DAQ to get it. But it does not work for more than one channels. If someone has a data acquisition vi for PCI 6120. Or some suggestion how to aquire data please let me know.
    Thanks

    Hello DSPGUY1,
    You can definetly acquire from several channels. For your convenience, I have appended below the content from help that tells you how to configure it:
    "channels specifies the set of analog input channels. The order of the channels in the scan list defines the order in which the channels are scanned during an acquisition. channels is an array of strings. You can use one channel entry per element or specify the entire scan list in a single element, or use any combination of these two methods. If x, y, and z refer to channels, you can specify a list of channels in a single element by separating the individual channels by commas, for example, x,y,z. If x refers to the first channel in a consecutive channel range and y refers to the last channel, yo
    u can specify the range by separating the first and last channels by a colon, for example, x:y."
    Hope this help.
    Serges Lemo
    Applications Engineer
    National Instruments

  • Advantage having keywork 'single' in channel definition over 'single_sys'

    Hi
    I am working on channel definitions.
    I came to know that, when we send any mail to multiple recipients
    single - creates a single copy for each targeted recipient
    single_sys - creates a single copy for a destination system
    multiple - creates a single copy for entire channel
    As per the above, its always better to have keywork multiple in channel definition. If so, what is the advantage of having keyword 'single' or 'single_sys'? Is there any performance issues?
    Please let me know
    Thanks in Advance

    Hi,
    nvrsprasad wrote:
    I came to know that, when we send any mail to multiple recipients
    single - creates a single copy for each targeted recipient
    single_sys - creates a single copy for a destination system
    multiple - creates a single copy for entire channel
    As per the above, its always better to have keywork multiple in channel definition.This is incorrect. The multiple keyword will be ignored on certain channels (ones with smtp* set e.g. tcp_local) unless the daemon keyword is used (i.e. all emails are being sent to the same next-hop). Otherwise you could end up with emails being sent to the wrong server.
    If so, what is the advantage of having keyword 'single' or 'single_sys'? Is there any performance issues?If you require per-recipient processing, then the 'single' keyword may be appropriate e.g for conversion channel. There will obviously be a performance impact as it requires one email per recipient rather then one email per many-recipients.
    Unless you have a need to change the channel settings you should leave them be - any modifications would be on a case-by-case basis.
    Regards,
    Shane.

  • 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

  • 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

Maybe you are looking for