Monitor multiple channels for analog trigger with DAQmx drivers

Hello! I would like to start a data acquisition of multiple analog channels (16) from an analog trigger. I would like trigger to monitor four of the (same) channels, and trigger when any one of them reaches a certain voltage. I found an example that would work with the Traditional DAQ drivers (using occurances), but can't figure out how to do something similar in DAQmx.
Time is also an issue, as I would like to collect the first 80 milliseconds of data after the trigger (at a rate of 500,000 Hz).
I'm using LabView 7.0 and collecting data off of two PXI-6133 cards.
Thanks for your help!

Hi Denise-
After some research, I have found that it is not possible to use the functionality of DAQ Occurrences in DAQmx. Ironically, the reason that this functionality is available in Traditional and not DAQmx is due to the exploitation of an inherent limitation of Traditional that was upgraded in DAQmx. The multi-thread capability of DAQmx is a major advantage for most applications, but in this case it prevents the use of occurrences as they existed in Traditional DAQ.
In short, this means that you can't directly use this functionality in DAQmx. You can however emulate this functionality with minimal software analysis of the incoming signal. I have attached a modified example VI that logs data to a chart only when the analog level of one of the channels being measured has exceeded a user-defined reference value. Basically, the task is running continuously in the background but the data is not actually logged until the signal is above a predetermined "trigger" level.
Please let me know if the attached example is helpful for your application. You will see the input channels listed in the format "DevX/ai0:y" where X is the device number and y is the highest channel number of interest.
Regards,
Tom W
National Instruments
Attachments:
Cont Acq&Graph Voltage-Int Clk Analog SW Trigger.vi ‏83 KB

