Buffered Edge Counting 20 MHz with duplicate count prevention

Dear all,
I went through the specs of several boards (M- series, S- and E- series, 6602 etc...). It seems that these boards can count edges with duplicate count prevention on at a maximum rate <= 20 MHz (i.e., 1/4 of 80 MHz) - but maybe I have misunderstood the docs.
Is there a NI board capable of buffered edge counting with a general purpose counter for random events going at rates from 0 Hz to > 20 MHz? Do I need to look for a reconfigurable board?
Thanks in advance.

Dear Elizabeth,
Thanks for the answer.
In my application, events arrive asynchronously (actually, randomly). During the duration of a gate (namely, 1 microsecond), one expects anything from 0 to many (i.e., possibly more than 20, up to 80) events. This requires duplicate count prevention. 
I may have misunderstood the specs for M series boards, but the document:
Using Duplicate Count Prevention for Counter Tasks in NI-DAQmx
from the NI web site, for instance, states that:
"All the other timebase edges that occur while the external source input is high are ignored. If no source edges are detected between two gate edges, as shown in Figure 3, duplicate count prevention ensures that pulse measurements return zero because the external source must be logic high to allow the internal timebase to increment the count register. This reduces your maximum source frequency to quarter of the original maximum (80MHz) timebase for NI-STC II and NI-TIO boards. Therefore duplicate count prevention should only be used if the frequency of the Source signal is 20 MHz or less.
Duplicate count prevention should only be use in the following situations:
Counter measurements
The counter Source is using an external signal (such as PFI x)
The frequency of the external source is 20 MHz or less
What's your take on that?
Thanks for your time.

