Sequence 1create output digtal signal- 2 make microsecon​ds delay or less- 3 measure digital signal with board 6023e

hello
I need creat a digital signal and for this i use a counter output and then i need creat a delay after  a signal measurment and for this i use again a couter. My problem is how i can make this delay betwen create and measure a signal. this delay must to bethe shortest  possible  and precise. une of my attemps was make  a sequence and for make the delay i create a task for une virtual output with max frequency 5000000hz and just une pulse but i dont know how many time the labview get to go by the first task ( creat a output pulse and ent it) to make tis task before discribed to the last task (measure a digital sinal). Another thing that i dont know is how many time the libview get to create and eliminate une task. Une information beyond the kind of board (6023E) that can be useful to help me  with this problem is the information about my pc in this case i use a pentium4 3Ghz.
thanks  

...My problem is how i can make this delay betwen create and measure a signal.
...how many time the labview get to end one task and start another one.
What I tried to say is, that even if you use the counter of the 6023e-Board
to create the delay and trigger the measure via LabView under Windows,
you leave the realtime-path. Executiontime of LabView-code is then not
determinated.
One way to solve this, is triggering measurement via hardware and use LabView to read Data from the Buffer of the DAQ-card.
You can find more info about DAQ in the "measurements manuall" of NI, delivered with your LabView Software.
Lorand

