Digital Tach on an FPGA

I am trying to implement a simple digital tach onto a machine. Its a proximity switch and a disk with several holes. I want to verify the disk is rotating and don't care (at least for the moment) how fast. I'm using a digital input on my 9074 FPGA and simply want to check for the digital transition over a set time period. Can someone please show me where I can find a sample vi that will accomplish this? Or does someone have a vi they could share?
Thanks
Solved!
Go to Solution.

Hello,
Here is a DevZone with a link to example code for decoding Tachometer signals. Its using Analog Signals, but it shouldn't be hard to change it from analog signals to digital signals. Someone else on the forums may have implemented this with digital however.
Also check out the following Discussion forum.
Regards,
Andrew
Message Edited by Andrew_E on 07-17-2009 11:50 AM
National Instruments
RIO Embedded Hardware PSE
CompactRIO Developers Guide

Similar Messages

  • How do I control a digital output on NI9144 FPGA with fpga code running on NI9082.

    Due to a recent change in our hardware configuration I need to locate my various I/O modules in various locations around the facility. I am attempting to use an etherCAT setup consisting of an NI9082 and multiple NI9144 (for now only one NI9144). I need both devices to run code in the respective FPGA and make the results available to the other devices and for user interface software. My question is is it possible for the two FPGA code segments to communicate directly with each other without going through the RT or computer interfaces. I need to fire a digital output bit on the NI9144 based on logic running on the NI9082.
    Are there any good code examples around that someone can point me to?
    Thanks for the help.

    Hi, you can include trigger conditions (digital, or analog) on your FPGA VI and connect directly the I/O from module to module (analog with analog & digital with digital), however, if the chassis are meant to be at different locations the cable used to connect the ports is equals the length in between each device and that could degrade the signal if we are taking about a couple meters or kilometers. The most reasonable way to send/receive data from great distances is through ethernet using a regular communication protocol (such as TCP/IP, network streams, network shared variables...etc).
    Alejandro | Academic Program Engineer | National Instruments

  • Directly convert the analog signals into digital without passing through FPGA

    To whom it may concern,
    I am using a SCB-68 board R-series and I have a couple of technical questions:
    In my system at the moment 8 analog channels are connected to the 8 input analog ports and then data are sent to a FPGA (PXI system 7852R). I am planning now to add other 4 channels to the system. Since over the total 12 channels I just need a very fast acquisition mode (using the FPGA) for 6 of them, while the other 6 can be sampled in a ms scale, I was wondering if you can suggest me something that I can use to directly convert the analog signals into digital and in this way used many unused digital signals provided with this model.
    Thanks in advance.

    yes it is correct, what do you need is:
    software + (pc) + PXI + cable + chassis + C-series module
    With embedded controllers, there’s no need for an external PC
    With PXI remote control kits, you can control PXI systems directly from desktops, laptops, or server computers.
     What Is PXI?
    To configure a complete PXI System please go to: Build Your PXI System

  • How to synchronize two fpga DIO?

    Hi!
    I am using two FPGA 7962R (flexrio) with each 6581 terminal board in PXIe-1082 chassis. My problem is how to synchronize two 7962R digital output with PXIe-1082 chassis backplane signal Dstar* or Clk10 or DAQ signal.
    Actually I tried the synchronization with one DAQ counter clock (confering 'Gen Dig Pulse Train-Finite_NI. vi') , and get the signal PXI-Trig0 by source terminal and target terminal connection, but that one does not work properly. Especially, one trigger signal in HOST to set the starting point of each FPGA (7962R), make error by depending on the trigger signal value(Hz value and Timed loop clock in FPGA vi). It was very tricky and not reliable. (I am attaching figure files as explaining the situation)
    My aim is simply to use two FPGA 7962R Digital output as one FPGA, for controling X-axis, Y-axis with each FPGA, while able to change each FPGA (X-axis, Y axis) digital output value. Because the synchronization is not correct, X,Y axis control with Two FPGA currently is out of target if I use simply while-loop design in HOST and timed-loop design in FPGA vi. What is correct design to synchronize the two FPGA 7962R without using PFI line, only with PXIe-1082 chassis backplane signal and able to change the digital output value? Please let me know any idea for HOST vi, FPGA vi programming.
    Many Thanks
    Attachments:
    host1.png ‏47 KB
    fpga1.png ‏131 KB

    Posted response to this in the following thread:
    http://forums.ni.com/t5/Real-Time-Measurement-and/synchronization-two-fpga-7962r-digital-output/m-p/...
    Patrick H | National Instruments | Software Engineer

  • Digital voltage range limit (less V)

    Hi
    My first post here.
    In the Datasheet and in the examples i was not able to find a solution for my problem:
    - output voltage digital 0-5V <-> input FPGA (3V3)
    because i am communicating with a FPGA i have a problem with the output voltage of the USB-6221 to the FPGA. 
    Is it anywhere possible to change the digital output voltage range 0-5V? The other way is no problem, because the USB6221 accept 2.4V as an high (3V3 output of FPGA)
    I am looking for an solution per CVI property to limitate the voltage range
    -> the last solution will be a very simple voltage divider. But i need this for more than 2 lines.
    Thanks for your help!

    Hello floxe,
    we also have devices that support LVTTL. But as you already mentioned USB 6221 doesnt have that feature.
    So you eather have the option of purchasing another device or using an external circuit.
    Best Regards!
    Moritz M.

  • Can fpga do peak hold

    Can fpga do peak hold like the attached drawing.
    The orignal pulse is about 0.3us wide. The wide of the peak hold is 20us.
    The peak amplitude is of 0.8V.
    Thanks.
    Solved!
    Go to Solution.

    The fastest cRIO analog input module is the 9201, which samples at 500 kHz, which is equivalent to 2 us intervals.  That would not be fast enough to catch your pulse.
    The fastest R series board is 750 kHz, which still is not fast enough.
    If you built a simple comparator circuit that would convert your pulse to a TTL level signal, you could connect it to a digital input on the FPGA (probably R series only) and read it fast enough.  You could use that signal to turn an analog output on and off at the right times.  It wouldn't exactly be a peak hold, but it would be pretty close.
    Hopefully this gets you closer to an answer to your question.
    Bruce
    Bruce Ammons
    Ammons Engineering

  • Unable to run Timed Loops

    Bit of an odd one that had me scratching my head.
    I have a development system consisting of a PC running a 7842R, acquiring analogue and digital data from the FPGA, loading it into a shared variable, and reading it out within a timed loop on the host as one parallel loop in a producer-consumer architecture.
    All's well until one day last week when I noticed my host VI becoming unresponsive.
    After a bit of digging, I find that the timed loop doesn't run at all. Replacing with a while loop with a wait at least allows me to show that the error is timed loop related, but it's not a viable long term option for me. Creating a new project and a new VI with a simple timed loop showed the same behaviour.
    A restart of the system, and rerunning the same VIs, and no problems since.
    So, questions:
    1) Has anyone else seen this behaviour?
    2) Any idea what causes it? A service crashing, for example?
    3) Is there a way of recovering without a reboot? If it's a service crash, I'm hopeful.
    The system will eventually form part of a production test environment, hence the query.
    Edit - also, wiring error terminals of a timed loop is a good way of highlighting errors of course.
    FWIW, LV2012 SP1 32bit, Win7 64bit, Core2 Duo, 4GB RAM, tassels from the handlebars etc.
    CLD

    The timed loop is used to read all elements from a DMA FIFO and load them into a buffer FGV, which spits out packets of N samples long once they've assembled within the FGV. Ordinarily, I'd do this with a timed while loop and be perfectly happy to do so. However, the elements are actually an interleaved array, meaning that I have to demux them in the correct order that they were loaded.
    I use timed loops for a number of reasons: on my current Windows host, I've found that using a while loop has caused me more problems with respect to disordered packets, and that at least with using multiple timed loops (two, at most), I can assign priority to the acquire loop. Finally, it's also a development platform, and will be deployed onto an sbRIO once the electronics integration is finished in a week or two!
    W.r.t. system resources, there's very little else running on that system, but that doesn't normally stop Windows
    I recognise it's not ideal to run a software timed loop under Windows, but when you cannot run a blank project with Optimizing timed loop rate.vi from the shipped examples with nothing else running, it makes me curious to know why!
    CLD

  • Ethernet/IP module - IEEE-1588 CIP Sync

    Hi,
    I have an application where reatime position setpoint is desired (each 0.008sec). I have to talk from a CVS 1459RT (or any cRIO) to Allen Bradley Kinetix Drive. I've read some document and learn that AB use an addon to Ethernet/IP when deterministic application is require which is called CIP Sync (IEEE 1588) protocol.
    Does the Ethernet/IP module support this protocol? I think AB doesn't support Ethercat...
    I talked to NI and they suggest me to send the position via digital output of the FPGA by simulating an encoder. That is a good idea but is there other way to communicate deterministically? CIP Sync look to be the way ...
    Thank you,
    Patrick

    Hi paubine
    According to my understanding, IEEE 1588 only adds syncronization standards to Ethernet/IP. I am not sure if the Ethernet IP Module would give you predifined functions for that, however, I found this example of IEEE 1588 for cRIO.
    Community: cRIO IEEE 1588 Synchronization Example
    They used basic SMT VIs to build it, so I think you might be able to do the same for the AB PLC.
    WenR

  • Frequency acquisition yielding inconsistent results

    Hello all.
    I'm using a PCI-6602's counters to measure frequency from three separate places on a bearing test rig.  Two are the bearing cage, one is the shaft.
    The sensors I'm using are magnetic/prox in nature and are reading two magnets on each cage at about 180hz and one screw on the shaft at about 190hz.
    I'm taking the frequency and multiplying it by either 30 or 60 to attain an RPM reading.
    With a handheld digital tach, we have verified that the shaft is holding steady speed within 3-4 RPM, however my RPM readings are fluctuating by what seems to be the multiplier I'm using.  Almost as if the system's period of count isn't consistent and it's adding or subtracting a pulse from the frequency.
    Can someone look at this simple VI and recommend what I could do to filter or 'average' the count so that it's steady rather than fluctuating so much?  I've tried the 'filter' express VI to no avail, I can't get it to even start to work.  Maybe a different approach in the DAQ assistant and timing?
    Thanks in advance.
    Message Edited by Ralph@NES on 08-21-2007 12:32 PM
    Still confused after 8 years.
    Attachments:
    RPM.vi ‏53 KB

    I modified it so that I'm taking 20 samples at 499-501msec.  Dividing 60 and 30 (depending on whether it was the cage at two pulses per rev or shaft at one pulse per rev) by this number and getting what appears to be a valid RPM, although my fluctuations are the same or very similar as before.  Is there some kind of filtering that I need to do?  What am I missing here?
    Still confused after 8 years.

  • PXI 7833R pull up

    I am using Labview FPGA and PXI 7833R card.
    the PXI 7833R card has normal output swing from 0 to 3.3v. If I wanna drive a 5V CMOS logic . The manual says I can use a pull up resistor.
     My question is that when I use the pull up resistor, should I set up the digital output through the FPGA software, or I just use a pull up resistor without doing anything else?
    this picture is how the manual does.
    Attachments:
    c.jpg ‏32 KB

    Hi There:
    Thank you for your question. I am not sure I have understood your question correctly so if this post does not answer your question please let me know so that I can research further.
    Basically all the pull up resistor is taking the output of 3.3V and pulling it up to 5V. The board outputs 3.3V when a high logic is seen at the terminal. The logic that you send out to the terminal is determined by the code in your FPGA vi. So to answer the question, you will have to connect a pull up resistor and set the digital outputs using the FPGA software which in this case is LabVIEW FPGA.
    I hope that helps.
    Best Regards,
    Jaideep

  • Convert a rpm waveform to digital/analog tach signal. Sound & Vibration

    Hello,
    my question is: How to convert  a rpm waveform to
    digital/analog tach signal for use with SV application?
    Or is it possible to modify the SV - VIs for the use of
    a rpm waveform or a speed signal?
    Thanks a lot for coming answers.
    Thomas Nuding

    Typically an RPM waveform is the analog view of a tachometer, such as a proximity probe over a key or keyway, or an index pulse from an electric motor.  In most rotor dynamics applications, the phase of the tachometer waveform is compared to the phase of other waveforms, such as vibration, to determine the angular position of the shaft when the other waveform occurs. 
    The sound and vibration tools have a function for calculating RPM from an analog tachometer waveform.  The order analysis toolset go further to add a counter as an tachometer input.  The OAT tools also allow for selection of rising edge or falling edge and voltage level for the "trigger".  A time instance is recorded when the edge occurs.  This time instance is used for phase measurements and for resampling the other waveforms into the angular domain, ie. 360 measurements per revolution. 
    Preston Johnson
    Principal Sales Engineer
    Condition Monitoring Systems
    Vibration Analyst III - www.vibinst.org, www.mobiusinstitute.com
    National Instruments
    [email protected]
    www.ni.com/mcm
    www.ni.com/soundandvibration
    www.ni.com/biganalogdata
    512-683-5444

  • Convert a rpm waveform to digital/an​alog tach signal. Sound & Vibration

    Hello,
    my question is: How to convert  a rpm waveform to digital/analog tach signal for use with SV application?
    Or is it possible to modify the SV - VIs for the use of a rpm waveform or a speed signal?
    Thanks a lot for coming answers.
    Thomas Nuding

    duplicate post

  • Controlling fpga digital output node from realtime boolean

    I have a system where I want to turn on / off a digital output running on the FPGA.    
    Once I set the boolean on my realtime side (which turns on the FPGA output), I see the output turn on the CRIO, but it flickers on and off.   (not latching?).   I just want the FPGA to stay on as long as the output is turned on, on the realtime side.  I cant change the mechanical action of the switch due to limitations on FPGA / RT according to labview ( I get an error at compile)
    Any suggestions on how to correct this?
    Solved!
    Go to Solution.

    I have simplified my program to something very basic to replicate the problem. 
    The digital output D0 switches on and off everytime the realtime loop cycles through. 
    If I run just the FPGA seperate and turn on the digital output control D0 it stays on solid. (until I turn it off again)
    What am I doing wrong?
    Attachments:
    FPGA_RT_TEST.zip ‏144 KB

  • NI LabVIEW 2014 Digital Electronics FPGA Board Driver

    Hello all,
    When NI LabVIEW 2014 Digital Electronics FPGA Board Driver Release date?
    Thanks.

    Hi mlewis1973
    We have no information regarding the next release of this driver yet. As you mention, the 2013 version is available, so, for now, the solution would be to use LabVIEW 2013 until R&D gives us an update regarding this topic.
    Thanks!
    WenR

  • NI Digital Electronics FPGA Breadboard's UCF

    Good day..i've been using Xilinx ISE 14.3 to program my NI Digital Electronics FPGA board and i want to use some FPGA GPIO lines placed on the Breadboard1(BB1) area...how can i create my UCF file to use this GPIO.??
    Solved!
    Go to Solution.

    Hey Dominic,
    I just want to be clear... if you're trying to use LabVIEW to target the board, you will need the LabVIEW FPGA Module. If you're just using ISE, you can use the UCF attached below to enumerate all of the pins on the device. Since our forum system won't let me upload a .ucf, I posted it as a .txt... just change the extension or copy/paste the pins you need into your project's .ucf.
    Cheers!
    TJ G
    Attachments:
    DEFB_PINS.txt ‏9 KB

