From a ReadWaveform on an external trigger?

I have a DigitalMultiChannelReader that I need to start reading a waveform when a change of external line.  For example, I want to read Port3 lines 3 and 4, when PFI5 is high for a number of samples.

          readWaveformTask = new NationalInstruments.DAQmx.Task ();
readWaveformTask.DIChannels.CreateChannel ("PXI1Slot6, Port3/Line3, Port3/PXI1Slot6/4", "", ChannelLineGrouping.OneChannelForEachLine);
() readWaveformTask.Timing.ConfigureSampleClock
readWaveformTask.Stream.Timeout = 1000;
readWaveformTask.Triggers.StartTrigger.ConfigureDigitalEdgeTrigger ("PXI1Slot6/PFI5", DigitalEdgeStartTriggerEdge.Rising);

DigitalMultiChannelReader reader = new DigitalMultiChannelReader (readWaveformTask.Stream);
TODO: How to make the player doesn't start not the task here?
drive. ReadWaveform (samplesToCollect);

The above code will start the task and start playback of the waveform as soon as 'drive. ReadWaveform (samplesToCollect)' is called.

How can I trigger a waveform acquisition using an external trigger?



In fact, even if the roads of the device shows a direct link between your PFI line and the trigger in MAX line, it only means that there is a possible link between these lines. You will still need to manually connect these terminals, which can be done easily with the method DAQmx connect terminals. If you need a detailed method explanation, you can find it here.

Tags: NI Software

