09-22-2015 04:26 AM
Hi there,
for my honors project I need to design a Real Time DAQ for a Jet Engine: I have Labview student edition, a CompactDAQ (cDAQ-9178) with 5 different modules and sensors and ,as I am an beginer, I am starting learning the basics. However I need to know if my software and hardware are enough to build a real time DAQ and in particular i am trying to understand if I need Labview Real Time module or I can do it with a DAQmx code.
Cheers
YG
09-22-2015 04:44 AM - edited 09-22-2015 04:46 AM
Hi,
I think the answer to your question depends on your definition of the word "Real Time". I have found that many people throw around RT as a universal arguement against everything, when they don't fully understand their application.
First of all: RT does not necessarily mean "fast". It just means that a System will react to a stimulus within a certain time. This time can be very long, but it needs to be deterministic, i.e. defined/known before it happens. My colleague always used the example: Ferrari vs. Truck on the Autobahn: The Ferrari is fast, but it will get held up and you don't know by how much, so the time varies pretty much. The Truck can and will do 80 kph all the time, so it is more ore less deterministic, but not fast.
Windows, USB and the cDAQ are generally not deterministic. However, if your RT needs are very slow and basic, those systems might be enough, especially when you don't rely it working 100% of the time and you can just repeat tests. So the questions are: Do you have to control anything? How fast do you have to react?
If you do need real time, you can get a 9074 pretty cheaply, which is not the most powerful on the market, but still RT capable.
Edit: RT Module won't help, if you don't have RT Hardware BTW.
09-22-2015 05:00 AM
Hi,
thank you for answer. It is true indeed that I haven't a clear understanding of the Real Time Concept.
From what you said I will probabily need an upgrade, such as cRIO 9074, because the second part of the project is to control the jet engine, so we need a fast
reaction. And what about Labview RT? Do I need It or I can do without it? (limited budget, you know...)
Thank you again
Yuri
09-22-2015 05:17 AM
The RT CompactRIOs have two components - an RT controller and an FPGA. You can use either the RT or FPGA part on it's own, or you can use both.
The RT controller requires LabVIEW RT to program.
The FPGA requires LabVIEW FPGA to program.
You can do deterministic timing on either...but you should learn the differences between them because the FPGA can do very high speed control but it has limited resources (i.e. does not support DBL numerics).
The RT controller is more like a general purpose controller and more similar to LabVIEW on windows in how you program it but it has support for timed loops for deterministic/accurate control timing.
I suggest you talk to your local NI Sales rep who can discuss your application with you and advise you on which one (or both) to go for. The NI 9066 is a newer, cheaper and more powerful version of the 9074, for example.
If you're controlling a jet engine...for the safety considerations alone you should probably be looking at LabVIEW RT + FPGA + a suitable cRIO controller.
09-22-2015 05:35 AM
Hi Sam,
while I agree with you that FPGA cannot do floating point, LabVIEW FPGA does support at least floating points on the block diagramhttp://zone.ni.com/reference/en-XX/help/371599H-01/lvfpgaconcepts/fpgasingleprecisfloat/
Back to topic: We need to know more to give a definitive answer. What is the jet engine you're trying to control? A Model or a real one? How fast do you have to control, i.e. change output values/react? (I would guess fast, but I can't really tell) FYI: The magic limit is 1kS/s.
Have you had a look at the myRIO? It gives you less I/O flexibility, but it's cheap as hell, comes with a zynq chip and LabVIEW RT (I think, btw, it's included in all student versions nowadays). Take a look at it here: http://www.ni.com/myrio/
09-22-2015 05:49 AM
@PeterFoerster wrote:
while I agree with you that FPGA cannot do floating point, LabVIEW FPGA does support at least floating points on the block diagramhttp://zone.ni.com/reference/en-XX/help/371599H-01/lvfpgaconcepts/fpgasingleprecisfloat/
I didn't say it couldn't do floating point, I said it doesn't support DBL numerics. It does support SGL floating point (in newer versions) and fixed-point, however. Using floating point does come with the downside of using quite a lot of FPGA fabric/resources though.
09-22-2015 06:04 AM
That's right! I stand corrected...
09-22-2015 10:30 AM
We should be clear that the cRIO does require the RT Module, even if you're only programming the FPGA.
09-22-2015 10:47 AM
@natasftw wrote:
We should be clear that the cRIO does require the RT Module, even if you're only programming the FPGA.
In that case, I stand corrected. I thought you could target the FPGA directly without requiring the RT module to be installed (only the RIO drivers). You certainly don't need to program anything on the RT side to use the FPGA.