Maybe you are looking for

  • Why does incoming mail go into the trash on my iPad?

    Incoming mail goes into the trash and not into the In box on my iPad. What needs to be changed, as these incoming emails have not been read. Why do they go into the trash?

  • Time Capsule to be used for PC migration?

    Hi everyone! Since my files from my old PC are much larger than my new MacBook pro's capacity, and the Migration Assistant wont let me deselect unneeded files prior to transfer, can I use a new Time Capsule as a Network drive to transfer say my ITune

  • Unable to make Ajax4JSF work (using NetBeans 6)

    Hi, I am trying to integrate RichFaces into a Netbeans Visual Web JSF application. I tried using the following in my jsp code but it seems like the event is not triggered. The action method is never entered into. <webuijsf:listbox binding="#{Bean.lst

  • Installing BOE XI 3.1 and Data Services on same server, recommended or not?

    I am fairly new to the BusinessObjects world. I have been told that it is not recommended that both BOE and  Data Services exist on the same server.  I was just wondering if there is any documentation (best practice) or technical reason why these two

  • Connect to Azure Sql DB through WCF Data Service

    I am following the tutorial: http://msdn.microsoft.com/en-us/library/windowsazure/ee621789.aspx; Connect to Windows Azure SQL Database Through WCF Data service on a Windows 8 machine running VS2013.  Until starting this tutorial, I have only been usi