Using a counter to detect frequency

I have an application that basically needs to run as fast as possible given an input signal from a sensor on a vehicle. This frequency I get can range from 300 Hz to 2.2 kHz. I am also sensing three other analog inputs. This is how the vi should work:
1. Input signal is passed to DAQ board counter (GPCTR0_GATE). The counter is configured to count on each rising edge.
2. When a rising edge is detected, sample the three analog input channels and dump these values to a buffer (array).
3. Capture the period of the input signal at the same time I'm getting the three analog channels, dump this to the buffer as well.
4. Continue this process until a stop button is pressed.
5. When the test has completed, copy the buffer to a database.
Basically, what we're trying to do is capture readings based on an external clock that can vary with speed. While testing the application I wrote, I've noticed some serious problems, and this is where I need some expert advice on how to handle them. If the input frequency were constant at 1 kHz, and the test was run for exactly 10 seconds, I would expect to see 10,000 data readings copied to the database (in a perfect world, at least). What I get depends on whether or not I'm requesting the period of the input signal - if I only request the three analog input channels, then I get around 10,000 data points. If I request the period as well as the three analog channels, then I may get 20% (2000 data points) - and the period is wrong at the lower frequencies (300 Hz to 900 Hz).
I'm at a loss here. I've written this using traditional NI-DAQ as well as with DAQmx. Neither one gives me the input period right, and the number of data points captured decrease significantly when I try to get the period. I've looked a the examples, used alot of the examples, but still no luck. Any help would be greatly appreciated.
My configuration:
LabVIEW 7.1
PCI-6014 on the PC and a DAQCard-6062E on the laptop
Windows XP

Hello,
I do think that a higher performance card would help you significantly in your application. Something like a Value M Series (NI 622x) might solve the problem since it offers 6 DMA channels. If you are able to strip down your program such that it is the easiest piece of functioning code that demonstrates the behavior you would like to see, I could give it a test run on an M Series device and let you know how things turn out. I would need the DAQmx code in order to do this since M Series do not support Traditional NI-DAQ.
Another thing that I found interesting about your post is that the examples were not ever working for you. I would suggest trying the Meas Dig Period-Low Freq 1 Ctr.vi in the DAQmx examples to see if you are able to successfully measure the frequency of your signal. If that's not working, then it might be an issue with the signal that you are connecting up. You should confirm that the signal is TTL compliant and possibly even probe the signal to confirm you are receiving what you are expecting.
Post back with your thoughts and code if you'd like.
Jared A

