Howdy!
I am trying to use a data acquisition system using python. There are thermocouple modules and voltage modules that I would like to read from. It is set up and ran in 2013 LabVIEW and I am trying to put the test system into python for easy changing of the test and user control.
I am wondering if the NI-DAQmx python library is kept up-to-date and if this is possible. I have been doing a lot of nitty gritty reading through the documentation on this library because there are not many examples of data collection using python to talk to the NI sensors. After trial and error attempts I have gone back to the basics to try and see if I can even change settings in the configuration of thermocouple channels. All I am trying to do is to take measurements from the thermocouple and I am changing the units from Fahrenheit to Celsius in separate runs. I can't even get this to work, even looking at example of this from Stackoverflow and the documentation where it specifically says how to configure the thermocouple channel (https://nidaqmx-python.readthedocs.io/en/latest/ai_channel.html and Ctrl-F to find thermocouples).
Here is a snippet of the code I'm writing:
try: with ni.Task() as task: #Add the thermocouple channels to read from NI-9214's task.ai_channels.add_ai_thrmcpl_chan("cDAQ1Mod1/ai0:11", name_to_assign_to_channel='', min_val=0.0, max_val=100.0, units=ni.constants.TemperatureUnits.DEG_F, thermocouple_type=ni.constants.ThermocoupleType.T) task.ai_channels.add_ai_thrmcpl_chan("cDAQ1Mod2/ai0:7", name_to_assign_to_channel='', min_val=0.0, max_val=100.0, units=ni.constants.TemperatureUnits.DEG_F, thermocouple_type=ni.constants.ThermocoupleType.T) #Set the thermocouple type to T #task.ai_thrmcpl_type = ThermocoupleType.T #Add the voltage channels to read from NI 9209 task.ai_channels.add_ai_voltage_chan("cDAQ1Mod3/ai0:7") task.ai_channels.add_ai_voltage_chan("cDAQ1Mod3/ai9:12") task.ai_channels.add_ai_voltage_chan("cDAQ1Mod3/ai19:27") task.ai_channels.add_ai_voltage_chan("cDAQ1Mod3/ai29:31") #Set the rate of the Sample Clock and samples to aquire task.timing.cfg_samp_clk_timing(rate=Hz, sample_mode=AcquisitionType.CONTINUOUS) #Set the ADC Timing Mode to speed up the collection #task.ai_channels.ai_adc_timing_mode = ADCTimingMode.HIGH_SPEED task.ai_channels.ai_adc_timing_mode = ADCTimingMode.AUTOMATIC
This is a little frustrating to filter through the problems because there is not much out there that has the python use for help. If you search in the documentation search, the links of the results that you can click on are broken so that is another pitfall to this method.
Any help is greatly appreciated but I am curious if NI will keep the python library updated and running for future use.
NI-DAQmx python documentation: https://nidaqmx-python.readthedocs.io/en/latest/index.html
Stackoverflow example help: https://stackoverflow.com/questions/47479913/python-nidaqmx-to-read-k-thermocouple-value
Thermocouple example: https://www.youtube.com/watch?v=NMMRbPvkzFs
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.