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

Similar Messages

  • New M Series DDK Example: High Frequency Measurement with 2 Counters

    This example demonstrates how to configure two counters on an M Series device to measure a high digital frequency. One counter generates a continuous pulse train of a set frequency while the other counts the external signal using the pulse train to latch values. Data is transferred via DMA.
    Use this example to add high digital frequency measurements or DMA data transfer for counter input to your driver.
    Please let me know if you have questions or problems. Thanks :-)
    Joe Friedchicken
    NI VirtualBench Application Software
    Get with your fellow hardware users :: [ NI's VirtualBench User Group ]
    Get with your fellow OS users :: [ NI's Linux User Group ] [ NI's OS X User Group ]
    Get with your fellow developers :: [ NI's DAQmx Base User Group ] [ NI's DDK User Group ]
    Senior Software Engineer :: Multifunction Instruments Applications Group
    Software Engineer :: Measurements RLP Group (until Mar 2014)
    Applications Engineer :: High Speed Product Group (until Sep 2008)
    Attachments:
    gpctex5.cpp.gz ‏4 KB

    You should connect the signal (whose frequency needs to be measured) to Ctr-1, and there gonna be an internal connection between the output of the first counter and the gate of the second counter (as described here).
    You may want to check this link as well.
    I am not allergic to Kudos, in fact I love Kudos.
     Make your LabVIEW experience more CONVENIENT.

  • Problem with analogue output voltage

    i am working on a level control system which has an analogue input (0-10V level measurement probe) and an analogue proportional valve analogue output. I have configured the AO to be 0-10 volts in the measurement and explorer but when running the labview program it reverts to -10 to 10volts.Therefore if i set a tank to be filled to a setpoint of 3 volts it will do this but if i set the set point back to 2volts when the probe is reading 3V the Analogue output reverts to a negative output and opens the valve to fill the tank even if the setpont is reached.
    Can anybody help?

    Hi, thanks for your reply. The card is a PCI-6024E type the version of labview is Labview 6.Enclosed please find my labview code and front panel as an attachment.
    Thanks
    Micheal Hennessy
    Attachments:
    PID_auto_Control_Loop.vi ‏70 KB

  • Problems with analogue output

    Hi,
    I'm trying to generate an analogue waveform that produces sound on a loudspeaker. The loudspeaker does produce a sound (i.e. the VI atleast outputs signals), and I've also checked the output using an oscilloscope. However, the sound I obtain using the VI is different to that obtained by using a function generator (device), for the same frequency and amplitude.
    I suspect that it's something to do with the sampling rate, because the sound changes as I change the sampling rate. But I still can't figure out how to actually obtain the same sound as I did from using the function generator.
    I'd be grateful if you could have a look at my VI (attached) and tell me why the two noises might be different.
    Ruf.
    Attachments:
    try_6.vi ‏147 KB

    No.
    You don't understand how the get/build waveform functions work at all. There are three components, y, dt, and t0. When you used the generate sine function, the waveform output had a dt. this defines the frequency. You get the Y array but do not get the dt. When you use the build waveform, instead of using the dt from the original waveform, you create a new waveform with a default dt value of 1.
    Message Edited by Dennis Knutson on 02-29-2008 07:31 AM
    Message Edited by Dennis Knutson on 02-29-2008 07:31 AM
    Attachments:
    Get and Build Waveform.PNG ‏2 KB

  • What is the accuracy of frequency measure with PCI 6023E?

    I am measuring the exact frequency of 2.7Mhz signal. using PCI-6023E ,how can i calculate the accuracy of the measurments?

    See
    http://exchange.ni.com/servlet/Redirect?id=8437352
    Regards
    Filipe A.
    Applications Engineer
    National Instruments

  • Frequency measurement with High Speed Digitizer using External Trigger

    Hello:
    I

    Hello;
    That is happening because you are doing Software timed operation, and since Windows manages all tasks that runs on the machine at any given time, your VI might take different times to execute, and that might be enough for you to miss some pulses.
    The best way to do that is by using a 660x board, and have three counters doing the job. The firts counter can be configured as the first pulse train generator, the second counter can be used to generate a pulse that will trigger the third counter of. That pulse will be generated when the delay of 90 degrees is reached. So, the second counter will count events and will be triggered of by the pulse train generated by the first counter.
    The third counter is configured as triggered pulse train generator, and t
    he output pulse of the second counter is used as the trigger pulse for the third counter.
    If you don't use that approach, you won't be able to reach fast speeds and might also miss some pulses, due to the Software timed approach.
    Hope this helps.
    Filipe A.
    Applicaions Engineer
    National Instruments

  • NI9411 wrong frequency measurement of flow sensors / 24 impulse signals

    Hello Ni Forum,
    I already searched for similar problems, but haven't found anything helpful. So I'm posting our problem here. I'm apologizing in advance for bad english, it's not my mother tongue
    We're encountering some strange behaviour of our NI9411 Module. We're using it in a Compact Rio with some other modules (2x Analog In).
    Our goal is to measure the frequency of three flow sensors (impulse high = 24V, 0-22kHz) among with a torque sensor (TTL 5V, 30-60kHz) and a speed sensor (TTL 5V, 0-51,2kHz).
    They are wired as follows:
    DI0a = torque sensor
    DI1a = flow sensor 1
    DI2a = speed sensor channel A
    DI3a = speed sensor channel B
    DI4a = flow sensor 2
    DI5a = flow sensor 3
    Correspondig ports b are left unconnected, as it is said in the data sheet. All ground ports of sensors are connected to COM port of 9411. The module was connected to a 24V power supply.
    Now the torque and speed sensor measurement works fine. But measuring the signals of the flow sensors seems to be difficult.
    If an external frequency generator (impulse high about 9V, f=1,000kHz) is connected to port DI1a instead of the sensor signal, LabView shows exactly 1,000kHz. DI5a showed an avarage of 10 Hz, with a range from 10 to 60 Hz. DI4a equaled constant zero. The flickering up to 60Hz of DI5a was gone after disconnecting the 24V supply of the module. This changed nothing on the phenomenon described below.
    If the signal high impulse voltage is raised, the measured signal frequency goes up to 1300 Hz @ 24V signal high impulse voltage. The signal additionally raises, if an oscilloscope is connected to DI1a, to 2180 Hz (range 2110 to 2240Hz). However, there is no change of frequency if the osci is connected to DI5a. With the 24V supply connected, DI5a showed a frequency up to 600Hz @ 24V signal high impulse voltage on DI1a, also rising when connecting the osci on DI1a. As mentioned, there was no frequency measured on DI5a after disconnecting the 24V power supply.
    The signals of the generator showed some peaks on each edge (rising and falling) with values for example of 11V above high impuls voltage of 9V (20V together). That may causes that wrong frequency measurement.
    The signals of the flow sensors do not have such peaks, the LabView-frequency nevertheless does not match the real frequency, as shown below (all values in Hz):
    LabView
    ideal values
    Flow Sensor 1
    Flow Sensor 2
    Flow Sensor 1
    Flow Sensor 2
    4600
    12200
    740,6
    6760,0
    6400
    13500
    1481,3
    7500,7
    9700
    16400
    2962,6
    8982,0
    12900
    19500
    4443,8
    10463,2
    We're kind of helpless now. How can we get the signals of the flow sensors measured the right way? Are we doing something essentially wrong? Thanks in advance for offered help. I hope, I've given any necessary information. Any missing details will of course be delivered.
    Puls-Measure-VI is attached beneath.
    Regards,
    Johannes Rost
    Attachments:
    vi.png ‏20 KB

    Dear Lynn,
    thank you for your reply. The impedance was an issue that our local technical distributor already suggested to check. According to the datasheet of the flow sensor (see attachement) it can drive a current of 25mA. The signal generator we used is a test generator that can be used instead of the flow sensors to check the any evaluation unit the sensor is connected with. So it should generate signals that are equal to those the sensor would have generated. And even with this the frequencies measured with LabVIEW are not as expected.
    We are in contact with the sensor manufacturer to exclude mistakes in connection on the sensor side. But the behavior with the signal generator makes us think that is has to do something with the characteristics of the NI9411 that we don't know yet.
    Attachments:
    block diagram signal amplifier and signal description.png ‏151 KB
    technical data.png ‏124 KB

  • Frequency measurement question

    hi,
    i'm trying to get a graph/table of the frequency of a signal as it varies with time using LabVIEW 8.2. the frequency of the signal i'm analyzing is constantly changing, so i would like to, ideally, find the frequency of each pulse so that i would be able to graph that frequency as a function of time. the signal is generated by a fiber optic system which is hooked up to a standard NI DAQ card.
    right now i'm trying to use the Spectral Measurement VI wired to a graph, however it doesn't seem to be producing the desired results.
    thanks

    Hi Ben,
    Ah, I get it now, thank you for the pictures.
    "Just
    to clarify, does the Counter I/O -> Frequency task work with
    non-digital signals?"  No, the input to a counter task must conform to
    the 5V TTL logic standard.  Here
    is a document that talks about how to use non-TTL signals with counter
    tasks.  Since you are interested in the length of time between two
    adjacent peaks or troughs, it would be nice to use a digital frequency
    task, but this analog signal needs a lot of help before you can use it
    as a TTL counter input.
    "Also,
    it would seem that the Analog I/O ->
    Frequency would be the ideal task for my application, however it
    doesn't seem as though it is supported by my card..." You are correct,
    you cannot directly take an analog frequency measurement with your
    hardware.  Different hardware is required.
    What's coming to mind is a direct measurement between two adjacent peaks and troughs.  LabVIEW ships with some very nice examples for this type of measurement.  From LabVIEW's Help Menu >> Find Examples... >> Analyzing and Processing Signals >> Time Domain Analysis >> Peak Detection and Display.  Please note that some of the VIs required by this example are not included in the LabVIEW Base Package.  Below is a screen shot of the front panel.  Computing the frequency of each pulse is then a matter of calculating the time between two adjacent peak or trough values.  I hope this gives you some ideas.
    Message Edited by Pie56694 on 07-09-2008 11:34 AM
    Message Edited by Pie56694 on 07-09-2008 11:35 AM
    Attachments:
    2008-07-09_101048.jpg ‏94 KB

  • Error 10800 when doing Analogue Output with DAQPad-6070E

    I'm trying to test out the Analogue Output from my DAQPad 6070E (Firewire). I'm using the Example vi 'Generate N Updates', but get an error:
    Error 1080 occured at AO Control
    possible reasons: NI-DAQ LV: The opereation could not complete within the time limit.
    This example seems to work fine on a PCI E-series card, But the example claims it should also work fine on the DAQPad 6070E.
    It seems to sometimes work ok the first time I try after power cycling the DAQPad.
    I've tried updating to the latest version of NI-DAQ, with LabView 7.0, Windows 2000.
    If i used the test button from withing MAX, then the DAQPad seem to work fine with continuous output of a sine wave.
    Any help much appreciated.
    Ke
    ven.

    This is certainly not a solution, especially if you need a lower output rate/buffer.
    I've got the same problem with my DAQPAD 6052E. I traced it down to AO START vi. It appears when the output buffer is less than 1000 and the number of output buffer iterations is set to 1. The error does not appear when in the continuous output mode (number of buffer iterations is "0").  I talked to tech support, and they know about the problem, but they do not offer any solutions, except for using a larger buffer. Simply speaking, it is a bug in the driver, which they haven't fixed yet. Way to go, NI.

  • I am trying to measure 8 separate frequencie​s with a FP-CRT-502 module.

    I have a FP-CRT-502 module and need to measure 8 frequencies. The examples I've found through NI allow for 7 measurements (with one channel being used to generate a gating pusle). I found something from NI indicating that this can be done but it did not give much detail. Does anyone know how this is done? Thanks

    Hello,
    The example uses one of the counter modules to generate the KNOWN pulse signal for the gate (by using the counter clock). You know the width (time) of the pulses on the gate.
    If you have a device that generates a known pulse signal you can use this signal as the gate signal for all of the counter channels and then determine the frequency (freq = pulses/time).
    This device can be another FP Counter module or some other type of device that generates accurate pulses.
    I hope this helps.
    VG

  • Scxi 1126 frequency measurement along with other scxi modules

    I want to measure frequency signal using sxci 1126. I have gone through the example code for sxci 1126. I am using NI-DAQ and Labview 7.1.
    The example code is applicable when am acquiring only from 1126. I have to acquire data also from 1102 102B along with 1126.
    In the example code along with AI config.vi and Ai Start.vi there are two additional vi's like AI paramete.vi and AI Trigger config.vi I understand that they are used for reading from 1126. My worry is how this is going to affect my acquisition from other scxi modules as all the modules are in multiplexed mode.

    Hi Bipin,
    Looking at your code, I see that you are still using Traditional DAQ. Since you have LV 7.1, you can take advantage of the new features of DAQmx.
    With DAQmx, you can create a virtual task that includes all of the different types of measurements you want to make. Once you set up the task in MAX, you can place it on the block diagram and automatically generate the code necessary to execute this.
    To do this, open up the Measurement and Automation Exlporer (MAX). Select "Data Neighborhood" from the tree on the left. Then click the button labeled "Create New." Create a DAQmx Virtual Channel. Follow the series of menus to set up your first type of acquisition (1126 frequency measurement). When you are
    done creating the task, you can add the second type of measurement to that same task. In the task config page, you will see a white box with the name of the channel you just created in it. Above the name you will see an "Add" button. Click on this button and follow the menus to set up your second measurement (1102 module).
    Once they are set up, save the task and open LabVIEW. Place the DAQmx Task Name constant on your block diagram found in All Functions >> Data Acquisition >> DAQmx... the task name constant is a purple colored box. Clicking on the box once its on the block diagram will expand a menu that will let you choose your task. Once selected, right click on the task name and choose Generate Code >> Example. This will automatically generate the code necessary to run the tasks. Simply hit the run button and enjoy!
    Thanks,
    Sal

  • Time measurement between counter output my device and analog input

    Hello!
    I'm trying to measure the time to generate a digital pulse train on the counter output, that goes to a frequency converter that controls a motor.  So I think it'd be the best way to wire the output of the frequency converter with an analogue input and make a timestamp before I generate the pulse and a timestamp when I recognize the singal, but I think that wouldn't be a serious measurement ?
    What's the best way to measure the time?
    kind regards peter

    hi there
    well, there a several ways to do this. the problem with the software - timestamps is the minimal resolution of 1ms. i'd suggest:
    - wire a copy of the digital pulse train to an analog input channel
    - wire a copy of the frequency converter to another analog input channel
    - create an analog input task with the two channels (the sampling rate defines the timing resolution,make sure to acquire enough samples to see the response signal) 
    - start this task
    - send the digital pulse train
    to optimize your acquisition you can use another copy of the digital pulse train as a start trigger for your analog acquisition.
    -> then you'll see the digital pulse train on one of the analog channels and the frequency output on the other one. both channels have the same time axis with a resolution defined by your sampling rate (~us depending on your hardware). then you can analyze the data.
    search the example finder for examples of how to create tasks and triggers.
    Best regards
    chris
    CL(A)Dly bending G-Force with LabVIEW
    famous last words: "oh my god, it is full of stars!"

  • Frequency measurement error using DAQSTC

    I have modfied the example listed to measure up to 9 frequencies continuosly in the vi as attached.
    When I use the same approach combined with analogue & digital input/output I get a small error in frequency.
    (Input line PF10 reads 6.8Hz for a 6.7Hz input.)
    Attachments:
    measure_9_frequencies.zip ‏50 KB
    Rig_13-2_Monitor-1.llb ‏196 KB

    Hello,
    The code that you are using to take the frequency measurement could be done with lower level VIs that will more than likely resolve this issue. I modified one of the LabVIEW shipping examples: Measure Period (DAQ STC).vi Please take a look at the VI that I have attached.
    Attachments:
    Measure_Multiple_Freqs.vi ‏98 KB

  • FP-CTR-500 and Frequency Measurement: How to modify it to report the frequency (0-10 Hz) every one minute?

    How to modify "Frequency Measurement" to report the frequency every one minute?  
    The signal frequencies vary from 0 to 10 Hz (see the analog output plot and attached sample data file), so I want record the average frequency every one minute. 
    Software: Labview 8.5 
    Hardware: FP-CTR-500
    Program: "Frequency Measurement"  --build in and under "NI example finder", It was attached with this message. 
    Physical wiring: (1) The signal I want to measure to count input 1 (pins 2 and 18).  it is a pulse signal (range from 0 to 1 V, see the plot and attached data file). 
     (2) Wire Output 0 (pin 130 to gate 0 (pin 9).   Do com pins 26 and 30 need to wire together? 
    FP-CTR-5000 was set up in Max based on the program instructions. I have tried different gating pulse frequency, my readings are always "0". 
    Attachments:
    H2O_20130809.xlsx ‏18 KB
    Frequency Measurement.vi ‏35 KB

    CTR-500 high pulse is >=10V. Hence, it always read your pulse as low. With this low voltage pulse, you must use analog input module, and write a program to read pulse from analog level. You must also make sure that you pulse is not so narrow that cFP loop is not fast enough to capture voltage change.

  • Analogue output digital output

    Hello,
    I managed to create my VI in the proper way I think. I am trying to send a ttl every time my analogue output crosses zero. All whats left now is to transform the analogue data into a digital data and input it into the dammx write for the DO line. I would like to trigger on the zero corssing of the waveform and other intervals which I can select. Attached is the VI, I have created. I have trried to use a loop and find the zeros, but I think its simpler than that. I would also like to add the functionality of triggering eery nth zero corssing since the device I am triggering has a lower max freq then my drive signal
    Thank you
    Ala
    Attachments:
    AOTTL.vi ‏209 KB

    Hi James,
    Thank you for that, Attached is  screen shot of the TTL and the analogue output. As you can see the TTL are not trigerring at a specefic instance with relation to the AO, and the pulse width varies(although this is not critical as I am triggering on the rising edge). I think the best solution would be to generate another simple waveform (WV2) at the same time of the equation waveform with the same frequency (low). Then use that signal to generate the trigger at zero crossing (WV2 labelleb in vi). Then to vary the phase with relation to the AO signal shift the simple waveform by a known phase and still trigger at zero crossing. Attached is the trigger illistration and a VI that shows the generation of the other waveform used for triggering. I have been trying to do this but to no avail.
    Thank you
    Ala 
    Attachments:
    AOTTL.vi ‏241 KB
    Trigger illustration.jpg ‏145 KB

Maybe you are looking for