03-01-2012 05:02 PM
I have an sbRio 9612 and I'm building an application that takes analog inputs (0 - 10 vdc) and scales them to an engineering unit like psi for example. I know how to do the scaling directly on the properties of the analog input, but I was wondering if it is possible to get to those properties in the realtime? Basically the inputs should be calibrated every 6 months, and if I want to calibrate the entire system from the sensor to the actual input then I need a way to adjust the scaling or calibration of the input in the labview realtime.
Here is the example process.
1) Put a known pressure on the pressure sensor, for this example 10 psi. The pressure sensor generates a voltage that goes into AI0 and that scales it to 10.1 psi, so I want to be able to calibrate it back to 10 psi.
Any built in methods to do this?
03-02-2012 03:26 PM
it sounds like what you are trying to do can be done in your RT controller using read/write controls on the FPGA interface palette. That will let you update the values on the FPGA from your RT controller to tune your input scaling.
03-02-2012 11:15 PM
Yes, in some way or form. We currently interact with an aftermarket io setup and I pass calibration values to it via network variables. I would like to do the same sort of thing now with the actual NI io.
03-05-2012 08:13 AM
It is unfortunate that there is not a direct way to programatically modify the scaling factors on a RIO scan engine IOV. This information is defined in the project and deployed to the target encoded into a file called variables.xml. It is possible to decode this XML file, modify the scaling factor, replace the original file and then reboot. I have mentioned this in a LabVIEW RT idea post but never got any traction. It seems fundamental that if you offer scaling configuration in the project you should be able to programmatically modify it in a built application.
03-05-2012 11:22 AM
I would agree, that is a pretty big oversight. Do you have any suggestions on easy ways to be able to calibrate io's? Can you do something like that with FPGA? I haven't really needed to use the FPGA to this point and if I don't have to I don't want to, but if this can be done in the FPGA then that would be a pretty compelling reason to make that switch.