Similar Messages

  • DAQmx - Measuring edge position (time) with a counter ?

    Hi all,
    I have two signals that I need to study using a USB 6212 (BNC) card:
    (1) a short 0-8V signal (~500 ns) (yellow on the plot)
    (2) a long signal (~6 µs) for which I have to measure the amplitude (purple on the plot).
    The long signal (2) has to be connected to an analog input so that I can measure its amplitude. In addition, given the duration of the pulses, I need to use the max speed for the ADC conversion. That's why I'd like to use a counter for the other signal and not a second AI (it wouldn't work anyway given the short duration of the pulse (1)).
    Initially, I wanted to measure the amplitude of (2) only if the short pulse (1) occured, which is possible with a trigger on the AI channel, but in this case I get a too long deadtime and the acquisition is very slow.
    To speed up the process, I wanted to record all the data with the AI and the times at which the signal (1) gives a rising edge to post-process everything later (using a FIFO I guess).
    So my question is wether it is possible to measure the position (ie the time) of an edge of a signal with a counter ?
    The signals measured with a scope are shown on this picture:
    http://lpnhess.in2p3.fr/~bolmont/NI/outhg1.png
    Thanks a lot for your help !
    Cheers,
    JB
    JB

    Greetings,
    Please see 8-3 of http://www.ni.com/pdf/manuals/371931f.pdf
    This shows that you can use the counter to record the current value stored in the counter that is being driven by a clock. This has the upshot of creating an array that has the times of the event. To do this, you need to set the source and gate properly. These can be set first by configuring the counter to Count Edges (see DAQmx Create Channel) and then updating the CI.CountEdges.Term (in the DAQmx Channel Properties) to the channel that has your signal and SampClk.Src (in the DAQmx Timing Properties) to a known clock, such as the onboard SampleClock.
    Keep in mind, the specs for the digital ports (which I assume include the counter ports) have a maximum voltage rating of 5.25 volts, so while it probably won't make a difference, you might want to divide down the voltage to be within spec.
    Of course, there are other ways to do this. For instance, you could just sample a digital port along with your analog port and then in post processing look for edges, but I feel like this is the cleanest way to do it.
    In any event, it seems very possible.

  • Counter Input with Delayed counter Output with board 6023E

    HELLO
    Is possible with board 6023e have two counters working at same time in this case i need a counter to creat a delay and another one to read. If isn´t possible how i can have a delay in microseconds.

    Yes, each one of those boards have two STC counters you can use. Take a look at the User Manual of the boards for more information. When looking at the pin diagram for the boards, the counter pins are GPCTRx_.
    If you are using LabVIEW, CVI, VB or VC++, when you install NI-DAQ, it will install a lot of counter example programs which will show you how to program the counters.
    Brian

  • Thinkcentr​e Edge M-Series with duplicate mac address

    We have a lot of Edge M-Series all with the same MAC address appears in Bios (F1), using Windows 8.1 perhaps need to modify media access control with custome address, it's there an Bios update available or any issue to fix this ?

    Have you updated to the latest BIOS?  
    If so, then:   In device manager/network adapters, check the intel ethernet device, under the advanced tab, the ability to set the locally admin address (MAC.)

  • DAQmx non-cumulative buffered edge counting (like the PMT TTL problem) with PCI6221 in C program environment

    I have a PCI-6221. I am programming in C/C++ and DAQmx. My application is much like the previous thread counting the number of asynchronous TTL pulses from a PMT in some user specified time interval. The time interval is typically around 1 msec and the signal rates are around 1-10 kHz. So I expect to count 0 to 10 pulses per timebin. In traditional DAQ this was called Non-cumulative buffered edge counting.
    To get a clock at about 1kHz, I first create an "analogue in" task that samples at 1kHz. The only thing I use this task for is to route its sample clock to the gate of the counter. This defines my time interval as 1 msec.
    I then create the counter task. I am using count edges. So I think counter0 gate = PFI9 and source = PFI8.
    DAQmxCreateCICountEdgesChan(*taskHandle,chan,"",edge,initialCount,countDirection);
    DAQmxCfgSampClkTiming(*taskHandle,clockSource,rate,DAQmx_Val_Rising,DAQmx_Val_ContSamps,samplesPerChan);
    where clockSource="/Dev1/ai/SampleClock"
    I apply my signal to PFI8.
    After starting the task, I read an array of values with
    DAQmxReadCounterU32(taskHandle,samplesToRead,10.0,data,samplesToRead,read,NULL);
    I expect the array data to have values ranging from 0-10 for PMT input with an average rate of about 10 kHz. The trouble is that the array data does not seem to make sense. I get constantly increasing values. For very low input frequency, it just increments by one per array member.
    More troublesome, when I hold PFI8 at ground, so that I expect zero pulses to be counted at the source for each edge at the gate that occur 1 per msec, I get a timeout error. I really must be able to count zero events per bin.
    Am I doing something obviously wrong?

    Hello,
    The behavior of non-cumulative event counting is equivalent to period measurement. Additionally, the timeouts when no edges occur on your event counting terminal are the result of duplicate count prevention. In DAQ 7.4, the default behavior of duplicate count behavior should take care of this for you, but if you cannot upgrade to DAQ 7.4, I'd do a search of the discussion forums for "duplicate count prevention". There are a number of previous posts about this attribute, including this one.
    If you aren't using the second counter on your device, you should be able to use the Period Measurement 2 Counter High Frequency measurement method to get your desired values. The "Measurement Time" attribute in this case would be the "sample clock" (1 kHz in your example). Then just raed the data raw to get counts rather than scaled.
    If you'd like to do it using the AI timing engine. Configure a 1 counter period measurement task, use "clockSource" as your input terminal and use your PMT TTL pulses as the "Counter Timebase Source". Then read the data raw, since the scaling will not be appropriate for your needs.
    I hope this helps!
    gus....

  • Buffered edge count FIFO overflow even at very low rates

    Dear Forums,
    I am trying to use a PXI-6608 to timestamp the sample clock of a PXI-4498 during analog input. Because the sample rate will be on the order of 20KHz, I want to use a pulse generation task on one counter to divide it down by a factor of 1000, then use that pulse as the gate and the 10MHz clock on the 6608 as the source in a buffered edge -- I expect about 20 edges per second, which should be very manageable to retrieve over DMA.
    The result is that I get error -200279 ("attempting to read samples no longer available") immediately after the vi starts, before I have retrieved even one count.
    This is my first stab at using DAQmx for counter/timer instead of the old DAQ drivers, so I'm sure I've done something wrong, but I can't figure out what.
    I've attached the vi if that helps.
    Thanks!
    Cas
    Solved!
    Go to Solution.
    Attachments:
    simplified chassis test.vi ‏314 KB

    It appears that you have your gate and source backwards.  The sample clock should be ctr0internaloutput and the count edges terminal should be the 10 MHz clock.  You are getting the buffer overflow error because the FIFO on the card is only 2 samples and at 10 MHz these are being rewritten was faster than a computer could possible pull them off the card.
    Doug Farrell
    Product Manager - Condition Monitoring
    National Instruments
    National Instruments Condition Monitoring

  • Showing Duplicate records in a report with the count of their occurrence

    Hi Members,
    I am novice to BI. i need your suggestion to achiever one of the functionality. A report is required to be built with columns Incident ID, Task ID, Task Name. The Original report is below:-
    In the above report I have to display only duplicated records once. Distincat records are not required to be shown. That is, if the same no. of Task Name is associated with the same Incident ID then it should be displayed once with the count of their occurrences in a separate column say , Count. For example, the Task 'TASK_MANUAL_KCI'  got 4 times associated with the same Incident ID INC000000001434. Then the report should display this task one time in a report with count 4. Similarly, for INC000000000943 where task 'IPCG Diagnostic Template' got associated 2 times. The Count is 2 for this task.
    Other records should not be displayed in a report.
    Would highly appreciate quick response. Please suggest.
    Thanks,
    Neha Pateria

    I tried this Gill, but result is bit different :-
    Seems some little modifications are needed. Report should be displayed like the below one where it says how many times the same Task is associated with the same incident. Eg. Task 'TASK_CIRCUIT_RESOLVER' is associated with the incident 'INC000000001434' 4 times. 'IPCG Diagnostic Template' is associated with  'INC000000000943' 2 times. Similarly for other records.
    But I really thankful to you for giving me the logic proceed further. I tried  '=RunningCount([Task Name]; Row; ([Task Name]; [Incident ID]))'. It gave me desired results. :-
    But the only thing that needs to be done is to bring the single Task associated with the Incident..
    Thanks,
    Neha Pateria

  • Textare with character counter versus textarea with html editor

    Hi
    I am using a textarea with html editor. I need to restrict the user to not type more than 25000 characters? Can someone tell me as to how I can do that?
    I know that one can set the maximum width for textarea with character counter and it prevents one from typing in more than the maximun specified, but I really need to use the html editor. Thanks.
    suni

    This is caused by the charCount javascript function, which dynamically sets the text colour to 'red' when the maximum number of characters is entered, but "resets" it to 'black'.
    Guess the way to avoid this is to create your own equivalent of the charCount function that captures the actual colour from the DOM and attach it to a textarea using the onchange and onkeyup attributes used in the built-in one.

  • Count edges with 6036e

    Hello !
    I am currently trying to count photons with a PCMIA 6036e. 
    I have to detect a TTL signal ; each photon correspond to a pulse. So I tried to count rising edges, since one rising edge = one photon. I want to use either digital line or counter. Moreover, I have to count the rising edges for a limited time (typically 1s).
    I have tried several VIs, but none of them work. I either don't have an error message, but only 0 as a result, or an error message saying data were overwritten before they could be read.
    The problem does not come from the card, since it can count the rising edges in MAX. I have also tried examples such as "count digital events", but they give me the same error.
    I would appreciate any help !
    thanks,
    Camille

    Hello,
    Check carefully the wiring of your signal to the DAQ board; there is to main input for counter application, the source and the gate. Depending on the measurement you do, you have to wire your signal to the gate or to the source. In your case, the acquisition type should be a simple event counting. Using CTR0, the input signal should be wired to PFI8 (PFI3 for CTR1).
    The specification of the PCMCIA-6036E mention that the minimal pulse duration you can handle is 10ns in edge detect mode. If the pulse you measure  are shorter, you will not be able to see it.
    Regards, 
    .mrLeft{float:left} .mrInfo{border-left:solid 1px #989898;font-size:x-small;color:#989898}
    Mathieu R.  
      CTD - Certified TestStand Developer / Développeur TestStand Certifié  
      CLAD - Certified LabVIEW Associate Developer  

  • Count edges with hardware reset

    Hello all,
    I have a PCI-6220 and I would like to configure a counter to count edges with a hardware reset or use my counter to measure linear position without the B input, after words, only with the A input to count edges and the Z input to make the initial position.
    Somebody knows how?
    Thanks in advance, best regards,
    Paulo Carmo

    Duplicate Post
    John Passiak

  • Export Transaction Data to the File with the Counts in first Calumn

    Hi All,
    i have exported the transaction data to CSV Flatfile via Data Manager Standard Package "CPMB/EXPORT_TD_TO_FILE". And It was successful.
    But I need now a Flatfile with the counts in the first calumn. How can I get it in Transformation File? Is it generally possible? or in Script Logic?
    I would be grateful  for every entries.
    Alisher
    Edited by: Alisher Babaev on Aug 17, 2011 12:58 PM
    Edited by: Alisher Babaev on Aug 17, 2011 1:29 PM

    Hi Alisher,
    You are refering to transformation file for record count. But in transformation file we mention the IDs which are displayed in some other format and we want to change them to the other.
    In your case, would like to know, do you have some property in dimension which displays the record counts? If you have then you can design it using transformation and conversion files. But incase you dont have any such property then you can not add new column in the export file.
    Hope this clarifies.
    Rgds,
    Poonam

  • Problems with external counter direction

    I have a DAQPad-6015 attached to a SC-2345, in slot 19 of the SC-2345 I have a SCC-CTR01.  Within MAX I have created a task to retrieve the counter information but because there is no option of a SCC-CTR01 I have configured it as a SCC-FT01.  Attached to the "SCR" input of the SCC-CTR01 I have a signal generator and on the test pannel I can see the counter count the edges as I wanted.  My next step is to externally control the direction with the "GATE" input on the SCC-CTR01 and have had no luck.  I am able to see the TTL signals from the SCC-CTR01 on the green connector stack, I can see the signal generator out on PFI 8 and I can see the "GATE" switch on PFI 9.  I am also able to switch the count direction by tieing P0.6 to 5 volts when in the mode of "Count Direction, Externally Controlled" is selected.  I am not able to connect PFI9 to P0.6 as there appears to be another output tied to P0.6.  Where do I go from here?
    Ken

    Hi Ken-
    The code snippet in that KB shows how to use a DAQmx Property Node to override the default direction terminal in case you need an isolated input terminal for your count direction and are using an M Series device (which features configurable counter terminals)
    I'm assuming you are using an E Series device judging by your P0.6 query.  To answer your question, Yes- you can use pin 16 on the built-in breakout area of the SC-2345 carrier to externally control the count direction of your counter.  There is no need to tristate the line as long as you specify "Externally Controlled" for count direction in your DAQ Assistant settings.  If you still require an isolated input terminal for the count direction you could use an SCC-DI01 module to interface directly with P0.6.  All of this information is available in the KB you mentioned.  Please let me know if you need additional clarification.
    Thanks-
    Tom W
    National Instruments

  • Problem with record count...

    Hi,
    I try to solve one problem with count. This problem occurs when I getting multi records that I need to count. Take a look on the following query:
    SELECT INVOICE,COUNT(INVOICE)
    FROM TABLE WHERE ADDR =
    (SELECT ADDR FROM TABLE
    WHERE DELEVERY = 'DD'
    GROUP BY ADDR||POSTDT
    HAVING COUNT(DISTINCT ADDR||POSTDT) > 1)
    GROUP BY INVOICE;
    I expected to see each invoice with total count invoices that have been delivered to the same address and date. But it's give me only invoice and count 1(itself), regardless if two or more invoices have been delivered to the same address and the same date. I think, that I just lost myself in this query. Hopefully I gave enough information.
    Thanks in advance,
    Alex

    Hi Alex,
    there are a couple ways to code this. Just two of them:
    SELECT t1.INVOICE,
           t2.total
    FROM   TABLE t1,
           (SELECT   ADDR,
                     POSTDT,
                     count(*) total
            FROM     TABLE t2
            WHERE    DELEVERY = 'DD'
            GROUP BY ADDR,
                     POSTDT
            HAVING   COUNT(*) > 1
    WHERE  t1.ADDR   = t2.ADDR
    AND    t1.POSTDT = t2.POSTDT
    SELECT t1.INVOICE,
           (SELECT   count(*)
            FROM     TABLE t2
            WHERE    DELEVERY = 'DD'
                     t2.ADDR   = t1.ADDR
                     t2.POSTDT = t1.POSTDT
            GROUP BY ADDR,
                     POSTDT
            HAVING   COUNT(*) > 1
           )  total
    FROM   TABLE t1

  • Problem with message count

    hello ,
    I have problem with message count, in my inbox there are more than 0 messages but i got result of
    Folder inbox = store.getFolder("Inbox")
    int c =inbox.getMessageCount()
    of c is 0
    i.e i got c as zero rather than 5.

    I am seeing the same thing and I agree with MathiasF's observation.  My count seems to increase when I do a search for mail on the server.  This has happened previously (iOS 5.x) but ending the Mail app always fixed it.  The only way I can correct the count now is if I turn off sync for Mail on the Exchange account and re-enable.  This clears my mail and causes my phone to go out and redownload.  Rebooting and resetting the iPhone has not helped.
    I'm on Sprint - 32GB White iPhone 4S running iOS 6.0 (10A403)

  • Problem in finding the Duplicate as well as Non-Duplicate count

    Hi,
    I have a scenario where I have a table TABLEA which has 3 values
    10 ABC
    10 ABC
    20 DEF
    I want to pick up the duplicate count as wel as non duplicate count:
    I have used the following query:
    SELECT COUNT(*) FROM TABLEA A WHERE A.ROWID > ANY (
    SELECT B.ROWID FROM TABLEA B WHERE
    A.CODE=B.CODE)
    But I am finding problem in getting the non-duplicate count .
    Any help will be needful for me
    Edited by: user598986 on Sep 23, 2009 11:32 PM

    user598986 wrote:
    Hi,
    I have a scenario where I have a table TABLEA which has 3 values
    10 ABC
    10 ABC
    20 DEF
    I want to pick up the duplicate count as wel as non duplicate count:
    I have used the following query:
    SELECT COUNT(*) FROM TABLEA A WHERE A.ROWID > ANY (
    SELECT B.ROWID FROM TABLEA B WHERE
    A.CODE=B.CODE)
    But I am finding problem in getting the non-duplicate count .
    Any help will be needful for me
    Edited by: user598986 on Sep 23, 2009 11:32 PMHi,
    perhaps this query makes your job:
    HR: XE > select * from test_;
    NAME           SALARY HIRE_DATE START_DAT END_DATE
                          15-SEP-09 15-SEP-09
                          15-SEP-09 01-DEC-09
    john                  27-AUG-09 16-SEP-09 16-SEP-10
                          28-FEB-09 20-SEP-09
    Dave                2 17-JUN-08 16-SEP-09 02-JUL-11
                     1000 21-AUG-82 08-MAY-10
    6 rows selected.
    HR: XE > select count(hire_date), hire_date from test_
      2  group by hire_date;
    COUNT(HIRE_DATE) HIRE_DATE
                   1 27-AUG-09
                   1 21-AUG-82
                   2 15-SEP-09
                   1 28-FEB-09
                   1 17-JUN-08
    HR: XE > select count(id), id from
      2  (
      3  select hire_date, 'simple' id from test_
      4  minus
      5  select test_.hire_date, 'simple' id
      6  from test_
      7  where test_.hire_date In (Select hire_date FROM test_  GROUP BY hire_date HAVING Count(*)>1 )
      8  union all
      9  select test_.hire_date, 'double' id
    10  from test_
    11  where test_.hire_date In (Select hire_date FROM test_  GROUP BY hire_date HAVING Count(*)>1 )
    12  )
    13  group by id;
    COUNT(ID) ID
             2 double
             4 simple
    HR: XE > Regards,
    Ion

Maybe you are looking for

  • Problem with SPAU Transports after Upgrade and after applying SAPKW70016

    Dear All, we copied old dev to new QA, upgraded new QA, then copied new QA to new DEV. did the SPAU adjustments in DEV.  At that time DEV SAP_BW version was SAPKW70015.  After that we applied SAPKW70016.  Now we're having problems with the SPAU trans

  • Question about overwriting PDFs

    I'm having a problem overwriting PDFs from InDesign or Illustrator. This isn't the same issue people are having where they're prompted that the file cannot be overwritten. I can save over the file no problem. The issue is when I open it, the old vers

  • InDesign to editable pdf

    hello. I have a brochure made in indesign cs5. i want to export this brochure to pdf, but the text fields to remain editable in reader. is that posible? how can i do that? i understand that the touch up tool want work because it's not available on re

  • Is Firefox working on the OS BADA for the Samsung Wave II GT- S8530?

    I posted this 3 months ago in your Mobile forum: Hoping for a feedback from someone at Firefox. So far nothing. Can someone respond? Is Firefox working on the OS BADA for the Samsung Wave II GT- S8530? Any guess if there is something in the works for

  • Deploy own Web App on a Oracle 9i with E-Business Suite

    Hi! I have an existing 9iAS that is hosting Oracle E-Business Suite 11.5.9. I need to deploy an additional web application there. My question is, is OC4J hosting eBS? If i deploy the web application, is it as easy as dropping a war file there? I hope