Wrong pulse counting for tick based pulse generation for USB6210

I try to  generate 50 HZ pulse in USB 6210 with sample code "http://zone.ni.com/devzone/cda/epd/p/id/3088". But doesn't work properly.
Please see attachment:
app.jpg: pluses setting. I set 200000 ticks to low and high.
Tick count based.jpg : result wave  from oscilloscope.
You will see low is 3 times longer than and high.
Do you have any idea?
Thanks.
Attachments:
app.JPG ‏35 KB
tick count based.jpg ‏2431 KB

[email protected],
Does this happen on ctr0 as well? Also, have you tried decreasing the low and high ticks to something more like 1000? I'd like to see if we can get the output to look as we expect. My last question is, what are you using for a trigger source? Have you tried this with a non-retriggerable example? If so, does it output the same incorrect waveform? Thanks for the pictures. Those are always helpful for visualizing the situation.
Robert B
Applications Engineer
National Instruments

Similar Messages

  • Template for Position Based Role Generation - Grouping of Transaction

    Hi
    We have almost 3500 Roles. They are all Role based / Transaction Based. We would like to shift it to Position Based Roles.
    Is there any template or high level document which can give you the information regarding the grouping of transaction with respect to module vise like HR, SD, MM, PP etc..
    It should narrow down further to give you info regarding the transactions with respect to the the standard postions provided by SAP which we can use it as a baseline and develop on that.
    Any help would be appreciated.
    Thanks and Regards
    Arun

    Hi,
    please have a look at the standard SAP* roles. They are grouped by applicaiton and alos some are grouped by position. So this may be an entry point for you.
    b.rgds, Bernhard

  • Pulse counting with voltage input

    Im using compact field points  analog I/O (AI-112) to measure the frequnecy of an anamometer.
    Basically the sensor is just a switch that open/closes at a frequency which gives 1 pulse per second (1Hz = 1.25MPH).
    I know the pulse counter I/O would be best for this, but I assume labview with realtime should be able
    to handle this measurment. Im having trouble finding the right VI's to do the job. Any suggestions for
    possible ways to count the pulses/ measure the frequncy would be appreciated.

    Hello cfpboy,
    I have a question about your signal first.  How long does your signal remain changed when a pulse occurs?  Does the signal stay "high" for 1 full second and then go "low" or does it pulse "high" once a second and then immediately return to "low".  If it stays "high", then you could simply poll the input in a LabVIEW Loop set to occur once a second.  You could then store the value in a shift register, and compare the current value to the previous value.  If they are different, then the state has changed, and you could then increment your software counter.  As you are using an analog input module, you will want to convert your voltage level to a "digital state" by checking if it is above or below a specified level.
    One drawback of this approach is long term phase shifting as well as the possibility of reading while in a transition state.  This could potentially throw off your measurements.  As you are using LabVIEW Real Time, you can slightly mitigate some of these problems by utilizing a LabVIEW Timed Loop instead of a normal Loop.
    Thanks,
    Jonathan C
    Staff Application Engineering Specialist | CTD | CLA
    National Instruments

  • Default settings for gr based ir check box for asset PO

    dear experts,
                  in vendor master record in purchasing data tab i have checked gr based iv check box, and hence whenever i am creating a Po with X vendor for material system is automatically  checking the check box in po for gr based iv but with the same vendor X if i am creating a PO for Asset itis not checking the gr based iv check box by default.
           can you pls tell me where the default setting for gr based  iv lies for the asset procurement.
    thanks
    ujwal

    HI Ujjwala,
    The setting in spro in Acct assigment,  u are talking about is GR Receipt or Invoice Receipts.
    These are not GR Based Invoice Verification.
    GR based Invoice Verification comes from either ur inforecords or vender master.
    if u check or uncheck these in spro in acct assigment, then it will comes ur Deliver Tab not ur invoice Verification Tab.
    one thing more, if u make it mutiple Acct assigment, then it will be Non Valuated G/R Based IV.
    Hope Clear U !
    REgards,
    Pardeep Malik

  • Looking for DOS based drivers for model ct4

    i am looking for dos based dri'ves for model ct4730 for a DOS gaming machine that i am building.
    any help would be great thanks.
    emiual me direct at [email][email protected]][email protected][/url] thanks in advance.. i cant wait to play rise of the triad and the original c+c

    I looked for a driver at http://zone.ni.com/idnet97.nsf/browse/ but was unable to find one for the Denver Instruments' Balance. National Instruments develops Instrument drivers based on demand and popularity. If it is a commercially available instrument, you can officially request one at:
    http://zone.ni.com/idnet/other.htm
    We develop drivers based on demand and popularity so the more requests we have for it, the greater the possibility that we will develop one in the future.
    If you would like to try developing your own instrument driver, we have documentation, model instrument drivers, and driver templates to help at :
    http://zone.ni.com/idnet/development.htm).
    We also have a syndicate of third party vendors that specialize in National Instruments' produc
    ts and services. Some of the vendors specialize in driver development. I would suggest contacting one of the Alliance members at:
    http://www.ni.com/alliance"
    Ryan Mosley
    National Instruments, Applications Engineer
    http://www.ni.com/exchange

  • Pulse out for every Nth pulse in using 6024E counter?

    Is it possible to get (continuously)a pulse out of the 6024E counters for every Nth pulse of an external signal going to the source pin? A VI and the description of the connections will be appreciated.appreciated
    Scientia est potentia!

    Hi magvar,
    Depending on your application development environment (ADE) API (LabVIEW, CVI, VC++ etc.) you will want to configure the counter for continuous pulse generation. There are two pulse specs that you have to configue. The first configures the delay in number of edges of your source and the second configures the width of your pulse. Therefore if you set pulse spec (ND_COUNT in C code) 'A' to N/2 and pulse spec 'B' to N/2 then your pulse train will output a pulse every Nth pulse on the source.
    Each ADE will have a shipping example that demonstrates this configuration. These examples ship with NI-DAQ and can be found in the NI-DAQ folder of National Instruments unless it is LabVIEW or CVI in which case it should be in their respective direc
    tories. Hope that helps. Have a good day.
    Ron
    Attachments:
    TIOgenSquareWave.C ‏6 KB

  • CDAQ module for high speed pulse counting

    I need to know a USB module which can be used for pulse counting. The pulses are generated from an encoder attached with an stepper motor. It generates 15 pulses per step.Pulse amplitude is 0 to 5V. I am using a compact DAQ system (ni 9178).

    The counters are on the cDAQ chassis backplane (there are 4 of them on the 9178).  So, in order to use an external signal with the counters you would need a way to route the signal to the backplane.  Your available options are:
    1.  Any digital I/O module with 8 or less lines on it (some modules are input-only or output-only--input modules can be used for counter input tasks only, output modules can be used for counter output tasks only).  Modules with over 8 lines transfer the data serially to the chassis backplane and so do not support routing signals through to the counters.
    2.  The 2 PFI lines on the 9178 (I should have mentioned this earlier, this might be a good option for you to route your encoder pulses without having to purchase an additional module if you only need 2 inputs--that is, no Z index signal).  The bandwidth on the chassis PFI lines is lower than that of the 9401 and 9402, I believe the chassis PFI lines should take signals up to ~1 MHz.
    3.  An analog module with triggering capabilities (at this time only the 9205 and 9206) can route a digital signal (the 9205 and 9206 have a PFI line) or an "analog comparison event" (see my post here) to the counter terminals.
    In case 1 above, you configure this by selecting the counter using the module's name (e.g. "cDAQ1Mod2/ctr0").  Default input terminals will be used (check the device pinouts for your module in Measurement and Automation Explorer) or you can select which terminals to use for your inputs using a DAQmx channel property node.
    In cases 2 and 3, you would need to select the counter as the internal backplane counter (e.g. "cDAQ1/_ctr0").  You will need to select which terminal your signal is coming from (since the internal backplane counter does not have default terminals.  This same method can be used to count internal signals (e.g. sample clocks, counter outputs, etc.) without having to use any of the 3 routing options mentioned above.
    Best Regards,
    John Passiak

  • How do you cyclicly trigger data acquisition after n pulses counted

    Hello all, please forgive my ignorance because I am very new
    to lab view and data acquisition. I am working on a system which is going to
    scan an object and produce an image. The gimble that I am scanning the object
    with is an X-Y type of gimble with stepper motors on each axis. The stepper
    motor controller will output pulses real time to indicate the real time
    position of the gimble in each axis. What I need to be able to do is count
    pulses from the stepper motor controller and then output a trigger pulse to
    trigger the data acquisition in a buffered mode when N number of pulses have
    passed and then generate another pulse to stop the acquisition after another N
    number of pulses have passed. The controller puts out 10,000 pulses per degree
    of travel. The velocity that I am traveling at is 20 degrees per second, so
    timing here is really important. I need to be able to utilize the speed of the
    daq card and not so much the speed of the computer to iterate through a loop. I
    have tried using the count down feature in the NIDAQ MX library but it does not
    appear to be useful to me. I set it up and it will count down but once it hits
    zero it continues to count down. My expectation was that it would either
    restart the down count or it would stop. I was expecting some sort of trigger
    event to take place once the count reached the zero point but I did not observe
    any sort of event taking place. Once again my knowledge and background is
    really limited so I could be missing something really fundamental here. I have
    tried using some of the legacy functions which would enable me to do exactly
    what I want to do but they do not seem to work with my daq card. I have a NI
    PCI-6122 and if anyone has any knowledge on how to get this type of card to
    talk to some of the non MX functions I would be more than happy to hear how. It
    seems to me though, that I am limited to the MX functions which I can not
    really translate into what I have learned I can do with the legacy functions. I
    thank you all once again for taking the time to read this I and I will
    appreciate any and all responses that can be helpful.
    ~ Randy Brown

    I have run a few more tests and obtained some data per the request of a telephone support engineer. I have some scope screen shots that might be able to shed some light on what is going on. I will provide a brief description of what I discovered before I show the resulting data. I discovered that using the number of up ticks and down ticks suggested does not yield the right timing for the clock pulses that I will need for triggering my data acquisition. When I use 55 low ticks and 2 high ticks as my settings I end up getting a pulse every 32 pulses read on the PFI line. I get the same results when I interchange the numbers, for example, when I set the program up for 2 low ticks and 55 high ticks I get the same resulting one clock pulse per 32 pulses on the PFI line. I started playing with the numbers and come to find that I was able to generate a pulse every 57 pulses in this setup. I set the high ticks to 2 and the low ticks to 71 and once I did that it generated a pulse every 57 pulses in. The results are not ideal though, a number of things happen within the first second of operation. One mode of operation the clock output pulse latches after a few pulses generated. Another mode of operation that I noticed was that it would generate n number of pulses and then just stop even though the program was still running. The results I am getting are not reproducible when it comes to the long-term operation of the clock pulse generation but the bottom line is not matter what happens the end result after 1 second is not what is expected. I will show below screen shots of my program and also scope shots for the respective modes of operation.
    Front End interface
    Block Diagram
    55 High ticks and 2 low ticks results
    55 low ticks and 2 high ticks results
    77 Low ticks and 2 high ticks results
    Undesired Latch after 1 second of operation
    N number of pulses generated and stopped while program was still running
     It appears the the long term operation (and when I say long term I mean after a second) is intermittent, it either latches high or low after a random number of pulses are generated on the clock output. I am not sure why this is happening. The one setup that I came up with that generates a pulse every 57 pulses is not going to work for the setup that I have I think I would have to reduce the 71 to 69 in order to compensate for the two pulses that happen while the output pulse of the clock is high. To be honest I have no idea what is going on and I am starting to wonder about my daq card. Being that it is not really reproducing the same results I am starting to think maybe something is wrong with it. Another possibility is that it might be the bnc 2110 that I am using. I will try another one tomarrow and see if this problem persisits. I am leaving now so I won't be able to try that as of yet but I wanted to pass this info and data along such that maybe you will notice something and be able to lead me in the right direction. Thank you again for all of your help.
    ~ Randy Brown

  • Pulse count with a 9401 modules (cDAQ-9172 system)

    I'm trying to do a pulse counting by a 9401 module in a cDAQ-9172 system. I have three 9401 modules . One of them is working as a trigger (start-stop count) and the other two  (in slot 5 and 6) are for counting pulses from the 2 meters. It looks like a simple task but my problem is that I am counting always  3 to up to15 pulses less than my reference counter. everything points out to a task in my program is causing a delay. The question is where or what is causing such a wrong counting
    Attachments:
    COOMET Comparison DN80 short.vi ‏737 KB

    First for triggering with cdaq you must use the 9405 or 9406 (for analog triggering or 9401 for digital triggering) module in slot 5 and 6 - look in following link. Signals are routed with the chassis PFI Lines and only available at Slot 5 and 6.
    http://digital.ni.com/public.nsf/allkb/851828B06A20E01B862571DA0005591A?OpenDocument
    http://digital.ni.com/public.nsf/websearch/EFD808DC883F095186257170005A634D?OpenDocument
    Then the other moduls in other slots can be configured with these pins for triggering. When you wants triggering on both edges you can look in following link:
    http://forums.ni.com/ni/board/message?board.id=170&message.id=248456&requireLogin=False
     Best Regards

  • How to use PCI-6534 High speed DIO to count the no.of pulses aquired

    HI All
    I have PCI-6534 high speed DIO card. My requirement is to count the no.of pulses coming. Here i have an energy meter which generates pulses with frequency of around 8MHz. i need to cunt the no. of pulses coming in, here i am attaching the VI i am using. I could not really count all pulses coming in. right now i am using single line, but the requirement is to develop for 7 lines. I do not know where i am going wrong. Can any of you help me in this regards.
    Thanks
    Anil Punnam
    Attachments:
    Read Dig Chan-Change Detection_stop.vi ‏120 KB

    Sorry, not near a LV PC so can't look at your vi now.  Are you limited to using only the 6534?  If all you need to know is the count of pulses from each of the 7 ~8MHz sources, it seems like the amount of data storage required with a 6534 is terribly inefficient.  Since the 7 sources are unlikely to be synchronized in any way and they are each at ~8MHz, you're looking at about 100+ million transitions per second with change detection.  I don't think the hw can keep up with that.  Even using a constant sampling rate of 20 MHz (which just barely satisfies the Nyquist minimum of 2x 8MHz), it's questionable whether you can keep up with that rate for several minutes.  Even supposing the hw and your PCI bus and software can keep up, there's still a TON of processing to do.  20 MB/sec for 20 minutes = 24 GB! 
    On the other hand, consider the 6602 counter timer board.  Here you would simply set up 7 edge counting tasks, probably without any buffering at all.  At any leisurely pace you want, you can software query the counts of the # of pulses on each of the 7 channels and have an instant answer.  The only issue to deal with is that the counts will rollover when you reach 2**32.  At 8 MHz, this will happen about every 9 minutes.  However, DAQmx provides a nice way to handle this.  There's a property you can query that will tell you if a rollover has occurred.  It automatically resets itself to False after you read it so it's ready to detect the next rollover 9 minutes later.  See my first post in this thread for example.  (Last I knew, only DAQmx does the automatic reset, not traditional NI-DAQ).
    If you can possibly buy a 6602, I'd highly recommend it.
    -Kevin P.

  • How to use Counter/ti​mer PWM Pulse as a trigger to aquire data??

    I posted this question on the Counter/timer BOARD, but i got no replies. So i decided to post it here.
    (1) I'm using the NI DAQpad 6015 multi-function card with the DAQmx Driver. I'm using the counter/timer (counter 0, and counter 1) to generate 2 different PWM pulses to supply my sensor circuit. each pulse is a 1 second in duration. The pulse with 5m.sec duty cycle is the supply for my sensor. (Imanaged to generate the required pulses). 
    In addition to that  I'd like to use the 5 m.sec as a trigger to aquire the sensor reading. The DETECTIN POINT should be the middle of the HIGH State of the 5m.sec pulse (i.e just after the 2.5 m.sec point of the high state). Detection takes place only at the HIGH State of the pulse. How Can i read my sensor voltage for this limited duaration (2.5 m.sec) each time the pulse is high.
    (2) another point is: how to display the counter/timer pwm output pulses on the front pannel?? 
    Attached is the VI i'm using (Complete PWM.vi), and the pulses diagram
    regards,
    Attachments:
    Complete PWM.vi ‏49 KB
    pulse.JPG ‏10 KB

    This question has been replied to on this other post.
    Thank you,
    Raajit L
    National Instruments

  • Read no. of pulse count with fixed time interval

    Hi,
    I am try to read no of pulse count ( Pulse period = 500ms, On time = 100msec and Off time = 400msec). Between pulses there is a fixed time interval of 2seconds. I am using NI USB DAQ 6341. Can anybody help me regarding this? 

    Thanks for replying. I have gone through  that example, the given example are only increment count when pulese are detected.
    In my case, i want to count the no. of pulses between the time interval of 2sec. e.g. Suppose my device generate 5 no. of pulses and after every 5 pulses their is 2sec time interval, here i need to read only 5 pulses not the continuous count. And no. of pulses are generated by device can be vary but the time interval between those pulses are fixed. Could you give me suggession regarding this?

  • Servo motor encoder pulses/counter data erroneous

    First off, I am very new to using labview.  I am trying to complete a project a former employee was working on.
    For a quick background on what I am working with, I am using a NI DAQCard-6036E connected to a SC-2345.  The SC-2345 is then connected to a load sensor, Omron R88D servo driver, and an omron servo motor.  The servo motor has a incremental encoder with a resolution of around 2048 pulses per revolution.  My labview program includes a counter that records the data from the encoder on the servo motor.  I have been able to get accurate data when testing through the measurement and automation program by manually turning the motor.  Also when running through the specific DAQ assistant I am using for my counter, I am getting correct readings when manually turning motor.  Once I run my complete program, instead of getting 2048 pulses per revolution, I am getting between 34000-36000 pulses per revolution.  The most logical assumption is that I am getting vibration in the motor itself or some sort of noise is interfering with my signal.  I first attempted to change any possible settings through the omron servo driver that might reduce any vibration in the motor.  I attempting changing the rigidity settings, turning on and off the auto-tuning function, and a few other settings specified by the user manual that might cause vibration.  If I turn the rigidity settings as low as possible, I am able to get around 2000 pulses per revolution, but the data is very sporadic. Also, my equipment needs to be very rigid, and with the lowest rigidity setting for the servo driver, I am able to almost stop the motor with minimal force.  My equipment needs to be able to travel at a near constant speed with fluctuations of up to 200 N of force.  Any suggestions on which direction I should go in finding a countermeasure? 
    Thanks
    Solved!
    Go to Solution.

    The model number of the servo motor is R88M-W10030L.  The servo motor rotates at a constant speed.  The program is designed to drive the servo motor connected to a ball screw in one direction.  Once the load sensor reaches a desired load, it will reverse at a constant speed until no load is on the sensor. Throughout, it records load vs. displacement.   I have found a few things that will alter the pulses counts.  If you apply resistive pressure on the servo motor while it is rotating, the pulse output will vary.  Also when you apply pressure to the casing of the servo motor itself, the pulses will often jump around. I was almost certain my false pulses were caused by vibration.  After have no success adjusting settings to reduce vibration(according to the user manual), I ran the program while moving around several wires to see if any were loose, etc... After applying force to the power lines and encoder cable, the program ran several times with an average of 2000 pulses per revolution and would actually subract pulses while going in reverse(what I want it to do); Although the average was around 2000 pulses per revoltion, i saw positive and negative jumps in pulse counts while traveling forward at constant speed.  Today I re-wired the equipment, seperating as many wires as possible.  After the re-wire, the equipment/program is back to sending 34000+ pulses per revolution, and does not subract pulses while reversing.  I have read the 'Using Quadrature Encoders with E Series DAQ Boards' article.  Referring to the article, I am running similar to "method 1".  I am already using a signal conditioning box, but have the counter data run directly through. Do you believe running the signals through a SCC-CTR01 might solve the problems? 

  • How can I create a resettable 50-Pulse Counter?

    Hello, 
    I am trying to make a ressetable 50-pulses counting.  My counter is working fine and I can detect when it reads 50, but I can't reset the counter to 0.   
    Thanks! 
    Attachments:
    ressetable counter.jpg ‏143 KB

    When you determine the count = 50 you need to feed a 0 into the shift register rather than the current value wire going in.  Another selector function would work for that.

  • Compare two pulse counts

    Hello,
    I'm trying to compare two simultaneous pulse counts using a cDAQ-9172 chassis, a 9401 card, and LabVIEW 8.2. What I want to do is set up a single output pulse that lasts for, say, 1000 incoming pulses on ctr0, and then use that single output pulse as a gate on ctr1 to count the input pulses that it sees during those 1000 pulses on ctr0. In other words, I want to synchronize the two counters, and as soon as ctr0 reaches 1000 pulses, they should both stop so I can compare the two counts. The issue is slightly complicated by the fact that both counter inputs are very noisy and require a pulse width filter in order to be read properly.
    I more or less understand what needs to happen conceptually, but I'm at a loss for how to make it happen. A simple walkthrough would help enormously. Alternatively, if there's a better way to accomplish this, that would be helpful as well.
    Thanks.

    Thanks for the advice. I set up a program (attached) that tries to implement basically what you suggest, but there are still problems. The main issue is that it gives me an error -200141 message telling me to change the data transfer mechanism to DMA. When I set up a channel property node to do this, it tells me that DMA is not available.
    The other concern I have involves the pulse width filter on the counter output task. The 1000 pulse signal is extremely noisy, and without any filtering, the noise will increase the frequency by a significant amount. I've set up the filters as you can see in the program, but I have no idea whether I've done this properly.
    Any further help you could offer would be greatly appreciated.
    Attachments:
    even more gating.vi ‏39 KB

Maybe you are looking for