How to generate a bipolar pulse train in LabView using USB DAQ 6211?

Hi,
I am setting up a system to generate either a single square pulse or a train of square pulses using LabView, with controls to adjust the frequency, amplitude, number of pulses etc. I have had a lot of help from NI tech support setting up the actual VI itself which seems to be working fine, and outputting the pulses via a USB DAQ 6211 using a square waveform generator and the AO1 channel on the DAQ.
The problem that I now have is that I need to pulses generated in a train to be bipolar (as they are connected to electrodes so need to be bipolar o avoid salt build up on the electrodes from the voltage going in one direction only, at least that is how I understand it!).
How can I set up my LabView VI to generate a bipolar pulse train instead of always being positive voltage? I am new to this area and so am trying to learn but there is so much to learn!
Thanks,
spamjam

Hi Shalini,
Apologies for taking a while to get back to you, I hope I can explain what it is that we need to create with the pulses. I understand what you mean about the existing pulses having a positive and negative on the graph - but we need the pulses to start from a resting voltage and the first pulse to be positive, then back to zero, then the second pulse to be negative then back to zero etc. This is to do with reversing the direction of the current between two electrodes to prevent build up of salts on one electrod from the current always passing in the same direction. 
I have attached a .Tif file to this post to try to illustrate what I mean - the top picture shows how the pulses are currently generated, then bottom on is what we would like to produce if this is possible?
Thanks for your help,
Spamjam
Attachments:
Slide1.jpg ‏38 KB

