Pulse generation from an encoder on a PCI6601

qq

Hi,
I think you would have to use one counter to count up till x, then you would start the second counter and let it 
generate the output pulse you want. Afterwards you can update the x-value for the next pulse-generation.
But this would be all in Host-Software, no Hardware-Timing. If you want to do the
same in Hardware, I would recommend LabVIEW FPGA and a FPGA-Board.
regards
Marco Brauner NIG

Similar Messages

  • Frequency divider/ pulse generation from 1 to n

    Hi,
    I have a sample pulse which in some cases needs to be divided. I tried to use the pulse train generation function, which works fine (giving me a pulse every n sample pulses), but only starting at 2 input pulses. I need to be able to use this function from a division of 1 and up.
    Put in another way, can a counter be configured in such a way that it outputs a pulse every rising edge of the source signal?
    I'm using a PXI 6602 counter card and am programming it through calls to NIDAQ32.DLL under Labview 7.

    Hi Walter,
    In short, no. You can't output a pulse on every input pulse. You can however configure the degree of division. Here are the rules for division:
    When set to pulse train generation, you will have a register for the low value of the pulse train and a register for the high value. What happens in typical pulse generation is that these registers are loaded with count values such as 2 and 2 for each register respectively. In default operation, the first register will count 2 pulses on the source and then toggle the output. The second register will then count to pulses and toggle the output again. The operation then cycles back to the first register. This toggling effectively creates a pulse train that is divided by 4 and a duty cycle of 50%.
    You can however change the output mode to pulse instead of toggling upon completion of counting on a register. In the above example, you would count 2 source edges and then pulse for the first register and the count 2 more edges and pulse again for the second register. You will of course repeat this in pulse train generation mode. This mode allows you to obtain greater resolution since you are now dividing by 2 but your duty cycle will be different. Each pulsed output will be equivalent in size to the source pulse width.
    Finally, the two registers can be populated with integer values of 2 or greater. Therefore, the smallest frequency division is 2.
    You will have to work with these three elements to obtain the pulse train of your desired frequency. Hope that helps. Have a good day.
    Ron
    Applications Engineering
    National Instruments

  • Counting pulses from an encoder 0-7,5 V

    This is my VI and my signal measurement:
    [IMG]http://i.imgur.com/mfttanz.png[/IMG]
    How can I count the pulses from the encoder with this VI? I want to count it like in this VI:
    [IMG]http://i.imgur.com/xRzz0Lr.jpg[/IMG]
    So that I can measure the angle of a motor-driven frame using a 24 VDc motor.

    You will need some external hardware to clean the signal. The best might be to connect the signal to a comparator with some hysteresis and an output voltage compatible with your counter, typically 0 - 5 V, although some counters only accept 3.3 V.
    The signal you showed in the image on the first post in this thread should NOT be connected to a logic level counter. both the low and high voltages are outside the acceptable range for TTL compatible logic devices and coude damage the counter.
    I just looked at your VI and see that you are using an analog input. That should be fine for digitzing the signal.
    1. I recommend that you switch to a Producer/Consumer architecture for your program. Do the data acquisition in one loop (the Producer) and the calculations and analysis in the other loop (the Consumer). This will let you run the acquisition loop fast enough that you never  miss any pulses.
    2. Your signal is probably clean enough to use a simple comparison to a 2 or 3 V threshold. Then you can count those logical transitions. If you sometimes have more noise than shown in the image you could add some hysteresis to the comparisons or you might need a more sophisticated algoroithm to eliminate spurious counts.
    3. Do you have some means of determining when to start and stop the counting?
    Lynn

  • Monitoring pulse generation

    Hi all,
    I am using a USB-6210 card and
    measurement studio with VStudio2003. I would like to drive a stepper
    motor (which turns a miror in a spectrometer) by sending digital pulses
    to a motor driver. Using another channel on my card, i would also like
    to read a voltage (from an IR detector) every time i send 100 pulses to
    the stepper motor on the other channel. The purpose is to be able to
    log the voltage against the position of the motor.
    I am not sure what the correct method is... I can think of different options :
    Use
    \National
    Instruments\MeasurementStudioVS2003\VCNET\Examples\DAQmx\Counter\Generate
    Pulse\GenDigPulse + incrementing a variable that counts each time i
    send a single pulse. When the variable reaches 100, i take a reading.
    This concept is simplistic, however with this method i am concerned
    about having to often start/stop the task.
    I have seen interesting examples in the following directories, using a continuous pulse train + counting digital events.
    \National Instruments\MeasurementStudioVS2003\VCNET\Examples\DAQmx\Counter\Generate Pulse\GenDigPulseTrain_Continuous
    \National Instruments\MeasurementStudioVS2003\VCNET\Examples\DAQmx\Counter\CountDigEvents\
    How can i integrate these two examples to be able to count the pulses? Shall I just physically connect the counter pin and the pulse generation pin on the connector block of my card?
    To
    decide whether the motor has arrived to the aimed position I could use
    the a "counting" class to drive (=start/stop) a "pulse generation"
    class ?
    However the counting methods are driven by a Timing
    function (which runs every 50ms max), so i will always end up being
    slightly over positionned because of the lag time of the OnTime method?
    (i guess it doesnt really matters, as long as i know where i am)
    Use
    a finite pulse train. This imply using my two counters and then i would
    not be able to know where my motor is if the software was to end
    prematurely.
    Does anyone know what is the right way to do this?
    Thanks
    Laurent

    Duplicate thread:
    http://forums.ni.com/ni/board/message?board.id=250&message.id=37363

  • Pulse generation PCI-6220

    Hi there,
    I´m an absolutely newbie to labview and hope to get some advices as I´m completely stuck at the moment.
    I´d like to generate variable TTL pulses to 3 different lines. Since the PCI6220 card only has two counters I´ve to go for the normal hardware correlated DIO lines.
    For now I´d be happy to see it working just for one line as follows:
    __|   |________|           |_ ...
    I´ve to be able to set the pulse width of the high time for the first and the second pulse as well as the two different low times. This scheme should furthermore than be repeated n times. Thus having 5 variables, the length of the pulses in ms: 'Low1','High1','Low2','High2', and the number of repetitions: 'n'.
    I may be horribly wrong with this, but I think working with the duty cycle doesn´t work for that application, does it?
    Assuming I use the frequency generation of a counter as a sample clock to my pulse generation, it seems rather simple taking for instance 'High1' corresponding pulses of the counter clock to generate the 1st pulse then 'Low2' pulses for the subsequent low pulse and so forth. Could anyone give me a hint to do so, or are there better/other ways how to achieve this? Are there eventually vi's available I could start with (haven´t found proper one´s in this forum nor in the Labview implemented library)?
    Many, many thanks in advance for any help!!
    Robert

    Rob:  I looked at your example earlier when I was near my LV machine.  From memory:
    1. I think I recall that you specified PFI 2 as the sample clock source for the digital task while using CTR 0 to generate the clock.  According to this doc, the default output pin for CTR 0 is "terminal" 2.  However, that does NOT turn out to be another name for PFI 2.  Rather, terminal 2 is designated as PFI 12 as can be seen here.   (This stuff is also visible in MAX when you select your device, right-click and choose "device pinouts").
    2. I recall you used a U32 array version of DAQmx Write. You may need to use the U8 version on your 6220 board.  Also, the init values you wrote before the loop alternate between 255 (all bits high) and 0 (all bits low).  The values you write inside the loop alterate between 1 (LSB high, all other bits low) and 0 (all bits low).
    3. You defined the digital task for finite generation, filled its buffer before the loop, then attempted to keep overwriting it inside the loop.  These are not mutually consistent.  If you want finite generation, fill once only.  If you want continuous generation, it'll take some care not to overwrite too soon.
    4. Minor nit: It may not matter in your app, but often its best to start up the digital task before starting the counter task that generates its clock.  You can accomplish this by simply routing the error cluster from the digital task's DAQmx Start up to the counter task's Create Virtual Channel.
    I'm not near LV now to look at the recent example from Christian M.  Hope it suits your needs...
    -Kevin P.

  • How to configure a continuous pulse generation that doesn't end after the VI exits with DAQmx?

    Hi,
    I'm just learning the DAQmx and I have run into a problem.
    With the legacy DAQ API I could configure a counter to create continuous pulses and
    when I needed change the freq or duty cycle, I would just call the the configuration function
    again. The pulses were generated even after I closed LV, so it was all in the hardware.
    Now, with DAQmx api, it seems that this is not possible. I read a forum post saying that
    LV will end the pulse generation after the VI exits. Is there a workaround for this?
    I could ofcourse create a LV thread for this, but I liked the old one better
    It was simpler and I didn't need to worry about threads so much.
    All LV operations are going to be inside a DLL that is called from outside of LV, so I can't
    use LV threads in a simple way, e.g. putting things inside a while loop. Just that you'll
    know why I wan't to avoid using the threads.
    Thanks.

    It is possible to achieve this behavior using the DAQmx API by using the DAQmx Create Task VI to explicitly create the task (rather than relying on DAQmx Create Channel to do it implicitly) and setting the AutoCleanup attribute to False.  This method prevents LabVIEW from automatically clearing the task when your VI (or the function you'll be exporting to your C .dll) finishes executing.  The disadvantage is that you might accidentally "leak" a task if you're not careful.  In order to stop the pulse generation on command, you can either reset the device or somehow store the task name you created and come back later to call DAQmx Stop and/or Clear Task.
    Here's how you would start the generation:
    ...and how you could come back and stop it later, using the task name you created:
    Hopefully this helps-
    Message Edited by Tom W [DE] on 11-16-2007 07:54 AM
    Tom W
    National Instruments
    Attachments:
    autoCleanup.JPG ‏17 KB
    clearTask.JPG ‏4 KB

  • Two retriggerable pulse generations after a pulse train generation

    I am trying to generate 3 pulse trains (ABCABCABC...) one after another.
    The program currently I am using generates 2 pulse trains (ABABAB.....).
    I am using the Traditional NI-DAQ and PCI-6602.
    I am thinking about using pulse train generation first and then retriggerable pulse generation after that.
    I understand that the retriggerable pulse generation can generate a pulse train triggered (or gated) by other counter output.
    I have attached a test vi.
    It uses the pulse train generation code when the counter number is 0 and when the counter number is not 0, then it uses the retriggerable pulse generation code, which I tried to modify from the pulse train generation code.
    First of all, I am not sure if I wrote the retriggerable pulse generation code correctly.
    Secondly, I don't know if the whole code will generate ABCABCABC...
    I would really appreciate your help.
    pchemjjang

    pchemjjang,
    I believe I may have misunderstood your original concern.  It sounds like you want to output this finite pulse train on three different counters.  You will output these pulse trains for 10 minutes and cease your program.  The Finite Pulse Train.vi will output a pulse train from only one counter.  With this Traditional DAQ example you would need to have three of these Finite Pulse Train.vi programs running simultaneously in parallel to output from 3 counters.  I would strongly recommend using DAQmx for this application because you will only need to utilize 4 VIs.  The rest of the work is done behind the scenes.  There is an example in DAQmx which should accomplish exactly what you are looking for in one program.  You must make sure to make the number of pulses 2000000, the duty cycle as 1/3 and the frequency as 1/(300us).  The DAQmx driver can found here.  In terms of the counters, I believe that each task requiring two counters will use the counter adjacent to it.  If you would like to output on counter 0 using finite generation then counter 1 will be used as the gating counter.  When you have the DAQmx driver then you can find this example by selecting Help>>Find Examples and then expanding Hardware Input and Output>>DAQmx>>Generating Digital Pulses>>Gen Dig Pulse Train-Finite.vi.  I have included an image to show how the front panel of this example should be configured to work.  The major note to make is that you will need to configure all of the counters in the channel names list.  In Traditional DAQ this did not seem possible.  In Traditional DAQ you would need to create a subvi out of the Finite Pulse Train.vi run three copies of it, in parallel, in a larger program.  Please let me know if you will be able to utilize DAQmx in this application.     
    Thanks,
    Gio L.
    Digital Support - Product Manager
    National Instruments
    Attachments:
    Counteroutput.jpg ‏49 KB

  • Error -200220 occurred at DAQmx Create Channel (CO-Pulse Generation-Time).vi:1

    Hello,
    Just a couple of days ago I was given a task to complete. To transfer a Labview program from a desktop computer to laptop.
    The program itself uses a marlin camera to count the number of seeds.
    The transfer was fine I installed Labview 8.2, installed the DAQmx drivers and labview vision.
    I then transffered the program files over and ran the program on the laptop in labview and found an ERROR: Error -200220 occurred at DAQmx Create Channel (CO-Pulse Generation-Time).vi:1
    I remember that the desktop had a kind of board attached to it: some NI board dont know the model etc.
    can this be a problem? I have ensured that the problem is not the camera by checking it in MAX and it works fine.
    When i do step by step debugging the problem comes to a VI that uses a palette called DAQmx trigger - data acquisition palette.
    please see the attached picture!!
    Is this VI the problem then and is this palette the main problem that is not enabling this program to work??
    thankyou
    p.s. Will it be necessary to use the NI board then? if so i dont think it will work on the laptop then as you will need to install the daq card
    which can only be done on a desktop i think!! 

    Hello Rob W,
    Yes I only use a Firewire to connect the camera.
    And also i am sure that the device shows up in MAX under NI-DAQmx devices and not under Traditional DAQ. and it works under max.
    I am sure the problem is as shown in the image. because i have not connected to the NI board on the laptop and the program is designed to work with the board.
    but i have also tried removing the parts in the program that use the board but because of the complexity of the program i.e. wires i had some other problems i think
    must be the wiring etc
    thankyou

  • Determine when Counter Pulse Generation has been digitally triggered to start

    A counter task has been configured for continuous pulse generation with a digital edge start.  How in LabVIEW can I determine when an external digital trigger has been received and the counter started ?  It seems that a timed loop with DAQmx Create Timing Source wired to its source could be made to work but I cannot figure out how or the most appropriate instance to use.  I would simply stop the timed loop once the counter start had been detected.
    Steve

    Querying the output state and looking for a change would probably work for many typical square-like pulsetrains.  If you have an extreme duty cycle like 1% or something though, your queries are likely to keep finding the counter in the same output state long after pulses have started.
    Some other ideas of a similar nature may work better, though I'm not near a LV machine to test them.  I can vouch for idea #1 from past usage though.
    1. Query the counter's 'count' property and look for a change.  You're pretty unlikely to query the same count value several times in a row during pulse generation.
    2. You could try querying the DAQmx property for "TotalSamplesGenerated" and look for a non-zero value.  I'm not sure if this gets updated for counter outputs though.
    3. Counters also have a property called "TC reached?" where TC means terminal count.  When you query and get a True, It automatically resets itself back to False until reaching TC again.  Again, while I know this works for counter input tasks, I'm not sure if it gets updated for counter outputs.
    -Kevin P.

  • Synchronous pulse generation

     Hi all,
    I need to generate synchronous pulses from my USB device NI M6289 connected with BNC2120 on connector-0 and SCB68 on connector-1. I need to operate 8 chips which are connected in parallel with power supply,with only one chip at a time. Two pulses are required with duty cycle of 50% for operating one chip. So total 8 pairs(overall 16synchronous pulses) of such pulses are necessary.
    I have attached explanation in the attached word file,please have a look at it any help will be very useful for me.
    Is it possible do all this with just two counters which are in-built feature of NI6289?? If not how can it be acheived with only two counters?? 
    Regards
    Anurag
    Attachments:
    Synchronous pulse generation.docx ‏31 KB

    Hi kevin,
    Thanks for your help so far I managed to sort the things
    I have managed to get my counter output on different PFI lines. I have also started both counters together in the same VI by just copying the codes two times.
    For eg selecting ctr0 on PFI1 and ctr1 on PFI2 with 30s initial delay
    I have small question now,is it possible to shift ctr0 output to PFI3 and ctr1 to PFI4 after one minute without stoping the VI and reconfiguring ctr ouputs to PFI2,4??
    Further after one more minute ctr0 from PFI3 to PFI5 and ctr1 from PFI4 to PFI6 and so on....until ctr0 goes to PFI15 and ctr1 to PFI16 and the again the same sequence ctr0 to PFI1 and ctr1 to PFI2??
    Is this possible to automate this process or not?? Or I can do it only by manually configuring it.??
    Thnaks again for your help
    Regards
    Anurag

  • Simple pulse generation toggle

    Below is an excerpt from the 6602 manual.  The figure may not show so I've attached a word document showing it.  I want to do exactly what this says but am not sure how to make it happen.  I need to generate a quadrature signal and I think this would work wonderfully.  I want to setup one counter as my source and have two others toggle appropriately (keeping 90 degree phase shift). 
    How do I get into "Toggle" mode???
    Thanks!
    In toggled mode, the counter output changes state on the SOURCE edge
    that follows the assertion of the TC pulse. Figure 3-6 illustrates the two
    output modes for a pulse generation with a delay of two and a pulse width
    of four.
    Figure 3-6. Output Modes
    Attachments:
    6602 manual excerpt.doc ‏28 KB

    Howdy,
    You can use any of three DAQmx Create Channel VI's (CO Pulse Freq, Time or Ticks) to accomplish this generation. For this particular application, CO Pulse Ticks would probably be easiest since it allows us to input an initial delay, number of high ticks, and number of low ticks. For example, looking at Figure 3-6, to generate the bottom waveform, we would have something like the following config:
    the top waveform (SOURCE) would be connected to the source of ticks input on the DAQmx Create Channel (CO Pulse Ticks).vi
    initial delay: 3
    high ticks: 4
    low ticks: 2
    The DAQmx help for DAQmx Create Virtual Channel goes into more detail about these three Create Channel VI's if needed.
    (Just in case anyone references this thread in the future, this discussion is referring to Figure 3-6 of the January 1999 version of the 6601/6602 User Manual available here.)
    Warm regards,
    pBerg

  • Triggering a 6024E into data acquisition from start and end number of finite pulse generator from a 6602

    My motion control system is driven by a 6602 I wanted to acquire analog current (to a voltage via I/V converter) from a 6024 AI when:
    (1) At the start of the pulse generation
    (2) Stop at the end of the pulse generation
    (3) Read every possible data between and stream it on the harddisk
    (4) Option to skip at regular intervals to reduce amount of data accumulation
    Anyone have some suggestions? What I did try and attempted was to "loop an AI from a triggered intermediate Analog Input VIs" this is rather erratic!My question for the analog input software are:
    (1)Can you trigger an AI to start a continuous acquisition?
    (2) How do you do AI from a "start" p
    ulse train to "end" pulse train?
    (3) How do you manage time for File I/O meanwhile doing (1) and (2) above?
    Bernardino Jerez Buenaobra
    Senior Test and Systems Development Engineer
    Test and Systems Development Group
    Integrated Microelectronics Inc.- Philippines
    Telephone:+632772-4941-43
    Fax/Data: +632772-4944
    URL: http://www.imiphil.com/our_location.html
    email: [email protected]

    "(1)Can you trigger an AI to start a continuous acquisition?
    (2) How do you do AI from a "start" pulse train to "end" pulse train?
    (3) How do you manage time for File I/O meanwhile doing (1) and (2) above?"
    Answer 1 and 2)
    Yes you can, This VI is part of the search examples that ships with LV:
    "Continuous Acquisition & Graph Using Digital Triggering and External Scan Clock
    Demonstrates how to continuously retrieve data from one or more analog input channels using an external scan clock when a digital start trigger occurs."
    Go to Search Examples in the Help/Contents of LV. Then pick I/O Interfaces/Data Acquisition (DAQ)/Analog Input/Triggering an Acquisition/Triggering a Continuous Acquistion.
    This VI is appropriate ifs you want to clock the DAQ with some clock (external scan clock) other than the on board clock.
    The start trigger required by the DAQ card will be a TTL signal attached to the PFI0/TRIG1 pin of you DAQ card (via whatever signal conditioning you have).
    The external clock also needs to be TTL and is attached to the PFI7/STARTSCAN pin.
    You tell it which AI channel to use and wire that up appropriately.
    All of this stuff is in the context help for the VI.
    Answer 3)
    You have a misconception of how the acquisition makes its way into a file on the hard disk. You don't really "stream to disk." The VI above will run a buffered acquisition. The DAQ card sets up a buffer that fills with the data continously. When you use the VI you set up how the buffer is configured, you will see controls for buffer size, number of scans to read at a time, etc. The acquisition runs data into the buffer continously and reads from the buffer are a parallel process where chuncks of the buffer are extracted serially. You can end up with a scan backlog where the reads are falling behind the data. Making the buffer bigger helps. All of this is limited by the sampling capability of the DAQ card. 200kSamples/second is for one channel of AI. Divide by 2 for 2 channels. etc.
    The short answer is that the VI and DAQ card manage the file I/O for you.
    The VI above writes the scan out to the waveform chart on the front panel. You will want to wire that data out from the AI Read Sub VI to a spreadsheet file in tab delimited form or similar.
    Look inside the VI block diagram. There is a While loop containing the AI Read. Every time the loop runs (unless you hit STOP), the AI Read plucks the specified # of scans from the buffer (starting from the last unread datum). If you wire the double orange wire from AI Read out of the loop (and set the tunnel for Auto Indexing) the Vi will build another buffer in memory that is a series of AI Reads appended to each other, a sequencial record of the acquisition. Here you put in a Write to Spreadsheet VI. This is in the Functions Pallete, it is the first VI in the File I/O Pallette (icon looks like a 3 1/2 disckette).
    There is more to it than this. The spreadsheet Write is 1D or 2D only. By running the array out of the while loop with auto indexing enabled, you create a 3D array. (If you turn off auto indexing you will only get the last array performed by the AI Read.) You will need to create a new array withe the pages of the array placed serially into a 2d array. I don't think I want to get into that. It isn't that bad to do, but you should get some time messing with arrays on your own, then you will see how to do it yourself. One solution is to only run the While loop once with a buffer big enough to hold the whole acquisition, or in other words no loop at all. I don't know how many scans you want. The other thing is by wiring that AI Read out of the loop you are creating an array that must be dynamically resized as the loop runs. Kind of a no no. Better to know what you are acquiring size wise and letting the VI set up buffers and array space that does not need to be changed as the program runs.
    Caveat: I am fairly new to this and I could be wrong about the arrays and buffers and system resources stuff. However, I have done essentially what you are trying to do succesfully, but not "continuously." I limited the AI Read to one large read that gets what I need.
    "Continously" is usually reserved for screen writes as in the VI above. The computer is not required to continually allocate space for an ever expanding array to be written as a file later. Each time this VI runs the While Loop the data goes to the waveforn chart. Each new AI read overwrites the previous one. Sort of like if you turn the Auto Indexing off. When the VI stops, the waveform chart on screen would show the same data as was written to the spreadsheet.
    Feel free to email me directly: [email protected]. I will help as I can.
    Mike Ross

  • Start button for DAQ Assistant doing pulse generation

    Hi,
    I am new to Labview, and I got the USB 6210.
    I used the DAQ assistant and selected ctr0 to create a pulse.
    This works fine, but the pulse is generated when you run the program.
    I want it so that when you press a button, the pulse generation starts. Then when you press the button again, it offs.
    How would you do this, I dont see any 'data' input anywhere on the DAQ Assistant. Please help.
    Also, I was wondering how to change the digital output line where the pulse will output. Currently it comes out the first D/O line. USB6210 has 4 digital outs, how do I change the output line.
    In DAQ assistant, all i see are two choices for pulse, crt0 and crt1 (USB 6210 has 2 counters).
    Again I am just learning, thanks for any replies

    Hi,
    I’m using NIUSB 6218 to acquire measurements from 16 (Ai16-Ai31) displacement sensors and 16 (Ai0-ai15) from ultrasonic sensors. These sensors are activated alternately which means when acquiring data from the ultrasonic sensors the displacement sensors are deactivated. For ultrasonic scan contains 16 channel x 16  samples  then it will followed by displacement sensors also 16 channels x 16 samples. The acquisition samples are controlled by the trigger signal (rising edge) from the PIC. The whole system is using external clock from the PIC 20MHz. I’m planning to insert START and STOP button on the front panel. The assignment of the pin is as follows:
                PFI0- Trigger signal (acquiring data) from PIC.
                PFI1- BURST signal from PIC (send all (16x16) acquired data to be displayed/save into spreadsheet file.
                PFI4- START signal to PIC
                PFI5- STOP signal to PIC
    So far my VI works when I applied external trigger signal at PFI0. The VI can sample the data but how to inform the PIC that the 16 sample data has been acquired? My problem is I do not know how to combine all these functions (START/STOP/BURST) into my VI. Attached is my sample of the VI which I’m working on. Please advice.
    TQ
    Attachments:
    displacement and ultrasonic data.jpg ‏259 KB

  • Synchronous submillisecond pulse generation on 2 outputs

    I'm using a 6052E with LabView6.1. I need to simultaneously trigger two devices. The first is to send a trigger signal to another LabView program via Trig1 to tell it to begin collecting data. I can't modify that progam. The second is a TTL pulse to another device. This pulse needs to be between 100 and 500 usec. The two outputs need to be independent as sometimes the second device is activated when the first is not. I've been trying to produce two synchronized pulses using the counters, but can't figure it out. Thanks!

    Hello,
    Thank you for contacting National Instruments!
    What you are describing calls for an application called triggered pulse generation. What you can do is configure both counters to produce individual pulses when a trigger signal is received on each counters gate. You can connect the same trigger signal to gate of each counter.
    I have attached an example program that shows how to generate a triggered pulse from a single counter. You will need to do the same for the second counter. A good way to do this is to configure counter 0 then configure counter 1 ,then enter the while loop and arm counter 0 and then arm counter 1. Then when the trigger signal is received on the gates of the counters, they will both produce a pulse. If you do not want one c
    ounter to produce a pulse, you can simple not arm the counter in the while loop by using a case structure and a boolean control.
    Regards,
    Bill B
    Applications Engineer
    National Instruments
    Attachments:
    Generate_Single_Triggered_Pulse_(DAQ-STC).vi ‏104 KB

  • Taking pulse output from DAQ

    Hi
    I am working on 'wireless sum tracker module' project using LABVIEW; but I don't know how can I provide pusle to my circuit using LABVIEW.I was wondering if you can help me in this issue. please if possible tell me how can I connect my circuit to DAQ card to get pule.   
    Looking foeward to hearing from you,
    Sincerely,
    Monireh V 
    Solved!
    Go to Solution.

    Hello Monireh,
    To give you the precise solution we would need more inputs from you.\
    But considering some assumptions from my side If you are using the Desktop PC for the project and If you are thinking of the DAQ card then,
    You can go with the mulit-function  DAQ cards which have pulse generation capabilities.
    You will also get the Details about the connections from the corresponding DAQ card Data Sheet.
    http://sine.ni.com/nifn/cds/view/main/p/sn/n24CI/lang/en/nid/1036/ap/daq
    you can choose a specific DAQ card for your requirement from the above link. (I have assumed that you will be using PCI cards)
    Regards,
    Krunal K Patel 

Maybe you are looking for