Time measurement on ni-9172

Hi, I want to capture internal (ni-9172) timer/counter value by sequential pressing of two buttons (both pulled up by external resistor) connected on ni-9401 module. The goal is reaction time measurement.
I know how to do this using some microcontroller, but I have no idea how control and use internal timebase of ni-9172 for this purpose.
My idea is to start counting after software command and capture state of internal free running counter by pressing external buttons. Is this possible ? I have looked on examples and the most close to my needs was  Two edge separation measurements. Unfortunately this example assumes to input complete periods on least one of input terminals.
I'm sorry for my terrible english ;-).
Thank you for your help.
CUA

Hi CUA,
to access the counter on your cDAQ-9172, you need to enable the internal counter.
You can do this by setting up the I/O name filtering (right click the I/O name constant/control):
and next check "Internal channels" (see attached picture):
Now you should be able to use the internal counter.
You can use the DAQmx Channel property node to set up the input terminal to timebase clock for example.
Probably the best solution then would be buffered reading using the digital input of your card as timing signal for reading the buffer.
If you have any further questions, please do not hesitate to ask!
Best regards,
Jano
Attachments:
filter names.JPG ‏29 KB

Similar Messages

  • Time Measurement in a While-Loop

    Greetings gentleman;
    I am a little bit new at Labview, and though i searched for an answer without posting, i was not able to find one.
    So here is my question, i would like to know how can i measure time of a loop sequence, in other words, how much time does my VI take to execute the whole main loop ?.
    A little explanation, the attached VI tries to be a Markov Chain, it takes some values in the first case structure depending of the previus loop, then, if the values are correct, it goes to the next step and so on. It is quite simple, yet, my issue lies with the time measurement. Since this is a probability "distribution" it could take infinite time to execute one single loop if it does not meet the requierements, but is programmed to meet them so an average timing should work.
    So, if you look at the While loop, the big one, that i would like to measure how much time does it take to do one round.
    Thanks for the help, i would be glad to read some ideas on how to measure that.
    Kind regards,
    Stgo.
    Solved!
    Go to Solution.
    Attachments:
    Markov Chain.vi ‏30 KB

    You can find a few examples in the NI Example Finder by searching for 'speed test' or 'benchmark'.
    Essentially, you create a flat sequence structure inside your while loop. In the first frame, you measure the current tick count. In the middle frame, you run your code. In the final frame, you measure the tick count again, and subtract the first count from this. This gives you the execution time to run the code.
    You can see a community page on it here.
    There's a high resolution tick/time count VI hanging around somewhere which is excellent for benchmarking and improving efficiency, used in place of the Tick Count (ms) primitive.
    Edit - remembered where it was
    https://decibel.ni.com/content/blogs/EvanP/2010/10/04/tick-count-us--microsecond-timing-granularity-...
    CLD

  • Prompt on time measure

    Hello,
    I'm working with AGO and ToDate function on "Total Sale", on different time measure (month & year) , but it's impossible to display together "Total Sale AGO" and "Total Sale YTD" but I can see "Total Sale AGO" or "Total Sale YTD" separately;
    the error is:
    "Error Codes: OPR4ONWY:U9IM8TAC:OI2DL65P
    State: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. [nQSError: 59014] The requested column does not exist in this table. (HY000)
    SQL Issued: SELECT "Dim Canale"."Descrizione Beneficiario" saw_0, "Dim Tempo"."Anno Mese" saw_1, "Dim Tempo".Anno saw_2, Misure.AGO saw_3, Misure."Importo Provvigione Lorda YTD" saw_4 FROM Provvigioni WHERE "Dim Tempo".Anno = '2007' ORDER BY saw_0, saw_1, saw_2"
    Can someone help me?

    hi,
    i got the same problem mentioned above.
    i am getting same error...as....column not found.
    my source column name....first_refill_date. this column is existing in both business model and physical layer.
    i applied Month() function on this column and named as Refill_Month and then copyied to presentation layer...both columns...(1) first_refill_date (2) Refill_Month
    when i am creating a report using both columns....its giving error...that the Refill_Month column was not found..
    Is there any restriction in using date/time functions?
    if apply other aggregate functions, its not giving any error.
    can somebody, shed some light on this issue?

  • To build 2 real time measures in RPD

    Hi,
    I want to know, how to build 2 real time measures in RPD by using Session and Repository Variables in the expression?
    With Regards,
    Sumedh

    Hi ,
    Is this an ODI question or OBIEE one ?
    For OBIEE , post your query in Business Intelligence Suite Enterprise Edition
    Thanks,
    Sutirtha

  • Linking Time/Measurement unit to infotype 0040

    Hi All,
    In infotype 0040 - Objects on Loan, the unit currently defaulting is just "PIECES". I have a need to add more units.
    I have created another unit in config [SPRO - Personal Mgmnt - Personal Administration - Basic Settings - Create units of Time/Measurement], but have not been able to find how to link this new unit to infotype 0040.
    Could anyone please let me know how I would be able to acheive this ?
    Thank you,
    Satish

    Hi Satish,
    Add that measurement unit as a permissible unit for IT0040 via table V_T538C.
    Regards,
    Dilek

  • Stop time measurement

    Hello, I have a vi that measures speed in rpm. How can I add stop time measurement in it.
    I want it to start counting when the speed is below to a desired rpm and stop at zero.
    Thanks in advance!!!
    KowdTek
    LabVIEW 2009
    One Step At A Time, Maybe Two...

    I would just use the Tick Count (ms).vi.  Call tick count when you want to begin counting and call tick count once again when you want to stop counting.  Subtract the first value from the second value to find the elapsed time in milliseconds.  Then convert to whatever units you want.
    Brian R.
    District Sales Manager
    Washington DC
    National Instruments

  • File transfer time measurements

    Does Oracle have any documentation on file transfer time measurements? I’d like to present such documented information to a customer in hopes they will opt to use Content Services.
    Thanks!

    regarding transfer time
    2 hours for 50 gigs is way to long. Assuming firewire 400 with actual real world through put of say 200 mgbit/s you should be able to transfer 50 gig in a little over a half hour. but you should get higher throughput out of firewire than that, so there is something wrong, unless I have royally screwed up the math.
    regarding heat:
    some people are claiming that their machines run cooler after reseting their PMU (power management unit). see this thread:
    http://discussions.apple.com/thread.jspa?threadID=419005&tstart=30

  • How do I use a counter for time measurement with NI-DAQmx and C++?

    Hi,
    I need my C++ program to read time (number of elapsed ticks) using the counter on PCI-6229. I had this written and working for the non-MX driver, and now I need to re-write it for NI-DAQmx.
    Here are the steps that I want to accomplish:
    1. Route the 80MHz timebase to the input of "Dev1/ctr0"
    2. Start the counter and let it count the ticks.
    3. After a while, read the number of ticks from the counter.
    Here is how I am trying to do it now (without success):
               DAQmxCreateTask ( "" , &taskHandle ) ;
               DAQmxCreateCICountEdgesChan ( taskHandle , "Dev1/ctr0" , "" , DAQmx_Val_Rising, 0 , DAQmx_Val_CountUp ) ;
               DAQmxConnectTerms ( "/Dev1/80MHzTimebase" ,  "/Dev1/Ctr0Source" , DAQmx_Val_DoNotInvertPolarity ) ;
               DAQmxStartTask ( taskHandle ) ;
               then DAQmxReadCounterScalarU32 ( taskHandle , 0.25 , &curCount , NULL ) ;
               and DAQmxClearTask ( taskHandle ) ;
    No errors are generated, but I do not see the tick count being incremented when I repeatedly read the counter.
    Advice will be greatly appreciated!!

    Hi Peter,
    Welcome to the forums!   I just want to make sure I understand what you are trying to do.  You would like to count the rising edges of the 80 MHz clock using DAQmx in C++.  In order to route the timebase to the counter, you need to use the signal name (PFI8) instead of the counter (Ctr0Source) for the counter source input.  This name is found in Measurement Automation Explorer (MAX) by right-clicking on the device and choosing “Device Pinouts.”  This will physically put the 80 MHz clock on the PFI8 line, so make sure you reset the device or disconnect the terminals after you are done. 
    That being said, may I ask what you are trying to do by reading the number of elapsed ticks?  If you are trying to monitor a hardware timed pulse, it would be better to count the frequency or period of that pulse.  This would provide better accuracy, because you are not relying on how fast DAQmx Read can poll the hardware.  If you are simply looking for a software based timer, I would recommend taking a look at this MSDN forum post. 
    Using the GetTickCount function instead will free up your counter and provide comparable accuracy to counting the edges of the timebase.
    I hope that helps you out, let me know if you have any further questions about this. Good luck with your project.
    Rod T.

  • VI time measured through the profile performanc​e

    Hi all,
    My app works not so fast as usual and I decided to measure time with the profile performance tool. But times in a report are much less then the real times. What is the matter?

    Sorry for long silence. Here are my subVi's in attached files. They are parts of the big project and will not work by themselves. The subvi's work with one queue at the same time, but GetData.vi completes 100 while loops pretty faster than Dequeue&Graph.vi. It must be noticed that FastCorrection and Statistic connectors for Dequeue&Graph.vi were False during examination. When GetData.vi had stoped after 100 while loop cycles, Dequeue&Graph began to work faster, and I set this vi's to be executed in separated threads. But nothing have changed.
    Screenshot is attached also. Waiting for you comments.
    Attachments:
    GetData.vi ‏46 KB
    Profile.jpg ‏86 KB
    Dequeue&Graph.vi ‏62 KB

  • How to measure the time of evolution of a signal in a graph and to compare this time measured with a known value?

    For my application, I am obliged to measure the time of evolution of a signal acquired (from T1 to t2) by an analogical entry of a module NI 9203, and to compare this value with a value known in order to judge if this time of evolution is correct or not.
    PLEASE I prefer an example for better understanding.

    Greetings Jacob,
    I am not sure what you mean with 'time of evolution' but normally you acquire at a certain acquisition rate. How much time that has passed, you can calculate by checking how much points are between your two points of interest.
    If you are acquiring at 5Hz, the time between every point is 200ms. If there are let's say 10points between your two points of interest, 2s have passed.
    Regards,
    Wouter
    National Instruments

  • Measurement studio plot data vs. date/time (Measurement studio for Visual Basic 6)

    Hi, I'm trying to do something that should be simple and appears totally possible but I can't get there.
    I'd like to plot some data on the y axis vs. the date/time on the x-axis.  I've looked at the samples, and tried modifying the chart properties but I'm doing something wrong and can't get it properly.
    Any chance someone has a very simple example of plotting a few points vs. date/time that they can share?
    Thanks for any feedback!!

    Hey Larrymcd,
    What format is your date/time currently in? That might help us find the best way to do this. I was able to find a few examples of plotting a graph with time on the X-axis:
    http://forums.ni.com/t5/Measurement-Studio-for-NET/Measurement-Studio-Graph-to-plot-with-time-scale/...
    http://digital.ni.com/public.nsf/allkb/FFC867DDE42029BA8625760300477BEB
    http://zone.ni.com/devzone/cda/epd/p/id/3334
    Hopefully some of these can point you in the right direction. If you have any more questions after checking those examples out, please let us know!
    Daniel E.
    TestStand Product Support Engineer
    National Instruments

  • Triggering Elapsed time measurements

    Hi everyone, can anyone help me with this problem?
    I am trying to create a system for measuring the time between triggers
    from my oscilliscope as part of a larger program. I have implemented a
    while loop, which aquires data from the oscilliscope for each
    itteration of 'i'. The visa commands in this include a 'wait for
    trigger' VI, which only allows the aquisition to occur, and hence 'i'
    to increase, once the oscilliscope has triggered from my experimental
    data. Hence, theoretically every cycle of my system is captutured.
    I have used an 'elapsed time' express VI to measure the time that the
    program has been running for. However, i want this VI to reset every
    time my while loop iterates to give an exact measure of the time since
    the p
    revious trigger. The input for resetting appears to require a
    boolean pulse to do this, as the conection of a boolean constant cause
    the time data to be permanantly reset. My oscilliscope drivers do not
    have any kind of boolean output for this kind of syncronisation. Does
    anyone know a way in which i can produce such a boolean pulse every
    time my while loop itterates?
    Please could you reply to this group as my registered email is no
    longer valid
    Thanks
    Tom

    See your other post

  • Clip Time Measurements?

    Having recently come from a Sony Vegas NLE environment, I'm lovin' Premier Pro (ver 4.1) but I greatly miss one Vegas feature that I have not been able to find in Premier.
    That is, to sweep out a portion of the timeline to determine its length.  For example, to find out the length of music fill needed between two marker points.
    So far the only way I have be able to determine such durations is to position the cursor and the end and the beginning points and subtract the Timeliine Counter values, but that is a bit of a cumbersome and messy way to have to do it.
    I have tried every Shift/Control/Alt key combination with cursor click and drag operastions, but nothing does what I want.
    Is it possible to somehow measure the time span between two points on the timeline?
    Much thanks for any answers!

    Ken,
    When I first got into video (though I had extensive experience in cine), I did pretty much the same. The manual (they were actually printed on paper back then) was the first thing that I went through, even prior to installation. A lot of it made sense, but NLE work was different, than what I had done with film. The terms had changed in many instances, and there were so many new ones, that were alien to me. Installed and poked around. Back to the manual with the program open. Hey, now some things were perfectly clear.
    I did a few simple Projects and struggled though them, with the manual close at hand. After a half-dozen of these, I reread the manual from front to back again. A lot more was sinking in. That program did not have a CiaB, and Lynda.com did not have any lessons on it at the time. Back to the personal Projects, and I kept adding things, until I finally felt comfortable. That program did have a pretty good forum, though like this one, most of the posts were on installation and launch issues. Still, there were some good posts on actually doing something in the program.
    Out of the blue, a still, advertising client approached me with a video Project. Luckily, it was simple and not unlike your starter Project. I took a big breath and accepted the assignment. Luckily, the timeframe was very lenient and the client was willing to view a lot of "rushes." Wow, I was having fun. It was like the old days in the edit suite, but on my laptop. Things were so easy, compared to the "good old days." The rest, as they say, is history.
    With PrPro, I did have the CiaB series, and they still did manuals back then. Pretty much the same drill - read, read, do, read. For each version of PrPro, that I have had, I always get CiaB, and will buy the manuals (now) from Adobe. Also, this forum has been wonderful. When I moved up to Encore, I sat down and read every post in the old forum, except for the Mac Error Messages sub-forum. Instantly bought Jeff Bellune's Encore book, and read, read, did, read, did...
    Now, that is how I learn best: reading then doing. I am less of a tutorial person. My wife, who is far better a student, than I am, learns best by watching, then doing. Reading is #3 on her list. Still, she's the one with the all of those advanced degrees! Oh, she does her reading, but gets much more by seeing and experiencing, than I do. Just different learning styles. My experiences with her are the reason that I do not come down on people, who never crack a manual, regardless of how effective they are for me. Some learn better by doing, then watching, then reading. It's just their style.
    I do not denegrate tutorials, as my wife would benefit far more from a few of those, than a stack of well-written books - different styles for different folk.
    Good luck with your Projects,
    Hunt

  • Time measurement between counter output my device and analog input

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

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

  • Slow motion and time measurement

    Hi I have a problem and im wondering can someone here help me with it. Im trying to measure time in my .mov file. I wish to slow down the movie and measure time in the movie. Is there anyway of doing this. Im hoping to measure it quite accurately

    Hi -
    The short answer is yes, this is possible by using iMovie, Final Cut Express or Final Cut Pro to slow the movie down.
    The problem is the precision of the time intervals displayed will be based on the original frame rate of the video - slowing the video down does not add temporal resolution, on the other hand, it demonstrates the relatively low temporal resolution of video at nominal rates of 30 fps - effectively 30 samples per second.
    The only method you have of counting time between the start point of the action and the end point of the action is to count the frames that occur between those two points and divide them by the frame rate used to shoot the video. This might be easier to do with the movie running in slow motion, but it will not increase the accuracy - you just see the frames go by, each frame individually held for display in longer intervals.
    There are high-speed cameras that shoot at 1000 fps available for rental which when you slowed down will allow you much greater precision in seeing action unfold in slow motion - but the rental charges can be staggering:
    http://www.visionresearch.com/Products/High-Speed-Cameras/Phantom-HDGOLD/
    Hope this helps.
    MtD
    Message was edited by: Meg The Dog to fix typo

Maybe you are looking for

  • Using a Second Display Screen

    When you attach a second screen to your powerbook (in this case an HP 19 inch wide flatscreen), does this add an extra burden on the CPU? Suddenly, I find the CPU is maxed out and applications are stuttering. I'm using GB3 which was always pretty int

  • Java Class not apearing in Java Algorithm Class Search

    Hi, I installed oracle CC&B 2.3.1, with SDK 2.2.0.12. I am trying to create new java class by copying an exiting one and modifying it to be used with algorithm (Adhoc Char Value Validation). Steps are as follows: 1-Created file by copying the exiting

  • Adding two column in report

    Hi, I have been given requirement  to make change in report  .  I  have to includetwo column in between already existing column. Please suggest how to do this.

  • Network location awareness stopped abruptly

    i have a server 2008 host running in a 2008 DC environment. All working fine for over a year into production. One day the NLA service just went down, and server stopped servicing clients. I managed to start it back by  Run the commands  net localgrou

  • PO quantity

    HI Experts, I am creating PO for deleted Info record, system is showing error that " inforecord  is flagged for deletion" I am not able to edit quanitity in PO but client is able to edit the PO quantity even the Inforecord  flagged for deletion. Plea