From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Parallel data acquisition problem

Hi everyone!

I’m facing a problem with acquiring data from my NI 6259 BNC card.

What I basically want to do is to measure, let’s say, both RPM of the jet engine as well as temperature. I have thermocouple and of course the voltage of thermocouple is proportional to temp. I also have a phototransistor to measure RPM, but… the signal from phototransistor is non-TTL signal. For measuring RPM I’m using code from: “DAQmx: Counting Non-TTL Pulses with Multifunction Board and Labview”. It is using port redirecting and triggering.

Both measurements are ok when run separately. I mean I can measure continuously temperature and plot it to graph in real time. I can measure PRM with very good accuracy as well. But I can to this only separately, I don’t know how to write a program to measure them both together in one VI.I want to measure (and save to file) both RPM and temperature at the same time.

I think it has something with triggering option in RPM measurements, triggering stops all measurements. Is there any way to measure them both?

Thanks in advance,

Maciek

0 Kudos
Message 1 of 3
(2,300 Views)

Hi Maciek,
You are saying it right, there is limitation due the trigger used. The examle you mentioned is elegant for measuring just RPM but adding any other measurement on AI side is nearly impossible since the analog input is triggered depending on RPM value and there is usually requirement on measuring the temperature with fixed sampling period (especially when you want to log it to the file).
I would propose 2 solutions:
The first one is easier and does not require any signal conditioning. It would be just measuring the temperature and RPM through analog inputs (each on one AI channel) and processing would be made using LabVIEW. The sampling rate thus must be made with respect on the RPM signal to be sure that you will acquire enough samples to extract the signal shape (mainly the edges) exactly enough to make the measurement precise and reliable. The temperature will be acquired the same sampling rate so you can select just one of e.g. 100th or average multiple samples into one which will be displayed and stored to a file. There is also one recommendation. Since the USB-6259 BNC card has aggregated AI, it is good to have all AI signals on similar range because switching the signals e.g. 10mV and 10V can cause some accuracy issues. Usually, signal condition before connecting is to the card solves the issue.
Second way how to measure both signals is to convert the signal from RPM to TTL logic, it should not be a problem using one or more transistors. Then it is very easy to measure RPM using only a counter. The temperature measurement will be second separated task, so all will be independently configurable. In my opinion, this is cleaner and more effective how to measure both quantities, but you have to to the converter from your "non-TTL" signal to TTL.
Please let me know if this is acceptable for you, if not, send here the code with deeper comments (mainly about the parameters of the RPM signal).

Best regards,
Martin

0 Kudos
Message 2 of 3
(2,232 Views)

Martin,

First, thanks a lot for replay.

To be honest I’m really not so good in electronic stuff, but I managed to switch to analog acquisition of signals and store them in 2D array.  I’m using 10 points voltage measurements per 1 rev for max RPM, so sampling frequency satisfies Nyquist frequency. All signals, both from thermocouples, pressure sensors, phototransistor and strain gauges are in similar range (0 - 2.5 V), I haven’t experience any issues with accuracy so far.

Anyway, thanks again for answer,

Maciek

0 Kudos
Message 3 of 3
(2,179 Views)