Pulse width conditioning

I have a square wave/pulse train (1d array). I want to reduce the pulse width. Please see the figure. Here, the green line shows the falling edge of the reduced pulse I want to create from the longer width pulse. Pleae suggest a solution
Attachments:
untitled.PNG ‏13 KB

We need more information.  How are you generating the pulse stream (LabVIEW function, SignalExpress step)?  Virtually all National Instruments products which produce square waves (hardware and software) give you a duty cycle option.  Reduce the duty cycle percentage and you should be there.
This account is no longer active. Contact ShadesOfGray for current posts and information.

Similar Messages

  • Changing the pulse width of a counter on-the-fly - ?

    I'm seeing strange behavior when trying to change the pulse width of a
    counter while it is running continuously.  Using the property node
    I can set the DAQmx Channel Properties "Low
    Time" and "High Time" when the values are
    changed by the user (see attached VI).  The first change is
    ignored initially, but then applied when a second change is made, i.e.
    the changes are applied one step late.  If I read the respective
    properties the values are what is set but not what is being
    generated and seen on an o-scope.  I added a
    condition of watching the property "Ready For New Value" before applying the
    change, but that doesn't alter the behavior.  What am I missing?
    Windows XP
    LabVIEW 7.1
    DAQmx 7.4.0f0
    PCI-6251
    Thanks,
    DTL
    Attachments:
    GenDigPulseTrain-ChangingSpecs II.vi ‏104 KB

    Alan,
    Thanks for the reply.  I don't know if I explained in well in my
    previous post, but I'll try to confuse again: The issue is that the
    property node change is reflected on the hardware (pulse output) one
    change delayed.  Example: Start the VI with time value A. 
    The user sets the time to value B, the property node read for the time
    will read value B, but the output pulse (hardware) stays at value
    A.  Then the user sets the time to value C, the property node read
    is C, but the output is now B, and so on...
    I've worked with the DAQmx Write, as the example you pointed to shows,
    and it will work properly (reflect the change immediately on the
    hardware).  If one replaces the DAQmx Write to a Channel Property
    Node it will start working as I described above (change reflected one
    change delayed).  Note: A subtle additional change is that I have
    changed everything to Time (High, Low) instead of Frequency (Duty
    Cycle,  Frequency) - ?.  Note 2: DAQmx Write doesn't bring
    out all the properties - what if I have to use a property node? 
    Do I need to "double pump" the values?
    FWIW,
    Don

  • How does Pulse Params Vi determine pulse width

    I need to know how the PulseParams vi calculate pulse width, rise/fall time? Is it based on the standard 10/90 method or something else? How does it determine what is a "valid" pulse? What is the "Delay" parameter and how do you use it?

    Hello Lancer,
    The following is taken from LabVIEW Help under Pulse Parameters:
    X is the input sequence. X must meet the following conditions:
    � The number of samples in X must be greater than or equal to 3.
    � X should have a rising edge, a plateau, and a falling edge.
    � The expected peak noise amplitude must be less than 50% of the expected amplitude.
    If the number of samples in X is less than 3, the VI sets all the pulse parameters to NaN and returns an error. If X does not contain a rising edge, plateau, and falling edge, the VI analyzes the data, assigns values to as many pulse parameters as it can identify, and sets parameters it cannot identify to NaN. The VI does not report this condition as an error.
    Note X can be a positive- or negative-going pulse. A histogram is used to determine top and base. If the difference between top and base is negative, the pulse is considered negative-going with a negative amplitude.
    If the data in X is noisy beyond the expected 50% amplitude, the VI does not have enough information to differentiate between glitches and pulse data and may assign incorrect values to the pulse parameters. Because it cannot be detected, the VI does not report this condition as an error.
    Note If the data is noisy, you can apply a median filter to the data before passing it to the Pulse Parameters VI. Refer to Noisy Pulse Analyzed with a Median Filter for more information about analysis with a median filter.
    Note When the X data is a constant value c, the VI sets the pulse parameters to the following values.
    amplitude = overshoot = undershoot = delay = duration = 0.
    top = base = c.
    risetime = falltime = slew rate = NaN.
    slew rate is the ratio between (90% amplitude - 10% amplitude) and the risetime.
    overshoot is the difference between the maximum value in the pulse and the topline.
    risetime is the time required to rise from 10% amplitude to 90% amplitude on the rising edge of the pulse.
    top is the line that best represents the values when the pulse is active, high, or on. For a negative-going pulse, top is less than base and results in a negative amplitude. For a positive-going pulse, top is larger than base and results in a positive amplitude.
    amplitude is the difference between top and base.
    base is the line that best represents the values when the pulse is inactive, low, or off and is the level closest to zero. For a negative-going pulse, base is larger than top and results in a negative amplitude. For a positive-going pulse, base is less than top and results in a positive amplitude.
    undershoot is the difference between the baseline and the minimum value in the pulse.
    error returns any error or warning from the VI. You can wire error to the Error Cluster From Error Code VI to convert the error code or warning into an error cluster.
    falltime is the time required to fall from 90% amplitude to 10% amplitude on the falling edge of the pulse.
    duration is the difference between the falling edge time and the rising edge time at which 50% amplitude occurs.
    delay is the difference between the time origin and the time at which 50% amplitude occurs on the rising edge of the pulse.
    Pulse Parameters Details
    Note The Cycle Average and RMS, Transition Measurements, Pulse Measurements, and Amplitude and Levels VIs provide more measurements than the Pulse Parameters VI, and you can configure each of those VIs.
    The waveform-related parameters are slew rate, overshoot, topline (top), amplitude, baseline (base), and undershoot. If y-axis units are volts, then slew rate has units of volts per sample. The time-related parameters are risetime, falltime, duration (width), and delay and are expressed in units of samples.
    Note The VI assumes the input pulse or pulse train has a bimodal, or two-state, distribution. Any input other than a bimodal input can lead to inconsistent results.
    The Pulse Parameters VI uses the following steps to calculate the output parameters.
    1. Find the maximum and minimum values in the input sequence X.
    2. Generate the histogram of the pulse with 1% range resolution.
    3. Determine the upper and lower modes to establish the top and base values.
    4. Find the overshoot, amplitude, and undershoot from top, base, maximum, and minimum values.
    5. Scans X and determines the slew rate, risetime, falltime, duration, and delay.
    The Pulse Parameters VI interpolates duration and delay to obtain a more accurate result not only of duration and delay but also of slew rate, risetime, and falltime.
    If X contains a train of pulses, the Pulse Parameters VI uses the train to determine overshoot, top, amplitude, base, and undershoot but uses only the first pulse in the train to establish slew rate, risetime, falltime, duration, and delay.
    Note Because pulses commonly occur in the negative direction, the Pulse Parameters VI can discriminate between positive and negative pulses and can analyze the X sequence correctly. You do not need to preprocess the sequence before analyzing it.
    If none of these suggestions help, or if I�m not correctly understanding your issue, please post the software and versions you are using, the applicable portions of your code, and any other information that may help, and I�ll be happy to look further into it.
    Have a nice day!
    Robert M
    Applications Engineer
    National Instruments
    Robert Mortensen
    Software Engineer
    National Instruments

  • Throttle body PID control using pulse width modulation

    Hello all,
    I am trying to do a PID control for a throttle body (using pulse width modulation) for a set value of feedback voltage. The process variable is the pulse width duty cycle. The throttle body is expected to be fully open at a feedback voltage of 5V and pulse width duty cycle of 42.5%.  When I use the highlight execution using the attached file, I can see the throttle body fully open (the values observed are: PID output 42.5 %, feedback voltage approximately 4.7V). However, when the highlight execution is unclicked, the throttle body flutters in the closed condition (still PID output 42.5%, feedback voltage approximately 0.9 V). Can any one please help by suggesting any modification to this attached file to make this throttle body respond to the set value of feedback voltage.
    Many thanks 
    Ajith
    Attachments:
    Throttle body control using PWM technique - PID.vi ‏525 KB

    How did you determine your P, I, and D gains? If you have not tuned your controller, you'll get poor performance. Running with execution highlighting will slow down the execution, which will change the effect of the gains. I would start with pure proportional control (I and D = 0) with a small proportional gain, and see if it responds in approximately the way you want. If so, then your code is probably correct, and you just need to do a full tuning to get good performance. There are many resources available on the web, on this forum and elsewhere, for PID tuning. Note that since your code uses a simple PID example, and not the one from the PID toolkit, the gains do not have the units that are used in many tutorials so you'll have to correct the calculations to compensate.

  • What is the minimum pulse width output for PCI7831R?

    I have a problem to generate the signal output by using PCI7831R.
    I have used Labview FPGA program and PCI7831R with my experiment.
    When I tried to output a signal which has a pulse width less than 2msec, Its pulth width becomes double or triple longer than I set.
        For example, if I set the pulse width 1msec, its output pulse width became 3msec...
                              But if I set the pulse width 2.5msec, its output pulse width is just 2.5msec.
    Internal clock is 40MHz and theoretical rate is 53.5MHz. And the cycle time of main loop is less than 0.5msec.
    (I believe those value are fine to generate the 1msec pulth width output.)
    My questions are
    -What is the minimum pulse width for PCI7831R?
    -Do you have any idea to solve this problem?
    I attached the picutre of my VI.
    (because this picture is a little old, It has broken wires. But it is fine now.)
    If conditions are all good, this VI will output the signal during "Injection Duration(micros)" micro-second.
    Thanks,

    I'm sorry I could figure out what was the problem.
    And I also find the minimum output pulse width on the catalog (12.5nsec).
    Thanks,
    Kaoru

  • In Delayed Pulse Generation vi,Problem With THE PULSE WIDTH??

    In Delayed Pulse Generation vi, I want to input a very low number for the Pulse Width while using an external timebase source. But the minimum pulse width has to be 2. Does anyone know how can I solve this problem??

    Hey 45,
    Unfortunately, there is no way to generate a pulse width smaller than 2x your external timebase.
    There is an option to create a pulse of arbitrary width of your external source if you can afford some software processing in between. What you can do is use 1 counter to measure how many source edges of your card's internal timebase (80 MHz for TIO only, 20MHz or 100kHz for TIO and STC) your external signal is. This uses pulse width measurement as the counter application. Once you know how many source edges it takes to represent your pulse, then you can use triggered pulse generation and use the internal timebase with the pulse specs set to create the exact pulse width you want (and delay) and you can use your external pulse as the trigger. Th
    is works well if your pulse is always the same width and you can measure it before hand. As an example, let's say your pulse is 20 internal timebase pulses when measured. This means you can use the pulse specs to specify a pulse width of 0.75 your pulse width by using only 15 internal timebase edges for your pulse width.
    I don't know if I was clear above or not but if you give me your exact application you are looking to achieve, I might be able to help you out. Hope that helps.
    Ron

  • Can I change the delay or pulse width on a trigered pulse on the fly in DAQmx

    In the old DAQ driver you could not change the a triggered pulse delay or pulse width on the fly of a as there was a problem in the DAQ driver or was this a hardware problem?
    Is this now possible with DAQmx , if not why not as you could do this with the old 16 bit cards in dos by updating the registers.
    This has been a major problem with NI counters timers and one would have thought that by now this problem would be fixed.We need to do this with out stopping and restarting a task.
    Any help here.
    Ta
    Colin

    Hi Colin,
    Please can you try the suggestion in this KB. hopefully it should still work with what you are doing. I can not find any information specifically on what you want to do with a triggered pulse. However this example program might give you some hints as well.
    Regards
    JamesC
    NIUK and Ireland

  • I want to create a TTL pulse. The stepper motor I'm trying to control responds to a high to low edge, when the low pulse width is greater than 0.5 microsecon​ds. What is the best way to go about creating a pulse like this?

    I'm using the NI PCI-6025E card connected to an SCB-100 wiring peripheral. I'm programming the DAQ card using LabVIEW 6.0.2 on a win95 box.
    My first attempt has yielded some surprising results.
    I created a vi with a single while loop set to true. Within that while loop is a two frame sequence. Both frames use the "Write to Digital Line.vi".
    The first frame sets the line in wire to false.
    The second frame sets the line in wire to true.
    The device channel on both frames has been set to my user defined channel nam
    e -> clock.
    clock --> sets the DIO0 channel to be digital write out.
    Using an oscilloscope and some wires I hook ground to the SCB-100's digital ground and I hook the probe to the DIO0 channel. What I see are two different pulses alternating between one another. One has a pulse width of 5ms and the other has a pulse width of about 50ms. You seem to get a grouping of one type of pulse followed by a grouping of the other type of pulse.
    Obviously this is very strange and not what I want. It is also far too slow. So I'd like to know if anyone knows how to do this properly. Remember I only need a low pulse width of 0.5 microseconds.
    Thanks,
    Any help or guidance would be much appreciated.
    Scott

    Scott,
    You don't need to use a digital line to create a TTL pulse. The PCI-6025E has two onboard general purpose counters. You can use one of these counters to create a single pulse of the desired pulse width. For an example of how to program the counters on your board, refer to LabVIEW's Search Examples>>I/O Interfaces>>Counters>>Pulse Generation>>DAQ-STC based.
    The advantage of using a counter over the digital line is that it allows you to control the timing of the pulse through hardware and not software. Thus, it is inherently faster, and the timing resolution is more accurate. The counter will count down an internal 20 MHz timebase to create the pulse delay and the pulse width.
    For more information on the hardware capabilities of your board, you can refe
    r to the User Manual online at www.ni.com/manuals.
    Hope this helps.
    Regards,
    Erin

  • External sample clock with pulse width measurement

    Dear all,
    I am using a NI 6220 board (programming with ANSI C) and would like to perform a "single pulse-width measurement" using an external gate signal and an external signal as source.
    Using the  "DAQmxCreateCIPulseWidthChan" command the program and card works only partly as intended. Namely, the external gate did work, but the card uses the internal 80 MHz time base signal instead of the external source connected to the default source pin (PFI 8).
    I tried to route another PFI pin to the default source pin using the "DAQmxConnectTerms" command but this did not help either.
    Obviously, I am missing something...
    Best, Uli
    Solved!
    Go to Solution.

    Hi Uli,
    I posted to your thread here.
    Best Regards,
    John Passiak

  • NI6602 pulse width measurement: Do I have to use an external sample clock?

    Hi
    In the .NET 4 example 'MeasPulseWidthBuf_SmplClk_Cont' it is stated in the comments that:
    An external sample clock must be used. 
    Counters do not have an internal sample clock available.  You can use
    the Gen Dig Pulse Train-Continuous example to generate a pulse train on
    another counter and connect it to the Sample Clock Source you are using
    in this example.
    I have an application running without specifying an external clock. The applications is running, but I'm not sure I can trust the recorded data. Here is the channel creation code:
                    task.CIChannels.CreatePulseWidthChannel(readTaskCounter,
                                                            "ReadPulswidthTask", 25e-9, 20e-6,
                                                            CIPulseWidthStartingEdge.Rising,
    CIPulseWidthUnits.Seconds);
    task.CIChannels.All.DataTransferMechanism = CIDataTransferMechanism.Dma;
                    task.Stream.Timeout = callbackTimeoutInMilliSeconds;
    task.Stream.Buffer.InputBufferSize = 50000;
                    task.SynchronizeCallbacks = true;
                    task.Timing.ConfigureImplicit(SampleQuantityMode.ContinuousSamples);
                    task.Control(TaskAction.Verify);
    Note that I'm not specifying any external clock.
    1) Which clock is the daq using? -It is obviously using some clock since I can collect data via this task.
    2) Do I need to change the configuration to use an external clock to achieve reliable readings - as mentioned in the 'MeasPulseWidthBuf_SmplClk_Cont' example?
    /mola
    Solved!
    Go to Solution.

    Hi mola,
    That specific example is for sample-clocked pulse width measurements.  This type of measurement is only supported on newer hardware such as X Series boards and will not run on the 6602.
    Your application that you linked uses Implicit timing, meaning that the signal itself serves as the sample clock.  That is, at the end of each pulse width that you measure, the sample is deterministically latched in.  So, you end up with a buffered array of every pulse width that is seen by the counter.
    Best Regards,
    John Passiak

  • How can I configure the CTR 1 GATE to output a pulse (10us long) and then immediatel​y take a pulse width measuremen​t?

    I'm using the BNC-2120 DAQ and LabVIEW for interfacing with an ultrasonic position sensor.  The sensor is the "PING))) ultrasonic range finder."  It measures the distance from PING))) to some object directly in front of it.  It has 3 pins (5V, ground, and a signal pin).  The 5V and ground are easily taken care of with the 5V and digital ground outputs on the DAQ.  The signal (SIG) pin works in the following way:
    1) Send a 10us, 5V pulse to SIG.  This triggers PING))).
    2) Wait 200us.  PING))) takes a distance measurement.
    3) SIG outputs a square wave with a specific pulse width. 
    The pulse width varies with the distance of the object away from PING))).  I've tried using CTR 1 OUT to generate the pulse, and then using CTR 1 GATE to measure the pulse width.  However, the measurement is stuck measuring 0V because CTR 1 OUT is on the same pin!  So PING))) tries to output a pulse, but cannot due to the fact that CTR 1 OUT forces the SIG voltage to be 0V.  So I need to use just one counter I/O line to trigger and measure.  How can I do this?

    Hi Matttastica, 
    What DAQ
    card are you using? The reason I ask is that the PFI lines on some cards can be
    used as PFI lines and digital I/O lines, while on others they can only be used
    as PFI lines. The pinouts and diagrams for our cards can be found at www.ni.com/manuals. You can accomplish
    what you are looking to do if your PFI line is a DIO lines as well.
    I would
    suggest doing two tasks, one for counter output and one for counter input.
    (Note that both these are not going to be the same line). The counter output
    will be used to do a single pulse generation, while the counter input will be
    used to read back the period. 
    This will
    work because, at first, we are going to route the line from the counter output
    to the counter input line by using a ‘DAQmx connect terminals’ (basically
    making the input line an output line for a moment). First, setup the tasks and
    the DAQmx connect, start the tasks and have the counter output do a ‘wait until
    done’ to ensure the pulse is sent. After this is done, do a DAQmx disconnect
    terminals (turning the input back from an output to an input), and then do a
    DAQmx read for your counter input (period measurement). You may look at the
    shipping examples for pulse generation and period measurement in LabVIEW (Help »
    Find Examples... » Search tab … search for examples)
    One note is
    that since this is software timed, it may not be fast enough to meet your 200us
    timing. If this ends up being the case, please look at the 6552, as it can do
    per clock cycle direction change very fast.
    David L.
    Systems Engineering
    National Instruments

  • How to generate and output 3 TTL square waveforms with different pulse widths using counters of NI 6034E

    Hello
    I just have a few questions.
     I am using the NI 6034E DAQ board in order to
    generate simultaneouly 3 different TTL digital signals, with different
    pulse width, and output these TTL signals to an external circuit that I
    am using for this application.
    The following pattern of the TTL pulses will look like this:
    01010101 01010101
    00110011 00110011
    00001111 00001111
    From
    what I understand,  I have to use the 2 counters, Ctr0 and Ctr1, to
    generate the TTL pulses that I desire, because the DIO lines are
    software timed only and I will not be able to produce a deterministic
    output period using these DIO lines.  Am I correct?    Also, do I have
    to use a separate counter to generate a separate TTL digital pulse.  I
    need 3 different TTL pulses and there are only 2 counters for this DAQ
    device.  The three generated TTL signals will be feed to an external
    circuit.  Concerning the hardware connections for my application, I
    assume that the generated TTL signals will be output from
    GPCTR0_OUT(pin 2)  for counter 0 and GPCTR1_OUT(pin 40) for counter 1
    of the NI 6034E. Is this correct?  Is there any way that these TTL
    signals can be output from three DIO lines(DIO0...2). 
    Here is some code that I plan to use in order to do this:
     #include <NIDAQmx.h>
    static TaskHandle gTaskHandle = 0;
    DAQmxCreateTask ("", &gTaskHandle);
    DAQmxCreateCOPulseChanTime (gTaskHandle, "Dev1/ctr0", "", DAQmx_Val_Seconds, DAQmx_Val_Low, 1.0, 2.0, 2.0);
    DAQmxCreateCOPulseChanTime (gTaskHandle, "Dev1/ctr1", "", DAQmx_Val_Seconds, DAQmx_Val_Low, 3.0, 4.0, 4.0);
    DAQmxCreateCOPulseChanTime (gTaskHandle, "?????", "", DAQmx_Val_Seconds, DAQmx_Val_Low, 7.0, 8.0, 8.0);
    DAQmxCfgImplicitTiming (gTaskHandle, DAQmx_Val_FiniteSamps, 5);
    DAQmxStartTask (gTaskHandle);
    DAQmxWaitUntilTaskDone(gTaskHandle)
    DAQmxErrChk DAQmxStopTask(gTaskHandle)
    DAQmxErrChk DAQmxClearTask(gTaskHandle)
    I believe this code should generate the 3 TTL square waveforms that I want for my application.
    Please provide me with some feedback.  It would greatly be appreciated.
    Thank You

     Hi,
    The NI 6034E is a multifuntion DAQ device, this means you have:
      (2) counters
      (8) DIO lines (software timed)
      (16) AI, single ended
      (0) Analog Output
     You have a couple choices here:
       1. Software timed digital output of all three signals, max 1khz loop rate, non-deterministic.
       2. Hardware timed digital output of 2 signals, max 20Mhz.
       3. Hardware timed digital output of 2 signals and software timed digital output of 1 signal.
       4. Find another NI MIO board such as the NI 6251. This board will do 10Mhz pattern generation for (8) DIO lines.
    For the hardware connection, you are correct, the output for the counters will be taken from pin 2 & pin 40.  Here's the pinout for the NI 6034E for reference:
    The output of the Counters can be routed to some of the PFI's or to the RTSI connector. You can see this in MAX
    Message Edited by Matthew W on 11-19-2007 01:24 PM
    Attachments:
    2007-11-19_131609.jpg ‏61 KB
    2007-11-19_132435.jpg ‏86 KB

  • How to generate a pulse train with different pulse width and delay?

    How to generate a triggered pulse train with different pulse width. for example, after each trigger signal, let's say 2 ms, then the counter output a pulse with pulsewidth of 1 ms, and then after 3 ms delay after the first pulse, the second pulse was generated with a pulse width of 4 ms.  Next cycle when the trigger signal comes, the same two pulses will be generated and so on. Is it possible to achieve this by using 6601 counter card? and if yes, how to achieve this? Thanks!

    Unfortunately you can not create a hardware timed pulse train with different widths on each pulse from a counter. Whilst it can be changed on the fly using software, since you require a hardware triggered signal getting the software involved will not give a huge amount of accuracy when the pulse will actually change.
    So in short you can't use your 6601 card (or a counter timer) to achieve this
    There are three possible Alternative solutions
    1 You could use a high speed digital IO device such as the (6533/34) to generate your variable signal which would require setting up the pulse train as a series of states based around the burst transmission mode where the clock would give you your specific timing.
    2 A timed analogy output (for example on a MIO card with a clock (PCI-6220 / 62xx), i.e. Not the 6704 style static analogy output cards)
    3 A high speed digital waveform card such as the (, 656x , 655x, 654x, 6534, 6533 (http://www.ni.com/modularinstruments/find_right.ht​m) ) this could then be scripted to work with your triggering and also there is a digital waveform editor which will enable you to set up the pattern you wish to generate (http://sine.ni.com/nips/cds/view/p/lang/en/nid/135​55) 
    Hope that helps
    Tim Matthews
    NI (UK)

  • Finite pulse train with variable pulse widths

    Greetings LabVIEW developers,
    Does anyone have code that can show me how to use E-series counters to generate a finite pulse train where the individual pulse widths vary? I need to generate a series of 20 pulses with the high time for each pulse randomly varying between 50 and 1000 microseconds. The low time for each pulse needs to be constant (around 50 microseconds).
    Thanks,
    Ryan Wright

    Ryan,
    Sorry, but this isn't possible with the counter/timers. I've been wanting this capability myself for about 6 years now.
    Personally, I think it's an unfortunate "hole" in product capability. The other major data acq hw allows you to capture and later replicate a signal of interest. You can capture an analog waveform with AI and later play it back with AO. You can capture a digital pattern and later play it back with timed DIO. You can capture buffered semi-periods with a counter -- but you can't play play them back later. So for your app, you'll need to generate the variable freq using timed DIO. The new M-series boards ought to work for this, or a dedicated high-speed digital board.
    There's another product that I think is even better for timed DIO though and it's put out by one of NI's "Alliance partners" -- Viewpoint systems. Here's an example of why I like it. Let's say you need to generate 20 pulses within 60 seconds. The times of the pulses need to be precise to within 1 usec, and they have no common divisors. The NI method will require you to use an update rate of 1 MHz and you'll create a buffer of 60 MB to represent the digital pattern at every usec. The Viewpoint method needs a buffer of 40 entries. Each entry is a combination of a timestamp and a pattern to generate at that timestamp. That pattern will just stay there until the next defined timestamp. So all you do is define the digital pattern at the instants when one or more bits will change. It works analogously for digital input - if you capture with 1 usec resolution for 1 minute but there are only 20 pulses (40 digital transitions), you only capture the 40 relevant timestamps & patterns instead of a full 60 MB.
    If interested, look for the PCI-DIO64 at Viewpoint's website.
    -Kevin P.

  • Pulse width measurement with FieldPoint CTR-502

    I would like to measure the pulse width of a signal (ranging from 10 ms to
    400 ms out of a signal with period width of about 1 second). I would like to
    use a fieldpoint counter module FP-CTR-502. I could find examples on how to
    measure frequency but I did not know how to alter it in order to obtain the
    pulse width.
    Thanks,
    Martien

    To measure pulse width of a fixed-period signal, you only need to use one counter, so the configuration and program would be different than the frequency measurement example. Set the count source for counter 0 to "32kHz Reference" and the gate source (and wire your signal) to "Gate Input 0." You'll also need to create a control channel to reset counter 0 (as described in the frequency example).
    Your LabVIEW program should run as follows:
    - When Gate Input 0 becomes true, do nothing
    - When Gate Input 0 becomes false again, read then reset counter 0
    - repeat
    You can use FP Advise to wait for the gate to change (just like the frequency example).
    Once you have the number of counts, you can divide that by the frequency (32 kHz) to calculate the "on tim
    e" (pulse width) of your signal.
    Regards,
    Michael Shasteen
    Applications Engineering
    National Instruments
    www.ni.com/ask
    1-866-ASK-MY-NI

Maybe you are looking for

  • Text wrap option not working..

    Lately I have not been able to use the Text Wrap function in CS3. I feel like it's worked up until recently, but now when I open the Text Wrap window there are no options listed - it's just a blank gray box. When I click on the dropdown menu on the t

  • How do I integrate Java Applet and JavaScript?

    Hi: This has been asked before, I have read the archives, yet I'm still left with some doubts, and some posts are VERY old and may not apply today. (sorry, some questions might seem stupid, this is my first applet). The purpose is to create a light w

  • VMWare ESX 4.1 - Guest memory usage

    Hi, We are running an ESX Server 4.1 with 36 GB RAM. We have installed 4 VM (Windows Server 2008 R2 and MS SQL Server 2008 R2), each defined with 8 GB RAM (1 ERP 6.0 EHP3 ABAPJAVA, 1 ERP 6.0 EHP4 ABAPJAVA, 1 Enterprise Portal 7.02 and 1 Solution Mana

  • Idoc inbound processing - Combine process codes

    Hello, i have the following problem. I receive an idoc from system a) and i want to process the idoc in the HR system and afterwards I want to forward the idoc to System B). If i use HRMD as process code for in the partner profile on the HR system -

  • Contact groups not complete in Communication Centr...

    I'm using Communication Centre 7.1.40.1 on Windows XP with SP3 in order to edit contacts on a Nokia 6300i via bluetooth. Contact groups created on the 6300i are not displayed correctly in the Communication Centre, eg. a group with 17 contacts appears