09-26-2017 09:46 AM
Hello all. I am using a cRIO 9104 with a 9014 RT controller. I am using C-Series modules 9401, 9221, and 9211 to read gas flow rate, gas pressure, and some temperatures. I am using a Pulsometer and Differential Pressure Meter with the 9401 and 9221.
My code to read all three modules is in my FPGA, which means the values are coming out as Fixed-Point, and they are all wrong. How do I convert these values to temperatures, voltages, and pressures?
As an example, the Differential Pressure Meter has a digital display and shows a pressure of about 12.23, but my Labview indicator is showing about 8.27.
The temperature measurements are really off. I know the temperatures should be at least 70°F, but Labview is showing -0.000013 or so.
The 9401 which works with the Pulsometer doesn't display anything at all (value of 0). I used a counter loop that was mentioned in the Labview FPGA online course, but even that did not help.
Is there just arithmetic involved to do the conversions, or is there something else that needs to be done?
As a notice, we have this same type of program using a cDAQ-9188, and it works fine. Of course, we are not dealing with Fixed-Point types and we are using DAQmx functions instead of the FPGA. We want to use cRIO for reliability, as we want to avoid dealing with General Purpose PCs crashing right in the middle of the testing we do.
Please see the attached snippet
Solved! Go to Solution.
09-26-2017 09:46 AM
Hello all. I am using a cRIO 9104 with a 9014 RT controller. I am using C-Series modules 9401, 9221, and 9211 to read gas flow rate, gas pressure, and some temperatures. I am using a Pulsometer and Differential Pressure Meter with the 9401 and 9221.
My code to read all three modules is in my FPGA, which means the values are coming out as Fixed-Point, and they are all wrong. How do I convert these values to temperatures, voltages, and pressures?
As an example, the Differential Pressure Meter has a digital display and shows a pressure of about 12.23, but my Labview indicator is showing about 8.27.
The temperature measurements are really off. I know the temperatures should be at least 70°F, but Labview is showing -0.000013 or so.
The 9401 which works with the Pulsometer doesn't display anything at all (value of 0). I used a counter loop that was mentioned in the Labview FPGA online course, but even that did not help.
Is there just arithmetic involved to do the conversions, or is there something else that needs to be done?
As a notice, we have this same type of program using a cDAQ-9188, and it works fine. Of course, we are not dealing with Fixed-Point types and we are using DAQmx functions instead of the FPGA. We want to use cRIO for reliability, as we want to avoid dealing with General Purpose PCs crashing right in the middle of the testing we do.
Please see the attached snippet
09-26-2017 09:46 AM
Hello all. I am using a cRIO 9104 with a 9014 RT controller. I am using C-Series modules 9401, 9221, and 9211 to read gas flow rate, gas pressure, and some temperatures. I am using a Pulsometer and Differential Pressure Meter with the 9401 and 9221.
My code to read all three modules is in my FPGA, which means the values are coming out as Fixed-Point, and they are all wrong. How do I convert these values to temperatures, voltages, and pressures?
As an example, the Differential Pressure Meter has a digital display and shows a pressure of about 12.23, but my Labview indicator is showing about 8.27.
The temperature measurements are really off. I know the temperatures should be at least 70°F, but Labview is showing -0.000013 or so.
The 9401 which works with the Pulsometer doesn't display anything at all (value of 0). I used a counter loop that was mentioned in the Labview FPGA online course, but even that did not help.
Is there just arithmetic involved to do the conversions, or is there something else that needs to be done?
As a notice, we have this same type of program using a cDAQ-9188, and it works fine. Of course, we are not dealing with Fixed-Point types and we are using DAQmx functions instead of the FPGA. We want to use cRIO for reliability, as we want to avoid dealing with General Purpose PCs crashing right in the middle of the testing we do.
Please see the attached snippet
09-26-2017 10:05 AM
With DAQmx you probably used some scaling (or LUTs or...) for all your AI channels, but in FPGA you get raw (voltage) values so you have to do the calculation to the correct physical values by yourself.
Regards, Jens
09-26-2017 10:40 AM
Thanks for that. Whew! It is good to know the code is not wrong and the issue is with manual conversions.
Any idea why the 9401 is not working with the Pulsometer? The 9401 should be reading a rising edge from the Pulsometer signals. It works with the cDAQ.
09-26-2017 02:14 PM
Bah, I figured the 9401 out. Gee-whiz, I was using the wrong channel in my FPGA. Even though I had renamed the channel so I could recognize it, I actually renamed the wrong channel. I got the correct channel now. Problem solved.