Similar Questions

  • sample clock adjust external trigger

    I am trying to use a source of external trigger non - TTL (square wave ~ 8 kHz from 0 to 1.4 V instead of 0 to 5 V) as the clock for an analogue waveform output voltage. Is there a way I can manually change the threshold used for the clock source so that I can get this working?

    I'm trying to avoid having to solve this problem at the hardware level, which in my opinion, is to build a comparator circuit to generate a trigger signal TTL of my 0-1, 4 a signal trigger V square.

    If not, is there a way I can generate a TTL signal that is synched to my trigger signal 0 to1.4 V ~ 8 kHz wave square using these maps NOR: PCI-6115 or PCIe-6323?

    Thank you!

    Cecinix, you are right. The sample of the signals clock are specified to be TTL signals, which means that the minimum thresholds of high voltage on the PCI-6115 and PCIe-6323 are respectively 2.2 V and 2,0 V. Digital/PFI input thresholds are listed in the data sheets of the devices, so that they are material defined. Unfortunately, given that all the digital inputs on the card you mention expect tensions TTL, it's something that you have to fix in the material. A comparator circuit could operate as a network of transistors of pull-up.

    What generates the square wave? Would it not viable for generating a signal of TTL clock on your NI DAQ card and export this signal to the rest of your system? In general, a digital system is quite tolerant of extra tension a bit, so it's maybe easier than adding voltage conversion circuits.

    Kind regards

    William R.

    Technical sales engineer

  • IMAQ Grab error when you use an external trigger on a card NI PCIe-1433 (sync problem?)

    According to my recent post on getting up and running with the NI PCIe-1433 camera link card, I ran into a bit of a snag.

    When you use the internal trigger on the camera, everything works 100%. I can view all the data from the camera in MAX as well as in the labview project. However, whenever I have set the mode switch is where things start to fall apart.

    What I have confirmed:

    -Camera is switching between inside and outside triggering.

    -NI PCIe-1433 camera link card is set up properly. While in external mode, I can trigger the camera by using a function generator and check the wire to the MAX. Everything works fine.

    When the unit is in external mode, the function enter IMAQ - my mistake VI. The error is:

    Code :-1074397150

    The possible reasons for a timeout.

    Now, I have it set up so that a mistake here will not end the LabVIEW file. Sometimes, data of interest makes however (about every 10 seconds-ish). So what seems to be the case, it's that this external trigger signal is not in the lineup when the clamp is attempted. Is it possible to synchronize these? May reference the trigger signal external sort in my LabVIEW project so that the clamp is performed only when that trigger impulses?

    So I solved my problem. He was in time. The external trigger that I used for the device was simply too slow. I was initially using a trigger from 2 Hz to be able to view the values changing on LabVIEW probes. But it was enough to get enough data to move above the camera cable to assemble a picture and kept it in time. Travel up to 9 kHz solved the problem. No adjustment to the camera settings or LabVIEW code was necessary.

  • Sync to external trigger in conjunction with a nearest pulse frequency device fixed...

    I am writing an application running a scan frame. One axis of the scanner runs at a fixed frequency. I use a scanner high speed 5105 to get the data. The slow axis of the scanner is controlled by a servo with an analog input. I have will probably use an M-series card for analog control, but can also go with a 6713 (output only) or another Board. Fixed frequency Analyzer provides a clock line, I want to use to drive the 5105. In addition, the analog card must be synchronized in this. The entire system should be able to accept a trigger external devices, as it starts scanning at the edge of clock on next line.

    I'm not quite sure about what would be the best way to do it. External triggering from other devices will be an indeterminate pulse width, so I can not just use it as a portal for the line clock. I am reluctant to do it in software (IE via the detection of changes on a digital line) because I want to be reliable started the next clock pulse. I have taken into account things like a counter/timer with a relaxing break, but which could lead to drift between the narcotics control and frequency scanner fixed. It seems just more complex that I think it should be, and it feels like I'm missing a simple way to do it.

    Any suggestions?

    Hi cshl,.

    Good to know - the 5105 has a duty cycle of tolerance of 45-55% (mentioned on the page of the form), so that is why you cannot change clock speed from 3 to 12 MHz on-the-fly (though if you make small incremental updates over time, it would be theoretically possible).

    With the additional information in mind, you might want to try the following on the 5105:

    Use the external trigger as a trigger of departure (arm of acquisition).

    Use the line as a signal reference clock (with a position of 0 samples for reference ~ 7500 are after initiation).

    The problem with this is that you will have to re - trigger on each line - 5105 has a 2.4 rearm us time (also mentioned in the page on record).  If this is unacceptable, another way that I can think of is to use a clock to external reference in PLL internal clocks of the bezel to.  If you can provide a stable, a clock accuracy 50 ppm which is synchronized with your scanner within reach, would solve the problem of drift over time without having to re - trigger on each line (only acquire data continuously).  This clock frequency must be between 1 MHz and 20 MHz in steps of 1 MHz.

    We have no Council can take in an external variable clock up to 12 MHz (on-the-fly), but if you wanted to compromise a little bit the 6115 can enjoy up to 10 MHz, and has no obligation to cycle to 45-55% so it's maybe interesting look in.

    As far as AO goes, I assumed that the clock line is declared after the quick scanner has completed his turnaround (ideally you do not update the zone of OCCUPATION during the lead time).  If you have a signal Analyzer that you can use instead probably easier.  If not, our peripheral series M and X series (but not the series AO 67xx) offer reference clock feature so if you go with the idea of reference mentioned above clock it may be easier to simply PLL the clocks together.  These cards in a PXI chassis or are they PCI form factor?

    I don't know what you mean by the sticking point about the need for two triggers.  I think the idea is that we use the external trigger to arm the 5105 and clock line to trigger each record.  However, if you do not need to generate a pulse double based on the clock of your line then you can use counters to do (our counters are redeclenchables with time to rearm in the ns range).

    Best regards


  • I m a new user of macbook. I can´t copy files from my mac to an external drive

    I can´t copy files from my mac to an external hard drive.

    I followed the instructions in the help, but I can't change the license to write / read of read-only, the locking doesn´t appear on my screen of inf.

    really I m very disappointed with this machine because I can´t find the apple online support.

    I tried searching you tobe to the google search, and I can't do it!

    any body can help me please?

    Select the drive in the Finder and select the get info in the file menu.

    If it is the Windows NT file system format, install software such as Paragon NTFS on the computer or reformat the hard disk.

    If it's in a different format, choose Utilities in the Finder Go menu, open disk utility and use the repair disk function or first aid in this regard.


  • How to move photos from a camera to an external hard drive?

    I did it before connecting each of them in my iMac, but I don't remember the correct sequence and the steps necessary to transfer the photos from my camera to my external hard drive. Thanks for your suggestions.

    The simplest method is to take the SD card out of the camera and then insert it into the SD slot on the side of your 2011 27 "iMac and copy and paste the pictures from the SD card to your DHM.

  • initialization of the fgen on external trigger


    For NI_Virtual bench with the BNC switch, we can trigger the function generator to start the square wave? I mean, I want to relax, so I have the beginning of the square wave

    You cannot trigger the function generator to start in response to an external signal.

    However, you can export a signal only pulses when the FGEN starts the external trigger BNC. You can do this with the entry point to 'Dig deeper the Signal to export'.

    Kind regards

    William Earle

    OR R & D

  • LabVIEW statechart module of data acquisition error external trigger

    I have a 2 loop vi is the acquisition of data of a data acquisition instrument loop and the second is a loop to run my statechart of.  I would like to respond to an error in device of acquisition data if it occurs in transition out of my current state in my diagram States-transitions and enable management of custom unique business mistakes.  My States-transitions diagram is synchronous and send it external funciton will not work with it.  How to achieve this?  In addition, there is some confusion about this literature in at the bottom of the page it saidNote sending triggers for synchronous charts is optional. If you do send triggers, LabVIEW sends the NULL trigger for transitions. If you send a synchronous statechart triggers, you can send these triggers to the caller VI. »

    Is it possible to do this and if so how with the synchronous statechart?

    Thank you, it should work for me

  • Source of external trigger PCI-4472

    Dear all,

    I have a PCI-4472 b I want to program to acquire a signal channel 0 whenever it recives a TTL signal throw the input external trigger.

    I use a modified example but I don't know which is the name of the external trigger source. I always receive this type of error (for example if I connect to a string that contains "EXT_TRIG"):

    Code: '-200265 '.

    "DAQmx Start '.
    Property: Start.AnlgEdge.Src
    Value: EXT_TRIG

    " Task name: _unnamedTask"

    The program I use is of this form:

    First of all, this error means that I have no right external trigger source name entry?

    If so, which one is the good name of the source of external trigger for NI4472B?

    Thank you for the help


    The error pops up because there is no channel named EXT TRIG. If you receive a trigger channel 0, I think that the best way is to specify the name of the channel in the "DAQmx Start Task.  There is a terminal where you can specify the name of the channel and use that name to a string for the trigger input. I think this should solve the problem.

    I referred to this knowledge base.

    Also, looks like you have trigger 'start analog edge '. Since you want to get the TTL signal, why not try 'start digital dashboard' trigger?

    Kind regards

  • PXI external trigger jitter

    Hi all

    I use a Board PXI-5422 generator of finished generation mode signals to generate an external trigger signal (PFI0) about every 5ms. There is a nominal 1.7µs delay of the input trigger for the start of the generation. That in itself isn't a problem (I can compensate for the delay), but there are up to 50ns jitter on this period, which is a problem. Does anyone know if there is anything I can do to minimize this jitter? (Incidentally, PFI1 exhibits the same behavior, but it is not a surprise)

    Thank you very much

    Hello GVR123,

    I had a glance at the manual for the PXI-5422 and I found the note for the ' delay of start CH 0 analog output Trigger "which is indicated as"65 sample clock periods + 110 ns. With this information, I calculated that

    1.7 - 0, 110 = 1.59


    1.59/65=0.025 (bulk)

    that points to a clock of 40 MHz. So I guess that's what you use.

    25ns deviation (40 MHz) each side (50ns total), you see the expectation, as there is no way to ensure that the trigger falls exactly on a rising edge of the sample clock.

    I hope this helps.

    Kind regards

    Michael S.
    Technical sales engineer
    NEITHER UK & Ireland

  • Several synchronization AO-DO-DI via DAQmx, external trigger devices

    Having trouble getting the digital input to trigger analog output unit.

    I have 2 AO cards (although I'm testing only with 1 device AO)

    2 cards DIO - using one for output, one for input

    All 4 cards are connected via a RTSI cable, and the cable is correctly condfigured in MAX, all 4 devices added to the cable.

    I consider the AO the 'master' unit map In this test, I plead for a finite number of samples, and I'm outside triggering map AO.

    As you can see, iI uses Signal export, export the AO and AO Start Trigger sample clock to DIO cards.

    I'm using Labview 2012 on PC Windows 7.

    The digital output is waiting for the AO trigger and appears off the coast of the AO sample clock synchronizing.

    The digital input expires if I only fire at the time, so he does not expect relaxation.

    any ideas?  I tried all kinds of combinations.

    Never mind!  I solved the problem with digital input without waiting for the external trigger.

    I just had to set the time-out waiting-1, so that he would never expire, and so he will wait for the trigger.

  • Acquisition of a sequence of images based on an external trigger.


    I have a photonfocus MV-D1024E-160-CL-CMOS camera. I'm generating a square signal of a NOR-DAQ. I want the camera to image acquisition on each falling edge or rising edge of the signal. I've seen examples related to IMAQdx drivers to get a sequence of images using an external trigger like this, but there is no examples for the IMAQ. If anyone can post a few examples, it would be really useful. I saw the example of component snap off and tried to use it. But I think that if I use the encoding that is used in this example it will only launch the sequence rather than what I want. Thanks in advance for anyone who can help me in this regard.


    Have you acquired images triggered in MAX when using the pulse width to determine the exposure time? It is always good to make a step back with these changes and make sure things are running at a more basic level.


  • analog input external trigger 6015


    I was able to configure my 6015 to accept an external trigger to start a measurement of analog input (with a # set of samples and freq).  However, what I want to do is to set up so I can send a 20 kHz signal to the trigger, and whenever the trigger detects the signal, the device would take a measure of the tension of each of the two channels.  He would then save this memory on board and allow me to read the data later.  That's what I can't figure out how to do.

    If he put in place such as I have an asynchronous callback and read data after each pulse, it takes too much time in my application.  I want to get a measure for each external trigger pulse (the freq may vary higher or lower, it's why I can't put just a freq - I need to use the trigger) and these data saved in memory on the card for me to pick it up later.

    Is this possible with the 6015?  Another tip?  If so, can you please show a few snippets of code in VB.NET or c# .NET?

    Thank you


    Hey Joe,

    I think that your application should work fine with the 6015. I mentioned only the buffer size as previous your post said 'I want... these data stored in memory on the card to grab me afterwards,' and especially supported in NOR-DAQmx devices (including the 6015, PCI E Series, the new series X PCIe and PCI M Series) don't work that way. They have permanently transfer data in a buffer in the memory of the host throughout the acquisition PC, and they have enough buffer on board to avoid negative/overflow buffer overflow errors at their maximum supported rate


  • problems with several hr2000 + external trigger mode

    I hope someone can me halp on this problem:

    I need to acquire spectra with two hr2000 + and a nirques256 with labview external trigger mode.

    The external trigger mode is done by another pc and also the train of pulpse generator.

    If a trigger after I'm going to generate a 100 impulse every 20ms for each device through a dedicted Council.

    If I only work with ghosts at times things works fine and the system is very stable, BUT if I work with two or three spectres by now I have a really strange (maybe for me) problem with the timeout.

    This is due to an incorrect number of pulses:

    If I work with two device then I need to produce pulses of 200 each 20ms but my spectrometers provide data every 40ms, but I need to equip every 20ms

    If I work with threedevice and then I need to produce pulses of 300 each 20ms but my spectrometers to obtain data each 60ms but I need to equip every 20ms

    Thus, in this way, I lose the synchronization of the three councils.

    An options may be to use a dedicated pc for each device

    I acquire the signal via usb and the problem is maybe duo to the bus

    I think maybe the problem is duo to the vi block! Maybe I can use single istance at times when I call the procedure

    Thank you

    I just solved the problem: it was a problem with reentrancy

    Default LabVIEW use not reentrant execution

  • Unable to transfer data from the laptop hard drive external/pendrive.

    Dear Experts,

    Unable to transfer data from the laptop hard drive external/pendrive.

    Each time that tried to transfer meesage seems to the authorization of the administration.

    Kindly help me to solve the problem.



    Follow these steps and check:

    To take ownership of a folder

    a. click on the USB key you want to learnand then click on Properties.

    b. click on the Security tab, click Advanced and then click on the tab owner.

    c. click on change. If you are prompted for an administrator password or a confirmation, type the password or provide confirmation.

    d. click on the name of the person you want to give to the property.

    e. If you want that person to be the owner of the files and subfolders in this folder, select the owner of subcontainers and objects replace check.

    f. click on OK.

Maybe you are looking for