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

Similar Messages

  • How can I specify a delay generate a counter pulse?

    Hi all,
      I have a question about using the counter to generate the pulse train. I don't have how to program it but I try the test panel in the MAX and I see it generates the pulse train at some rate and with some pulse duration. I am thinking if it is possible to generate only one pulse with given pulse duration at sometimes after I start the task? I have a code to output an analog waveform, the waveform lasting for 35ms. I wonder if it is possible to syncronize the output of the analog waveform as well as the counter such that at 12.5ms after the waveform output started, I send that single pulse from the counter port out. I have no idea how to do that, I am thinking to use a delay but it is hard to precisely control the time to exact 12.5ms.
    Solved!
    Go to Solution.

    PKIM wrote:
    Hi all,
      I have a question about using the counter to generate the pulse train. I don't have how to program it but I try the test panel in the MAX and I see it generates the pulse train at some rate and with some pulse duration. I am thinking if it is possible to generate only one pulse with given pulse duration at sometimes after I start the task? I have a code to output an analog waveform, the waveform lasting for 35ms. I wonder if it is possible to syncronize the output of the analog waveform as well as the counter such that at 12.5ms after the waveform output started, I send that single pulse from the counter port out. I have no idea how to do that, I am thinking to use a delay but it is hard to precisely control the time to exact 12.5ms.
    I found an example in the CVI show how to generate a single digital pulse
            DAQmxErrChk (DAQmxCreateTask("",&taskHandle));
            DAQmxErrChk (DAQmxCreateCOPulseChanTime(taskHandle,chan,"",DAQ​mx_Val_Seconds,idle,initialdelay,lowtime,hightime)​);
            DAQmxErrChk (DAQmxRegisterDoneEvent(taskHandle,0,DoneCallback,​NULL));
            DAQmxErrChk (DAQmxStartTask(taskHandle));
    I have two questions. First of all, to create a pulse, does it mean we have low state for sometimes, then high state for some times and then low state again? So why there is only two time parameters (lowtime and hightime)? Is the minimum lowtime and hightime depending on the sampling rate of the card or depending on the OS? I am using 6711 card
    I see that I can specify initial delay, does it mean the time delay after the task just start?

  • Using a SCC counter pulse train to control a SCC digital out signal

    I am trying to send a digital high signal on a SCC-Digital ouput module for a certain number of pulses generated by a SCC-Counter/timer pulse train. I have found examples of how to route such signals through PFI12 etc on an M-series board but I am trying to achieve this without referring to the card, just the SCC modules themselves.
    I cannot find a way to use the sample clock from the counter generated pulse train to synchronise the digital output.
    Is there any way I can do this without referring to the connected M-series DAQ card channels?
    Thanks in advance for your assistance.
    Cheers.

    Hi Phil,
    The SCC carrier is only conditioning your signals (i.e. if your signals are not in optimal ranges, bandwidth or need external excitation). The actual counters and all digital lines are controlled directly by the M-series board. This means you will never be able to refer to a counter in the SCC module.
    If you route the signals of the M-Series board, is as if you had done so externally from the SCC. Look at this example and might give you more insight to how to implement it (This is software timing). The hardware timing would be doing correlation DIO. Here is an example that needs to be modified to adapt to your timing: http://zone.ni.com/devzone/cda/epd/p/id/4414
    Hope this helps,
    Yardov
    Gerardo O.
    RF Systems Engineering
    National Instruments
    Attachments:
    Finite Dig Output High.vi ‏31 KB

  • Can I use two "finite pulse train" to work in parallell with different freq.?

    I want to generate two seperate pulsetrains in parallell with different freq. and number of pulses. I am using a "PCI 6036E" with two counters on the device. I think I need four counters to make this task? I would be very glad if anyone had any answer on this

    It will take four counters to generate two pulse trains with two different frequencies and number of pulses. As a workaround with your existing device, you can possible create a pulse train using one of the analog outputs, if it's available. Otherwise, you'll need either another MIO device or you could choose to use a TIO device (660x) which will have 4-8 counters.
    Hope this helps!
    gus....

  • Can't get DAQcard-1200 to put out pulse train.

    These Nat Instruments cards are supposed to be easy but nowhere
    can I see how to get started. The manuals LV and card don't have
    enough info.
    I tried to use the Pulse Train VI to put out a square wave on
    counter 0 and I get:
    Error 10403 occured at CTR Group Config. NI-DAQ LV: The
    specified device does not support the requested action ( the driver
    recognises the device but the action is inappropriate for the device)
    I have the inputs wired as follows:
    gate mode: ungated/software
    pulse polarity: high
    device: 1
    Counter:1
    number of pulses:0 continuous
    frequency: 10000
    Anybody got any clues?

    thank you, Charlie!!!!!!
    i'm so mac ignorant and have been learning a lot through my mistakes today! your solution also helped me get the fan option back on as well!
    Thanks again!!!

  • How to generate a pulse waveform 90 deg phas shifted with respect to a pulse generated using a counter in PXI 6070E daq card ?

    Hi
    I ma using 6070E daq. I am generating a infinite pulse train using one of the counters. I want to generate another pulse train which should 90 degress phase shifted with respect to the previsously generated pulse. How to implement this using the counters in the DAQ card.

    Hi Gopal,
    1) yes the frequency generator is programmable. You have 2 timbebases (10MHz and 100kHz) and you can divide down by any integer between 1-16. Those are the only frequencies you can use.
    2) The way counters work is that you can apply a gate signal to the counter which will cutoff the output. Therefore, you can have a second counter generating a pulse train of an equivalent frequency to the frequency generator (fout) but you don't want it to start immediately. You want it to start only after a short delay (equivalent to a 90d phase). Therefore, you need to "gate" or prevent the output on this counter for that small delay period of time. The way you can do this is by using a second counter to create a delayed pulse. You would
    connect the output of that counter to the gate of your pulse train function. That way, during the delay period of the pulse, you won't be outputing your pulse train yet. When the pulse (high-time) of your pulse reaches the gate, then your pulse train will start generating its pulse train (which is consequently delayed by the amount of delay used in the single delayed pulse counter). Since you don't want your pulse to go back low, you will have to turn off or clear your pulse counter while it is high. That way the signal on the gate will remain high forever.
    Your better solution is to use a PCI-660x card to perform this action. You will have more counters which will give you a greater range of frequencies to choose from and you will have more accurate timing of the signals.
    Anyway, hope that clears things up. Have a good day.
    Ron

  • Using a Counter(PC-TIO-10) to Perform Quadrature Encoder Buffered Position Measurement in Visual C++

    I have Driver Ni-Daq 6.9 and Using a Counter to Perform Quadrature Encoder Buffered Position Measurement in Visual C++ 6.0
    (I think Ni-Daq not support PC-TIO-10 because card not support pulg&play, you can hint me driver for support this card. ) and i want example program for read counter. i use Visual C++ for run,i don't use Measurement Studio.

    NI-DAQ 6.9 supports the PC-TIO-10.
    I attached an example that will show you how to do it in CVI (ANSI C).
    Attachments:
    Cviencod.zip ‏19 KB

  • How can I use the pulse train from a 6602 to trigger an niFGEN and niSCOPE on each rising edge of the pulse train?

    Hello,
    Here is my application: I need to use a 6602 counter/timer to generate a pulse train of certain frequency and duty cycle. On each rising edge of this pulse train, I need to output an arbitrary waveform on Ch. 0 of an niFGEN (5422) AND acquire data from CH. 0 of an niSCOPE (5124). I also need to synchronize the niFGEN and the niSCOPE to the same clock used for the pulse train (6602/ctr0). This process needs to continue until the user stops the system.
    I can generate the pulse train using the 6602 just fine using ctr0, but the pulse train shows up on OUT0 by default. When setting up the niFGEN and niSCOPE to trigger on rising/positive slope edge, OUT0 is not an option for either device as a source for the digital rising edge (pulse train). The main options for both are PFI0-3 and RTSI lines.
    Questions:
    1.) Is there a way that I can direct the pulse train to a location (such as an RTSI line) where BOTH the niFGEN and the niSCOPE can use it as a start trigger for each rising edge? I noticed in MAX that a route can be made between ctr0's internal output and a trigger line and others. If this is a solution, could you please explain how to accomplish this?
    2.) Once I configure the niFGEN and niSCOPE to be triggered on a digital rising edge, how can I effectively have this happen for every rising edge from the pulse train? In other words, can I just initiate the FGEN outside of the while loop and it will generate a waveform for each rising edge it sees at the source until the while loop is exitted?
    3.) Is setting a reference clock for the niFGEN and the niSCOPE the same thing as synchronizing both devices using the same clock that generated the pulse train? It is not clear to me the difference, and why it would necessarily be useful.
    Images of my current front panel and block diagram are attached. If you would rather have the actual VI's just let me know. Any help and/or explanation on this is greatly appreciated. Thanks in advance.
    Attachments:
    Front_Panel_Control.jpg ‏278 KB
    Block_Diagram_Control.jpg ‏263 KB

    Hello Cgifford,
    Welcome to National Instruments Forums.
    To output your signal to the PFI lines,
    you can use external connectios between OUT0 and PFI lines. You can also use
    the backplane to do so by routing into the same RTSI line.
    1)
    On the SCOPE and FGEN, the name of the
    terminals are actually “PXI Trigger Line x/RTSIx” but on the 6602 you might
    need to route the signal using the property:
    You can also use the DAQmx route signal which perform the same opperation.
    2)
    This will depend on the frequency of
    your pulse train. If this is lower than about 10 ms, then you can probably
    place this on a loop and start and stop the acquisition every time. If the
    frequency is higher than this, you will have to use:
    -       Scripting on the FGEN side (read more)
    -       MultiRecord Fetch (more information in the scope help file
    section “Acquisition Functions Reading versus Fetching”).
    3)
    The short answer is yes. The longer one
    might depend on how tight you need the synchronization to be (us, ns, ps). For
    very tight synchronization, you should look into here.
    Message Edited by Yardov on 06-18-2007 03:14 PM
    Gerardo O.
    RF Systems Engineering
    National Instruments
    Attachments:
    property.JPG ‏7 KB

  • Need to unreserve a counter in a finite pulse train generation

    Hi. Let´s introduce my application first: I´m trying to generate a N-pulse train with the M series PCI-6221, in order to achieve a high frequency clock for an SSI transducer. That´s why i can´t use a software generation (because of the high frequency) and i have to use a finite pulse train. Besides, I would need to use another counter for a variable and finite count (but not simultaneously). The problem is that, as i think i have understood, this finite pulse train involves the two counters working together, so I can´t programm another task with that resources.
    My question is, Is there any way to do the finite pulse train generation, unreserve the counters, wait for a finite count to finish and so on?
    Thanks.

    Hello,
    My knowledges tell me that you need two counter to generate a finite pulse train.
    The first counter generates a pulsed of desired width and the second counter generates the pulse train which is gated by the pulse of the first counter (Counter 0=Pulse Generation, Counter 1=Pulse train generation).
    However, the finite pulse train generation and the continuous pulse train generation seem similar. The key difference is the generation mode from continuous to finite and the use fo a DAQmx Wait Until Done vi instead of a loop to monitor user input. From a point of view of the hardware there is a difference between the two. Continuous pulse train generation requires only 1 COUNTER.
    Maybe you can try with a continuous pulse train generation and with this method you have another counter to do a finite count.
    Regards
    DiegoM.

  • Count out of pulse train on 6025E,labview(pc)

    hi!!
    I need monitoring continuos count out from
    puse train on mine 6025E
    Thanks for all

    If you are generating a continuous pulse train then you are probably using only one of the counters on the 6025E. Depending on the speed of the pulse train being generated, you will want to use simple event counting or buffered event counting. There are shipping examples within LabVIEW that perform both operations. The Count Edges (DAQ-STC) VI would work if the pulse train was slow enough. If the pulse train has a high frequency, you will want to use the Count Buffered Edges (DAQ-STC) VI so you'll be sure not to miss any edges. I hope this helps.
    Regards.
    Todd D.

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

  • Using a counter on PCI-6023E DAQ card

    Hi there,
    I'm about to use a 6023 card to measure a periodic pulse signal. I need to count the number of the pulses. But...I've heard that the counters on my card are unusable in that case. Is that correct? Do I have to chage my card? Or can I do it with 6023E?
    Thanks in advance;
    Radek

    Hi DAC,
    The counter on your 6023E board is the DAQ-STC counter/timer. This counter fully supports counting the number of pulses. Depending on your application development environment, if you search the shipping examples you will find examples that perform this function.
    This is so long as your digital pulses are 0-5 V or TTL compatible.
    Other applications supported by your counter are:
    Simple event counting
    Gated-event counting
    Single-period measurement
    Single pulse-width measurement
    Single pulse generation
    Single triggered pulse generation
    Retriggerable single pulse generation
    Continuous pulse-train generation
    Buffered event counting
    Buffered period measurement
    Buffered semi-period measurement
    Buffered pulse-width measurement
    Fre
    quency measurement
    Buffered frequency measurement
    Finite pulse-train generation
    Quadrature encoders
    Hope that helps. Have a good day.
    Ron
    Application Engineering
    National Instruments

  • How can I use a Counter in a Card 6601 for several times in the same VI

    When I try to use a Counter two times for read and for write, I get always a error (no. 50103). What should that mean.

    From the menu Help-->Explain Error...
    "The specified resource is reserved. The operation was completed by ignoring or overriding the specified resource."
    If you are using one particular counter for both read and write operations, you'll need to clear the read task before configuring the write task and vice versa. To clear the task in traditional NI-DAQ, pass in the task id to "Counter Control.vi" with a control code of 'reset'. When using DAQmx wire the task into "DAQmx Clear Task.vi".
    Do you really need to use the same counter in both a read and write mode at various times? Are the other three all tied up? Maybe I or someone else can help more if you describe the app and/or post some example code.
    -Kevin P.

  • How can I implement a Digital I/O counter with a maximum source frequency of 80 MHz (like 6602 board) using CompactRIO?

    How can I implement a Digital I/O counter with a maximum source frequency of 80 MHz (like 6602 board) using CompactRIO? It appears as if the Digital I/O modules for CompactRIO are much slower than this.
    Thank you,
    --Ray

    Hi Ray,
    The highest frequency input we offer for C Series modules is 20 MHz if you are doing LVTTL and 10 MHz for 5 V TTL.  These modules are the 9402 and 9401, respectively.  Unfortunately, there is no 80 MHz input on this form-factor.
    Regards,
    Chris E.
    Applications Engineer
    National Instruments
    http://www.ni.com/support

  • Can I use box-counting method to calculate fractal dimension in Photoshop CS6?

    Can I use box-counting method to calculate fractal dimension in Photoshop CS6?

    If you have a thresholded image, then you can use the mosaic filter and histograms to count coverage.
    Iterate with mosaic at different sizes, use the histograms to see how many are black and white at east mosaic size.
    Or resize the image, re-threshold, and again use the histogram to get a count.
    That should be automatable with a script.

