Unable to use sample clock digital filter - PCI6602

I can't seem to get digital filtering of the sample clock to work on my PCI6602. I'm using DAQmx 7.4, with one of the counters configured for buffered-edge counting. Whenever I try to configure digital filtering on the sample clock (coming in on pfi10):
counterTask.Timing.SampleClockDigitalFilterEnable = true;
counterTask.Timing.SampleClockDigitalFilterMinimumPulseWidth = 0.000005;
I get the following error message when I start the task:
Additional information: Digital filtering is not available for the given terminal.
Device: Dev3
Property: NationalInstruments.DAQmx.Timing.SampleClockSource
Corresponding Value: /dev3/pfi10
Channel Name: phaseLockOscillator
Task Name: PhaseLock task
Status Code: -200772
I thought digital filtering was supported on all pfi inputs on the 6602 - so can anybody give me a hint as to what I'm doing wrong !?
Many thanks in advance,
Jony Hudson

I have the same problem with the PCI-6280., help me please!

Similar Messages

  • Digital filter design toolkit

    Me and my teacher would like to use the Labview Digital filter design toolkit. He has lot's of different CDs from Labview in his Lab. He said maybe find out if it's maybe on one of the Labview CDs we already have here The question is : Is the Labview digital filter design toolkit only on one CD, or can we find it somewhere on an other Labview CD ?

    Hello,
    The DFDT is sold sperately but it could also be bundled in a Developer's Suite. Most of the time its a seperate CD. So should check to see if you have a CD for DFDT or perhaps a LabVIEW Toolkits CD.
    Regards,
    Chetan K
    AE-NIC

  • Using an internal sample clock with a digital input

    I am using an encoder to measure angle and velocity. The example that I have started with is here. https://decibel.ni.com/content/docs/DOC-6834. The problem I am having is with the Sample clock, I get a timeout at the DAQmx read. If I remove the sample clock the VI runs fine, but I have no idea of my sample rate. Below is the the problem setup with the Sample clock inline.
    Attachments:
    encoder with timer.JPG ‏50 KB

    Hi there, a couple suggestions: first , this is a post that it is suppose to be on the DAQ board. Second, you are not being clear about the error, try to include the error code, description and its location, is it coming out of the channel node or the timing VI? Also what hardware are you using?
    Now, If you open the example called "Measure Angular Position.vi" from the NI example finder, drill the DAQmx Create Channel, you will see that you are missing a couple terminals for the task configuration, I wonder if this is part of the error.
    Alejandro | Academic Program Engineer | National Instruments

  • Can buffered digital edge detection only be performed using an external sample clock?

    I am working on an application where I need to measure the speed (rpm) of a motor as it starts up using the output of its built in hall effect sensor.  The sensor should output 2 pulses per revolution of the motor.  My plan is to count the pulses from when the counter (counter 1) is armed to when it is up to speed. Looking at the M series manual, the CVI (v8.5.1) help, and the examples it appears that this can only be done using an external sample clock.  Is there a way to route an internal sample clock to the appropriate terminal on the counter so that I do not need to add additional hardware?
    I am currently using a PCI-6289, but the final application will use a CDaq-9188 chassis (using one of the the built in 32-bit counters).
    Thank you for your assistance.

    Thank you for your input.
    However, I did forget to mention one detail of the application.  I need to buffer the edge counts so that I can graph the speed of the motor as it starts up.  I need to be able to acquire the edge counts at reqular intervals so that I can determine how fast the motor was rotating at each point.  So far I have not been able to find an example of doing this without and external sample clock.  As I mentioned, in the final application I will be using the 32-bit counters on a CDAQ-9188 chassis.  The only thing I can think of at this point is to generate a pulse out of the second counter and use that as the sample clock.  Will this work?

  • "External sample clock" and "Rate" for digital input acquisition

    Dear all,
    I want to acquire digital input (21 bits with external clock = 50 kHz) with a PCIe-6343 NI board. Using the  DAQ assistant under Labview, I selected the advanced timing with the sample clock time parametrized as External. However, it is also possible to select the Rate of the acquisition. In my case, i want to get the data at the rising edge of the external clock signal, so at a frequency of 50 kHz.  How can I do that ? I just need to put a Rate of 50 kHz ?
    thanks for your help.
    Cedric 

    Cedric,
    dddsdsds wrote: 
    [...]In my case, i want to get the data at the rising edge of the external clock signal, so at a frequency of 50 kHz.  How can I do that ?[...]
    You answered your question already. If you want to use an external clock, you have to configure the timing source of your task to be external. In order of proper buffer configuration, you should enter 50kHz as rate in addition to the external configuration, but this will not influence the speed of the acquisition (since it is "clocked" externally!)
    hope this helps,
    Norbert
    CEO: What exactly is stopping us from doing this?
    Expert: Geometry
    Marketing Manager: Just ignore it.

  • Using AI Sample Clock to Trigger Counter Samples

    My basic question is:  Is the ai\SampleClock signal only active while an analog input task is running?
    The details are:
    I have an X-series PCIe-6321 multifunction DAQ card.  It is controlling a SCXI chassis and has a SCXI-1180 and SCXI-1302 so I can control analog inputs of the chassis as well as access the 4 counter  on the card.  My application requires that I use all 4 counters to measure a frequency input signal and synchronize the samples to the analog input signals.  I have created 5 tasks, 1 for the AI and 1 for each counter.
    I am using LabVIEW 8.6.1 with the latest NI-DAQ drivers on and 64-bit Vista OS 
    1. Are there any driver or hardware restrictions that would cause this solution not to work? 
    2. Can I use the ai\SampleClock as in input sample clock for each of the frequency tasks?  If I do this will the sampling start be syncronized?  I.e. if I start each of the frequency tasks first, will they wait until the AI task is started before they start sampling?
    3. If that doesn't work, do I need to route the sample clock from the AI task to a PFI line (PFI1) and then use that as input to the frequency task sample clock? 
    I usually do option 3 when synchronizing two cards in  PXI chassis and only use the software task start in stead of of synchronizing on a digital start, since the sample clock will control the samples anyway.  I need to know if the same behaviour works with the scenario above.
    Thanks,
    Bob
    Prolucid Technolgies Inc. 
    Solved!
    Go to Solution.

    Hi Bob,
    I can confirm that the ai/SampleClock will only be active while the AI task is running.  As far as the other questions go:
    1.  You'd have to provide more information about what you looking to do exactly, but there is no problem with routing the sample clock of the Analog Input task to be used with the Counters.  I would read through the section of the X Series User Manual that discusses sample-clocked frequency measurements (starting on page 7-16) for some more information about what is actually going on during this configuration to make sure it suits your requirements. 
    The frequency of the signal to be measured should be at least twice as fast as the sample clock of your AI task.
    2.   You can indeed route the signal to all four tasks at the same time (you can refer to the Device Routes page in MAX to double-check routing restrictions).  The sampling will be synchronized provided the four counters are started before the AI task, but the counters will be armed at different times unless you configure an Arm Start Trigger (see page 7-45 of the X Series User Manual).  I would consider using the ai/StartTrigger if you wish to do this. 
    The effect of not arming the counters at the same time would be a different number of periods to average on each counter for the very first sample (assuming averaging is enabled).  This might not be a big concern but I just wanted to point it out.
    3.  The routes are available internal to the board so external routing isn't necessary, you can just specify to use the AI Sample clock for the clock of each counter and the routes will be made for you.  If you prefer to export the signal on a PFI line and route it back in on a different PFI line this option is also available to you but shouldn't be necessary.
    I hope this helps you get started.  I'd make sure to take a look at chapter 7 of the X Series User Manual if you get a chance since it describes how all of the counter configurations work in more detail.  If you have any related questions don't hesitate to post back.
    Best Regards,
    John
    Message Edited by John P on 12-01-2009 07:52 PM
    John Passiak

  • Digital external sample clock (C#)

    I am using the PCI-6225 card and trying to generate a pair of pulses using the digital lines and internal clock, but I am getting some odd/unexpected results.  Can someone explain?
    Basically what I want to do is generate a regular pulse over a (configured) set of lines.  The pulse will, typically, be 10ms wide at intervals between 900ms and 1,100ms.  The interval will only change occasionally and is usually 1 second (1,000).
    After looking at the various C# examples I created something like the following
            private DigitalWaveform[] m_digitalWaveform = null;
            private DigitalWaveform m_positiveDigitalWaveform = null;
            m_digitalTask = new Task;
            m_digitalTask.DOChannels.CreateChannel(
                "Dev1/port0/line0", "", ChannelLineGrouping.OneChannelForEachLine);
            m_digitalTask.DOChannels.CreateChannel(
                "Dev1/port0/line1", "", ChannelLineGrouping.OneChannelForEachLine);
            m_digitalTask.DOChannels.CreateChannel(
                "Dev1/port0/line2", "", ChannelLineGrouping.OneChannelForEachLine);
            // etc. ...
            // Repeat for each configured line
            double pulseSampleRate = 1000;
            int numberPulseOfSamples = 1000; // This varies between 900 and 1,100.
            int pulseWidth = numberPulseOfSamples / 100;
            int numberOfChannels = m_digitalTask.DOChannels.Count;
            m_digitalTask.Timing.ConfigureSampleClock(
                "/Dev1/Ctr1Source",
                pulseSampleRate, // 1,000 or anything!
                SampleClockActiveEdge.Rising,
                SampleQuantityMode.ContinuousSamples,
                numberPulseOfSamples);
            m_digitalTask.Control(TaskAction.Verify);
            // m_digitalTask.Done += new TaskDoneEventHandler(OnDigitalTaskDone);
            // m_digitalTask.SampleClock += new SampleClockEventHandler(OnClockSamplePulse);
            m_digitalWriter = new DigitalMultiChannelWriter(m_digitalTask.Stream);
            // Create an array of waveforms (1 per channel/line).  Each waveform being the same with the 1st 1%
            // being up and the other 99% being down.  Set the Timing interval at 1ms.
            m_digitalWaveform = new DigitalWaveform[numberOfChannels];
            m_positiveDigitalWaveform = new DigitalWaveform(numberOfSamples, 1, DigitalState.ForceDown);
            for (int sample=0; sample < pulseWidth; sample++)
                m_positiveDigitalWaveform.Signals[0].States[sampl​e] = DigitalState.ForceUp;
            m_positiveDigitalWaveform.Timing = WaveformTiming.CreateWithRegularInterval(
                                                    new TimeSpan(0, 0, 0, 0, 1));
            for (int channel=0; channel < numberOfChannels; channel++)
                m_digitalWaveform[channel] = m_positiveDigitalWaveform;
            m_digitalWriter.WriteWaveform(false,m_digitalWave​form);
            m_digitalTask.Start();
    1. First of all this only did something if the selected clock source was /Dev1/Ctr1Source.  No other clock would do, even though there are 2 clocks on the board (e.g. /Dev1/Ctr0Source did nothing).
    2. Secondly the waveform timing seemed to be ignored, e.g. leave it out or setting to something other than 1ms made no difference.
    3. Thirdly the pulse sample rate also seemed to be ignored, e.g. set it to 1 or 1,000 made no difference.
    4. Fourthly the pulse seemed to be spread over odd intervals.  Set the integer numberPulseOfSamples as follows
    NumberPulseOfSamples    Interval
    ========================================
    1,000                                9 (ish) seconds
    2,000                                18 (ish) seconds
    4,000                                36 (ish) seconds
    1,500                                6½ (ish) seconds
    3,000                                8½ (ish) seconds
    800                                   7 (ish) seconds
    Setting the number of pulse samples to a low value (500) threw an error (-200016, "device memory underflow") when stopping the task.
    Can someone shed some light on what is going on and how I can get what I want?

    I only seem able to select Ctr1Source, but this may be because (?) I have some clocked analogue input going on at the same time, so perhaps Ctr0Source is busy with this.  Unfortunately, the 2 examples of clocked digital wave forms doing a write use PipelinedSampleClock or BurstHandshake, although there are reads using a "SampleClock".  If you try to run the 2 examples you get an error
    Property: NationalInstruments.DAQmx.Timing.SampleTimingType
    You Have Requested: NationalInstruments.DAQmx.SampleTimingType.Pipelin​edSampleClock (or SampleTimingType.BurstHandshake)
    You Can Select: NationalInstruments.DAQmx.SampleTimingType.SampleC​lock, NationalInstruments.DAQmx.SampleTimingType.OnDeman​d, NationalInstruments.DAQmx.SampleTimingType.ChangeD​etection
    Task Name: _unnamedTask<0>
    Status Code: -200077
    So I guess the PCI-6225 board doesn't support them.

  • Counter Output as Sample Clock of Digital Signals

    I have a situation where I need to use a hardware counter as sample clock of digital output signals.
    How do you specify the "Counter Internal Output" signal as a sample clock of digital output?
    I want to do something like this:
      // Create counter task
      CNiDAQmxTask m_Task(_T("ATask"));
      m_Task.COChannels.CreatePulseChannelTicks(_T("Dev1/ctr0"), "", _T("20MHzTimebase"), DAQmxCOPulseIdleStateLow, 0, 10, 10);
      m_Task.Triggers.StartTrigger.ConfigureDigitalEdgeTrigger("PFI0", DAQmxDigitalEdgeStartTriggerEdgeRising);
      // Create digital output task                     
      CNiDAQmxTask m_Task2(_T("ATask2"));
      m_Task2.DOChannels.CreateChannel("Dev1/port0/line0", "", DAQmxOneChannelForAllLines);
      m_Task2.Timing.ConfigureSampleClock("XXXXXX", 0, DAQmxSampleClockActiveEdgeRising, DAQmxSampleQuantityModeFiniteSamples, 400);
    How do I specificy "counter 0 Internal Output signal" instead of "XXXXXX" above, i.e. the sample clock of the digital output signal. Can't find the name of the signal anywhere in the documentation and help files. I have a 6259 DAQ board. 
    /pek

    Thank you for your answers, but I can't get it to work.
    When I use "ai/SampleClock" as sample clock everything works correct. When I try to use a counter as sample clock the task completes imediately, before any digital signals has been sent/measured. The task even completes before I have started the trigger, which is very confusing. No error appears.
    I think that something is wrong about how I setup the counter. I use the code below:
    // Create counter task
    CNiDAQmxTask m_Task(_T("ATask"));
    m_Task.COChannels.CreatePulseChannelTicks(_T("Dev1/ctr0"), "", _T("20MHzTimebase"), DAQmxCOPulseIdleStateLow, 0, 100, 100);
    m_Task.Triggers.StartTrigger.ConfigureDigitalEdgeTrigger("PFI0", DAQmxDigitalEdgeStartTriggerEdgeRising);
    // Create digital output task
    // The code below works with "ai/SampleClock" as sample clock
    CNiDAQmxTask m_Task3(_T("ATask3"));
    m_Task3.DOChannels.CreateChannel("Dev1/port0/line0", "", DAQmxOneChannelForAllLines);
    m_Task3.Timing.ConfigureSampleClock("Dev1/Ctr0InternalOutput" /*"ai/SampleClock"*/, 0, DAQmxSampleClockActiveEdgeRising, DAQmxSampleQuantityModeFiniteSamples, 400);
    // Create samples
    CNiUInt32Vector ui_data;
    for(int i = 0; i < 200; i++)
      for(unsigned int j = 0; j < 2; j++)
        ui_data.Append(j);
    // Create digital writer
    CNiDAQmxDigitalSingleChannelWriter m_writer3(m_Task3.Stream);
    m_writer3.WriteMultiSamplePortAsync(true, ui_data);
    // Wait until task completes
    m_Task3.WaitUntilDone(-1);

  • Simulating a Digital Filter using Z-Transform

    Good evening!
    I have some sampled data logged in text (.lvm) format which I would like to perform off-line digital filtering to.
    I have a Z-transform of the form ( 1 + a * z^-1 )/( 1 + b * z^-1 ) to describe the behaviour for the given sampling rate.
    I will use the "Read from Measurement File" to import to LabVIEW as dynamic data, I can then arrange that in an array if need be.  I am just unsure of how to implement the z-transform; are there any examples performing a similar function?
    I apologise for the "can you help me?" type post but I have struggled to find information on building this.
    Any help/references appreciated!
    Peter 
    Regards,
    Peter D

    I used the "NI LabVIEW Digital Filter Design Toolkit" and the difference equation method to create my filter.  But I am getting some odd results when I apply my input data to the filter.
    I have made some notes on the VI to what I am trying to do.
    Basically trying to reduce the response time of a first-order system using filtering; the filter will cancel out the previous time constant and replace it with a new one.  I have pasted the bode plot of the system into my VI as there is no Flash on my computer to upload on here.
    I am still trying to get my head around what is happening - the noise content of my real input signal could be having an adverse effect.
    [ edit : attaching the VI ] 
    Peter
    Message Edited by PjayD on 04-14-2010 09:38 AM
    Regards,
    Peter D
    Attachments:
    Convert_LVM_Array.vi ‏223 KB

  • PCI-6229 Digital I/O sample clock problem

    Hi,
    I am using PCI-6229. I need to use digital output channel to generate 20KHz 30%duty cycle pulses.
    The datasheet shows DO sample clock frequency can be 1M Hz. But in may application, only 100KHzTimebase can work to generate. But acctually I need at least 200K Hz.
    Attached is the Vi I made. Can anyone help me with this problem?
    Thanks
    Solved!
    Go to Solution.
    Attachments:
    Digital pulse_DO Channel.vi ‏26 KB

    Hello All,
    I tried to modify the VI posted in this thread in order to aquire a digital signal with the PCI-6229. Sinc the frequency of the signal is below 1k i tried to devide the signal of ctr0 respectively of freqout by 8 or 16 since 6.25k or 12.5k sampling frequency would be more than enough for my purpose. By the way, when I am using the 100k timebase for the timing of the task the programm is working. Since i try to monitor up to 20 channels, the amount of data genereated is too much. Therefore I tried to use the modified VI.
    Sometimes, the VI works, but almost always, the DAQmx - Read VI doesn´t terminate.
    Has anybody an idea what i did wrong?
    Thank you for your assistance.
    Sincerely,
    Mirko
    Attachments:
    Digital pulse_DI Channel-1_mod.vi ‏32 KB

  • Sample Clock from Numerical Position Output of Digital Encoder

    Hey everyone,
    I'm trying to sample a voltage (pressure inside an engine) with my NI USB-6212 against a rotary encoder position (crankshaft angle). For some brief background, I'm using a producer/consumer structure and my rotary encoder has proprietary VIs from the manufacture to interface. It's from US Digital and it's an HD25A. It makes the most sense to use my rotary encoder as a sample clock so I wind up with a sampled point of pressure data for each crankshaft angle. This makes it far easier to average pressure traces together and work with the data.
    I've found quite a few threads on this (links at the end of my post) but they all rely on having a pulse output from the digital encoder which is then wired into a counter input on their board. I don't have a pulse output, my encoder is outputting a numeric value between 0 and my chosen resolution (currently 3600, so 0 to 3599).
    My question is how can I take this changing numerical output and make a sample clock pulse for each time the value changes? Does this need to be turned into a task to use as a sample clock? I'm essentially using the data acquistion program from the example program Cont Acq&Graph Voltage-Ext Clk.vi.
    Thanks in advance for any help you can lend me and my apologies if I missed a prior thread on this topic. My search-fu wasn't able to turn anything up.
    Some relevant links I found, though I couldn't quite make enough sense of them to get the fog to lift:
    http://forums.ni.com/t5/Counter-Timer/How-to-reset-a-counter-on-external-signal-in-LabView/td-p/1521...
    https://decibel.ni.com/content/docs/DOC-12106
    http://ni.lithium.com/t5/Multifunction-DAQ/Rotary-encoder-data-acquired-simultaneously-with-analog-i...

    I don't think there is anyway you are going to make this work like you think you can.  The US digital encoders I have worked with and their VI's were based on reading the current encoder count through a serial port connection.  To do what you want, you are going to need to read the encoder every time the count changes.  At 216 kHz, a serial connection is not going to be able to do that.  Even if it could, you would essentially still have some latency between when the count changed and when the VI would be able to request a reading and get a response that showed the count had changed.
    You need to use an encoder that has a digital pulse output that you could use as a sample clock on a data acquisition card.

  • Use analog input as sample clock

    Hi,
        I have a PCI 6115 DAQ card. I currently perform an
    analog acquisition on ai0, with an external clock on PFI7. But
    sometimes, my clock signal is not high enough and the acquisition does
    not occur. At some NI show, I heard a trick to solve this problem :
    plug the clock on analog input (say ai1), the clock signal gets
    amplified by the card internal amplifiers, and then route this
    amplified signal to the sampling clock. This seems to be a wonderfull
    solution, but I cannot find out to actually redirect the amplified ao1
    to the sampling clock. Does someone know how to do it ?
    Thanks a lot,
    Jérôme Lodewyck

    I tested the attached example on a simulated device so hopefully it will work on a real one without any kinks.  You didn't specify your programming environment, so I'm assuming you're using LabVIEW.  If not, hopefully you can translate to the appropriate ADE based on the picture of the block diagram. 
    In the example, I'm using an AO task to program the analog trigger as specified.  This has two consequences.  First, you won't be able to perform hardware timed AO while the AI acquisition is running.  If this isn't acceptable, you'll need to try the second approach described in the next paragraph.  Second, you'll have to wire the signal to PFI0 instead of an AI channel.  With this configuration, the signal will be seen with a +/- 10V range and referenced to AI Gnd.  Since the trigger DAC is an 8 bit comparator circuit for this board, you'll have ~80 mV of resolution.  You didn't mention what the amplitude or DC offset (if any) of your signal is, but hopefully this resolution will suffice.  You can use the level and hysteresis properties for the analog trigger to filter out noise in the analog signal or account for DC offset. 
    If the constraints listed above aren't to your liking, you can try to use a second AI channel as a trigger channel.  This has some advantages and disadvantages.  The disadvantages are that this requires you to use a trigger with your AI task and it also requires you to acquire another channel of data.  You mentioned the trigger wasn't a problem so this can probably be taken care of with simple analog start trigger.  The data can easily be thrown away, but depending on your sampling rates, it might require a lot of extra bus bandwidth or processing power when scaling the data.  On the positive side, it doesn't require you to use up your AO channels needlessly and you can apply gain to the input signal in order to effectively increase the resolution of the trigger circuit.  You can also apply a low pass filter and different terminal configuration if desired.  The gain, coupling, terminal configuration, filtering, and coupling applied to the signal is controlled by the values used in the Create Channel VI and the Channel Property node.  To create an example that does this, simply start with one of the shipping examples for an Analog Start trigger, change the trigger source to one of the AI channels instead of a PFI or APFI pin, and change the clock source to the AnalogComparisonEvent as shown in the attached example. 
    That should do it.  Good luck with your application and post back if you have additional troubles.
    Attachments:
    AI - External Clock Using Analog Trigger Circuit.vi ‏81 KB
    AI - External Clock Using Analog Trigger Circuit.JPG ‏60 KB

  • Configure digital filter for external clock

    I am trying to use a digital filter on my PXI-6602 card and I can't get it to configure for an external clock. It keeps telling me the numbers don't match up but I don't see the logic to the numbers it supports. Here is the error I got for a time base of 100 Hz and a min pulse width of 1/(100 / 2) based on the period of 2 clock cycles.
     Desired Minimum Pulse Width could not be produced.
    Minimum Pulse Width is affected by the Digital Filter Timebase Source and the Digital Filter Timebase Rate. To see how these two property settings can affect the Minimum Pulse Width, refer to product documentation for more details.
    Property: CI.CountEdges.DigFltr.TimebaseSrc
    Requested Value: /PXI1Slot2/PFI36
    Property: CI.CountEdges.DigFltr.TimebaseRate
    Requested Value:  100.000000
    Property: CI.CountEdges.DigFltr.MinPulseWidth
    Requested Value:  20.0e-3
    Supported Values:  80.0e-3 to  171.798692e6
    Task Name: _unnamedTask<49>
    I know my math is off since the filter uses the leading edge of the pulse but 0.08 seconds is 12.5 Hz and I don't get it. Other frequencies produce different but also odd (to me) numbers.
    Attached is a copy of my VI
    Attachments:
    External Clock for Filter.jpg ‏131 KB

    Digital filtering ensures that a high pulse is high for at least a certain time (minimum pulse width) in microseconds.  This is to ensure that a fluke noise signal does not count as a high pulse.  It also ensures that a voltage overshoot to the high value does not register more than one high pulse as it settles in to the value.
    The specifications of the digital filtering is outline on page 3-1 to 3-3 of the 660x User Manual, found here. It specifies on page 3-3 that there are five different settings for the digital filter minimum pulse width:
    5 µs 
    1 µs 
    500 ns 
    100 ns 
    Or, programmable with a custom tfltrclk (period in seconds of Filter Clock).  However, when using tfltrclk, minimum pulse width needs to equal to 2*tfltrclk.  Your current setup has the minimum pulse width set up for minimum pulse width = 1/(tfltrclck/2) = 2/tfltrclck rather that 2*tflrclk.
    I think you already knew all of this.  However, the Filter Clock does not equal the Filter Clock Timebase.
    If we look on page 3-3 in the manual we seed that Filter clock is actually 1/4th the speed of the Filter Clock Timebase.  
    Therefore, in your setup:
    Filter Timebase Rate = 100Hz
    Filter Clock Rate= 1/4th *100 Hz = 25Hz
    Filter Clock Period = 1/25Hz = 0.04 seconds
    2*Filter Clock Period = Minimum Pulse Width = 2*0.04=0.08 seconds.
    Which is the minimum value it was suggesting.  This will always be four times as large as what you were guessing before.
    Eric S.
    AE Specialist | Global Support
    National Instruments

  • Using a Counter to error-check External Sample Clock

    Hi all,
    I am newish to labview and am working on a data acquisition project. I've managed to get the basics under control, but here's my situation and question...
    -- I am using the S-6123 card to capture and record data on two or more AI channels.  I am using a rotary encoder to generate a pulsetrain that I am using via PFI0 as the sample clock for recording the AI data.
    -- This rotary encoder gives 720 pulses per revolution and an index pulse once per revolution.
    -- In my data acquisition, I am pulling 1440 samples at a time with the DAQmx "read" function.
    I have been experimenting with counters and can get the RPM out of the pulse trains well enough, however I was wondering...
    Is there some way to use the 2 counters on the card (and signal routing of the two pulse trains) to double-check that the 1440 samples I take correspond to two exact revolutions, and that I'm not getting ahead of or behind the rotation of the encoder due to missing clock pulses or reading false pulses. I have a couple of ideas on how to attempt to do it, but to me they don't seem very reliable or efficient, so I thought I'd put it to the experts to point out of there is a more obvious way of doing it.
    I have attached a pdf of the specifications of the encoder family, the pulses that will be output are on the right hand side of page 2.
    With many thanks in advance,
    Peter
    Message Edited by mumech on 07-22-2008 01:05 AM
    Attachments:
    REncoder Specs.pdf ‏312 KB

    Thanks very much for your reply. I had come across the use of counters with angular encoders but hadn't quite thought of the concept in this way.
    I will have to experiment a bit over the next day or to see what this is capable of, the examples seem quite comprehensive, however I'm not sure if I will run into issues due to the fact that I am using the rotary encoder as the sample clock for my analogue data.
    Would I indeed be able to compare these values (ideally check the position of the encoder after each set of data acquisition) without a "third party" sample clock common to both? (which isn't appropriate for this application)
    If I was only running at low speeds, I might be able to implement this by simply checking the position of the encoder after each read of the data. However, at higher speeds there might be synchronization issues due to the buffering of the analogue data. So when getting the measurement from the encoder counter chances are the analogue data was acquired at an earlier time.
    I know I haven't worded this very well, but how might I synchronise this error checking method?

  • Can I use a substitute for the Sample Clock?

    I have three different analog inputs coming from one device (PCI-6221).  Two inputs are running at the same sample rate while the third needs a faster sample rate and a trigger.  I have these seperated as two seperate tasks but my problem is they both use the sample clock.  Can I use a substitute for the sample clock on the third channel?
    I am running LabVIEW 8.2 on Windows XP.
    Thanks in advance for your help.
    Ron Deavers, CLD

    Hi programmindragon,
    I understand you are trying to
    configure your PCI-6221 to sample on multiple channels, while having
    different rates and triggers for the channels. Unfortunately, you can
    only configure one analog input task to run at once and all the channels in
    the task must share the same configurations, including the sample clock
    and trigger. This is due to the fact that all the channels are
    multiplexed to a single amplifier and ADC on the device. Thus, you will
    not be able to configure the two inputs at one rate and use a different
    clock rate and trigger for the third input. Is it possible to sample at the
    maximum rate on all channels and decimate the data that you don't need on the certain
    channels, as well as share the same type of triggering? Hopefully you will be able to run your application with the same configuration across multiple channels, otherwise you may need multiple DAQ devices. Please let me know if you have any further questions related to this issue.
    Regards,
    Daniel S.
    National Instruments

Maybe you are looking for

  • Flash in template

    I've created an htm page with a flash banner and it worked just fine. Then I converted the page into a template, but now if I create a new page based on that template the flash banner doesn't work. I don't get an error or empty space or anything, it

  • "APPCRASH" - Premiere Pro CC 2014.1

    Hey everyone, Recently I downgraded my 2014.2 to 2014.1 so I could continue working on a project that was started in 2014.1. That change helped. Last week, however, I got the "APPCRASH" message upon start-up of the program. I uninstalled the program

  • Can't open my file after saving.using labview 8.2.1

    Hi there, after saving my program, i can't access/ or open my program again, but my subVI can be open, this puzzled me. Can anyone help me with this. i have attach the program,. it also prompt me (this resource you are attempting to open was created

  • Clusterware upgrade patch

    Hi, we are trying to install Oracle Rac on Unix sun solaris Sparc 64 bit I have installed Oracle software base version 10.2.0.1 and applied Opatch and a patch to 10.2.0.5. Now my software is 10.2.0.5 next i have downloaded 10.2.0.1 clusterware softwa

  • Deletion of customs products in GTS

    Hi Experts we transferred for test reasons a handful of materials from ECC to GTS. Now we want to define the output format of the material number in GTS according to the settings in ECC. But the system tells me, that a change of the output format is