Similar Messages

  • Is it possible to start a PCI4472 and a PCI-MIO-16E-1 simultaneously using an analog trigger (with pre-trigger)?

    I would like to start several PCI 4472 and a PCI-MIO-16E-1 simultaneously. All boards are connected via a RTSI cable.
    My program works fine if I use software trigger, or an analog trigger from a PCI4472 channel. However, the analog trigger works only when I set pre-trigger (or pre-scan) to 0.
    Is it possible to start a PCI4472 and a PCI-MIO-16E-1 simultaneously using an analog trigger (with pre-trigger)?
    Thanks.
    Ian Ren

    Hi, Bill
    I think it is possible to set more than 38 pre-trigger scans on a single 4472 card. I've done this before. You can verify this by running the Labview example "Acquire N - Multi-Analog Hardware Trig.vi" which comes with LabView.
    What I try to do but without success/luck so far is to start data acquisitions of several 4472 cards and a PCI-MIO-16E-1 card using an anlog trigger (with pre-trigger).
    Thanks for your help.
    Ian

  • How to structure the DMA buffer for PXie 6341 DAQ card for analog output with different frequencies on each channel

    I'm using the MHDDK for analog out/in with the PXIe 6341 DAQ card.
    The examples, e.g. aoex5, show a single Timer  (outTimerHelper::loadUI method), but the example shows DMA data loaded with the same vector size.
    There is a comment in the outTimerHelper:rogramUpdateCount call which implies that different buffer sizes per channel can be used.
       (the comment is: Switching between different buffer sizes will not be used)
    Does anyone know what the format of the DMA buffer should be for data for multiple channels with different frequencies ?
    For example, say we want a0 with a 1Khz Sine wave and a1 with a 1.5Khz sine wave.  What does the DMA buffer look like ?
    With the same frequency for each channel, the data is interleaved, e.g.  (ao0#0, ao1#0; ao0#1, ao1#1, ...), but when the frequencies for each channel is different, what does the buffer look like ?

    Hello Kenstern,
    The data is always interleaved because each card only has a single timing engine for each subsystem.
    For AO you must specify the number of samples that AO will output. You also specify the number of channels. Because there is only one timing engine for AO, each AO will channel will get updated at the same time tick of the update clock. The data will be arranged interleaved exactly as the example shows because each AO channel needs data to output at each tick of the update clock. The data itself can change based on the frequency you want to output.
    kenstern wrote:
    For example, say we want a0 with a 1Khz Sine wave and a1 with a 1.5Khz sine wave.  What does the DMA buffer look like ?
    With the same frequency for each channel, the data is interleaved, e.g.  (ao0#0, ao1#0; ao0#1, ao1#1, ...), but when the frequencies for each channel is different, what does the buffer look like ?
    In your example, you need to come up with an update rate that works for both waveforms (1 KHz and 1.5 KHz sine waves). To get a good representation of a sine wave, you need to update more than 10x as fast as your fastest frequency...I would recommend 100x if possible.
    Update Frequency: 150 KHz
    Channels: 2
    Then you create buffers that include full cycles of each waveform you want to output based on the update frequency. These buffers must also be the same size.
    Buffer 1: Contains data for the 1 KHz sine wave, 300 points, 2 sine wave cycles
    Buffer 2: Contains data for the 1.5 KHz sine wave, 300 points, 3 sine wave cycles
    You then interleave them as before. When the data is run through the ADC, they are outputting different sine waves even though the AO channels are updating at the same rate.

  • 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

  • PCI 6023E Analog Input with DAQmx

    Hello everybody,
    I have some problems with a PCI 6023E Card. I`m using Lab View 7.1 on Windows 2000.
    When i start the MAX (Devices and.../NI-DAQmx - Devices.../PCI-6023E) and try to open the "Testpanel"
    i get the following message:
    Lab View: An exeption occurred within the external code
    called by a Call Library Node. This might have corrupted
    Lab Views memory. Save any work to a new location and
    restart Lab View.
    VI "BlockatContainerState2.vi" was stopped at node
    0xA10 of Sub VI "DAQmx

    sorry i had a problem thats the rest of the message
    Sub VI "DAQmx Assistant_DAQmx Create AI Channel (sub).vi"
    i get the same message when i try to use the DAQmx Assistant for
    analog Input measurements in Lab View.
    I hope you can help me
    best regards
    Chris

  • Analog trigger with NI9205 PFI0

    I have a problem to trigger an analog acquire with NI9205 (C module in  Compact DAQ)
    i use the PFI0 line, but the acquire don't start when i send a trigger gignal (5 to 0V)
    the error:
    could you help me?
    Thanks a lot!

    You set your task up to run at a rate of 2400 samples per second, and request 64 samples to be read. This means that it will take at least 37.5ms to take the data.
    Your DAQmx Read function has a timeout of 10ms set.  This means that the read will always timeout before the required samples are read as the error is indicating.
    For this configuration you should not need to wire the timeout setting of the DAQmx read at all, I recommend removing that input!
    Craig H. | CLA | Systems Engineer | National Instruments

  • How do I configure 128 channels of DIO and 128 channels of Analog output with the availabili​ty of 3 pci slots

    I have only 3 slots of PCI or 4 slots of ISA bus, I want to configure with the minimum possible modules to attain 128 channels of DIO and 128 channels of analog output. This is inturn fed to the PCM (Pulse code Modulator). The cards will be placed in industrial PC.

    Associate Engineer-Marketing,
    Using just those 3 PCI slots you're not going to be able to get the 128 analog output channels. You will probably want to go either the MXI-3 (PCI bus extender) to a PXI chassis or E Series DAQ card to a SCXI chassis for such a high channel count system. Which analog output cards and which digital I/O cards you will want depends on your application. You will have to decide whether you will need static or dynamic analog output as well as whether you need clocked digital I/O or not. I highly recommend contacting our internal sales department at 1-800-433-3488. They are great at helping specify systems.
    Ames
    Applications Engineering
    National Instruments

  • 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

  • Monitor multiple phone for incoming call

    Hello,
    I want to monitor multiple phone incoming call (retrieve callerID, ...)
    I do that with Tapi, but when you configure TSP, it's only for one phone
    I can install TSP several times, but ... for 40 phones ...
    Are there other solutions ?
    I use CCME

    Yes, you can use packet capture to sniff skinny. It works really well, and transparently across CallManager and CallManager Express. You'll need to perform packet decode which is a bit of work, and connect your server to the appropriate SPAN port, of course.

  • 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

  • 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.

  • Timeout for analog trigger

    I've written a C program to control my PCI MIO 16E4 Daq Board using
    asynchronous function.
    The trigger is defined in Configure_HW_Analog_Trigger and the
    aquisition is done with DAQ_Start.
    I want to set a timeout to avoid the board waiting too long for the
    trigger to occur but the only NIDAQ function that I've found in NIDAQ
    is Timeout_Config which is used for synchronous function only.
    Any help appreciated.
    Greetings.
    Claudio

    You are likely to get more responses to this question if you post in the Multifunction I/O category rather than the LabVIEW category.
    I am also not seeing a timeout parameter for the asynchronous NI-DAQ functions, but there are ways to implement a timeout scheme. In the DAQsingleBufAnalogTrig.c example, you see that they call DAQ_Check in a loop to get the status of the analog operation. You could set your program to loop a fixed number of times and if the acquisition is still not finished and the number of retrieved samples is 0, you can conclude that a timeout has occurred. Or instead of setting a fixed number of loop cycles, you could keep track of the time elapsed using the Timer functions provided by your compiler environment.

  • Analog Trigger with PXI-6229

    I have an application using a PXI-1010 chassis, PXI-6229 DAQ, communicating with MXI-4 to the host computer.
    For task triggering, the only direct option I'm finding is the digital trigger. However, I need to trigger on a low-lever analog signal (180mv). Can this be accomplished indirectly and start the task with a minor delay? If I can trigger the signal on the positive slope, I could have potentially a 1ms delay to begin the task and not affect my data.

    Hello Russ,
    The M Series 6229 should be able to support hardware analog triggering. Take a look at the following example to see how to accomplish this in LabVIEW.
    http://venus.ni.com/stage/we/niepd_web_display.DISPLAY_EPD4?p_answer=&p_guid=DC9C549F7FDC1973E034080020E74861&p_node=DZ52000&p_rank=&p_source=External&p_submitted=N
    If this doesn't work out for you and you don't mind having a delay between the low-level analog signal and the start of the task, you could always use a software analog trigger. Examples of this can be found in the LabVIEW NI Example Finder.
    Take care,
    E.Lee
    Eric
    DE For Life!

  • CUOM 2.3 sends multiple notifications for Event StoppedGSUPerformancePolling with same time stamps

    Hi Alll,
    I have a CUOM Version 2.3 which shows mutiple notifications per Device for Event StoppedGSUPerformancePolling with same time stamps. The message below is generated from the default All_Events for all devices.
    Does anyone have a solution for that.
    Regards Michael
    This message is generated 8 times with the same time stamp in all messages.
    ** This message is generated from Cisco Unified Operations Manager **
    ALERT ID                = 00012OW
    CREATION TIME           = Sat 30-Oct-2010 16:31:57 CEST
    MODIFIED TIME           = Sat 30-Oct-2010 17:00:58 CEST
    STATUS                  = Active
    SEVERITY                = Critical
    MANAGED OBJECT          = 183.201.141.193
    MANAGED OBJECT TYPE     = VoiceGateway
    ASSOCIATED EVENTS       =
        Cleared:183.201.141.193:Unresponsive
        Active:183.201.141.193:StoppedGsuPerformancePolling
    CUSTOMER IDENTIFICATION = Voice Port
    CUSTOMER REVISION       = Voice Port

    if you get SNMP timeout on multiple devices then the fault usually lies in the path that the polling follows to get to these devices and back to the server.
    The problem obviously lies in the part path they have in common.
    It is not unusual to see the highest backbone loads during the night, due to backups being taken.
    Make sure the most important inter-switch links have no errors.
    I would rather fix this then turn off alerting.
    Cheers,
    Michel

  • Multiple channel simultaneous data aquisition with 6601 counter

    Not concerning my primary question, I would like to point out to an N.I. Rep. that there is a typo in the help section concerning "posting a message".
    I have built a large format, two axis digitizer using linear encoders, a 6601 counter/timer, and labview 8. In building my application program, I  initially am using two daq assistants, with each set up to accomplish  the task of reading two encoders (2 channels) simultaneously. In doing some research, It has come to my attention, that with my current configuration, errors may result, due to one daq assistant attempting to access the cards driver while the other is acquiring data.  All attempts to get two channels working through a single daq assistant have resulted in an error message informing me that I can only have one task per counter.Thus far, I have not seen any noticeable errors, thought I would like to have this device "rock solid", as it will be used extensively.
    How can I get two channels working through one daq assistant?
    Is it possible, that I should have purchased  an "S" series board instead?
    Any help on this, is welcome!

    If you are using different counter channels for each assistant task, then you should not receive any errors.  It's not possible to get two counters working through the same assistant task.  This restriction would also apply to S Series boards as well, so you should be fine with your application.
    Please post again if you have any problems with this.
    gus....

Maybe you are looking for

  • Virtual Info Cube

    Hi, What is the procedure to create a virtual info cube. My scenario is that I have a table with only two fields in R/3 system and I have to show real time data in BEx query. Thanks in advance!

  • How To Use FCE4

    hi, i have a few problems using fce4. one is, in "viewer", how do i call out "text panel" from "cross dissolve panel"? or vice versa. second, when i composite, i set the text layers at the "length" i want. but then i add transitions such as cross dis

  • How do I get rid of Safari cuz I don't want it anymore?

    I have Mozilla Firefox 3.0.5 as well as Safari 3.2 and I have recently decided that I do not want to use Safari anymore. How can I completely delete Safari(as in no Safari Software Updates *at all, ever* )?

  • NI TPC module with Thrid party TPC?

    Hello NI,                   I have NI TPC Module 8.6 version I tried to deploy with the thridparty touch panel pc with MIPS processor  it is a x86 processor family,  i tried to install on NTPCservice.cab on touch panel, but its not gets install and s

  • How can I recover pics that were deleted/emptied from the trash?

    I deleted a folder that was named incorrectly, and it turned out to be the bulk of my photos. How can I recover these files if the trash was emptied. This is years of pictures.