Similar Messages

  • Need to generate a TTL pulse of 3 ms using USB Daq 6361

    Hi all,
    I need to generate a TTL pulse of 3 ~ 5 ms to trigger my external device. I am using USB daq 6361 with BNC connectors. I tried to use this examples(attached) but was not succesfull , can any one help me out in this, I just want a TTL pulse out to trigger my device. I tried to modify the example to see the wave form out but all it shows is a straight line. I want to generate a TTL pulse as soon as my program starts.
    Am I using wrong example? should I use somethis else to generate the pulse. please let me know.
    Thanks,
    Attachments:
    Capture.PNG ‏76 KB
    Digital - Continuous Output_ttl.vi ‏65 KB

    AnkitG wrote:
    Jeff·Þ·Bohrer wrote:
    Why would you create an Task with an analog output?  its a Digital line you want to drive! and, just create it in the project.
    Hi Jeff,
    thanks but I couldnt understand , what you meant by create in project? Can you please explain. should I create digital line but I am still getting the same error.
    Creating DAQmx items in Project Explorer saves the DAQmx object properties as part of the *.lvproj file.  This can be very useful when the Task configuration does not change in the built application and you seldom want to use the task elsewhere.  If you want to make minor tweaks to configuration of the run-time app there is even a human readable text file in the build output where properties like scale offsets, timing rates or ranges can be modified without redeploying a new app.  
    Jeff

  • How to generate sequence of pulse trains with DAQmx?

    I need to generate a sequence of pulse trains with DAQmx (the card I have is a PXI-6229 card). As an example:
    - 10'000 pulses at 20kHz every 5 seconds with an initial offset of 2 seconds (let's say 10 pulse trains in total).
    If I use the CreateVirtualChannel.vi in "CO pulse ticks" mode, I can only specificy offset, high ticks and low ticks, but not that the sequence of pulses should be repeated after some time. 
    Now I thought that I could solve this problem if it were possible to multiply two counter outputs: the first counter would generate the pulses (continuously) whereas the second one would switch between low and high on a slower timescale in order to gate the first counter, thereby providing an initial offset and the "off" phases between the pulse trains.
    Is it somehow possible to multiply two outputs with DAQmx and the card I have? Or is there another solution to the problem?
    Thanks a lot in advance for any hints!

    Hi dlanger,
    what you want to do requires a little bit more work. 
    First look at the example "Gen Dig Pulse Train-Continuous.vi" from the LV example finder.
    This example generates a continuous* pulse train. As you see, you need a sample clock VI for setting the sample mode. 
    * NOTE: Generating a finite pulse train with a M-series card requires 2 counter.
    With a pause trigger (DAQmx trigger property node) you can gate the output of that counter.
    Now you have to generate a gate-signal with the the 2nd counter. That means, only if  Ctr1-out is high Ctr0-out outputs the 20 kHz-signal. 
    Maybe you have to adjust the times in my example a bit. 
    Unfortunately there is just one "small" problem: "let's say 10 pulse trains in total" 
    This is not possible, because a 3rd counter would be necessary (*). 
    As a workaround you can modify the while-loop that both tasks are cleared after 50s. This is not brilliant, but should work fine for you. 
    A more sophisticated way is to perform a correlated DIO. So you can generate custom pattern for multiple outputs. 
    A good example can you find here: 
    Retrigger and Repeat Finite Digital Pulse Train in LabVIEW
    http://decibel.ni.com/content/docs/DOC-8473 
    or here:  
    Generating More Than 2 Pulse Trains Using CompactDAQ
    http://decibel.ni.com/content/docs/DOC-2167 
    Hope this helps.
    With best wishes,
    Ralf N. 
    Attachments:
    Gen Gated Dig Pulse Train-Continuous.vi ‏38 KB

  • How do I generate two finite pulse trains using counters on PXI-6251

    I'm trying to use Counter 0 and Counter 1 on the PXI-6251 to generate two finite pulse trains.  But, I get this error:   "The specified resource is reserved. The operation could not be completed as specified."  See attached example.
    Inside the disabled box is what I'd like to run on both counters.  I stripped things down to creating the task, starting, and stopping.  I then started to add things to see what my problem was.  The timing VI seems to be what causes me issues but I don't know why. 
    My end objective is two identical pulse trains with one delayed by 5us, which I figured would be easy to do in the initial delay.  I tried both in a single task and as separate tasks with no avail.
    Attachments:
    2_counter_outputs.vi ‏32 KB

    Hi SirMutt,
    Creating a finite pulse train requires
    two counters. What’s really happening is that one counter is creating a
    continuous pulse train while the other counter applies a finite pulse to “window”
    the pulse.
    What you want to do is correlated DIO. I’ve
    done a search on our website for “correlated DIO” and have come up with a few
    resources. Hopefully that will help you get started.
    Digital Output and Pulse Generation
    Performing Correlated Digital IO with an M Series Device in LabVIEW
    M Series Hardware-Time DIO with Counter Clock Generation
    Mark E.
    Precision DC Product Support Engineer
    National Instruments
    Digital Multimeters (DMMs) and LCR Meters
    Programmable Power Supplies and Source Measure Units

  • How to generate very fast pulses (single puls)

    Hi,
    I have a problem with generating fast pulses in LabView (2009 / 9.0, Win7-64enterprise).
    I try to explain my project:
    I have a femtosecond laser which sends pulses with a frequency of 200kHz. It mean 100fs puls 4.9999us low...100fs pulse.....
    The laser have a gate which switches the laser output on and off (optic crystal --> very fast)
    My task is to make it possible to send one single pulse out of the laser. You should have some user interface with LabView and enter
    the amount of pulses (one, two... or more) and a big "fire" button.So we can make tests with a fixed amount of pulses.
    I am very new to LabView and really dont know how to generate very short pulses. I try with a NI-USB6008 card and was possible to do some time loops
    to generate something close to 100Hz. Now I have NI PCIx-6351 card. and want to try to generate pulses of 1us. How to do??? I dont see any posibility to go below 1ms.
    Later on I want to try some syncronisation with the laser. I want to catch one pulse and sync to the next pulse.
    Anyone able to help me with this task ?
    btw: sorry for my clamsy english...
    bjoern

    bjoern,
    OK.  A gate window should be something which can be accomplished.
    The USB-6008 only uses software timing so fast pulses are not possible with that device.
    I am not familiar with the PCIx-6351 and can find no reference to it on the NI website so I do not know what its capabilities are.  Many of the NI cards with digital I/O and counters can generate pulses or pulse trains in the timing range you want.  If you have the NI DAQ drivers, look for examples of pulse generation.
    Lynn

  • Hi How to generate vendor specific application file I am using Weblogic9.0

    Hi
    I have a scenario like XI->J2EE application. For my J2EE application am using Weblogic9.0 can anyone tell me how to generate weblogic specific XML, which i will use to deploy on application server. I am n newbie to Weblogic server9.0
    Thanks

    Hi
    please have a look at ths link
    http://edocs.bea.com/wls/docs90/ejb/index.html
    http://edocs.bea.com/wls/docs90/ejb/implementing.html#1195909
    http://edocs.bea.com/wls/docs90/ejb/DDreference-ejb-jar.html#1107234
    Hope this helps, <i>please mark points for helpful answers</i>
    regards
    rajesh kr

  • How can we share and transfer data at Labview using the internet

    How can we share and transfer data at Labview using the internet
    Dr. Eugene Berman, Moran Kamilyan and Ravit Bar

    [email protected] wrote:
    How can we share and transfer data at Labview using the internet
    Check these links:
    Basic TCP/IP Communication in LabVIEW
    Data Sockets
    Integrating the Internet into Your Measurement System

  • How can I generate synchroniz​ed pulse trains with 6602?

    Hi,
    I would like to generate multiple pulse trains with different frequencies with the 6602 TIO card. Currently I am able to generate pulse trains with different frequencies. But is there any way to synchronize all the pulse trains? For example, I'd like to have all pulse trains with their first low-to-high at the same moment.
    Thanks!
    Dan

    Dan,
    Absolutely, the NI-TIO chip on the PCI-6602 supports a start trigger. If you configure all of the counters that are generating a pulse train to use this start trigger, they will be synchronized. The example Generate Pulse Train - Start Trig (NI-TIO).vi demonstrates this process for one counter. In LabVIEW 7, this example can be found in the following location:
    Examples >> Hardware Input and Output >> Traditional DAQ >> Counters >> NI-TIO
    You will need to add code for the other counters, but this example should give you the general idea. Furthermore, this example demonstrates how you can use one of the digital lines to generate the start trigger.
    Good luck with your application.
    Spencer S.

  • Generating a ramped pulse train

    I have a PXI-6608 counter/timer card that I am using to control a motor via a pulse train. I need to create ramped pulse trains for acceleration and was wondering if there is an easy way to do that in LabView. I have been buiding them a few pulses at a time just changing the frequency and it seems very crude. I was hoping someone has a better idea.
    Thanks.
    Kasey

    By "ramped" I assume you mean to sweep the frequency without stopping and restarting the counter. The following link should help you set up your operation to do this. There is an example program at the bottom of the page.
    http://sine.ni.com/apps/we/niepd_web_display.DISPLAY_EPD4?p_guid=B9DF85FD9CD023DEE034080020E74861&p_node=DZ52328&p_submitted=N&p_rank=&p_answer=&p_source=External
    David Staab, CLA
    Staff Systems Engineer
    National Instruments

  • How can I create a pulse train with varying pulse widths?

    I'm trying to create a finite pulse train that varies its duty cycle. I was hoping there was a clever way to do this neatly. I've attached a very rough picture of the train I'm hoping to make, with the pulse widths defined with t, the delay between pulses d, and a total of N+1 pulses. Thanks!
    Edit: My current method is to use the pulse train function, and actually create 2N+1 pulses, stacking the "double length" pulses.
    Attachments:
    ExPulseTrain.png ‏9 KB

    I wound up just building the first short pulse, and then the train of longer pulses, and sticking them together. I attached a screenshot of the code I went with.
    Attachments:
    VarPulseTrain.png ‏29 KB

  • Generate delayed triggered pulse. Already have used both counters.

    I need to generate sequence of 3 pulses. Each one is triggered with previuos one and has certain width. I have successfully used 2 counters on my 6713 card and I am wondering if there is any way to generate the third pulse. I thought if there was anything useful of another output signals such as GPCTR_SOURCE and GPCTR_GATE. For GPCTR_OUT I have used NI Visual Basic examples with components which work well. But I could not figure out how to program GPCTR_SOURCE and GPCTR_GATE or PFI signals with Visual Basic. I could use either components or DAQ functions but I could not find example.

    Greetings,
    Unfortunately, the other GPCTR lines (source and gate), when used in a counter context, are for input only. You may want to consider adding a counter (NI-TIO) board to your system:
    PCI-6601
    PCI-6602
    Good luck with your application.
    Spencer S.

  • How to generate XSL for an XML file to use it for XSLT transformation -SSIS?

    Hi All,
    Can anybody please help me to generate XSL for my attached XML file?
    I need to use the XSL file for XSLT transformation.
    Thanks & Regards,
    Sri

    Hi Vibhav,
    Thanks for the response.
    I am aware of the process but not sure how to generate XSL file. 
    Can you please refer me to any tool which can convert XML to XSL? or please can you transform my simple XML to XSL?
    Thanks & Regards,
    Sri

  • How to generate BPSK and QPSK signals with Labview and ARBS?

    Has anyone used Labview to program a Wavetek 75 or equiv Arbitrary Waveform Generator to produce BPSK and/or QPSK signals.

    You can use Modulation Toolkit 2.0 for LabVIEW to generate PSK signals (including BPSK and QPSK) using common PSK configuration parameters.
    http://sine.ni.com/apps/we/nioc.vp?lang=US&cid=128​55
    You can use resampling tools present in Modulation Toolkit if you need to resample the generated data to a different sample rate for your third party AWG.
    In addition, Modulation Toolkit integrates seamlessly with NI's high-speed signal sources, including the NI 5421 for PXI:
    http://sine.ni.com/apps/we/nioc.vp?cid=12472〈=US

  • How to generate an analog pulse

    Hi
    I am using SignalExpress and I would like to generate a pulse to be sent to the analog output of my device but in "create signal" step I cannot see such option: how can I do that?
    Thanks in advance
    Francesco

    It seems to me it is through Counter Output but how do I have to set to send the signal as output to the PCI-MIO16E-1?

  • How to generate 250 ns pulses at a 200 Hz rate?

    Hello,
    I am working with the NI PXI 6229.
    I will trigger the input sampling at 1kHz.
    And I want to create an output at 200Hz, which is in synchronisation with the 1kHz.
    This output at a rate of 200Hz, should exist out of 250ns long pulses.
    This should be a digital output.
    How should I implement this?
    Thanks

    Hello Boris,
    If the precise 250 ns duration is important then you'll have to use both counters to do this.
    The first counter will be used to simply divide-down the external signal.  You can change the output mode to "pulse" instead of toggle so that it will issue a pulse every N ticks of your external signal.  In your case, N would be 5.  If you're using LabVIEW then this example shows how to configure your first counter (except you would pulse after 5 ticks instead of 2).  The pulse width would be based on the timebase used and is not configurable in pulse mode, so you can't get the 250 ns pulse from this one counter alone.  You could alternatively use the default "toggle" mode and just select a number of high and low ticks that add up to 5.  Neither of these choices would give the 250 ns pulse you need though.
    The 2nd counter will be configured to issue a single 250 ns pulse every time it receives a trigger.  The source of the trigger would be the output of the first counter (can be routed internally).  This example is a good starting point, 20 ticks of the 80 MHz timebase is equal to 250 ns (you can change the instance of the create channel VI if you prefer to let the driver do this scaling for you).
    Best Regards,
    John Passiak

Maybe you are looking for