I want to measure the width of a single pulse on a line.

Hi
I want to measure the pulse width of a single pulse on a single line. the pulse width may be very low like micro seconds. Any answer plz ! kindly write soon....its urgent. I m ussing a 'Measure Pulse widh or Period VI' for this but his is not working for single pulse.
Regards
GNS

You might try using the "Measure Pulse (DAQ-STC).vi" example located in
./Program Files/National Instruments/LabVIEW/examples/daq/counter/daq-stc.llb/*.
Or if you're using a TIO board, try using the "Measure Pulse (NI-TIO).vi" example located in
./Program Files/National Instruments/LabVIEW/examples/daq/counter/ni-tio.llb/*.
gus....

Similar Messages

  • How to measure the period of each consecutive pulse in a pulse train?

    Hello all,
       I am trying to measure every pulse period in a infinite pulse train. the pulse is actually from a encoder(360 pulse per rev) connected to a varing speed shaft. The mean speed is around 6000 rpm at the highest point, and it has periodic variation, this is why I want to measure the instantaneous speed.
       I tried to use A signal of encoder (360 pulse per rev) to connect to CI Period measurement terminal and read 360 sample at a time. but it seems more than half of pulse reading are missing, which looks like that the read vi need some time to finish the measurement of every pulse before it can handle next one, cause it miss some pulse.  The A signal I injected is around 10 KHz. Does my PCI-MIO-16E-4 or DAQ 6036 capable to handle this task?
    thanks
    Feilong

    Hi Conseils,
       Thanks for your reply. I took a look on that discussion thread and started to study the "continously semi period buffered measurement.vi". I set a signal generator which gives 7 pulses once you press its trigger button to verify if that code could pick up all the resault. The frequency is set to 3KHZ.
      I also modified that vi a little bit to explicitly set DMA transfer and changed it to finite sample mode with 6 samples at a vi run.
      The min T value I input was 0.000028 s and max is 0.00042 s, which gives a engine rpm range of 400 rpm to 6000 rpm at 360 pulse per rev.
      And I input 4 into "sample to read" control.
      When I run the vi, after have signal generator output pulses, there's error:
     Error -200278 occurred at DAQmx Read (Counter 1D DBL 1Chan NSamp).vi:1
     Possible reason(s):
    Attempted to read a sample beyond the final sample acquired. The acquisition has stopped, therefore the sample specified by the combination of position and offset will never be available.
    Specify a position and offset which selects a sample up to, but not beyond, the final sample acquired. The final sample acquired can be determined by querying the total samples acquired after an acquisition has stopped.
    Attempted to Read Sample: 6
    Property: RelativeTo Corresponding Value: Current Read Position
    Property: Offset Corresponding Value:
        It looks like the sampling procedure stops before the read.vi get enough (was 4 in this case) sample. But the sample I injected was 7 in total and the finite sample property was set to 6, which should satisfy the property of number of sample to read in read.vi.
        Could you please tell me where I am going wrong?
    Many Thanks
    Feilong

  • Measure the height of an square pulse

    I'd like to measure the height of an square pulse. The pulse is 10 mus broad and betwean 0V and 4V high. The occurence of the pulse is random, so the application must be triggerd.
    I searched already the ni page and forum for matching solutions, but haven't found any so far.
    I'm using a PCI-6115 DAQ-card.

    10e4 and 10^4 are NOT the same thing.
    You wouldn't think that 1.23e4 and 1.23^4 are the same thing, would you?
    10e4 = 10 x 10^4 = 100,000
    1e4 = 1 x 10^4 = 10,000
    If you want to catch a 10 MicroSecond pulse, that would suggest a sampling rate of 100 kHz, bare minimum.
    For 5 seconds, that's 5 x 100k = 5 million samples = 10 million bytes (assuming a single channel, recording as I16).
    Depending on CPU speed, and RAM available, you could try the brute-force approach: record 5 seconds of data, then loop thru it and pick out the pulses.
    I would suggest a trial:
    1... Generate a 5-million sample array of I16 zeroes.
    2... Change a few of the samples to +1000 (or something)
    --- Now you have some phony data to play with.
    3... Record the current millisecond timer value (T0).
    4... Loop through the samples: If sample(I) > threshold and sample (I-1) is not (use a boolean shift reg.), then declare a pulse to exist at sample I. Append I to the array of indexes you're keeping.
    5... When the loop is done, record the current millisecond timer value again (T1).
    6... Subtract T1-T0 to get elapsed time. If it's greater than 2000 mSec, you can't use this approach.
    7... Compare the results (indexes of peaks) to the peaks you put in (step 2). They should be the same.
    If you can use this approach, it is the simplest to program.
    Otherwise, you will have to use a double-buffered approach:
    1... Define a CHUNK size of say, 2048 samples.
    2... Set up a continuous DAQ operation to use a buffer of 2 * CHUNK samples.
    3... Keep checking the DAQ backlog until the backlog is CHUNK or greater.
    4... Read CHUNK samples from the buffer.
    5... Search the chunk for pulses, append indexes to your results array.
    --- Don't bother to read every sample in volts - too time-consuming - read it in binary (I16). Convert the peaks to volts afterward, if needed.
    --- You need a threshold to distinguish a '1' level from a '0' level. The '0' level won't be 0.0000 volts, there will be some noise.
    --- You might be able to measure the noise during the 2-sec down time, and establish your threshold that way.
    --- The seconds approach assumes that the CPU is fast enough to process a chunk in less time than it takes to acquire one. If not, you're out of luck.
    --- You don't want the chunk to be too small, as the overhead of calling the DAQ READ will swamp the processing time.
    Steve Bird
    Culverson Software - Elegant software that is a pleasure to use.
    Culverson.com
    Blog for (mostly LabVIEW) programmers: Tips And Tricks

  • Updated to Firefox 19 from 3.6 and want to contol the width of the bookmark drop down menu

    I have a bookmark drop down that is as wide as the screen. Because of this I assume that this causes the folders to open on the left instead of the right.
    Is there something in about:con fig that I can change to control the width

    Does one of your bookmarks has an outrageously long name that you might be able to shorten?
    I don't think there is anything in about:config that governs the width of the menu or drop-down. You might need to add a style rule to a userChrome.css file or use the Stylish extension and a userstyle. In order to get specific, could you indicate whether the problem is with the Bookmarks menu on the menu bar, or the drop-down control on the right-hand end of the Bookmarks Toolbar?

  • Want to compress the width of af:selectItem

    Hi,
    I am using <af:selectOneChoice> for radio buttons and then using <af:selectItem> for each radio option. but all the options are coming in next lines , bt wht i wnt them in columns . This example explain this...
    What i m getting is:
    * asdfasdfasdfasdfasdf
    * asdfasdfasdfasdfasdfas
    * asdfasdfasdfasdfasfas
    * sdfasfasdfasasfdasdfasdf
    and
    * sdfasfasdfasasfdasdasdfasdfasdfasdfasdf * sdfasfasdfasasfdaasasdfasdfasdfasdfasdf * sdfasfasdfasadasfasdfasfdasassfdasdfasdf * sdfasfasdasdfasdffasasfdasdfasdf
    where * denotes the radio button.
    but wht i wnt is shold look like this
    sdsdffasdf        sdfasdfsdf sdfasdfdsf        dsfasdfa
    asdfasdsfdf dsfasdfasa dsfasdfads sdfasdfd
    asdfasf dsfasdfsd dsfasdfasd sdfasdfd
    whenever <af:selectItem> reaches a defined width limit text shold go on another line.
    pls suggest me some solution.
    thnx in advnc...

    You meant <af:selectOneRadio> not <af:selectOneChoice> correct?
    Another forum reader might have a better idea, but I don't see a solution with the components themselves. So an alternative solution is to do something like the following:
    <af:selectOneRadio>
      <f:selectItem itemLabel="Option 1"/>
      <f:selectItem itemLabel="Option 2"/>
      <f:selectItem itemLabel="Option 3"/>
      <f:selectItem itemLabel="Option 4"/>
    </af:selectOneRadio>...then elsewhere in the page but closely located have a description of the actual options, say in a <af:panelList>:
    <af:panelList>
      <af:outputText value="Option 1 - lots of text"/>
      <af:outputText value="Option 2 - more lots of text"/>
      <af:outputText value="Option 3 - yet even more text"/>
      <af:outputText value="Option 4 - lots and lots ot text"/>
    </af:panelList>....so in the end your radio buttons become just that, buttons with some limited text label, then the meaning of the buttons is elsewhere on the screen for the user to understand.
    CM.

  • Wiring a SCB-68 to measure the frequency of a TTL pulse signal

    Sorry if this is a basic question but could someone please help me and tell me how to wire up a SCB-68 connector block (connected to a AT-MIO-16 DAQ board) so that I can measure the frequency count of a series TTL pulses (signal from photon counting). At the moment I don't understand how the PFI1-9 connections are related to the GPCTR0/GPTR1 counter connections on the block and how they're all realted to the source,gate and out 1-5 connections on the DAQ board.
    Ultimately I want to be able to put this measured frequency into a Labview program with a controllable gate period.
    Thanks in advance
    Nick

    You might want to search the Knowledge Base on the NI's Support Pages for "Cable Mapping for a 68 Pin Connector to a 50 Pin Connector". This should take you to a link that will explain the mapping of a 50way to 68way cable and subsequent lines you are looking for ( reference sub link 68F50M), I guess you have SH6850 cable connected from the AT-MIO16 card to the SCB-68.
    Please check out the information about the pin outs, that should help you work out which pins map to the counters, eg GPCTR0_source would be pin 37 on your SCB-68
    Regards
    Joe (NI)

  • How to measure the baseline of a noisy, pulsed signal

    Hi
    I am measuring the torque exerted by a large motor on a shaft using a load cell and lever arm. The shaft runs at approx 150 rpm. I have attached a drawing that shows the output I get. This is a test rig.
    I have written some code that measures the maximum peak out of a group of approx 5 peaks and writes this to a shift register. This gives me an idea of the maximum torque "spike".
    I also wish to measure the baseline torque (due to the bearings in the machine). Even when highly filtered (my noise filter is set to 49Hz) the signal exhibits this noise which is probably due to vibration in the system. The signal is zeroed when the motor is not running.
    Does anyone have an ideas on how to measure the "baseline" torque? The large spike in torque prevents me from doing a running average. Can anyone think of a way of averaging just the noisy part of the signal to get an average value? I aim to to subtract the average baseline torque from the peak value to get an idea of the torque due to the event which causes
    the spike.
    Any help would be greatly appreciated.
    Many thanks.
    Attachments:
    drawing of torque signal.gif ‏26 KB

    Thanks for the reply. I understand what you are saying. However, I might have to modify my method for measuring the peaks if I choose to implement your idea. I have taken a screenshot of my "peak finder" code and attached it.
    Bascially, the reset terminal is wired to a timer which outputs a pulse every few seconds. This resets the vi (a standard NI one I think) and sets the peak magnitude back to zero. This way, I am windowing the signal and measuring the maximum peak in every window. This is what I need to do.
    So I could use a logical filter to feed data to the running average only if;
    the amplitude of the signal is less than a certain threshold
    and if the current value has similar low peaks either side of it
    How would you construct the code to delay the evaluation so that the values in front and behind of the current data point can be analysed?
    thanks again
    Attachments:
    peak_find_screenshot.jpg ‏45 KB

  • Hi Guys I want to measure the rpm for dc motors?

    Hi
    could you please some one help me to generate a code to convert count edge to rpm?
    Regards

    Hi,
    The method you use for doing this does depend on what hardware you are using. You need to be sure that you can sample the encoder fast enough to catch all of the digital edges.
    Please find attached a good example if you are simply using a digital input device:
    https://decibel.ni.com/content/docs/DOC-18586
    Thanks,
    Aaron
    Aaron. E
    Applications Engineer Team Lead
    National Instruments
    ni.com/support

  • Setting the value of a single attribute for multiple line items

    Hi all,
    I am working on a Web Dynpro application, I have created this applicaion for an accounting document so it has header data and multiple line item data. As per the requirement I have to put the following logic:
    1. When a user enters a value in the field KBLNR on the line item, all the other fields like cost centerm fund, functional area should populate from a database table based on the value of the KBLNR. to get this I have put the following code:
    TYPES: BEGIN OF t_kblp,
              fipos     TYPE kblp-fipos,
              kostl     TYPE kostl,
                      END OF t_kblp.
      DATA lv_kblnr TYPE wd_this->element_t_bseg-kblnr.
      DATA: lt_kblp TYPE STANDARD TABLE OF t_kblp,
            wa_kblp LIKE LINE OF lt_kblp,
            lt_bseg              TYPE STANDARD TABLE OF bseg,
            wa_bseg              TYPE bseg.
      DATA lo_nd_t_bseg TYPE REF TO if_wd_context_node.
      DATA lo_el_t_bseg TYPE REF TO if_wd_context_element.
      DATA: ls_t_bseg TYPE wd_this->element_t_bseg,
            lo_api_controller    TYPE REF TO if_wd_controller,
            lo_message_manager   TYPE REF TO if_wd_message_manager,
            lo_nd_tbseg          TYPE REF TO if_wd_context_node,
             lo_el_tbseg          TYPE REF TO if_wd_context_element,
             lt_el_tbseg          TYPE wdr_context_element_set,
             lv_bseg              TYPE bseg.
      lo_nd_t_bseg = wd_context->path_get_node( path = `ZDATA.CHANGING.T_BSEG` ).
      lo_api_controller ?= wd_this->wd_get_api( ).
      CALL METHOD lo_api_controller->get_message_manager
        RECEIVING
          message_manager = lo_message_manager.
      lo_nd_tbseg = wd_context->path_get_node( path = `ZDATA.CHANGING.T_BSEG` ).
      lt_el_tbseg = lo_nd_tbseg->get_elements( ).
      LOOP AT lt_el_tbseg INTO lo_el_tbseg.
        lo_el_tbseg->get_static_attributes(
                               IMPORTING static_attributes = lv_bseg ).
      IF lv_bseg-kblnr NE ' '.
          SELECT belnr
                 fipos
                 kostl
                 PSPNR
                 geber
                 saknr
                 fkber
                 grant_nbr
                 gsber
                 FROM kblp
                 inTO corresponding fields of wa_kblp
                 WHERE belnr = lv_bseg-kblnr and
                      saknr = lv_bseg-saknr.
            ENDSELECT.
    lo_nd_t_bseg = wd_context->path_get_node( path = `ZPRELIMINARY_POSTING.CHANGING.T_BSEG` ).
    * get element via lead selection
            lo_el_t_bseg = lo_nd_t_bseg->get_element( ).
    lo_el_tbseg->set_static_attributes(
                               EXPORTING static_attributes = wa_kblp ).
       CLEAR: lv_bseg, wa_kblp.
      ENDLOOP.
    everything is working fine but now the problem is couple of fields that I have in wa_kblp are with different names in bseg table and hence they are not updating... I tried putting the following logic within the loop :
    lo_el_t_bseg->set_attribute(
        name =  `PROJK`
    value = wa_kblp-pspnr ).
    but it's only setting the value of the first line item and not working for the multiple line items, can you please tell me how can do this?
    Thanks,
    Rajat Garg
    Edited by: rajatg on Jun 24, 2011 5:09 PM

    Hi Chris,
    I tried your code and it worked fine but after I put this code I am getting another issue. within the loop I had a code to make the fields non modifiable on the screen and was working fine but now what's happening is it's making the all the lines uneditable except the one with data on it (which is completely opposite), this is what I have coded:
    LOOP AT lt_el_tbseg INTO lo_el_tbseg.
        lo_el_tbseg->get_static_attributes(
                               IMPORTING static_attributes = lv_bseg ).
    IF lv_bseg-kblnr NE ' '.
      SELECT belnr
                 fipos
                 kostl
                 PSPNR
                 geber
                 saknr
                 fkber
                 grant_nbr
                 gsber
                 FROM kblp
                 inTO corresponding fields of wa_kblp
                 WHERE belnr = lv_bseg-kblnr and
                      saknr = lv_bseg-saknr.
            ENDSELECT.
    move: wa_kblp-belnr to wa_bseg-kblnr,
    wa_kblp-fipos to wa_bseg-fipos,
    wa_kblp-kostl to wa_bseg-kostl,
    wa_kblp-pspnr to wa_bseg-projk,
    wa_kblp-geber to wa_bseg-geber,
    wa_kblp-saknr to wa_bseg-saknr,
    wa_kblp-fkber to wa_bseg-fkber,
    wa_kblp-grant_nbr to wa_bseg-grant_nbr,
    wa_kblp-gsber to wa_bseg-gsber,
    lv_bseg-dmbtr to wa_bseg-dmbtr.
    append wa_bseg to lt_bseg.
    lo_nd_edit_property = wd_context->path_get_node( path = `ZPRELIMINARY_POSTING.CHANGING.T_BSEG.EDIT_PROPERTY` ).
          get element via lead selection
          lo_el_edit_property = lo_nd_edit_property->get_element( ).
          lo_el_edit_property->set_attribute(
            name =  `EDIT_FIELD`
            value = 'ABAP_TRUE' ).
          lo_el_edit_property->set_attribute(
            name =  `EDIT_WBS`
            value = 'ABAP_TRUE' ).
    endif.
    endloop.
    o_nd_t_bseg = wd_context->path_get_node( path = `ZPRELIMINARY_POSTING.CHANGING.T_BSEG` ).
    get element via lead selection
            lo_el_t_bseg = lo_nd_t_bseg->get_element( ).
      CALL METHOD lo_nd_t_bseg->bind_table
        EXPORTING
          new_items            = lt_bseg.
    Can you please see what I am doing it wrong here....

  • Triggered single pulse width measurement

    I am trying to measure the width of a single pulse, but would like to use the pulse itself as the trigger for a counter input pulse width read using a PXI-6608.  I would like to do this since the pulse can come at any time (much longer than any practical timeout)  and I would like to avoid having to place a DAQmx read in a while loop waiting for the pulse to appear.  Also, while the pulse is high, I would like to produce front panel feedback (light a boolean indicator).  I seem to be able to achieve that by using a digital input line, but again requires a DAQmx read in a while loop.  I haven't had much experience with triggers and my attempts so far appear to seem like triggers are not compatible with counter input pulse width measurement.  Is it possible to set up a trigger for a pulse width measurement?

    Hello kayotik,
    I think the best thing to do here is to use separate while loops. You can put most of your code in a main while loop, and then put your DAQmx read in a separate while loop. Both loops can run in parallel (just don't wire any outputs of one while loop to the other while loop, because then one will become dependant on the other). In order to pass data between the two loops, you will need to use a local variable. The DAQmx read can write to a local variable, and the main loop can read from that local variable. 
    You will also need to stop both loops with a single stop button. This article shows how (and also demonstrates the use of local variables to pass data between independent while loops):
    http://digital.ni.com/public.nsf/allkb/267704CDE91156D186256F6D00711AAE
    Colden

  • Measure a single pulse width using usb 5133

    hi im trying to measure the width of a single pulseoutpout from NI SCOPE express
    however pulse measurements.vi seems to expect more than a single pulse.
    any ideas?
    ta

    Hi Slugger,
    Can you first try this with the SCOPE Soft Front Panel (SFP) located in Start >> Programs >> National Instruments >> NI-SCOPE >> NI-SCOPE Soft Front Panel.
    This should give you the screen below:
    Please set the items as seen in the red boxes. Make sure your trigger channel is correct Mode is set to SGL and press the measure button.
    This will give you a Scope measurement screen. Please press the Add button. Select the correct Channel and then in the measurement type choose "Period".
    On the main SFP window press the run button. Does the measurement give you the reading you expect?
    I do not have a Scope card to test this yet, so I have been using a simulated device.
    Regards
    JamesC
    NIUK and Ireland
    It only takes a second to rate an answer

  • Single pulse width measurement

    Hello,
    I am trying to measure the time of a single pulse using ctr0 on a PXIe-6361.
    The input signal seen in attachment Capture7.jpg, is going to PFI 9, the gate of ctr0.
    The problem is that the counter see' s the rising edge and stops. The pulse width is not given as can be seen in the output (Capture8.jpg).
    I get the same results using Meas_Pulse_Width.vi example.
    Is something wrong with my PXIe-6361?
    Solved!
    Go to Solution.
    Attachments:
    Capture7.JPG ‏107 KB
    Capture8.JPG ‏145 KB
    Striker velocity blk_dia.JPG ‏35 KB

    Hi,
    I did pretty much the same and ran the example as well and they do work. You can try to explicitly specify the PFI line using a DAQmx Channel Property Node with a Counter Input Pulse Time Terminal property to verify if the problem is only with PFI 9 (if you use the property, you can use any PFI line even if is not the default gate for the specified counter), and even try with the other counters.
    The VI is on the 2014 version, so I included a screenshot in case you have a previous one. If you need the VI in a specific version let me know and I'll downconvert it for you.
    Camilo V.
    Applications Engineer
    National Instruments
    www.ni.com/support
    Attachments:
    Counter - Read Pulse Time (On Demand).vi ‏39 KB
    Screenshot.jpg ‏208 KB

  • How can I measure the full width half max pulse-width of a gaussian function?

    Hi I am measuring a laser pulse using a Tektronix scope and feeding that data into my labview (v 7.1) based data system on a Mac OS X computer. I want to measure the full width pulse at half the maximum peak. The included measurement VIs that come with labview and the tek scope dont seem to do the job (even though the scope itself can do the measurement). I've attached my example VI. If anyone has any suggestions that would be great.
    Thanks,
    Paul
    Attachments:
    test scope.vi ‏255 KB

    If you can display a trace on the screen, you can get the full width at half maximum. LabVIEW gives you several options:
    Use the Pulse Parameters VI to determine the width directly. This will be a width based solely on the data with no assumption as to an underlying model.
    Use the Levenberg Marquardt VI to fit a gaussian to your curve, then calculate the full width at half maximum from the coefficients. Levenberg Marquardt is a least-squares/gaussian algorithm, so is somewhat noise sensitive.
    Use one of the minimizer functions (e.g. Downhill Simplex) to construct your own fit using a different assumed error distribution. If you are unsure how to do this, check out a copy of Numerical Recipes in C by Press et. al. and read the section on data fitting.
    Do your own data based calculation. Find the peak with Peak Detector. This will give you the magnitude, but you may want to verify it with a polynomial fit (parabola is usually good enough) across the top of the peak to avoid noise problems. Then find the positions of the half-maxima on either side of the peak. The Interpolate 1D Array will probably prove useful for this.
    Choose your method depending on your pain threshold and how accurate and robust you need the result to be. Good luck!
    This account is no longer active. Contact ShadesOfGray for current posts and information.

  • LabVIEW/SignalExpress: How can I automate measuring the time between two pulses?

    Hi everyone, bit of a newbie here so please bear with me.  
    I'm a student at a university conducting a muon decay experiment with an oscilloscope connected to some photomultipliers.  To summarize, if a muon enters the detector it will create a very small width pulse (a few ns).  Within a period of 10µs it may decay, creating a second pulse.  The oscilloscope triggers on the main pulse 5-15 times per second, and a decay event happens roughly 1-2 times per minute.  I am trying to collect 10 hours of data (roughly 1500-2000 decay events) and measure the time it takes for each decay.
    I've been able to set recording conditions in SignalExpress that starts recording on the first pulse and stops recording on the last.  The Tektronix TDS 1012 oscilloscope however feeds 2500 points of data from this snapshot into a text file (for use in excel or other software).  Even if I perfectly collected the data, I would have 100,000+ data points and it would be too much to handle.  I don't know how (or if it's possible) to reduce the sample size.
    To conclude, using Labview or SignalExpress, I would like to be able to have the software
    1.  Differentiate between the single pulse detections and double pulse decay events
    2.  Record only when two pulses appear on the oscilloscope
    3.  Measure the time between these two pulses and ONLY that to minimize the amount of data recorded.
    Any help would be GREATLY appreciated, thanks!

    Hi wdavis8,
    I am not that familiar with Tektronix, but there should be a place in the dialog that you go through when you create the action step to acquire date to specify a sampling rate. That would allow you to reduce the number of data points you are seeing, but may reduce the quality of the data.
    If it’s just a matter of that much data being hard to dig through when you have that many points, you could do some analysis on the data after the fact, and then create a new file with only the data you want to look at. For example, you could identify the peaks in the data, and based on the distance between them or the difference in magnitude, selectively write data to a new file.  
    Here is some information about peak detection in LabVIEW:
    http://www.ni.com/white-paper/3770/en/
    You could also do some downsampling on the data to get fewer data points:
    https://decibel.ni.com/content/docs/DOC-23952
    https://decibel.ni.com/content/docs/DOC-28976
    Those are just a few quick ideas. 
    Kelsey J
    Applications Engineer

  • How to measure the time a pulse is high for?

    I am using Pulse measure.vi to measure the output of a comparator. My comparator output feeds to an LED. The duty cycle is 50% so the LED just flashes on and off. I want to measure the time the output is high ('ON time') and I have been getting this by just multiplying the pulse width measure by the no. of pulses but I want to modify it to measure the 'ON time' of random signals with different duty cycles...
    The aim is that I am taking in a signal and need the LED to turn on when the signal 'ON time' reaches a certain specified time.
    But before I continue with the LED I am wondering how to add up the time the signal is high for?

    Hi PinkLady4218,
    You should be able to use one of the shipping examples to do what you need, please open LabVIEW and go to Help >> Find Examples.
    From the Example Finder please go to Hardware Input and Output >> DAQmx >> Counter Measurements >> Period or Pulse Width >> Meas Buffered Semi-Period-Continuous.vi
    You will then need to deinterleave the output array as it will show high time then low time then high time then ...
    You will need to confirm the order these values appear and then you can use a function from the arrays palette and use the function "Decimate 1D Array"
    Regards
    JamesC
    NIUK and Ireland
    It only takes a second to rate an answer

Maybe you are looking for