Similar Messages

  • How do I use a counter to measure frequency and multiple analog signals in the same VI?

    I have a PCI-6071E, an SC-2345 with multiple modules, and a PXI-8184 (with a PXI-1002 Chassis).
    My goal is to monitor pressures, flows, temperatures, and speed in one VI.
    I am using Measurement and Automation Explorer version 3.1.1.3004 to manage my channels.
    My speed is a PWM signal which I recently rewired through the counter 0 of my board.
    I was hoping to configure this to read frequency directly in measurment
    and automation, have this scale the value to RPM, and then feed it
    directly in to my labView program.
    In labView, it will not except this signal though.
    I get error -200300 from the DAQmx Start Task.vi
    Possible reasons(s):
    Invalid timing type for this channel.
    Property: SampTimingType
    You Have Requested: Sample Clock
    You Can Select: Implicit, On Demand
    After doing some research, it seems that the counter wants "Implicit"
    selected for the DAQmx Start Task.vi, but then I cannot use my other
    channels. Also, counter is included in the "Sample Clock" option
    description, so I do not understand why it is not working.
    Does anyone know how to work around this problem or a way to configure the counter so that it will work in this way?
    All my other channels are Analog.
    Thank you.

    I am working on getting just the counter working by using
    the program posted previously, and I am running into issues. Periodically I get
    the error:
    Error -200141
    occurred at DAQmx Read (Counter DBL 1Chan 1Samp).vi
    Possible reason(s):
    Data was overwritten
    before it could be read by the system.
    If Data Transfer
    Mechanism is Interrupts, try using DMA. Otherwise, divide the input signal
    before taking the measurement.
    It seems to work better if I use cascaded counters, but I need timer 0 for
    analog channels when I run this code along with the program for the other
    measurements.
    I have tried averaging, and selecting different values for the millisecond
    timer, and these did not seem to have an effect.
    I tried different DAQms configurations and "Counter DBL 1Samp" seemed
    to work the best.
    The program will work for a while and then it will give me the above error
    message.
    If I use counter 0 as a cascaded counter input, the program runs fine. If I run
    this with other analog channels, it errors out because the analog channels use
    counter 0.
    If I use counter 1 as a cascaded counter input, it seems to work better than a
    single channel, but it will still error out with the above error.
    If I use only counter 1, I get the error above even faster.
    Also, none of the
    configurations give measurements outside the While Loop.
    The only place I can add a speed dial for the front panel is within the While
    Loop.
    Is there someway to get the signal to continuously send out of the while loop?
    I thought if I could get the signal out of the while loop, I could condition it
    anyway I wanted without the program erroring out.
    Any suggestions would be much appreciated.
    Thank you.
    Attachments:
    Counter_error.jpg ‏45 KB

  • 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.

  • Stop and start counter set to frequency read

    Original question posted in the counter forum but no response so hope its ok to try here?
    I am using a 6024E interface to operate a PID loop that keeps the RPM stable of a servomotor but having problems when attempting to read frequency at the same time from a flow-meter.
    Basically the operation of the system is as follows;-
    User sets an RPM demand, say 5000RPM, an analog signal is sent out to the motor controller and motor runs up to this value after a brief delay. The feedback from the motor is from its shaft encoder which gives 1000 PPR, after signal conditioning in hardware this signal is applied to the gate of timer 0 and after scaling applied to a PID loop. The PID loop is quite stable and responds well to operator demands.
    However the first problem was noticed when the RPM demand was taken to zero and an attempt to halt the program was made. There was a delay in shutting down that was roughly equiv to the time out value which was set on the DAQMX read Vi.
    Things became much worse when a further loop was added to read a flowmeters frequency output (approx 50 to 300Hz max, counter 1) that varied with the servo motors RPM demand. This additional routine has almost stopped the whole program initially starting as it appears that counter channel 1 is waiting for an input before letting the rest of the program run.
    I have attached the part of the program that I am using now to read the frequency of the flow meter, similar routine also being used to monitor the RPM of the servo motor.
    Basically when the operator increases the RPM demand and reaches a demand of 10RPM a compare function places an output line, which is connected to the input OPR1/PFI7 (see attached vi ) to logic 1. This then triggers the counter to start reading the RPM of the motor. A similar method is used for the flowmeter but in this instance it does not try to read the flow until the motor has reached 3000RPM as the flow being measured is very low and below 3000RPM it is only about 2cc/min = 40Hz.
    Problem occurs though when the RPM is reduced to zero and the flow/RPM stops. If the RPM demand is increased again the motor sometimes will not respond and suffers delay. Removing the loop for the flowmeter cures this problem. Seperate loops are used for the flowmeter, motor RPM and PID loop that controls the motor RPM. 
    The problem, as I see it, is that I need to be able to stop the counter for the flowmeter aquiring data when it falls below a certain value but be able to restart it again when the the flow increases?
    Also is there any way I could sync the analog output signal (motor RPM demand) to the counter freq read signal (motor encoder feedback)? I found examples in the help files for this but using 'count edges' not frequency or period mode.
    Thanks John
    Labview Version 8.5
    Labview Version 8.6
    Labview Version 2013
    Attachments:
    arm triggerver1.vi ‏38 KB

    Hello,
    First of all thanks for posting on our forum.
    I may be lazy but I think your question is very long and not very clear... Next time try to be more precise and to post shorter messages, this is just an advise, but short questions often get quick answers.
    now let's talk about your problem, the first thin I'll say is why don't you use NI-Motion hardware, that would be really appropriate to you application, then if you can't (which I understand) you should really use Real-time programming, when you're using a PID, real time is really advised.
    My only question will be : What is the problem?  can you be a little bit clearer? what can we do for you?
    I'm sorry but I'll really be glad to help you but so far I did not understand.
    Regards
    Richard Keromen
    National Instruments France
    #adMrkt{text-align: center;font-size:11px; font-weight: bold;} #adMrkt a {text-decoration: none;} #adMrkt a:hover{font-size: 9px;} #adMrkt a span{display: none;} #adMrkt a:hover span{display: block;}
    >> Découvrez, en vidéo, les innovations technologiques réalisées en éco-conception

  • When using DAQ assistant to read frequency

    When using DAQ assistant to read frequency and Task timing is set to:
    N Samples, Clock settings to read 26,
    Frequency setup to rising edge,
    1 counter with 10 kHz to 1 kHz range.
    I get back a single number.
    Can I assume this is an average reading of 25 samples with the first sample unused?
    What is the base clock used?
    Is the “26” 26 cycles of the frequency to be measured?

    Hello,
    If you choose to acquire N samples from the DAQ Assistant then it will acquire all of these samples and return them to LabVIEW as an array.  However, when you use the DAQ Assistant it outputs the data in the dynamic data type first.  This data type makes it easy to graph and run the data through other express VIs.  If you were to create a Numeric Indicator from this data type it would just display the last element from the dynamic data array.  To display this data properly in a numeric format convert the dynamic data to an array of doubles by using the Convert From Dynamic Data function in LabVIEW.  Then you can select to convert it to a 1D array of scalars and when you create an indicator off of the output of this function all of the data should be displayed.
    The timebase that is used for lower frequency measurements is the onboard clock, which is internally connected to the Source.  Then you connect your signal to be measured to the Gate of the counter.  Since the frequency of the onboard clock is known it can be used to calculate the frequency of an unknown source based on when the counter is on and off (determined by the Gate). 
    Have a good day,
    Brian P.
    Applications Engineer

  • How to use a counter to build a Logic Analyzer?

    Hi guys, i have heard that we can use a counter as a Logic Analyzer based on an incoming signal and its clock frequency. Anyone know how this works?
    I am trying to read a set of signals, which I have no knowledge of  except that there would a Clock, reset and a data line; and I want to develop a Logic Analyzer to 'know' these signals.
    Thanks, Anoop
    Solved!
    Go to Solution.

    Lynn,
    I have a PXI-7813R, which along with its FPGA is sufficient I believe for this purpose.
    How many digital signals do you need to examine simultaneously?
    Well, I am not sure, but based on the signals generated by similar devices, I would guess between 4 and 6. I expect there to be a Clk, Rst, Data and some other signals.
    What is the maximum frequency?
    I have no idea or how to even come up with a guess on this one.
    What is the maximum and minimum number of samples per signal that you need to capture?
    Again, not a clue. Would it not depend on the Clk frequency?
    Are any of the signals ever in a high impedance (tri-state) mode?  
    Again, don't know, sorry.
    Is the minimum pulse width for non-clock signals the clock period, half the clock period, or something else?
    Sorry again.
    How would you go about in this situation?

  • NI 9402 edge counter works, no frequency though

    Hi guys,
    I've been searching these forums for about 20 hours now but I still can't seem to get this to work.
    I have a NI cDAQ-9172 with a NI-9402 digital I/O module hooked up to an 360 count/rev optical encoder. The encoder produces square wave pulses equal to the input voltage. I am attempting to use the encoder as a speed sensor for my final year engineering design project. I can easily get pulse counts from the encoder into LabView (v8.5) using both DAQmx functions or the DAQ assistant. I'm pretty new to LabView but I believe I've done all I can with the program itself to make this work.
    The problem I get is whenever I try to get a period or frequency output from the DAQ nothing happens. The data output stays at zero. I know the encoder is working because LabView can count the pulses. It's as if the module doesn't have any sample for time at all.
    Note: When useing the "Measurements & Automation Explorer" and setting up a Task for frequency measurement, in the Timing Settings section I only have 3 options: 1 Sample (On Demand), N Samples, and Continuous Samples
    Should there maybe be more?

    Hi Evan,
    The default gate terminals should actually be PFI1 (for ctr0) and PFI2 (for ctr1).  However, these are just defaults and can be changed if you're using the DAQmx functions (but not the DAQ Assistant).
    You don't actually use sample clock timing for frequency measurements (at least not on the 9172).  What you could use is "Implicit Timing", meaning that the signal to be measured (which is connected to the gate) is also what is used to latch the sample in.  However, in your case it might make more sense to start out using no timing at all--DAQmx Read will merely ask for data once it is called (if no signal is present it will timeout).
    Here's a slightly modified version of your VI that should be a good starting point:
    To avoid confusion, you can just specify any PFI line that you want for the Input Terminal (I usually do this with counters anyway).  Implicit timing is an option that you can add in (before the task is started) but it didn't seem necessary based on what you have described so far.
    Best Regards,
    John Passiak
    Attachments:
    Meas Dig Frequency with Terminal.vi ‏25 KB

  • Can daq 6035e,or 6024e used to count pulse train

    i need to count two digital pulse train coming from an encoder, whose frequency keeps changing. the encoder is a typical feed back from servomotor

    Hi,
    Both of those DAQ boards can measure digital pulse train frequencies using the counters. These cards can support 2-pulse encoder measurements on DIO6 and DIO7. This means that if there is a rising edge on Channel A the counter increments and a rising edge on Channel B decrements the count. You can also set the counter application for frequency measurement and that will measure the frequency of the pulse train on the line. These cards also have 2 such counters.
    There are many LabVIEW and CVI examples demonstrating this. If you search the site for position or encoder measurements there should be some example programs for you. Hope that helps.
    Ron

  • Can source and gate used to measure 2 signals using one counter?

    I have one PCI 6602 card to measure measure the frequency. PCI 6602 has 10 channels, in which channel 5 and 10 doesn't have 'source' terminal.
    We have to measure frequency from 16 signals using one PCI 6602.
    From channel 1 to 4 and 6 to 9, we have 8 'Gate' and 8 'Source' terminals.
    We have connected 16 signals to these 16 terminals.
    At any given point of the time we want to measure either 'Gate' signals(8) or  'Source' signals(8).
    Can any provide any guidance to make a program in labview to measure frequency (period) as per above given points?
    Regards
    Vijay

    Hello Vijay,
    It takes one counter for each digital frequency you want to measure and the PCI-6602 has 8 counters total.  This means that the maximum number of digital frequencies you can measure is 8.  If you want to measure 16 frequencies you'll need 16 counters.
    Single counter frequency measurements are made by comparing the board's time base (80 MHz) to an external frequency.  The board counts the number of time base periods that occur during one period of your incoming frequency.  When you configure the board to take a single counter frequency measurement the card routes the time base to the source of the counter and then you connect the frequency you want to measure to the gate of the counter.
    Here are a couple of articles that explain how these measurements are taken and calculated.  (The second article is on period measurements so for frequency measurements you measure period and take the inverse):
    Making Accurate Frequency Measurements
    Period Measurements with a Counter
    There are example programs available in the LabVIEW example finder.  You can locate these by going to Help>> Find Examples... The examples you want is:  Hardware Input and Output>> DAQmx>> Counter Measurements>> Digital Frequency>> Measure Digital Frequency- Low Freq 1 Ctr.vi.
    I hope this explains how counters work and why you need one counter per measurement.
    Cheers,
    Brooks

  • Counter channels detection through a labview VI

    Hey
    We are having a PCI-6036E card which has 2 counter inputs and this device with counter channels is communicating with the program creadted in Labview.
    We want to upgrade that card with add on counter card of PCI-6624. I even modified the program like increasing the counter channels in the program. Now with functional generator i give frequency as input and that i can read in the MAX through counter channels.
    So when it comes to the program, it is reading only the 0 channel(i mean the first channel) and for the rest of the channels i see NAN. I am messed up and going through the source code but i see no error in the program.
    If i messed up the description i can come back again with better explanation. Can anyone guide me to solve this issue.
    Thank you in advance
    -Kirit

    Hey
    Thank you for the concern.
    I will try to answer ur questions...
    What type of signal are you sending from the function generator to the counter input channels of your PCI-6624?
    Frequency signal with current of 2.5mA. By this i can read the frequency what ever i give in Functional generator through MAX.
    Frequency level is from 100 - 1500 HZ
    Have you tried just verifying the operation in MAX using a counter input test panel for the channels of your PCI-6624
    Above signal i reading it through test panel of PCI-6624 card in MAX
    What type of indicator is it in your program where the NANs show up when you run your program?
    It is numeric indicator i guess. This you can see in to digitals-rpt.VI
    I dont know what else i can do to explain the problem. You can come up with any questions for clarification after going through the llb file.
    I guess, the logic i am missing in adding counter channels in the code is in( to digitals-rpt.vi)
    Pls go through the *.llb file
    Thanks a lot
    -Kirit
    Attachments:
    ver4.33.llb ‏979 KB

  • PCI 6602:How can I use the digital lines of the board and in the same time to generate pulse train using a counter?

    Hello!
    My problem appeared when I tried to update my code from Traditional NI-DAQ Legacy to DAQmx.
    I am using 2 counters (counter 5 and counter 7)  from PCI-6602, to generate pulse train, and also the Digital I/O lines of the port 0 (the lines form 0 to 7). What I do in my application is that I am starting to generate the pulse train on the output of the 2 counters, and after that I am playing with the state of the digital lines.
    In traditional there was no problem using the counters and the digital lines in the same time, everything was going perfectly, but in DAQmx this is not possible.
    What happens: I start to generate pulse train on the output of the counters,  no errors encountered, but when I try to modify the state of one line of the digital port the generation of the pulse train is stopped. This is happening when I start the task associated to the digital port.
    My question is: it is possible to create a channel on the digital lines without altered the channels created for the counters?
    Another thing what I manage to see using the  "Measurement & Automation Explorer" and Test panels for PCI-6602, basically is the same thing, I generate pulse train on the output of the counter 7 and try to start a task on the digital line, but I get one error :
    "Error -200022 occurred at Test Panel
    Possible Reason(s):
    Measurements: Resource requested by this task has already been reserved by a different task.
    Device: Dev4
    Terminal: PFI8"
    Instead if I use the counter 0 or counter 1 to generate pulse train I don't encounter the same problem.
    Which resources are used by the counters 2 to 7 from the PCI-6602 board and the counters 0 and 1 do not use?
    Thank in advance for any replies!
    Ciprian
    Solved!
    Go to Solution.

    Hello Jordan, thank you for your reply.
    I am sorry but I can not see or run your example, I don't use LabView, I use Visual C++ for developing.
    Here is the code for generating the pulse train:
    GeneratePulseTrain(unsigned long ulCount1, unsigned long ulCount2)
        short nStatus = 0;
        nStatus = DAQmxCreateTask("",&m_taskHandle);
        nStatus = DAQmxCreateCOPulseChanTicks (m_taskHandle, "Dev4/count5", "", NULL, DAQmx_Val_Low, 0.0, ulCount1,ulCount2);
        if( bTriggerMode == true) // if hardware trigger is enabled
            nStatus = DAQmxSetTrigAttribute (m_taskHandle, DAQmx_ArmStartTrig_Type, DAQmx_Val_DigEdge);
            nStatus = DAQmxSetTrigAttribute (m_taskHandle, DAQmx_DigEdge_ArmStartTrig_Edge, DAQmx_Val_Rising);
            nStatus = DAQmxSetTrigAttribute (m_taskHandle, DAQmx_DigEdge_ArmStartTrig_Src,"Dev4/PFI17" );
        //set the internal timebase
        nStatus = DAQmxSetCOCtrTimebaseSrc(m_taskHandle,"Dev4/count5","20MHzTimeBase" );
        nStatus = DAQmxStartTask(m_taskHandle);
        return nStatus;
    And the code where I try to set the digital line:
    SetChannelState(short nState)
        short nStatus = 0;
        uInt8 wrtBuf0[1]={0};
        nStatus = DAQmxCreateTask("",&m_taskHandle);
        // Configure line as output 
        nStatus = DAQmxCreateDOChan (m_taskHandle, "Dev4/port0/line0", "", DAQmx_Val_ChanPerLine);
        nStatus = DAQmxStartTask(m_taskHandle);
        wrtBuf0[0] = nState;
        nStatus =DAQmxWriteDigitalLines (m_taskHandle, 1, 0, 0, DAQmx_Val_GroupByScanNumber , wrtBuf0, NULL, NULL);
        nStatus = DAQmxWaitUntilTaskDone(m_taskHandle,10);
        nStatus = DAQmxStopTask(m_taskHandle);
        nStatus = DAQmxClearTask(m_taskHandle);
        m_taskHandle = 0;
        return nStatus;      

  • How do I use the counter and digital signals of the 6071E while it is connected to SCXI modules?

    I am contemplating using a PCI 6071E with SCXI. We have the boards (6071E), we would need the cable (I suppose SH1006868) and the SCXI system. I would like to know how would you access the counter and digital line capabilities of the board. I will be using a SCXI-1314 with a SCXI-1520 Module for strain measurements but will need to use the counter and digital lines of the board as well. Can this be done? If so, how and/or what else do I need?

    I think this KnowledgeBase will answer the question for you.
    Accessing DAQ Board Counter Pins with an SCXI System
    Otis
    Training and Certification
    Product Support Engineer
    National Instruments

  • Using a counter to create a timing delay

    Hi all,
    I am working on an application where I need to send some digital outputs seperated by precise timing delays.
    So for example, I may want to output a 'high' to channel 1, then have a 20ms delays, then output a 'high' to channel 2, then have a 50ms delay, and so on.
    I want the timing delays to be easily adjustable and I would like them to be precise.
    The program is being set up for hundreds of tests and it will be run once per test. In between tests I will have the opportunity to modify timing delays.
    I already have a cDAQ-9174 chassis and am planning to buy a NI 9401 high speed digital I/O card. It has been suggested to me that I use a counter (which is built into the chassis) to generate the timing delays, which sounds like a good idea to me. However, I don't really understand how to access the counters and configure the 'DAQmx create channel' function because there are so many options for the reference clock which I don't understand.
    I am thinking that I need to implement something like this:
    http://zone.ni.com/reference/en-XX/help/370466V-01/mxcncpts/hwtimedcounter/
    However I'm if this is what I need and I'm not sure how I would go about testing this code. I guess I would need to connect some sort of output to the counter to see if it's working correctly.
    Any help would be much appreciated.

    After a bit of experimenting, now I'm not sure if the hardware time delay has any advantage over the software delay. I can get a constant 5ms delay using the 'wait' function, yet when I use the counter I can normally get a 5ms delay, but sometimes (perhaps one trial out of five) I get a 4 or 6ms delay. I have even seen a 1ms delay using the counter method. Perhaps my method for measuring is flawed though? I have attached some screenshots of my program. If anybody has any comments it would be appreciated.

  • Trouble using the counter on PCI 6025E

    Hello,
    I am facing a problem with the counter on PCI 6025E. I am trying to count the number of pulses generated by the shaft encoder mounted on the shaft of a motor. I am using a channel from the shaft encoder to count the pulses and generate the line state. So, I have wired the channel to pins 25[line state]and 47[counter]on SCB-100. In my application I am using the count events/time vi from DAQ palette. Every time I run my application I have been getting the error NI 10001 saying that the ordering of the strings is not as expected.

    Hi,
    The Count Events & Time.vi is typically used with older counter hardware such as the 9513 chip. Your E Series card (6025E) uses a DAQ-STC chip. The best way to count your edges is to open up the example "Count Edges(DAQ-STC).vi which can be found by selecting Help>>Find Examples... and you will find it under the DAQ Counter examples as an DAQ-STC example. Hope that helps.
    Ron

  • Generating trigger using a counter

    Hi,
    I am wondering if it's possible to use a counter input to generate a trigger signal with one of the NI PCI boards.
    Thanks
    Raphael

    Hi,
    I am using a NI USB-6211 and plan to use a PCI equivalent.
    My application needs to average pulses of data. I am using an acqiris averager for this.
    I would also like to use the trigger of the pulses to generate every n times another trigger.
    This trigger would be used to generate a clock for buffer position measurements of an angular encoder (using a NI DAQ).
    That will allow me to synch the average of the pulses with the angular reading.
    I am wondering if any NI device would allow me to do it (and the angular encoder reading as well).
    Hope this clarify a bit the context.
    Thanks
    Raphael

