No pulses generated!

Hey!
I am having trouble with generating a PWM signal using a counter channel on our NI-6733 card.
I use the DAQmx VIs to: Create a task (frequency = 50 Hz, duty cycle = 0.07) - set the task to finite samples with a certain number of samples - start the task - wait until they've been written - stop the task (is that actually necessary?) and delete the task.
I check the output with an oscilloscope. If I run the VI, only some times the pulse train is generated and sometimes nothing happens.
The same happens when I use MAX and create a pulse train with the "test panels" dialog.
It seems to me like there's a hardware problem, how can I investigate what's the problem?
Does anybody know this issue? Am I doing something wring? Thanks for any help!
Best,
Steve
Solved!
Go to Solution.

Hey again!
This was my bad! The osci was just to slow. Once it was acquiring the signal when the puls was on its high state and the other time it acquired the signal when the pulse had its low state..
Cheers!
Steve

Similar Messages

  • Multi-channel Sequential Controlling Pulse Generator Design

    Hello, all,
    I need to design a Labview problem as a Multi-channel Sequential Controlling Pulse Generator and output through DAQ card. The required digital pulses are showns in the attachment.  Time scale values are shown on the top as an example. CLK's duty cycle is 0.5. x1 and x2's value need to be programable. 
    Could anyone give example codes? Or, give me any idea to program these pulses?
    Attachments:
    clock.png ‏22 KB

    Duplicate
    http://forums.ni.com/t5/Multifunction-DAQ/Multi-channel-Sequential-Controlling-Pulse-Generator-Desig...

  • Pulse Generator

    We are posting a question in regard to creating a pulse generator that would:
    * have Boolean logic output
    * yield Boolean “high” logical level for ~ 0.2 ms at the repetition rate ~ 10 Hz
    * keep Boolean “low” logical level after generating the Boolean “high” 0.2 ms pulse
    * As an option, it would be great to adjust the pulse duration in a range 0.2-1000 ms, and adjust the rep. rate in a range 100 – 1 Hz.     
    We would then like to use the outputted logical waveform to modulate (turn on/off) a particular pin on an external board connected to PC via USB interface.
    We were thinking of using the Basic Function Generator vi, but it might be an overkill.  Also, its output is specified in volts.  Is there a simple way to convert this voltage into Boolean “high” and “low” levels?  Any better ideas or suggestions to try?
    If anyone could provide some guidance on this issue, it would be greatly appreciated.
    We are using Labview 2010 SP1.
    Thank you.
    Using Labview 7.0 and 2010 SP1 with Windows XP and 7.

    Hi Jack,
    Thank you for your reply.  I was looking over the topic you directed me to and will continue to do so.  I had install DAQ as it wasn't previously installed.  I had a few questions regarding that.
    I setup my own vi similar to your capture in the other topic, as far as I can tell.  I was trying to create a virtual channel to use, however I am unable to do so.  This would be for the "counter" control.  It appears this needs a physical channel.  Is there something I'm missing when trying to do that (creating a virtual channel)?  I may have read the info about DAQ wrong, but I thought I could create a virtual channel and use that, but I am unable to do so right now.  I don't even see a tab for it under MAX when trying to create it (as I see in the tutorial I am reading and is mentioned in help). 
    If you could provide any insight into that or what I may be doing wrong, I'd appreciate it.
    Thanks.
    Using Labview 7.0 and 2010 SP1 with Windows XP and 7.

  • HP8112A Pulse Generator vi

    Hello,
              I am using LabVIEW 7.1 and need to
    interface to a HP8112A Pulse Generator. 
    I can’t find a HP8112A vi on the NI or on the Agilent website.  Does anyone have a vi that I can use?
    Thanks,
    Gary

    This driver says that it works for the 8110A. Maybe it is close enough.
    http://sine.ni.com/apps/we/niid_web_display.drv_re​sults?p_app_area=&p_man=&p_keywords=81101&p_inst_t​...=

  • Labview Rectagular pulse generator

    hi sir please give information about my topic
    1.how to design Rectangular pulse generator in labview
    2.how to we get amplitude shift keying of sine wave to produce pulses
    please see the image you can clealy understood my concept and give the necessary information about it and if possible provide block diagram also and im waiting for reply sir

    Hi guru,
    please stick with your original thread instead of creating double posts for the very same topic!
     please see the image
    When you continue to post in your original thread: Please attach real images instead of cryptic OFFICE file formats…
    Best regards,
    GerdW
    CLAD, using 2009SP1 + LV2011SP1 + LV2014SP1 on WinXP+Win7+cRIO
    Kudos are welcome

  • Is it possible to pulse generate & measurement simultaneously in PCI6624

    Is it possible to pulse generate & measurement simultaneously in PCI6624

    Yes, using two different counters.
    CTA, CLA, MTFBWY

  • How to generate a pulse waveform 90 deg phas shifted with respect to a pulse generated using a counter in PXI 6070E daq card ?

    Hi
    I ma using 6070E daq. I am generating a infinite pulse train using one of the counters. I want to generate another pulse train which should 90 degress phase shifted with respect to the previsously generated pulse. How to implement this using the counters in the DAQ card.

    Hi Gopal,
    1) yes the frequency generator is programmable. You have 2 timbebases (10MHz and 100kHz) and you can divide down by any integer between 1-16. Those are the only frequencies you can use.
    2) The way counters work is that you can apply a gate signal to the counter which will cutoff the output. Therefore, you can have a second counter generating a pulse train of an equivalent frequency to the frequency generator (fout) but you don't want it to start immediately. You want it to start only after a short delay (equivalent to a 90d phase). Therefore, you need to "gate" or prevent the output on this counter for that small delay period of time. The way you can do this is by using a second counter to create a delayed pulse. You would
    connect the output of that counter to the gate of your pulse train function. That way, during the delay period of the pulse, you won't be outputing your pulse train yet. When the pulse (high-time) of your pulse reaches the gate, then your pulse train will start generating its pulse train (which is consequently delayed by the amount of delay used in the single delayed pulse counter). Since you don't want your pulse to go back low, you will have to turn off or clear your pulse counter while it is high. That way the signal on the gate will remain high forever.
    Your better solution is to use a PCI-660x card to perform this action. You will have more counters which will give you a greater range of frequencies to choose from and you will have more accurate timing of the signals.
    Anyway, hope that clears things up. Have a good day.
    Ron

  • Increase the freq of square pulses generated by the counter

    I have program that outputs a finite train square pulses through a counter to run my step motor. I find that this program can genrate a sq pulse at a freq of 1080 Hz max. Is this a limitation of my program ( I have attached a copy of my program) or of my interface card (PCTIO-10, one of the older cards from NI) ? I use labview 5.0 on a windows NT , pentium MMX machine.
    Is there anything that I could do in my program to generate pulses at a higher rate ? I havent specified any of the low level parameters for the pulse config.vi in the program - could setting these values help in generating higher frequencies?
    thanks very much,
    Lalitha.
    Attachments:
    1d.vi ‏77 KB

    hi Tiano,
    you should be using the vi in the Search Exmaples->Data Acquisition->Counters->Finite Pulse Train.
    this is how you modify this vi to generate pulses at varying frequency.
    Set Device=1, Counter=1, Number of Pulses=100, Frequency Array=10, 100, 1000, 10000.
    [Place an array container on the front panel. Drop the Frequency control into the array. On the block diagram place a
    For loop around the whole program. Move the new array to the outside of the For loop. Wire the array to the edge of the for loop and then to the terminal that the Frequency control was wired to before. One
    the front panel, set the first four elements of the array to the values 10, 100, 1000, 10000.]
    I am attaching a copy of this mod
    ified vi for your ref.
    hope this helps,
    Lalitha.
    Attachments:
    fast2-vel_change.vi ‏156 KB

  • How to modify the frequency of a pulse generator without stopping application

    I need to generate pulses on a counter output of a 6024 card. But I have to change the frequency while the programm is running between 1Hz to 800 Hz.
    If I do the initalization on each loop, the system becomes very slow and I can't reach 800Hz.
    Anyone can help me?

    Good news -- you can change the frequency on the fly with no skipped pulses. You'll find a couple examples posted here on ni.com by searching on "pulse width modulator". One's for traditional DAQ, the other's for DAQmx.
    Possible caution -- not too many NI-DAQ's ago, there was a limitation about changing pulse specs on-the-fly. I'm not sure whether it still applies to the latest traditional NI-DAQ or to DAQmx. Caveats aside, here's what that limit was (is?):
    -once you set new pulse specs on-the-fly, you must allow at least one new pulse to be generated before the next time you set new pulse specs.
    Your frequency range is low enough that you'll likely need to put extra delays in your code to keep it working smoothly.

  • How do I create random pulse heights for BNC555 pulse generator?

    I am trying to use a BNC555 to create a pulse with a random magnitude. The library given by NI has been great to start, but I cannot seem to take the adjustable pulse height and transform it to a random pulse height. Any ideas? Has anyone seen this done?

    you can take the output from the 555 and run it through a multiply node, with a random number generator applied to the second input (multiplier)
    Eric
    Eric P. Nichols
    P.O. Box 56235
    North Pole, AK 99705

  • How to monitor a pulse generated by GPCTR0_OUT with a DIO input (6052E card)?

    I have a piece of code I would like to execute when a pulse is generated by the "Generate Delayed Pulse.vi". The pulse lasts 40 us. When I tried to monitor the generated pulse with a DIO connected onto the same node, the voltage I get is around 0.7 mV (versus 5V if I monitor the Voltage without the DIO connected). I am considering to add an op-amp (buffer configuration) to see if it prevents the voltage from taking the voltage dip. Should I try a different strategy? I need the 40us signal to drive a transistor, and I need to perform the data acquisition while the 40us pulse is driving the transistor. Should my attached LabVIEW code work? Or, do you see anything wrong about it?
    I know for sure that the code withing the Sequence stucture (frame #0) does what I expect it to do, I am concerned with executing the analog input while the 40us pulse is on.
    Attachments:
    Measure_Rink_(sub)6b_2ice.vi ‏73 KB

    Greetings,
    I think that there may be a better approach to your application. You need to output a 40 us pulse from a counter and acquire analog input data while this pulse is high. The best way to accomplish this task may be to use scan clock gating. Below I have included a link to a document that discusses this topic:
    Continuous Waveform Acquisition Using Scan Clock Gating
    Thus, you could use the output of your counter to gate your scan clock and be guaranteed that you are only acquiring analog input data while the pulse that you are outputting is high.
    Good luck with your application.
    Spencer S.

  • Pulses generator on pci-6259 with QNX6

    I have PCI-6259 DAQ device and I'm programming with QNX6 operating system.
    I need make generator of pulses with 100kHz rate on PFI or static outputs.
    Does anyone know how to do this or where can I  find any examples "C++" code?
    Many thanks,
    Vsevolod

    Hi Vsevolod-
    If you are using the M Series MHDDK you can use the attached example.  It configures one of the general-purpose counters on the board to output a pulse train that is produced by dividing down the 80MHz timebase on the device.  See the function PulseTrainConfigure() for more information.
    Hopefully this helps-
    Tom W
    National Instruments
    Attachments:
    gpctex5.cpp ‏10 KB

  • Calling Pulse Generator Matlab model dll in Labview through SIT

    Hi ,
     I have a Matlab model dll which generates PWM output. I Would like to integrate this "dll" through SIT connection Manager and generate the Physical signal.
    But while configuring the Tools->SIT Connection manager->Hardware I/O->Configure NI-DAQ i am getting only Analog input & Analog outputs, but i need Timer/Counter channels.
    Could any one tell what i should do for generating the PWM output with the help of matlab model?
    Thanks
    naveen

    Hi Naveen,
    I apologize that I did not post sooner. I have determined that this is not directly possible. I am actually currently looking for a workaround. This workaround should be possible but may not be all that straightforward to implement. I will post back as soon as I find something.
    Best regards,
    Steven

  • 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

  • Generating a pulse sequence in NI5401 board

    Sirs,
    I?m sending this email massage because I have a doubt concerning NI 5401 Function Generator Board.
    I?m working with a PXI system together with a NI5401 board, and I want to generate a pulse sequence with this board.
    The propose of this is to synchronize my pulses with the acquisition of data by another board (PXI board from Goeppel ? Boundary Scan board which has 4 I/0 ports of 8 bits)
    I want for each pulse generated to acquire and transfer data in that board, thus I need to know how can I send a predetermined sequence of pulses, (N pulses and then stop). (attached I send a figure to illustrate my question)
    Please, I tried to understand the triggers but....
    If the triggers is the solution for my probl
    em please send me an example.
    Note: Now I'm generating a sequence of pulses using a simple pin I/O of the Goeppel Board but the problem is if I run many Labview applications sometimes the software is not fast enough to generate that pulses. Then I think if I use a hardware solution, like in the 5401 board,I could get faster a better responses for my pulses. Note that I'll need to now, in each instant, how is the level of each pulse.
    Note2:I'm using LabView6i software.
    Thanks very much.
    Attachments:
    PULSE.jpg ‏25 KB

    Hi
    The NI 5401 is a Function Generator; this is significant in that it is made to make periodic waveforms such as Sine, Square, and even a user defined periodic waveform that a user can download (the 16K buffer). The board can be triggered to start generation, and with a software call, abort generation. But there is no hardware that can specify how many cycles of a waveform has been generated to control the number of cycles at the output.
    Depending on the rate of the pulses you need, it may be possible to do something. A pulse train is essentially a square wave with a certain duty cycle. Set up the device for a certain frequency that matches the rate of your pulses, and program it to start with a Software trigger. The best output to use is the Sync output which w
    ill give you a TTL pulse.
    After the software trigger is called in your code, use the Wait VI to wait a certain amount of time that corresponds to the number of cycles/pulses for the signal that you need, and then after the wait, immediately call NI-FGEN Abort to stop the output generation.
    If you are unable to control the number of pulses through software, the NI 5401 really isn't made for this operation. The NI 5411 Arbitrary Waveform Generator is the device made to do this, create the pulse waveform you need, select how many times you want it to "loop", and then generate a waveform of zero volts. The NI 5411 has the hardware to count number of loops, and trigger, etc.
    I hope this helps.
    Jerry

Maybe you are looking for

  • Hyperlink behavior in PDF files

    Hello, I have a pdf file that contains a link to another PDF file located on the local network. I would like to open the link and have the PDF file in a new adobe reader window without any Internet windows opening. When I open the link it behaves dif

  • How people do 'setAttribute' in the decode of JSF custom comp render class

    Imagine the next scenario: I have a custom JSF table with one attribute called ‘data’ (of type String[][]) with serves in the encode() method of the table to produce the html table markup. encodeBegin(...)  { String[][] data  = (String[][])table.getA

  • How can I check what version of Java Web Start is installed on the client ?

    hi, Can anyone tell me how can I check what version of java web start is installed on the client and display a message if the client has not the good version ? I mean: I'd like all people running my application use java 5 and if someone using java 1.

  • ABAP programing material related to BW.

    Hi Experts, Im new to BW/BI. Can anyone please tell me where I can find ABAP programing material related to BW. Thank in advance.

  • Removal from block lists

    I have made several attemps to get our email server off the block lists. How is the best way to get this done?