Maybe you are looking for

  • Problem while converting requasation to PO??

    Hi Friends,, I need some urgent help with this issue, we are unable to convert the req to a PO due to error SD 18024 on the MM side.  On the SD side the error message No pricing listed because PO was not selected" occurs.  The SO is complete, Credit

  • Started with OS 9 and Cube lost its chime

    G4 Cube, OS 10.4.11 and 9.2.2 installed, 1 gb RAM. Started it with OS 9 for the first time in a while, and ever since then it has no startup chime. Not a terrible loss, but all the same, I generally expect it on startup, so I'd like it back. Anyone g

  • Error when open the Import window (404: File Not Found)

    HI everyone, I have upgraded OIM 9.1.0.1 to 9.1.0.2 The application runs OK, but when I click in "Deployment Managerment -> Import", the App gets an error: "404: File Not Found File Not Found: /xlWebApp/dm/dmImportViewer.jsp" And the log gets this er

  • Mass change of valuation class

    Hi Folks, We need to change Valution class for almost 150 materials. I'm referring SAP note:-160970 for this. So,please guide me from where should I start? I think I need to first check any open POs or stocks are there or not...right?Anything else? B

  • Trouble with activation Twitter in Mountain Lion

    Hello, My twitter accounts won't activate on Mountain Lion, I get a message saying that my credentials are wrong (I have tested them twice on twitter website and they are correct). The only time I got Twitter working is when I did a clean install aft