Maybe you are looking for

  • Sony HVR-HD1000E capture setting in FCP 6.0.6

    One of my clients has a Sony HVR-HD1000E mini-dv camera & contacted me when they were having trouble capturing video. The camera captures at HDV 1080i50, so set FCP to this but says it cannot communicate with the camera. If I set FCP to DVCPRO HD-108

  • Exchange calendar in iCloud

    Ok so I am a new macbook owner and am trying to get my calendars sync'ed on all my devices.  Here is what I have: 1)  Work Dell PC connected to company exchange server 2)  iPhone syned with my me.com and company exchange server 3)  MacBook with my me

  • How to select a set of points in a xy graph contained in an area draw with the cursor ?

    I'm using tIhe XY graph to plot a Pointcare representation of RR intervals (heart beat). I would like to use the mouse to draw a polygone surrounding the points of interest and get their indexes from the original array. Thank you to oriented me to so

  • Tabular Form Hide Row Selector for certain rows?

    Hi, I was curious if it is possible to hide the row selector checkbox for certain items? For instance if a certain value is in a certain column in a row I want to hide the checkbox and in other cases show it... Thanks in advance!

  • RSRT query execution result page

    Hi experts, I used transaction rsrt/rsrt2 to execute a query and found that when I clicked the icon for next row,it went to next 18 records by default, in the next page I even found some records which are also displayed in first page. Is there any wa