02-15-2007 02:15 PM
02-15-2007 02:44 PM
02-15-2007 03:22 PM
I previously tried your suggestion of using the PCI-6030E device id and I can get the ±6.2v range from the SCXI 1141 but I can only get it from one SCXI 1141 module. In many cases I am using more than one SCXI-1141 module and the only DAQmx function I see for setting up the scan between multiple SCXI 1141 modules is DAQmxCreateAIVoltageChan() using "SC1Modn" as the Device ID argument. When the DAQmx function sees "SC1modn" as the device name the output is limited to ±5. Before and after setting up the SCXI scan I have tried using DAQmxSetAIMin() / DAQmxSetAIMax() and DAQmxAIRngHigh() to force the PCI-6030E to the ±10v range but there is no change in behavior and no error is raised. When I look at the raw samples coming back the 5v values are at the 32768 signed integer limit as they would be if the gain was set at 2 but calling DAQmxGetDevAIGains() returns ±10v. Is there a way in DAQmx to set the SCXI scan list in a similar manner as the traditional to get the ±6.2 volt range?
Note that SCXI 1141 modules have offsets as high as 10mv and no way to internally compensate for those offsets (gain yes, offsets no). The offsets must be removed in your application after they are returned by the DAQ driver. As a result if the driver limits the output to ±5 you cannot get the full ±5v range.
02-15-2007 04:33 PM - edited 02-15-2007 04:33 PM
Hi RDonaldson-
Thanks for the clarification- I did not realize you were planning to scan from multiple SCXI-1141 devices. In that case, you will indeed need to take the extra step to adjust the DAQ board manually. You mention the DAQmxSetAIRngHigh() function, but it's not clear where you actually employ it. I have modified the Acq-Int Clk DAQmx shipping example to include proper sequencing of setting the low and high range values. With this setup, I was able to measure a 7V input on two seperate 1141 modules. Please take a look and let me know if this does not work for you.
Message Edited by Tom W [DE] on 02-15-2007 04:33 PM
02-15-2007 06:44 PM
Your example works! Thank you very much! I thought that I needed to create a new handle for the PCI-6030E and then force the range with DAQmxSetAIRngHigh() and DAQmxSetAIRngLow() using the PCI-6030E handle. What is required is to use the same handle used for the SCXI 1141 modules to set the PCI-6030E range with DAQmxSetAIRngHigh() and DAQmxSetAIRngLow(). What was confusing for me is that I thought the handle used to configure the SCXI modules would only work with the SCXI modules.