I am trying to measure a 60 Hz signal with the module cFP-AI-102, but the signal comes completely distorted. I've made a test with a function generator and I realized that it only possible to measure signals up to 5 Hz before the distortion begins.
I've already changed the "advise rate" from 100 ms to 1 ms and the problem persists. The module datasheet says it can acquire 360 S/s so, I understand 60 Hz would be piece of cake for the module. Is there any further configuration necessary or it is just not possible to measure such signal?
See how I am configuring my VI:
Thank u all!
360 S/s is only 6 samples per line cycle of 60Hz. That's not fast enough to put out something that looks like a 60Hz waveform.
I guess the results you are obtaining are little strange...
Can you provide us more information?
According with hardware specification it's possible to read your signal, maybe, the biggest distortion you could obtain would be a small attenuation of the signal amplitude, but the information about frequency I'm sure cannot be so different as you told.
Please take a screenshot of the signal you are acquiring and send to me, if possible attach also your vi, then we can analyze better.
Other thing, you are using a function generator right? Can you tell us about the frequency, amplitude, and other specifications about this device?
I have been having a similar issue. We recently purchased a cFP-AI-118 specifically because it has a very high sample rate - 10kS/s. However I seem to have hit a similar limit and can't sample signals of a higher frequency than 35Hz. That's currently using a FieldPoint Express vi to read the channel, with the target added to my project.
I suspect the rate of my vi execution may be the limiting factor, but all guides and lower-level functions seem to require LabVIEW RealTime. As I'm using a cFP-1800 controller, I can't use LabVIEW RT (aside from the £2k cost for a whole development suite simply to read my device at it's rated speed).
Do you have filtering enabled? From the manual:
The cFP-AI-118 has a 10 Hz digital sinc filter that provides 55 dB
of rejection at every multiple of 10 Hz
0.01%. You can configure
each channel separately in software for 10 Hz filtering or no
rejection. The filter can greatly reduce 50/60 Hz noise from nearby
AC power lines.
The all-channel update rate of the cFP-AI-118 is 10.42 kHz with
no filtering. If you enable filtering on any channel, the all-channel
update rate is 3.45 kHz.
Hi AnalogKid, thanks for the response.
Yes, I have filtering disabled. I've managed to find another FP module with the cFP-2000 controller, which has limited RT functionality. Although I still don't have LVRT this has at least enabled me to deploy a network-published shared variable to the device, but I'm surprised to find the speed is pretty much the same, if not slower. I've also tried binding a chart plot directly to the cFP channel, with the same results.
The signal generator I'm using is a simple Thandar TG502 outputting a signal with ~0.5V amplitude; I've put it into an oscilloscope and it's generating as expected. At lower speeds the FP device reads a nice waveform, it's simply not acquiring quickly enough. I've attached my project with a couple of different methods, perhaps there's something in there that's slowing things down.
If I have an advise rate of 1ms, the minimum possible in MAX, does that mean I can't possibly read faster than 1kHz unless I'm able to get my FP device to return arrays rather than individual values?
I've been trying various different read setups to benchmark and speed this process up, but it seems that the .vi execution doesn't appear to be what's limiting my update rate. I've put in a benchmark for my read loop and it's executing at a far faster rate than I'm receiving new values.
Presumably this means the bottleneck is getting new data from the FieldPoint server? And without LVRT, I can't think of any other methods to do this than bound variables. Could anyone provide alternative suggestions or links?
Please, answer-me some questions...
What is the LabVIEW version that you are using?
If I correctly understood, you have tried the same VI’s using a RT controller, and you got the same results?
Is the first time that you are getting this problem? This VI have worked fine one day?
As I saw in your VI you are using the “FP Create tag” function to start the configuration of your acquisition, have you read the help about this VI? There you will found some tips and best practices to use it, is strongly recommend that you read it because you are not respecting the “program flow”, please see the “FP Create Tag” detaild help where you will found more information.
If you are using LV 7.0 or later try this acquisition scheme below, and tell me which results have you obtained.
Hope this helps!