Frequency measuremen​ts using NI cRIO 9073 and NI 9425 or NI 9422 modules
Hi everyone!
I'm trying to measure two frequency signals using a cRIO 9073.
I'm already using a NI 9425 module for digital inputs.
I need to measure two (2) frequency signals.
Is it possible to use this module (NI 9425) or NI 9422 for frequency measurements either in Scan Engine or FPGA mode?
In case it is, if you could point me to any example, it would be appreciated.
I'll try to be more explanatory:
These two frequency signals are in completely different ranges.
The first is a frequency signal from a DC motor tachometer and the second one is from a mass flow meter.
So the frequency ranges vary from KHZ for the tachometer output, to Hz for the MFM output.
The rest of the channels on the module are simple Digital Inputs.
Also, I have the option to use a NI 9422 module if NI 9425 is not appropriate.
Thanks in advance,
t81
t81,
It is possible to make frequency measurements with either the 9422 or the 9425 but each will have its own limitations in the range of frequency it will be able to accurately measure.
A few things to know:
1. What are the frequency ranges for each sensor (tach and MFM)? More than just knowing Hz/kHz will be helpful.
2. To what accuracy do you need to measure these signals?
The 9422 supports a specialty digital configuration counter input that can be configured for frequency measurement (see link)
http://zone.ni.com/reference/en-XX/help/372603F-01/riohelprt/crio-9422_rt/
The specialty mode is only available when using Scan Interface mode, not with FPGA.
But the max clock rate in the specifications for the 9422 is 4kHz so this may not be sufficient for the tachometer. I believe this is the max rate at which the module will update its state no matter how fast the underlying software (RT controller) is running.
The 9425 has a higher clock rate (~140kHz) but doesn't support the specialty digital mode mentioned above. It is also a software timed only device but this shouldn't be a problem if you use FPGA.
Dan
Similar Messages
-
Varying ON time pulse train generation using NI cRIO-9073 and NI 9401 module
Hi,
I am a beginner to the Labview environment. Am using NI cRIO-9073 and NI 9401 module; and NI Labview 2013. I want to generate 64 pulses, wherein the ON time of the pulses are varying as shown below. The Pulses need to have a constant period of about 34µs. The pulses should have a constant amplitude anywhere from 5 to 10V. I am trying to do the same in FPGA interface mode but failing to do so. Please advise me..... Please also suggest pdf and video resources to learn Labview programming.
Pulse ON Time
18 µs
19 µs
20 µs
21 µs
22 µs
23 µs
24 µs
25 µs
26 µs
27 µs
28 µs
29 µs
30 µs
31 µs
32 µs
33 µs
33 µs
32 µs
31 µs
30 µs
29 µs
28 µs
27 µs
26 µs
25 µs
24 µs
23 µs
22 µs
21 µs
20 µs
19 µs
18 µs
17 µs
16 µs
15 µs
14 µs
13 µs
12 µs
11 µs
10 µs
09 µs
08 µs
07 µs
06 µs
05 µs
04 µs
03 µs
02 µs
02 µs
03 µs
04 µs
05 µs
06 µs
07 µs
08 µs
09 µs
10 µs
11 µs
12 µs
13 µs
14 µs
15 µs
16 µs
17 µst81,
It is possible to make frequency measurements with either the 9422 or the 9425 but each will have its own limitations in the range of frequency it will be able to accurately measure.
A few things to know:
1. What are the frequency ranges for each sensor (tach and MFM)? More than just knowing Hz/kHz will be helpful.
2. To what accuracy do you need to measure these signals?
The 9422 supports a specialty digital configuration counter input that can be configured for frequency measurement (see link)
http://zone.ni.com/reference/en-XX/help/372603F-01/riohelprt/crio-9422_rt/
The specialty mode is only available when using Scan Interface mode, not with FPGA.
But the max clock rate in the specifications for the 9422 is 4kHz so this may not be sufficient for the tachometer. I believe this is the max rate at which the module will update its state no matter how fast the underlying software (RT controller) is running.
The 9425 has a higher clock rate (~140kHz) but doesn't support the specialty digital mode mentioned above. It is also a software timed only device but this shouldn't be a problem if you use FPGA.
Dan -
I have been trying to program for some new experiments and have a vi setup to record the time-of-arrival for a signal using buffered event counting on two channels. We really wanted to be able to measure the frequency of the incoming photons on both channels and thought we could just make a sub vi using simple event counting and count the number of rising edges on a source pin for a second and report that number and repeat the measurement until we were done..
All of our vi's have to be programed using the Traditional NI-DAQ drivers as the NI-DAQmx drivers do not play well with the FIFO overwrites on the 6602 card that occasionally occur in our measurements (high instantaneous count rates from bursts of photons). The way other groups using the 6602 card and labview have dealt with this is to ignore the error that come from the Read Buffer.vi used with the Traditional NI-DAQ drivers when a FIFO overwrite occurs. Trying this same technique with the NI-DAQmx drivers has not worked so we are stuck with the old drivers.
With this all said I made a vi that counted the freqency on one counter just fine but when I adapted it for two channels it doesn't like me anymore
I attached the llb file and any comments would be greatly appreciated
-Shane
Attachments:
Counts per second.llb 202 KBHello Sprice,
Browse the shipping examples according to “Directory Structure” and then select
DAQ to find the Traditional DAQ examples.
There a lot of examples that are written for counters (Counter >>
daq-stc.llb >> Count Edges (DAQ-STC).vi).
What kind of signals are your photons creating? Are they TTL compatible at a certain
frequency? You don’t care about overwriting
your buffer?
Respectfully,
Rob F
Test Engineer
Condition Measurements
National Instruments -
Doubts using NI cRIO 9012 and NI 9111..
Hello.. i'm using NI cRIO-9012, NI-9111, NI 9234, NI 9201 and NI 9474 in a school project... i started to do some easy things like sine wave acquisition in order to be more in touch with the labview hardware and software, the software that i'm using it's the LabView 2009 Service Pack 1.
i have acquired the sine wave with NI 9234 and NI 9201 and i couldn't find the diference between this two modules, is there any thing that i can do with one of them and couldn't do with the other? what's the main diference between them?
i couldn't realise either how many points am i acquiring at each period (acquisition rate i think) of the wave? (would you like me to send the code?)
from these two modules i got something, from the NI 9474 i've saw nothing yet... i was trying to generate PWM wave and i use the FPGA help wizard to generate the code, everything was fine but i couldn't get anything.
I hoping that someone can help me..
Thanks
Mário SilvaHi Maxime,
thanks for answering, i took a look at the links you gave me and one of them i've seen it before (cRIO Pulse Width Modulation) but i must tell you that i'm new at labview and those VI's are too much for me to carry yet =) ....
About the engine times i've told my doubt was, should i use Single Point Continuous or Single Point Timed I/O to create PWM??
I tried Single Point Continuous and i'll let you know the VI's i've used...I could see that by changing the values of Active Time and Period the brightness of the little led at the output port was changing too but there was nothing appening at the scope. The signal just change all to zero or all to my source signal (12V), there's no PWM oscillation.
About the code i have some questions too, i can't understand how some subVI's are created, how are they conected with the FPGA and HOST and what are they for..
there are some blocks that appear when i run the FPGA Wizard that i can't find when i creating a blank project, i think that they has to do with the subVI's i told you and some dependencies too.
I really appreciate your patience, thanks a lot.
The best regards
Mário Silva
Attachments:
Single Point Continuous PWM_fpga.vi 54 KB
Single Point Continuous PWM_Host.vi 312 KB
FPGA_doubt.png 123 KB -
Why do I keep getting error -65581 when trying to use a cRIO 9024 and c series modules
I am simply trying to send out a digital high on DIO0 of a 9401 c series module and I get the following error every time.
Error -65581 occurred at Shared Variable in Send True Value Out.vi
Possible reason(s):
CompactRIO: (Hex 0xFFFEFFD3) The FPGA personality currently running on the CompactRIO chassis does not support the RIO Scan Interface in this slot.
This error or warning occurred while writing the following Shared Variable:
\\NRL-CMG-cRIO\NI 9401-1\DIO0
\\170.126.209.52\NI 9401-1\DIO0
Any help would be greatly appreciated.
Nate
Solved!
Go to Solution.NMAYO,
In your project view can you right click on the chassis in the cRIO and make sure that it is set for Scan Mode and not FPGA mode? Also, In the measurement and automation explorer you can check the cRIO and verify that it has Scan Engine Support installed on it. The tutorial below shows how to reformat a cRIO and install software on it, the later steps on software will allow you to check your cRIO.
Reformatting a CompactRIO Real-Time Embedded Controller
Ben Sisney
FlexRIO V&V Engineer
National Instruments -
Is cRIO-9073 compatible with LabVIEW 8.5.1?
I just received a cRIO-9073 and a cRIO-9074.
When I configure them, both of them appear properly in MAX.
When I add them to a LabVIEW project, the cRIO-9073 does not show its FPGA target. The cRIO-9074 does show it.
I am using LabVIEW 8.5.1, is it compatible with the cRIO-9073?
Thanks for any help.
Michel
Solved!
Go to Solution.Hi Oswald,
Thank you very much for the very prompt response. This should solve my problem.
Also, after I read you message, I finally found the link to the software revision/compatibility file in the CompactRIO cRIO-9072/3/4 Operating Instructions and Specifications on page 3:
"Notes Visit ni.com/info and enter the info code rdsoftwareversion to determine which software you need to use the cRIO-9072/3/4."
Thanks again for your help
Michel Lanthier -
I am trying to compile an OUT file for my Simulink model using "nidll_vxworks" and run it using the Simulation Interface Toolkit for a cRIO 9073 . I am able to compile the DLL file using "nidll" and succesfully run the simulation using my PC as the host.
I already downloaded the "gccdist" and "vxworks61gccdist" folders and copied them to "c:" When I build the model in Sumulink I get the following error at the end of the process (at the same time windows tells me that "sh.exe" has stopped working). If it matters I am running Windows 7 64bits, but using Matlab 2009b 32bits and LabView 2010 32 bits. ANY HELP WILL BE APPRECIATED. "QofV" is the name of my Simulink model and I changed to "XXX" parts of the file path.
### Linking ...
rm -f "QofV.out" ctdt.c;nmppc QofV.o QofV_data.o rtGetInf.o rtGetNaN.o rt_logging.o rt_look.o rt_look1d.o rt_nonfinite.o nidll_main.o rt_sim.o ode8.o | tclsh c:/gccdist/WindRiver/vxworks-6.3/host/resource/hutils/tcl/munch.tcl -c ppc > ctdt.c
abnormal program termination
C:\Users\XXX\AppData\Local\Temp\make426012.sh: fork failed: no child processes [1]
make: *** [QofV.out] Error 1
### Real-Time Workshop build procedure for model: 'QofV' aborted due to an error.
>>
### Linking ...rm -f "QofV.out" ctdt.c;nmppc QofV.o QofV_data.o rtGetInf.o rtGetNaN.o rt_logging.o rt_look.o rt_look1d.o rt_nonfinite.o nidll_main.o rt_sim.o ode8.o | tclsh c:/gccdist/WindRiver/vxworks-6.3/host/resource/hutils/tcl/munch.tcl -c ppc > ctdt.c
abnormal program termination
C:\Users\XXX\AppData\Local\Temp\make426012.sh: fork failed: no child processes [1]make: *** [QofV.out] Error 1 ### Real-Time Workshop build procedure for model: 'QofV' aborted due to an error.>>
### Linking ...rm -f "QofV.out" ctdt.c;nmppc QofV.o QofV_data.o rtGetInf.o rtGetNaN.o rt_logging.o rt_look.o rt_look1d.o rt_nonfinite.o nidll_main.o rt_sim.o ode8.o | tclsh c:/gccdist/WindRiver/vxworks-6.3/host/resource/hutils/tcl/munch.tcl -c ppc > ctdt.c abnormal program termination C:\Users\XXX\AppData\Local\Temp\make426012.sh: fork failed: no child processes [1]make: *** [QofV.out] Error 1 ### Real-Time Workshop build procedure for model: 'QofV' aborted due to an error.>>
Solved!
Go to Solution.Hello jarcTec,
I am not sure right now if you can do it, but this tutorial might help, also everything was made in Winddows 7 in this one.
http://zone.ni.com/devzone/cda/tut/p/id/11654
Take a quick look and let me know if it works!!!
Luis Fernando
National Instruments Cono Sur
Ingeniería de Campo y Consultoría
http://chile.ni.com/ -
How to use SEA GSM Module on different slot of the cRIO 9073
Hello to All,
I have a SEA GSM+ Module on my cRIO 9073 at slot 7. I run the example program included in the resource CD as well as compiling the FPGA driver on my target but still don't work. Power supply is connected on the module. I don't know what I am missing. I followed strictly below steps as indicated in the read me text file but still nothing works. Please help.
How to switch the FPGA Target on LabVIEW
Complete the steps only if you use FPGA target other than 9104.
1. Add your new Compact RIO Target to the project
1. Add the new FPGA target below the cRIO-RT Target.
3. Drag the Gxxx folder from the original FPGA target and drop it into the new FPGA target. Make sure, that the module with its IOs, the FIFOs and the FPGA VI are integrated
4. Recompile the main VI - FPGA_App.vi, which is located in the Gxxx folder. A new bit file is created (.lvbit)
5. Open the Gxxx_Open.vi and select the just created bit file within the 'Open FPGA VI Reference.vi'.
6. Bind to TypeDef using ..Shared/Shared_TypeDefs.llb/Gxxx_FPGA_RefNum.ctl.
7. Close all VIs and do a "Save All, this project"
Thanks in Advance,
JoeyHello Jeff,
The module is not working in any slot. Yes, I am using the sample code provided with the module name "Gxxx.lvproj". And also the FPGA is successfully compiled. Please see attached file for the error I received by the module.
I already see this error in this forum and it was answered by powering the module by the external power supply. I already powered it. but still got an error.
For the clarification, I am not using the "SEA cRIO-Combo plus" module in the project rather I am using "SEA cRIO-GSM plus". I also attached the sren shotof the manual. I don't see any Toolkit Software manual in the resource CD and on the SEA website.
Best Regards,
Joey
Attachments:
GSM error.JPG 34 KB
manual.JPG 91 KB -
Binary to Voltage Conversion of encoder data on cRio 9073 using FPGA
I am using FPGA with a cRio 9073 to acquire torque and absolute quadrature encoder values. It says in the FPGA instructions that the documentation for the 9073 should include the binary to voltage conversion, but when I looked at the documentation, it wasn't there. Where can I find the conversion value or function to convert binary encoder data back to voltage? The encoder is hooked up to an analog converter and is acquired with a 9215 AI (+-10V differential). Thanks
There are individual formulas for one or a group of modules.
LabView examples path:
LabVIEW 2010\examples\CompactRIO\Basic IO\Analog Raw Host Calibration\AI Raw Host Calibration
LabView help topic
Converting and Calibrating CompactRIO Analog Input Values (FPGA
Interface)
Best regards
Christian -
Digital Frequency Measuremen​t for cRIO
Hi,
I'm new to LabView, and I'm having problems setting up a VI for frequency measurement. Any tips would be greatly appreciated!
Task: I am using a cRIO with a digital I/O module (NI 9403). My goal is to connect the sensor that I am using (a MAXIM 6576 temperature sensor with period/frequency output in the form of a square wave) to the cRIO and have a VI measure and output its current frequency or period.
I've tried working with the Count and Period.vi, but when I tried to compile I found out the 9403 module does not support SCTL. I also looked at a thread that was posted in 2009 (http://forums.ni.com/t5/Counter-Timer/beginner-stuff-cRIO-digital-frequency-measurement/td-p/826656/... that discussed a similar problem, but when I tried using the Host VI I got the multiple error messages saying "Function not supported in current target". This happened even when I tried using the original Count and Period (Host).vi with no modifications (but the original Count and Period (FPGA).vi works just fine).
I don't know how to approach this problem - should I be using FPGA or Scan Interface mode? Are there any basic examples of frequency measurement or digital counters that do not involve NI data acquisition devices? For a basic counter, how would you set up the VI so that it could measure the period or frequency based on the counter values?
Thanks a lot for your help!
AndreaHello,
A great place to get started when using a cRIO is the NI CompactRIO Developer's Guide. It will explain both Scan Mode and FPGA. The difference between them comes down to the functionality and what you would like to complete in the program. The simpler of the two is Scan Mode but you have more functionality with FPGA.
We offer a lot of good examples in our NI Example Finder by going to Help >> Find Examples. In here you can narrow the examples by hardware or just browse to different categories. We do have a counter example that will work with the NI 9403 you can get to the example by going to Hardware Input and Output >> NI Scan Engine >> Module Specific >> Digital Input >> “Digital Line Input – cRIO.lvproj.”
Regards,
M. Whitaker
ni.com/support -
How can i create fpga vi using Crio 9073 as target
i am using crio 9073 controller using this i can able to create RT Host VI but i cant able to create FPGA target and VI
thanks for your reply.... i installed that LabVIEW FPGA software and i tried. now i can able to create VI under FPGA
-
Triggering frequency measuremen​t with 9402 and cDAQ
Hi all,
I'm trying to take a speed measurement off of a shaft using a hall effect sensor and a 9402 module in a 4 module cDAQ 9174 chassis. I've used the low frequency measurement example using DAQmx but if the shaft isn't spinning I get a timeout error.
Two questions, is there a way to use the Express VI's to accomplish this and how do I create a trigger to start the measurement?
-IanWhy not clear the timeout and report 0 RPM. The timeout is 0 rmp but you dont want to wait forever and block program flow.
Paul Falkenstein
Coleman Technologies Inc.
CLA, CPI, AIA-Vision
Labview 4.0- 2013, RT, Vision, FPGA -
Using FPGA cRio and 9853 for a J1939 CAN
We are currently trying to interface with a J1939 CAN network using a cRio 9012, 9104 chassis and the 9853 module. We have Labview 8.2. I stumbled accross the examples for Labview 8.6 and newer. Is there any particular solution/road we should be going down?
I have experience using Labview with a cDAQ, but have not much experince with RealTime and FPGA.
I got the thermocouple module to work using FPGA, so the RIO itself and the module do work.
Thanks for any guidance/help you can send my way.The way I would approach J1939 on the cRIO would depend on what features of J1939 you needed for your app. If you are just reading or writing broadcast messages that fit in a single 8 byte frame it will be just as straight forward as standard CAN. Basically in this case you would be reading frames on the FPGA code, transmit them to the realtime portion where you can convert them to channel data using a CAN database. Writing would be just the opposite direction.
If you are using requests for PGN data, lets say to retrieve DTC codes, or R/W data using advance diagnostic messages (say DM14/15/16 for example) things will get a bit more difficult but not too bad. If you are expecting to tx or rx multi-frame packets and need the transport protocol of J1939, then things can get complex fast.
DMC recently developed a set of J1939 protocol drivers for LabVIEW which are based on the NI-CAN channel API. The drivers were written in LabVIEW just like the NI frame example, but provide functions at a layer above the base CAN channel API layer. This allows the simultaneous capture of data from both J1939 packets which are simple broadcast CAN frames, or more complex transport using BAM, including extended data frames.
I suppose something like this could be written into the realtime of the cRIO, and just pass frame data back and forth using some very basic code on the FPGA. -
Acquiring AC voltage signal using NI 9206 9205 and cRIO
Hello. I am having difficulty accurately acquiring an AC voltage signal using a NI 9206 and cRIO. I'm attempting to acquire voltage signals from two types of Magnelab Current Transformers: split core and rope. In Labview, I first populate an array of size 2,500 with the sensor signal (DIFF mode), then compute the RMS of the array. For the split core CTs, I am able to accurately acquire the correct voltage reading (verified by measuring the corresponding amp on the line using a Fluke 434 Power Analyzer. For the rope CT, however, using the same array/RMS method, I am unable to accurately acquire the correct voltage reading. Measuring the amp on the line using the Fluke 434 PA, the correct voltage from the rope CT should be 0.05v. Using the 9206 (DIFF mode), the RMS from the array gives a voltage reading of 0.071. Now the interesting part is when I measure the line voltage using two different True RMS DMMs, I get two different readings. One multi-meter, a Klein CL2000, reads the correct voltage at 0.05v. Another multi-meter, a Fluke 189, reads incorrectly at 0.071, the same as I get using LabView and the NI 9206. I suppose the question is how is the Klein interpreting the signal differently than the Fluke 189 and the NI 9206 via LabView. One difference between the split-core and rope CTs is that the rope CTs require an external power supply 12-30v AC or DC. I am providing them with 12v DC. I have tried multiple voltages in both AC and DC and still get the same incorrect reading. I'm quite certain it is not a power supply issue, although perhaps the integrator in the rope is creating a unique signal. Any ideas? I appreciate any input.
Thanks,
J.Grant
Solved!
Go to Solution.AK2DM:
Update - solution found
While the Butterworth low-pass filter sort of worked, it was NOT the solution. I spent some time analyzing the rope CT signals by sampling at a very high rate. The AC signal coming off the rope CTs is triangular NOT sinusoidal. The RMS function in LabView assumes a sinusoidal waveform and essentially calculates the RMS as the average of voltage peaks (for each cycle) / sq.rt (2). Since the AC voltage single emanating from a regular split-core CT is basically sinusoidal, the LabView RMS of the signal gives an accurate reading of the voltage signal. Unable to find a RMS function in LabView for a triangular AC voltage signal, I ended up developing my own custom triangular RMS function in LabView. My function analyzes the signal by finding the peak of every cycle within the signal, takes the average of these peaks, then divides this average peak by sq.rt (3). see this link for formulas:
http://www.optics.arizona.edu/nofziger/OPTI%20380B/Lab%201/AVG%20and%20RMS%20Values%20of%20Periodic%...
Using the triangular method, I am able to accurately acquire the signal off the rope CTs.
Thanks for your help! -
what are the frequencies all versions of the iPhone 6 and what are they used for (e.g. GSM, 3G, LTE, WIFI, Bluetooth,etc...) provided with channel numbers per frequency.
Click here
Maybe you are looking for
-
I Just bought a new 13" Macbook air and want to add 2 external monitors. Am wondering if the Minin Display Port to Dual Link DVI adapter will work. If not is there any other solution to add 2 external monitors to a MacBook Air?
-
FMS to Find total number of Quantity for all Sales Orders
Hi Experts, I am trying to get the total number of quantities for the current document. Kindly help me out how to find it out for the current document. Currently I am giving the document no. to the query by modifying the query every time before execu
-
My iPhone tells me it has run out of storage and it is because of my photo/video storage. There are about 400 photos that are in my photo stream on my phone from my Mac that I don't need to be there. Is there a way to stop the transfer from my Mac
-
Hi, I have numerous different Apple products, an iphone 5c, iPad mini and iPod touch 5th gen. I have had them all for only relatively short periods of time yet the lightning cable has stopped working on all of them? On the touch, charging has stopped
-
How can I find out the server port for a secured FTP site and creating a FTP Connection Manager
I have to create a FTP Task to go out and get the files that our 3rd party vendor will be dropping on a secured FTP site. I have all the credentials to access that Secured FTP Site and have successfully done so through FileZilla. Now I need to set-up