trigger fast digital output

Hello

Here's my problem: I want to generate digital samples (10-bit) whenever I get a digital external trigger.

This should be easy since I could still do it with the express DAQmxVI.

But the switch can go up to 120 Hz and 16Hz, the generation is not fast enough. It seems like the writing of digital output configuration takes too much time on each loop.

I don't know I'm missing something... can anyone help me on this or point me to some documents that I could use?

Which would be very appreciated.

Thank you

R

PS: I use a NI6351 USB card to get the external trigger on PFI0 and write the numeric data I want to send.

I found the answer and share the link here:

https://decibel.NI.com/content/docs/doc-25189

Thanks to Nathan-P!

Basically my USB6351 NOR is not redeclenchables, otherwise, you just add a property trigger Daqmx with redeclenchables true node. But with this thing, it works great!

R

Tags: NI Hardware

Similar Questions

  • Synchronization of analog and digital output with the external sample clock

    Hello

    First of all sorry for my English, I will try to explain what I want to do.

    I want my PCIe-6321 to send two custom signals (modification sawtooths) on a mirror controller. I would also like to generate output with my card at the beginning of each tooth of saw. Everything must be synchronized with an external k-clock signal of 100 kHz. The idea is that whenever the PCI receives a trigger to external clock, it sends two analog output voltages and when he received 1024 clock ticks it will also send a pic of triggering TTL. What I do is first prepare the map and after that in a loop sending and modifing the output values of the two signals and at the same time send a digital signal Boolean in each arch, so when's done it 1024 iterations of the loop I send an event to the digital port. Attached you can see.

    The problem is that I don't know how to synchronize both. Can I use the sample clock just to the analog output? I can use sample for the two outputs clock, or do I need to use the output of the meter? If don't know how to use it here.

    If I do nothing else bad/wrong, I would be grateful for feedback.

    Thanks in advance,
    Pablo

    I don't know how but I find the solution. I'm generating more than a positive value (as I was triggered maybe very fast the oscilloscope has been absent there). If I put the sample clock of digital output to use the sampling/ao/Dev1 clock that it doesn't, but if I put to use the same source as the OD (terminal where my external clock is connected), but the trigger to start the DO to be Dev1/ao/StartTrigger this works. I don't really know why, but it does.

    Thank you for your patience and your help. I put here the final code.

  • analog sync of input with the onset of the digital output

    I'm trying out an analog signal to a file with a specified frequency samples.  I also need a digital output to trigger a measurement at a frequency specified on a separate system.  The frequency is controlled by the loop exits and timed when the iteration number divided by the period is exactly a whole number.

    Both outputs work.  The problem is that they are not synchronized.  The analog output amounts to about 0.5 ms faster than the digital signal.  (I checked with an oscilloscope)  They both start in the 1 ms each loop runs for, but I really need them to start at the same instant.  What can I do to synchronize?  Also, if I'm going in the wrong direction complete, please indicate.

    I use a card PCI-6723, which I think someone at some point, said not having a material sample clock.  That's why I try to use a timed software loop.

    Hi NEA.

    You must use the 6723's built-in calendar to accomplish what you want.  As the digital output subsystem is only clocked by the software, an appropriate solution should be to use one of the counters to the pulse output.

    The attached code should show how.  You can use the counter to output a pulse all samples of the AO N task.  Material requires the initial delay to have a minimum of 2 ticks, so the meter will be behind the task of the AO by 2 samples in this case.  There are different ways to work around this problem if you need (for example write two samples of 0 first).

    Best regards

  • How can I more easily generate a pulse of digital output of finite length?

    Hello

    I need to open and close the two pneumatic valves using a TTL output (without load current or the output power) using a PCI-6280 or PCI-6601. The valves must open almost simultaneously and closing after different amounts of time elapsed (millisecond level timing, maybe 100 microseconds-level timing at worst). My current plan is as follows:

    -Create a task with two digital outputs (type of waveform) and another task with a counter that generates a frequency set by the user (I know I can use the generator frequencies on one of these cards, but I would have preferred a counter - the best selection of frequencies).

    -Wire the output of the counter at the entrance to clock two digital outputs.

    -Output of the meter is digitally triggered by another digital channel which I use to control if the pulse goes out. Through its counter node, it is programmed to be redeclenchables.

    -Two digital waveforms are drafted who have both consist of unique active high pulse (i.e. signals go ' down (for the amount of time user-defined) - low ".")

    -These signals is written to their respective ports and their tasks have started, as is the task of the meter.

    -Whenever the user wants to open taps, digital triggering is sent up and then back to low (this can be done with synchronization software, because it is not exactly when the fire valves). Whenever the user wants the valves open for a different period, different digital waveforms are generated and written in the buffers of the digital output channels.

    My problem is that it looks like a lot of effort for me to go and I wonder if there is a much simpler solution, that I don't know everything. You can program a computer to produce a pulse of finite length? Is there a faster way to program a digital output for that channel?

    Thanks to anyone who responds to their help.

    It is certainly instructive. Thank you.

    The thing is, I have only six total counters to work with and I have a lot of time to do things. To use these solutions, I would need to use 4 or 6 account counters required to my needs.also that I would need to synchronize their departures.

    Overall, I stick to my method for now - less system resources and synchronization can be don by using the same meter of finished output clock and not to use a trigger to all.

    Once again, thank you for your help so far.

  • redeclenchables strange behavior digital output

    I created a redeclenchables digital dashboard task (finished) digital output as follows: (in DAQmx C)

    DAQmxCreateTask("",&_taskHandle);
    DAQmxCreateDOChan(_taskHandle,"/Dev2/port0/line6","",DAQmx_Val_ChanPerLine);
    DAQmxCfgSampClkTiming (_taskHandle, "" / Dev2/Ctr0InternalOutput ", _clockRate, DAQmx_Val_Rising, DAQmx_Val_FiniteSamps, static_cast (_sampleCount)");
    DAQmxCfgOutputBuffer (_taskHandle, static_cast (_sampleCount));
    DAQmxCfgDigEdgeStartTrig (_taskHandle, "/ Dev2/PFI4", DAQmx_Val_Rising ");
    DAQmxSetStartTrigRetriggerable (_taskHandle, true);
    DAQmxWriteDigitalLines (_taskHandle, static_cast(_sampleCount), FALSE,-1, DAQmx_Val_GroupByChannel, _pDigital, NULL, NULL);
    DAQmxStartTask (_taskHandle);

    sample clock:

    DAQmxCreateTask ("", & _taskHandleCO);
    DAQmxCreateCOPulseChanFreq (_taskHandleCO, "/ Dev2/ctr0","", DAQmx_Val_Hz, DAQmx_Val_Low, 0,0, _clockRate, 0.5 "");
    DAQmxCfgImplicitTiming (_taskHandleCO, DAQmx_Val_ContSamps, _numSamples);
    DAQmxStartTask (_taskHandleCO);

    When I run the task without redeclenchables parameter, it output a correct signal. However, if I run with redeclenchables it out almost exactly 2 times faster than normal. For example, a pulse whose width of 10 ms became 5 ms and repeats again to be 2 pulses of 5 ms. This is repeatable, no matter how much or how fast triggers provided.

    My card is PCIe-6363. I do not know what causes this strange behavior, and I hope someone can help on this.

    Thank you.

    It disappears after reset configuration. Might be interesting for future reviews.

  • CV 1457RT and VBAI: Double digital output

    I have a problem with the CVS 1457RT and the VBAI.

    I configured two steps with the VBAI for the CVS.

    The first step: I've read about the digital input which should trigger my second step.

    the second step: I acquire an image (with an ACE of the Basler) and then I measured 8 distances and count 2 edges. After this, I generate a pulse on the digital output once.

    After that I did a VI in LabVIEW that measures the time between the IO.

    In this VI and on the module which is connected to the digital output, I see that the putput pulses twice but only a few times.

    I guess you get noise on your digital input and trigger twice, so that it works the inspection twice, giving you two pulse output.

    You can implement a digital filter, where the value that comes out of the filter does not change until entry remained at the same value for the N samples.

    Bruce

  • Measure the time difference between a digital output and an analog input that responded to the questionnaire

    Hallo,

    I use the following system:

    • OR PXI-1044 with controller NI PXI-8109

    • OR PXI-2564 switch module to turn on the monitor of my test device

    • Data acquisition multifunction NI PXI-6259 to measure the signal that responded to the questionnaire jump

    The two cards are the same - PXI trigger bus. For both, PXI-2564 and PXI-6259 I use DAQmx to set the reading and writing of the channels.

    Now, I want to measure the time between the digital output, my unit turns and the analog input, which measures the response of my system.

    I can't do work by myself, please help me!

    I thank Ludwig.

    Hi Ludwig,.

    If you can't give us any VI we have difficulties with to help you.

    Because I Donat knowledge how your program is mounted it is not easy to know where you should enter signals.

    Here's a question similar to yours:

    http://forums.NI.com/T5/LabVIEW/best-way-to-measure-time/TD-p/178704

    and 2 external links:

    http://www.ehow.com/how_8698983_measure-time-LabVIEW.html

    http://objectmix.com/LabVIEW/385152-how-can-i-use-LabVIEW-measure-time-between-analog-pulses.html

  • Moment of the digital output

    I use a PCI-MIO-16-1, and I'm trying to create pulses on each of the three digital outputs, using a hardware trigger.  I got a solution that sort of market by using a loop timed; the loop runs once per trigger, and inside the loop, I use avoiding to turn each of the three outputs at the right time.

    However, the problem is that the 1ms resolution of the timing of software is not good enough.  So I try to find a way to do it using equipment, so I can get a finer resolution.

    What I tried to do recently is to create a redeclenchables on one of the counters pulse train (using the example generate digital Pulse Train-finishes-redeclenchables) and use it as a trigger for the timed loop.  I can get the pulse train to give me three ticks for every time that I get a hardware trigger and then put a state machine inside the loop to turn each of the outputs.  (I am currently divide the material into three equal segments trigger.)

    However, although I can generate the pulse train very well on one of the counters, I can't manage to get the timed loop to use this counter as its source of the moment.  How can I do?  Or does anyone have a better idea how to do that?

    Unfortunately, the card you have does not allow for hardware timekeeping DIO. M series and recent X series Multifunction DAQ devices allow such a task. If you want, I can have a technical representative contact you to discuss your request and provide appropriate suggestions to optimize your application.

    Kind regards

    Glenn

    Technical sales engineer

    National Instruments

  • digital output remain on inout end is off

    Hello

    I've been rattleing my head on this for the last two days with no luck.

    What I try to do is the following:

    Send a signal in a NI9421 Module, when the module receives this signal, it should exit on the NI 9472. These 2 steps I've completed and work however is the next part whicc I have problems with.

    When the input signal is removed from NI9421 I would kepp receives a signal from the NI9472 for a period which can be easily adjusted.

    I tried to highlight delays / waits (FOR loops behave as counters), while loops etc, but this doesis delays the time between entry Street to before the output turns on. for example. If I put in a 5 second delay, entry must be closed 5 seconds before the output turns on, and output will then stay on for another 5 dry.

    Any help is very appreciated.

    Thank you

    John

    Hi John,.

    Take a look at the sample code below along with a description, if all goes well it will help you get started.

    The while loop in the early polls pin digital input and a real wait to exit the loop and enter Assistant2 DAQ. The while loop in it has a wait of 10ms. This is to avoid it running fast and hogging all you time CPU. Since the output of the DAQ Assistant, in the while loop is a table, table VI Index allows to get a value that is wired in the loop condition.

    The yellow lines used throughout of are lines of error and these can be very useful in LabVIEW to synchronize / order parts of your code. Following the order of the execution rule of in that the DAQ Assistant2 will not begin until all loop has finished running.

    I then used a flat sequence order within 3 seconds (with error lines) between the second DAQ Assistant and the third that turns off the digital output.

    Hope this is clear and useful

  • 6534 PCI for digital output finished generates a continuous output

    Hello

    I use 6534 PCI for my application, where I generate a digital output, a model finished variable length in a continuous loop.  the code runs without error, but I'm not able to justify the behavior of the map. I intend to use the code inside the while loop as a Subvi and if I change the 'command' at the entrance table during each call to the Subvi, the output should vary according to the directives of the entry of the 1 d array.

    But this is not the case, the loop displays the previous value that has been given to Scripture DAQmx. If the control panel is changed the output instantly does not change. It takes a while before the actual output changes. The length of the array command I give is also 88 & 133. When I realize that the output is wrong, I disable the DAQmx write vi by a structure of the case, I would expect an error that the output buffer is empty, but rather the old value is generated whenever the start Daqmx vi task is exectuted without.

    My tax any problem is that the output buffer is not get replaced with the new value, but I'm specifyng the size of buffer, performing a registration every time and start the task, waiting until the task is done and the task stop. Each stop & writing should delete and empty the buffer, but I did not understad what goes wrong.

    Also, I thought that maybe that orders are put in queue up in the output buffer, acual generation is not as fast as the call of the DAQmx write & start, but if that's the case then even if I stop the vi the generation should be until the buffer is empty, but that doent happen VI, break breaks of generation. the number of iterations is equal to the generated models. If anyone can help as to what could be the problem?  find code attached below.

    Hello

    If I understand the problem you are experiencing, then the reason for the typical behavior when you run the VI, it is that you are not clearing the DAQmx task whenever you intend to go for a fresh DIO write. You stop just the DAQmx task that seems however to clear the buffer on board space.

    With this post, I am enclosing a VI of the sample that should work according to your expected behavior. You can even call this VI as a Subvi and can use it to update the DIO port with a digital model of variable length fees. Another fact that I would like to point out, is that, once you have initalised one table, it is not possible to reduce the length of the array. You can only increase by adding new elements. According to your needs given that the digital model that needs to be updated will be of variable length, each time you cll the Subvi, you must create a freash of appropriate length and feed it as input to the Sub - VI. Inside the Subvi, according to the length of this array of entry appropriate buffer space is allocated.

    Do trust this solution help solve you the problem, otherwise do not hesitate to go back.

    Best regards,

    Sagar G yapi | Application engineer | National Instruments - India

  • CompactDAQ using to acquire correlated data force-position began with a trigger of digital material?

    Hello

    up to now, I use a PCI NI6221 card to acquire the data of time - correlation of two analog inputs and an encoder (line A and B), i.e. to get two supply voltages and position for each sample. The beginning of the acquisition is hardware-triggered by a digital line of PFI.

    In addition to assessing the encoder inverted /A lines and / b (to eliminate the errors of counting in harsh environments) I want to migrate this task to a CompactDAQ 9172 module with a 9205 (for analog), a 9411 (for incremental encoder signals) and a 9472 (for outputs digital additional static) inside.

    My question: is it possible to use the entry PFI0 of the 9205 as trigger of digital material to make an acquisition described above? Or how should I continue?

    Best regards

    cpschnuffel

    I would like to make a correction to my last post... we have actually supported for triggers the 9205 (analog and digital) to any location in the 9172.  Digital lines has always obey the same rules I mentioned earlier.

    So, you can trigger off the 9205 PFI line in any location, or outside either module in slot 5 or 6.

    I'll be sure to amend article KnowledBase that I've referenced once I have the chance to make it clearer and more thorough.

    -John

  • audio output: optical digital output port (no sound!) macbook pro retina 15 mid 2015

    My new recently Mbpr 15 inch has suddenly lost its sound, I went through the process of the toothpick etc but nothing. It worked perfectly fine earlier today, but I put in a mini jack into the headphone port and after to achieve 30 minutes later and taking the cable to THE that I had not his, then I had the red light coming out of the helmet but now its does not come in red and in the sound settings in system preferences its impasse on "optical digital output Port.

    I now have to wait a week to wait until I can get seen at my apple store closet, I coming projects upward and in the middle of deadline and really using this Mbp to work, I literally only had a TI surly less than two months, I shouldn't have any problems. So if anyone knows anything I would appreciate it a lot! I need help to get this resolution as soon as possible! the last post I saw this was in 2006-2012 no new thread on this recently!

    Thank you!

    Jasonwaterz wrote:

    I then had the red light coming out of the helmet but now its does not come in red and in the sound settings in system preferences its impasse on "optical digital output Port.

    Try resetting the NVRAM/PRAM http://support.apple.com/kb/ht1379 memory

  • Realtek integrated sound card is stuck in digital output

    I can't get this thing off the digital output mode. Now I have no sound because all analog ports do not work. Telling me that nothing is plugged. I can't reset the analog speaker because it is grayed in Vista. This problem seems to be very common with computers using Realtek and Vista, just do a google search and see for yourself.

    I have a feeling it has software problem between Vista and Realtek. But I really think Realtek is just terrible to began with and should not be put in any period of the computer. If I can't get this thing works here tomorrow I will get a good real map.

    Message edited by hn333 on 09/04/2009 21:02

    I had very similar problems and finally managed to solve it.

    Something seems to be borked with drivers realtek about automatic jack detection.

    After attempting to use the method described here (easier if you can) http://freeweelee.wordpress.com/2008/12/09/vista-and-realtek-front-panel-audio-not-working-solution/, I discovered that I was completely unable to cut jack detection in audio Manager Realtek (no folder icon).

    For those of you who (like me) have no icon file, I managed to find another way to disable the detection of jack.

    Using the registry editor, find all instances of ForceDisableJD and change the value from 00 to FF.

    After making sure that I got all of them, I was able to reboot and everything works fine now.

  • No digital output on a Satellite P200

    I just bought a Satellite P200 and am trying to put it to the test. Today I tried recording on a digital audio recorder (Edirol R-4) connected to the output digital output jack but can get no signal. I can get a signal from the analog headphone jack.

    I have no problem with digital recording of my desktop PC which has an installed Sound Blaster card so it doesn't seem to be an incompatibility or a problem with the connecting cable.

    I tried to set the default output to digital mode in the setup of REALtek but no difference.

    Any suggestions gratefully received.

    David

    Anyone else had this problem?

    David

  • Is it save to use the digital output as a digital input for another channel signal

    Hi all

    I know it's a stupid question, but I don't have another generator of signals by hand. What I want to know is, can I use the signal digital output of my USB-6001 as an input for the same signal device, but on other digital port? I wasn't directly because I don't want to burn the device...

    Thank you

    Done all the time. No problems.

Maybe you are looking for