Warren,
I am glad to see you using DAQmx and I also was impressed with the code you attached. One thing that has become a little different with DAQmx is how gain and scaling is applied. The AI Config.VI is the traditional way to set the gain on a DAQ board, with this setup a user would set the input limits and then LabVIEW calculated the gain. In the case where you set the input limits to 0.01. LabVIEW would calculate the largest gain possible. It is worth noting for input limits you need a reasonable minimum and maximum value. You are using a powerful feature of DAQmx with the property node to programmatically set the AI.Gain. This is a good way to do things, 1.) If the DAQ board supports the gains you are using, 2.) If
you are not in another place resetting those gains by also providing input limits.
I looked through you code and noticed you have a DAQmx Create Channels VI with a minimum and maximum input not connected inside the DAQ Create Channels.vi. I see you are doing this so you can have less code for creating multiple channels. Also on the VI above you are setting both the gain and the Input limits and dividing by 100. I wonder if you just set the input limits what the response would be.
I hope this all clarifies a little about what is happening. I recommend using LabVIEW to set the gains by specifying input limits. I also would refer to the following KBs to clarify more about available gains.
Linked KB about Gain SettingsP.S. Another interesting fact I saw was that you are setting a lowpass filter. I wonder how this affects the application.
Regards,
Robert Jackson