Frequency of a pulse output sensor

Hi Guys,
I have a sensor that puts out pulses depending on the amount of flow (it's a flow meter). I hooked up an oscilloscope and it looks like the frequency is always around 30 Hz. I have a break out box (SCC-68) that does not have a counter input, just analog and digital. Is it best to use the digital input or analog input to measure the frequency of the signal in Labview which in turn translates into some flow units? Thanks! 

 I have a break out box (SCC-68) that does not have a counter input, just analog and digital.
If your DAQ unit has counter functions they will be available at screw terminals. Which device do use?
Besides which, my opinion is that Express VIs Carthage must be destroyed deleted
(Sorry no Labview "brag list" so far)

Similar Messages

  • Frequency divider + narrow pulse output

    Hello all,
    I need to divide the frequency of an incoming digital pulse by a factor of N (typically 10-50) but I would like the output signal to be 200ns wide. I'm able to divide the incoming pulse by using CO pulse ticks with the incoming pulse as the tick source and specifying the low and high ticks (low + high ticks = N). The problem is that the narrowest pulse I can generate is 2/f_in (or in my case  2/75kHz~ 26 us).
    Is there any other way to divide a pulse  and control the width of the  output pulse?
    I can use the "wide" pulse to trigger a narrow  pulse on a different channel but I rather not use so many channels for this application. Is it possible to use just 1 input channel and 1 output channel?
    Any advise will be greatly appreciated.
    I'm using Labview 8 and pci 6251
    Eyal

    Hello Eyal,
    Let me rephrase what it is I think you want to do:
    1.  You have a digital input with a frequency at or approximately 75 kHz.
    2.  You want to divide down this input frequency by N, where N is between 10 and 50 or so.
    3.  On every Nth pulse you want to generate a pulse with a 200ns high time and then return to a low state until the next 200ns pulse is generated.
    If this is what you want to do then you would need 1 CO task to generate a pulse ever Nth rising edge of your input.  Then you would use this pulse to trigger a retriggerable pulse train to output your 200ns pulse.  All of this routing can be done internally so you would only physically connect one input and one output, however this setup would require three counters.  One counter for the CO task and two counters for retriggerable pulse generation.  Unfortunately your PCI-6251 only has two counters so to do this you would need to get a board with at least 3 counters. 
    If I didn't describe what you are trying to do accurately please reply back with further clarification incase what you are actually trying to do can be accomplished on your board.
    If you would like to contact National Instruments directly to speak with a technical representative about getting a counter board you can find contact information at www.ni.com/contact.
    Have a good weekend!
    Brooks

  • How to measure the frequency of a pulse being generated by a counter

    Hi,
    I am using labview 8.6 to generate 5 evenly spaced pulses for every 1 revolution of my shaft. However, I would also want to know the frequency of these pulses so I can determine the shaft speed. Since I am already generating the pulses using one of my counters, can I still tap into that or task another counter to measure the pulse frequency? If so, how? I have attached my code for generating the pulses and I am using an Ni 9401 module and an NI 9172 chassis. If someone can helo me modify the code to measure and tell me the pulse frequency as well, that would be really appreciated
    Attachments:
    autotrain2.vi ‏19 KB

    You'd probably get a more coherent answer if you didn't bounce around from thread to thread so much...
    How can I generate a pulse train from shaft encoder? (5/13)
    pulse train from encoder (5/15)
    how to measure rpm (5/20)
    How to measure rpm using shaft encoder and labview (5/23)
    This thread (also 5/23)
    I see you ignored my suggestion from the other thread--Kevin's solution is good too but using an encoder task offers more noise immunity (I think this is probably the cause of the problem you reported on the other thread).  You can fix it with digital filtering if you want to keep using a counter output instead of an encoder task.  Noise during transitions is pretty common for a quadrature encoder.
    A finite counter output task uses 2 counters on the 9172 (although you said 9174 earlier at one point--this wouldn't be the case on a 9174) so you wouldn't have one left to make your frequency measurement.  With the solution you have now, you can change to continuous to free up a counter if you don't care about outputing an exact number of rotation's worth of pulses (I'm not sure if you do or not--I didn't read through all of the various threads relating to this application to find out).
    For your actual question in this thread...  Have you tried running one of the frequency measurement examples?  From the code here I can't tell what you have tried (it just looks like a mangled version of the code Kevin gave to you in your other thread).
    Best Regards,
    John Passiak

  • Minimum Frequency for counter Pulse Frequency Generation

    Hello,
    What is the Minimum Frequency that the Counter Output Pulse Frequency VI can generate?
    If I need to generate a REALLY low frequency pulse train can I do that?
    Thanks
    Dan

    Hi Dan,
    If you don't explicitly specify a timebase, DAQmx will choose a default depending on the initial parameters you set up for CO Pulse Frequency.  For example, the following code should work on any DAQ device with a 32-bit counter and a 100 kHz timebase available (from my first post, 11.64 uHz is the minimum frequency in this scenario).
    So... your 10-100 second periods should be more than achievable.  The inverse of 12uHz is about 23.15 hours.
    If you're on a 24-bit counter the maximum pulse width would only be ~167.77 seconds (2^24/100000), giving a frequency of about 2.98 mHz assuming 50% duty cycle.
    The only way you should be getting an error at the 10-100 second durations that you are describing is if you start the task off at a faster rate (so DAQmx will pick a faster timebase by default) then modify it to output a lower frequency.  Rollover times for the maximum default timebases are as follows:
        E Series:   ~0.839 seconds (24-bit counter, 20 MHz timebase)
        M Series:   ~53.69 seconds (32-bit counter, 80 MHz timebase)
        X Series:    ~42.95 seconds (32-bit counter, 100 MHz timebase)
    If you want to set a different signal source as a timebase, you can do it with a DAQmx Channel Property Node:
    I'm afraid I don't really understand what you are trying to do specifically.  How does this "infinite" pulse length fit within the context of your application?  Why not simply write the line high in software?  What hardware are you using?
    Best Regards,
    John Passiak

  • In NI-DAQmx, how to change the frequency of a pulse train?

    I was using "GPCTR_Change_Parameter()" to change the frequency of my pulse train in Traditional NI-DAQ and Labwindows/CVI; is there any function can do the same thing in NI-DAQmx without restarting the task?

    You can do this in one of two ways, depending on the version of NI-DAQ you are using. If you are using 7.2 or later, you can use the counter write functions (ex: DAQmxWriteCtrFreq()), which are available for each flavor of pulse generation tasks (Freq, Time, Ticks). If you are using NI-DAQ 7.0 or 7.1, you can modify the attributes directly (DAQmx_CO_Pulse_HighTime, DAQmx_CO_Pulse_LowTime, etc). Keep in mind that for each attribute pair, one of the attributes will cause the counter to load the new pair. The attribute that causes the load is LowTime, LowTicks, and Frequency.
    I hope this helps!
    gus....

  • Single pulse output on USB-6212 PFI

    I am trying to generate a single pulse output on one of the PFI I/O lines on a USB-6212.
    How do I go about creating the task?  The pulse witdh is 100ms.
    Also, how do I trigger from one I/O line to start another I/O pulse?

    Hello johnswan,
    The first thing you need to do is make sure that you have the NI-DAQmx driver installed.  This should've came with your device, but if not you can download it from ni.com/updates.  After the driver is installed it will add examples for LabWindows CVI.  In LabWindows CVI you can go to Help » Find Examples to open the NI Example Finder and then navigate to Hardware Input and Output » DAQmx » Generating Digital Pulses.  There is a DigPulse.prj which will show you how to create a digital pulse with a specific pulse width.  There is also a project called DigPulseTrain-Cont-DigStart.prj that you can look at to see how to implement a digital start trigger.  Take a look at these and let me know if you have any additional questions.
    Regards,

  • Counting 3 pulse outputs on the 9178

    Hello everyone,
    Please note that I am very new to Labview. My issue is related to measuring 3 independent pulse outputs.
    Currently I am using a 9178 chassis. Two pulse outputs are coming from Omega FTB800B Pulse meters (water flow) which should output 20 pulses/gallon of water flow. The third pulse output originates from a wattnode pulse meter.  I am attempting to create a very simple vi (to test all three outputs).
    The wattnode seems to be working perfectly and the pulse outputs seem reasonable (connected to a 9402 card).  
    The two flow meters, on the other hand, are giving me some trouble. I have attempted to run them through both the 9402 card and the two onboard pfi ports.  
    The wattnode works using the daq assistant and selecting edge count. Since the Omega flow meters are not supplying voltage or current (reed switch), I figured this was a good guide to count pulses internally https://decibel.ni.com/content/docs/DOC-9061. Unfortunately I have been unable to measure the pulse outputs using the aforementioned method. 
    I have one USB-6009 unit which does not seem to have a problem measuring flow from either meter (one at a time due to the internal counter limitation).
    Please see the attached vi examples
    Thanks 
    Attachments:
    WaterMeter.vi ‏23 KB
    Wattnode_VI.vi ‏52 KB
    USB-6009.vi ‏49 KB

    Thanks for the reply Nick-A!
    I believe the WaterMeter VI originated from the example finder section of Labview. There seem to be a few additional prorams which help display pulses counted by the edge counter; but, the counter portion of the code appears almost identitcal to the WaterMeter VI.
    I tried utilizing the usb 6009 vi format (DAQ assistant) through the 9402 card. For some reason, I do not even measure pulse readings while running the project in the DAQ assistant properties window. Both flow meters produce the same results when connected to the aforementioned card (I have connected the flow meters to each of the 4 BNC ports). Please correct me if I am wrong, but shouldn't pulse count appear through the DAQ assistant (even if there is no other coding)?
    Thanks,
    Daniel

  • How do i wire a sensor to my daq having pulse output

    Hi all
    I am using NI 6229 BNC DAQ and i have a flowmeter which is giving me pulse as output.
    In attachment i am sending the datasheet of sensor.
    How can i wire it to my daq
    Please help?
    Attachments:
    flowmeter.pdf ‏288 KB

    Duplicate - http://forums.ni.com/t5/LabVIEW/how-to-convert-square-waves-to-a-physical-data/m-p/3149985
    There are more than enough threads you have started on the same subject.

  • 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.

  • DC pulse output analog input

    I am using a 6221 PCI DAQ card and attempting to put out a DC level for a several different times.  During the output of each DC level I need to sample two DC inputs via the analog input.  Most of my DC levels last for 100s of seconds each and a sample rate of 1S/s on the analog inputs is OK.
    My problem arises when I attempt to place a 30ms pulse into the analog output.  During this 30ms I need to increase the data rate of the analog input.
    I have attempted to use a while loop to control the time between changes but can not get the sampling rates correct to allow for the correct number of samples.
    On suggestion has been to take all data at a fast rate.  The test will last in excess of 3000 seconds and I get way too much data at a fast rate.
    I need to be able to change data rates on the fly as I change the DC levels.
    Does any one have any ideas?
    Thanks,

    John@Saft wrote:
    I know when the pulse is to arrive before it happens.  I have an array of data including voltage outputs, duration of output, and what data rate to sample at.
    My problem is insuring the sampling starts before the pulse arrives and continues for the duration of the pulse.
    One way I'm sure can work uses "Continuous Acquisition.  "See: "Cont Acq&Graph Voltage-Analog SW Trigger.vi" example.
    If the DAQ-rate is known before leading-edge of pulse, then, start the Acquisition at whatever frequency's needed, making the input buffer bigger than required, then when the end-of-pulse arrives, reach-into the input buffer and pull-out the "pulse".  With a little work you may find an example that uses a "stop-trigger"
    There may be a "slick" way to do this without "Continuous Acquisition" using a parameter called "Pre-trigger" scans.  My first LV project (circa- 1990) used this, and I've done it with at least one "E"-series board, but not yet under DAQ-MX - and couldn't find an example with Internal clock, External Trigger.
    Cheers! 
    "Inside every large program is a small program struggling to get out." (attributed to Tony Hoare)

  • How can i measure the time between a pulse output and a pulse back on the input?

    Llo,
    I have a problem i use a ultrsonic sensor, and when i send a pulse out of 4V then a couple of ms i have a pulse back on the input, how can i exactly know how much time there is between the 2 ^pulse??

    Use the output pulse to trigger a counter in period measuring mode and stop the counter on the return signal (if the input return signal is large enough to reliably trigger a logic circuit). If the signal is not large enough to trigger the counter directly, an external comparator can be used to generate the stop signal.
    Another approach is to use two channels of analog input. Feed the output signal to one of them and the return signal to the other channel. The time between outgoing and return pulses can be determined from the sampling rate. If precise timing is required and your AI board does not have simultaneous sampling, you have to account for the inter-channel time as well.
    Lynn

  • Flexmotion6C pulse output

    I am trying to get variable length digital pulses out
    of the flexmotion6 board using the UMI-Flex6 terminal
    block. Yusuf C, suggested I configure the axis to run on open loop stepper mode and tap the Step(CW) and Dir(CCW) lines during a simple move. This should
    give a pulse train. And I can change the frequency by changing the velocity of the move.
    When trying to configure axis 5 as a stepper
    and running the 1-D interactive program under the
    MAX program to test the axis, I get the error message "Error 70017
    NIMC_StepperOnlyError Occurred in set stepper loop
    mode (flex_set_stepper_loop_mode) on Axis 05
    This command is valid only on a stepper axis"
    I have also considered using the flex_load_DAC
    command to load a value into the DA
    C directly.
    Is it possible to use this cammand with DAC 1
    through 6, provided they are not associated with
    an axis (ie. the axis is disabled or the DAC channel is
    not selected for a particular axis.
    Thanks for your help

    Ysusf's suggestion should work for you. The error which you are getting indicates that you are trying to change the stepper loop mode on an axis which is set up as a servo. To fix this change the axis configuration to stepper and then hit apply and initialize board.
    In order to use the DAC on a channel it must also be configured as a stepper. And then you can do the load DAC. I'm not sure how this is to be a substitute for outputing a pulse train but if does the trick then great!
    Regards,
    Amaury Rolin
    NI Applications Engineer

  • NI9411 frequency measurement with analogue output

    I have an NI-9411 connected into a 9178 cDAQ module. I want to constantly measure the frequency of a digital signal then output this signal as an anlogue output using another of my NI modules. I am pretty new to the NI environment, does anyone know of a simple method using the DAQassistant?
    Thanks for your help.
    Richard

    Hi Richard,
    Do you want to output a voltage that varies with frequency or just an analog signal with the same frequency as the digital?
    The easiest way for you to do this is to use two DAQ Assistant VIs and wire the output from your digital module into the output of your analog module.
    If you wanted to output a varying voltage with frequency you would perform some simple scaling on your measured frequency and wire it straight to the output.
    If you wanted a varying frequency analog signal, you could use the Simulate Signal express VI and wire the measured frequency into the frequency input.
    The reason you only see four channels for frequency measurement is that this particular function utilises the hardware counters on your device to count the time period between pulses to work out the frequency, your cDAQ 9178 has four of these hardware counters.
    For direct voltage level measuring you will see six differential channels available.
    Hope this is helpful to you.
    Regards,
    Adam Brown
    Applications Engineer
    National Instruments UK

  • Generating frequency dependant square pulse and making it digital

    trying to generate a square wave pulse at a specific frequency
    it would be great if its simple as setting the amount of frequency (i.e., 50 , 50 pulses per sec)
    but it gets complicated because of the sample rate
    my problem is to convert it to digital and i don't know whats wrong
     i attached a pic of my block diagram
    as you can see, one pulse has frequency F, the other F/2, and lastly F/4
    i need it to be compatible with the VI attached as well. can anyone help? thanks in advance!
    Message Edited by sdkpark on 10-10-2009 12:19 AM
    Attachments:
    Create Digital Waveform.vi ‏20 KB
    Correlated Dig Write With Counter.vi ‏31 KB

    Hello again Sdkpark,
    Apologies the message I was writing didn't include my full post.  Take a look at this great community example for a prebuilt solution to what I believe you're trying to accomplish:
    http://decibel.ni.com/content/docs/DOC-5763
    Let me know if this isn't what you're looking for and I'll reply back.  Have a great day!
    -John Sullivan
    Analog Engineer

  • Frequency problem in input-output control loop, LabviewRT

    Hello,
    I want to write a cotrol loop in LabView real-time. My target is to acquire a data from 5 channel in frequncy about 100 kHz, integrate the data and send them to the output in frequency about 10 kHz (every 10th sample). I made twou time-loops. One for acquiring and integrating, second for sending them to output. This loops are connected throug the rt fifo. 
    My problem is with a speed of acquisition. When I use "Hardware-timed single point" for acquiring, the result frequency is about 50 kHz. Continous sample and finite samples give me the desired frequency, but the output is not in in the same time as input (output waits until the input collects all data). Is there any problem with communication with the input and output channels in the same time?
    My Hardware: 
    Computer: NI PXIe-8108 in NI PXIe-1062Q
    card: NI PXIe-6358
    My vi is attached
    Attachments:
    rt_headless_v1.2.vi ‏133 KB

    Dear Kocman,
    thanks for including your VI, it is useful to understand better your application.
    However, the detailed requirements are still not entirely clear for me.
    I think, starting with the right architecture and proper timing and synchronization schemes could save you a lot of effort while they ensure proper operation.
    First, it should be defined what kind of timing your application requires. More specifically, if it needs to be hardware or software timed.
    From your description it sounds like you would need hardware timed aquisition synchronized with generation, although your code tries to implement it using timed loops, which are inherently software timed.
    You can find some useful additional information about the two methods and a nice white paper about synchronization techniques here:
    http://zone.ni.com/reference/en-XX/help/370466V-01/TOC11.htm
    http://www.ni.com/white-paper/4322/en
    Probably it helps to review them or even try to test some of the methods to get a better feeling about it.
    I hope this helps you to get to the proper solution.
    Best Regards,
    Adam Cseh
    Applications/Systems Engineer
    National Instruments

Maybe you are looking for

  • What kind of programs causes itunes symbols to replace most of my other symbols on my desktop?

    i dont know how to fix this but i think its cause there is a program on my computer that is causing itunes to appear all glitchy.  yes i downloaded the right itunes, yes i have the newest version.  what happens is that itunes just opens up all of a s

  • Camera Raw 4.0 unusable in Photoshop CS2

    If you have Photoshop CS2 and you download the latest RAW 4.0 update, forget about opening any RAW files from cameras produced in the past year and a half or so. As a clever marketing move Adobe has disabled all functionality for RAW cameras once cov

  • Web gallery images not showing in Firefox

    I have just created a web gallery in Adobe Bridge CS4.  I had it working perfectly in all browsers and now all of a sudden the images are not showing up in Firefox. Anyone else have this problem?

  • ABC classification

    Hi Gurus, How can I maintain in ABC clasification by mass upload in MRP and how this be automatically calculated as ABC per item. What I know for the Cycle Count is that I will run a report that could identify ABC by using the percentage setting in M

  • HP+Time capsule

    Hello I want to buy a HP laser print(B|W)and I want to share it with time capsule! which HP Model Should I Buy? Thanks