Similar Messages

  • Measuring digital signals coming from the HSDIO (PXI-6542) with the DMM (PXI-4070)

    Hello,
    in attachment you can find the program I'm using for my measurement: I'm generating and acquiring digital signals with the PXI-6542 and at some trigger point of one of those digital signals I'd like to capture the measured values on a plot with the Digital MultiMeter (PXI-4070).
    It does work if you configure the generation repeat mode as continuous, but if you do have a finite repetition (repeat count is 1) it doesn't react on the trigger, as if it can't find a trigger. On the other hand, if you have a finite repeat count of 30 or more it does react and triggers correctly again.
    First I though it had something to do with autocalibration before the measurement takes place, but If you do a highlight execution (stepping through the program) it looks like it measures before the generation session is initialized.
    Is there a way to measure correctly when the repeat count is only 1?
    Thanks in advance,
    Jürgen

    Hey Jürgen.  I apologize that you haven't gotten an answer yet to your post.  I looked at your code and had some questions.  What is the source of your trigger to your DMM?  I see that you're exporting the data active event to PFI1, and your comments indicate that PFI1 and PFI2 are connected to give you a start trigger for your digital acquisition.  Exporting the data active event with a finite or continuous pulse should only give you a single edge per run, though - you wouldn't get a pulse each time.  Is your trigger coming from a data line?  I didn't see any line in your included data that would indicate a single pulse.
    The other thing that I noticed is that you've got no timing dependency between your HSDIO code and your DMM code - they're in parallel with each other.  Thus you could get different results run-to-run, since it's not deterministic as to which parallel "thread" that LV will start on first.  LV may switch back and forth several times, but let's say that LV reaches the HSDIO Start command before reaching the DMM Start command - in that case, the HSDIO device may finish it's entire operation before the DMM ever starts looking for a trigger, and thus never get the trigger at all.  I'm not sure why this would explain why you're seeing the finite case work and the continuous case not, but I wanted to point it out because it could bite you down the road.
    I hope some of this this helps get you going in the right direction.  I'd also suggest posting HW-centric questions in the appropriate form.  There are Digital forums and DMM forums that might help you reach people that will be more familiar with your particular hardware.
    Chris

  • Counter Input with Delayed counter Output with board 6023E

    HELLO
    Is possible with board 6023e have two counters working at same time in this case i need a counter to creat a delay and another one to read. If isn´t possible how i can have a delay in microseconds.

    Yes, each one of those boards have two STC counters you can use. Take a look at the User Manual of the boards for more information. When looking at the pin diagram for the boards, the counter pins are GPCTRx_.
    If you are using LabVIEW, CVI, VB or VC++, when you install NI-DAQ, it will install a lot of counter example programs which will show you how to program the counters.
    Brian

  • How to check 6 digital signals change value at the same time with PCI-6229??

    I am using DAQ card PCI-6229.
    Channel 1 generate a digital signal.
    Channel 2,3,4,5,6,7 acquire digital signals.
    I want to check:
    1. Whether the rising edge of Channel 2,3,4,5,6,7 occures at the same time;
    2. The time delay from the rising edge of Channel 1 to the rising edge of Channel 2,3,4,5,6,7 is within a certain range.
    I know I can use counter to get the two edge seperation time delay. But I only have two counter, it is two time-consuming if I check one by one.
    I don't know how to check the rising edge of 6 different channels occure at the same time.
    Does anyone has any suggestions?
    Thanks

    Hello,
    You can use the DAQ card's digital input change detection circuitry to detect changes in the input, you can then use a counter to measure the relative time between samples. Please read Page 6-9 DI Change Detection Applications for more information. Let me know if this helps
    Christian A
    National Instruments
    Applications Engineer

  • How to input/output a digital signal and acquire an analog signal at the same time?

    Dasylab, version: 8.0.04
    Acquirement Card: PCI1002L
    When I use DasyLab to acquire the analog signals is no problem without digital inputs and outputs,
    and when I use DasyLab to input or output a digital signal is no problem also, but when I do that at the
     same time, DasyLab tell me the rate is too high and stop.
    so, I searched the manual book1 (user guide) for that, it showed me :
    To internally equalize measurement time and system time in the analog input, digital input and counter
    hardware modules, use the following settings:
       Synchronization: PC Clock
       Sampling rate: <= 5Hz
       Block size: =1
    the problem is, if I set the Sampling rate to 5Hz, the speed of the acquirement datas is not enough for my
    application.
    so, how to improve it? who can give me a example programm for me. thanks!
    by the way, I come from China, my English isn't good, I'm sorry.
    Allen, China.

    Hi,
    Have things changed over the years?
    I need to syncronise a digital output (Modul NI9474) and an analoge input (AI-Modul NI9203) module. I need to measure time intervals from a flank in signal A to a flank in signal B. I would like accuracies of the order of 1 ms. Currently, the signals are not synchronised, with errors of the order of 2 times the block length (block size x sample rate), sometimes much higher. The best I got so far was a block size of around 20 with a sample rate of 1 kHz.
    If I use the master and slave settings on the RTSL settings, my program doesn't run properly.
    If I use digital signals for input and output, I can syncronise them with RTSL settings and everything is good, but I can't always do that.
    Also, if I do anything in the GUI (such as scrollowing something or going to another window), my output gets screwed up properly.
    1. What can be done to synchronise AI with DO?
    2. Is there something that can be done to avoid messing up the output when something happens in the user interface? (I know that I am messing up the outputs as they make some valves switch and that is loud).
    Thanks in advance!

  • FPGA Digital Signal Output Problem

    Hi,
    I am having a problem outputting a signal through my PCI-7831 and would appreciate any advice anyone has as I am beginning to crack the wall where I am banging my head into it. 
    My software is LV7.1 with FPGA module 1.1.  I am controlling a VI compiled onto the PCI-7831 with a host VI in windows.  I am viewing the outputs I mention on a high end oscilloscope.  I'm relatively new to LV and very new to the FPGA module.
    The FPGA VI consists of 3 while loops though only 2 loops are not performing as expected.  The FPGA while loops in question contain a single sequence structure that has as their first frames an IRQ 0 and 1 respectively . 
    In the host VI I am waiting for IRQ, writing the value of 2 wait timers,  and acknowledging the IRQ in the first frame of a sequence.  The FPGA then sets the states of 2 DIO outputs to both high.  Then the timers keep both outputs high until the next frame is reached, then 1,0 is written, the second wait expires, and the loop repeats until the while loop conditions in the host VI are met and the sequence in the host VI indexes (this is about 1 second.)
    For the second loop, I am going to the next frame in the host VI. This host works the same as the above sequence but only 1 value is being written, 0,1.
    In any case, it works but has 2 bugs I can't reason.
    The last, and only the last, iteration of the "both high" period is wrong.  The 1,1 becomes 1,1, then 0,1 about halfway through the wait, then the 1,0 occurs properly, then the 0,1 period begins properly.
    The other bug is that at the beginning of the 1,1; 1,0 sequence the 1,0 is repeated twice.
    I am using these signals to control a custom high amplitude bipolar digital signal generator.
    I have posted my VI's if anyone would like to see them.
    Thanks,
    Ben
    Message Edited by bugsmashers on 07-21-2005 12:57 PM
    Message Edited by bugsmashers on 07-21-2005 12:58 PM
    Attachments:
    Preset_power_top_WHILE_loops1.vi ‏311 KB
    Digital Pulse Amplitude Control Preset Power.vi ‏216 KB
    preset_power_data_gen_FPGA.vi ‏684 KB

    Hi Ben-
    I took a look at your code, and I can explain the first error you are talking about, but I don't think I understand the second error.  For the first error, lets start on the last iteration of the first while loop in your host code.  It first waits on IRQ 0, then sets the 'high' and 'low' parameters on RT, then acknowledges IRQ 0.  At this point on the FPGA side, the top loop (1,1 loop) begins to execute and sets the lines to 1,1.  Meanwhile back on the host, your first loop completes and the second loop starts.  The first thing the second loop does is wait on IRQ 1.  It doesn't have to wait at all because IRQ 1 was set long ago when the FPGA program started, so it clears IRQ 1, and the second FPGA Loop immediately sets the lines to 0,1.  The next thing that happens is your top loop in FPGA (1,1 loop) finishes waiting for the time specified in 'high' and moves to the next sequence frame and sets the lines to 1,0, next the second loop finishes its wait ('Wait Zero') starts the loop over again, sends IRQ 1, which is handled by your second host loop, it acknowledges IRQ 1, and then your second FPGA loop sets the lines back to 0,1.  Long explanation, but I hope not too confusing.  Synchronizing the host and FPGA with everything happening in parallel can get to be a lot to wrap your brain around.
    One comment on the code - From your description and looking at the code it looks like the first pulse iterates for a given period of time, then the second.  The way you have it written right now the pulse period will not be very deterministic - especially if you are using windows as your host.  The reason is that every iteration of the pulse depends on an IRQ interaction, which means you are waiting on your host CPU to do something.  Granted, the host should react quickly, but it is not deterministic - if windows is your host, and you start dragging windows around, you'll notice your period become longer than 'high'+'low'.  A better architecture might be to send the number of iterates of the 1,1 - 1,0 loop you want to execute down to FPGA, and let FPGA count the iterations and report back when it's done.  Then start the second loop, or send all the info down to FPGA and let it control both loops.  If setting 'high', 'low', and 'wait zero' need to happen through out, use the read/write control to just update those on the fly from the host rather than making the FPGA halt while they are updated.  If determinism on the period length is not important for your code, or you designed it the way you did for other reasons, then ignore everything I just said .
    Good luck, sorry I couldn't help on the second problem, if it's still an issue, post back with a little more detail on what '1,0 is repeated twice' means
    Dustin

  • How to remove a click from a sequence file mp4 or mp3, and make it only sequence left and right in GarageBand?

    How to remove a click from a sequence file mp4 or mp3, and make it only sequence left and right in GarageBand?

    "adrianTNT" <[email protected]> wrote in message
    news:e6aitv$hkm$[email protected]..
    >
    quote:
    Originally posted by:
    kglad
    > you're welcome. with your solution loading another mp3,
    are you sure it stops
    > the download of the first mp3?
    > Yes, it seems to work fine, it loads another sound in
    same sound (my_sound)
    > and it seems to replace loaded progress with the empty
    sound I gave and stops
    > previous loading.
    > I look at traffic icons on task bar and I see that there
    is no network traffic
    > after I click "stop" before this I could see continuous
    traffic while sound was
    > loading in background.
    Yeah, I remember someone posted that solution a long time
    ago. It seems if you load a file with the same name the cache
    doesn't
    know any better and adjusts the download size to the smaller
    one. Maybe it's a good way to do it! Could it be a way to remove an
    mp3 from someone's cache after it plays? hmmmm Will have to
    do more testing.
    tralfaz

  • Counter Output as Sample Clock of Digital Signals

    I have a situation where I need to use a hardware counter as sample clock of digital output signals.
    How do you specify the "Counter Internal Output" signal as a sample clock of digital output?
    I want to do something like this:
      // Create counter task
      CNiDAQmxTask m_Task(_T("ATask"));
      m_Task.COChannels.CreatePulseChannelTicks(_T("Dev1/ctr0"), "", _T("20MHzTimebase"), DAQmxCOPulseIdleStateLow, 0, 10, 10);
      m_Task.Triggers.StartTrigger.ConfigureDigitalEdgeTrigger("PFI0", DAQmxDigitalEdgeStartTriggerEdgeRising);
      // Create digital output task                     
      CNiDAQmxTask m_Task2(_T("ATask2"));
      m_Task2.DOChannels.CreateChannel("Dev1/port0/line0", "", DAQmxOneChannelForAllLines);
      m_Task2.Timing.ConfigureSampleClock("XXXXXX", 0, DAQmxSampleClockActiveEdgeRising, DAQmxSampleQuantityModeFiniteSamples, 400);
    How do I specificy "counter 0 Internal Output signal" instead of "XXXXXX" above, i.e. the sample clock of the digital output signal. Can't find the name of the signal anywhere in the documentation and help files. I have a 6259 DAQ board. 
    /pek

    Thank you for your answers, but I can't get it to work.
    When I use "ai/SampleClock" as sample clock everything works correct. When I try to use a counter as sample clock the task completes imediately, before any digital signals has been sent/measured. The task even completes before I have started the trigger, which is very confusing. No error appears.
    I think that something is wrong about how I setup the counter. I use the code below:
    // Create counter task
    CNiDAQmxTask m_Task(_T("ATask"));
    m_Task.COChannels.CreatePulseChannelTicks(_T("Dev1/ctr0"), "", _T("20MHzTimebase"), DAQmxCOPulseIdleStateLow, 0, 100, 100);
    m_Task.Triggers.StartTrigger.ConfigureDigitalEdgeTrigger("PFI0", DAQmxDigitalEdgeStartTriggerEdgeRising);
    // Create digital output task
    // The code below works with "ai/SampleClock" as sample clock
    CNiDAQmxTask m_Task3(_T("ATask3"));
    m_Task3.DOChannels.CreateChannel("Dev1/port0/line0", "", DAQmxOneChannelForAllLines);
    m_Task3.Timing.ConfigureSampleClock("Dev1/Ctr0InternalOutput" /*"ai/SampleClock"*/, 0, DAQmxSampleClockActiveEdgeRising, DAQmxSampleQuantityModeFiniteSamples, 400);
    // Create samples
    CNiUInt32Vector ui_data;
    for(int i = 0; i < 200; i++)
      for(unsigned int j = 0; j < 2; j++)
        ui_data.Append(j);
    // Create digital writer
    CNiDAQmxDigitalSingleChannelWriter m_writer3(m_Task3.Stream);
    m_writer3.WriteMultiSamplePortAsync(true, ui_data);
    // Wait until task completes
    m_Task3.WaitUntilDone(-1);

  • How to output a digital signal on negative slope of the clock?

    Hi
    I need to output a finite length of the digital pulse which will start on demand at the negative slope of the imported (or exported) clock.
    I am trying to get the clock exported or imported, but in no case I can trigger outputting the signal on the negative slope. 
    What is the trick?
    thanks
    Pawel
    Solved!
    Go to Solution.

    Which device are you using to generate your digital signal.  What is the clock source?  Can you attach your vi?  Normally, there is a DAQ function to configure the trigger where you choose the trigger source and the trigger slope (rising or falling), which would be falling for a negative slope.
    - tbob
    Inventor of the WORM Global

  • Help required with Access Sequence for output of Delivery

    Hi
    I have created new conditon table for shipping point and storage location
    Created new access sequence , with this new condition table as the 1st sequence - the others being Sales org/ Customer and then Shipping point.
    Applied this Access sequence to Output type
    I created condition record against 1st access sequence, Shipping point and storage location
    Yet when I created Stock Transport Order and subsequent delivery for this STO.
    The first access sequence against Shipping point and Storage location was not found
    The fields used against shipping point and storage location in my access sequence are as follows:-
    VSTEL     KOMKBV2    VSTEL
    LGORT    KOMPBV2    LGORT
    I also tried with a condition for shipping point and material , but this was not found either
    Any ideas ?
    Please advise
    Many thanks
    Tony

    HI
    checked the config and the delivery type is assigned to output determination procedure for shipping output.
    we have two outputs for deliveries, one for delivery schedule note and the other for despatch note, once PGI has been done.
    Delivery schedule note is first in the determination procedure so delivery type NL replenishment delivery is assigned to the first output in this procedure
    is something amiss here ??
    Thanks
    Tony

  • I have updated to io7 but it wont let me recieve or make calls or texts its showing i have no signal but i can recieve internet ive tried everything can anyone help?

    i have updated to io7 but it wont let me recieve or make calls or texts its showing i have no signal but i can recieve internet ive tried everything can anyone help?

    i have there is nothing wrong with the signal in my area, and they have told me check the mobile data network and i have done everything including reseting everything but its still not working

  • Can airport express output a digital signal to feed a separate audio DAC?

    Can airport express output a digital signal to feed a separate audio DAC?

    Yes. To access the digital output from the AirPort Express Base Station's (AX) audio port, you will need to connect a mini-TOSlink digital optical cable.

  • Is scxi 1124 capable to output digital signal?

    Can I use SCXI 1125 to output a digital signal? How?
    Thanks

    The SCXI-1124/1125 are strictly analog modules. However, you can still access the unused DIO lines on your DAQ device with the SCXI-1180 feedthrough panel. See Knowledge Base 0YB9LSTA for more information.
    Hope this helps!
    Russell
    Applications Engineer
    National Instruments
    http://www.ni.com/support

  • NVIDEA outputs digital signal to LCD projector

    We are having a different problem with connecting to LCD projectors at our school. The problem seems to result from a Crestron media manager between the MBP and the projector. the MBP connects via the DVI-to-VGA adaptor. If the MBP has the NVIDIA GeForce 8600M GT card, it sends a digital signal to the projector and nothing shows up on the screen. Displays preference panel shows the 2nd monitor as "Digital 170T." There are 3 MBPs showing this behavior. one older MBP with an ATI Radeon X1600 card connects just fine. My G4 with an ATI Mobility Radeon 9700 also worked (for over 3 years). both show a "VGA" connection in Displays preference panel.
    The NVIDIA MBPs can connect directly to an LCD projector and output a VGA signal that works. it seems that the intermediate Crestron system is not sending a signal that the NVIDIA requires to know it is connected to a VGA display. and of course, Crestron is telling our support people it is not their problem; NVIDEA's web support doesn't even touch Mac topics.
    So how do we convince the NVIDIA card to output a VGA signal from the DVI port?

    Nvidia Control Panel. Change the video output. Should work.

  • Wait for the digital signal

    Is there like "wait for the panel activity" in digital signal, "wait for the digital signal goes up" etc. ?
    Or is it bad to make it with sequence structure and inside of first sequence use while loop?

    If you need to wait for a digital signal before continuing on with your program, the best way is to have a while loop that continuously reads the signal and stops the loop when the signal goes high. You can put this loop in the first frame of a sequence, or you can wire an output from the loop (like error out from the device read vi) into your next step. Be sure to put a delay (100mSec) in your loop so that the loop does not hog CPU time.
    - tbob
    Inventor of the WORM Global

Maybe you are looking for