05-20-2025 02:47 AM
I'm currently working on a project where I'm interfacing a PN2271 pressure sensor, which outputs a 4–20 mA current signal, with an NI 9203 current input module. I'm using LabVIEW for data acquisition and processing.
However, I'm encountering an issue where I'm only able to achieve a sampling rate of approximately 30–45 readings per second. This is significantly lower than the expected performance of the NI 9203 module, which supports up to 200 kS/s.
System Details:
Sensor: PN2271 pressure sensor (4–20 mA output)
DAQ Module: NI 9203 current input module
Software: LabVIEW
Issue:
Despite the NI 9203's high sampling capabilities, I'm limited to 30–45 samples per second. I suspect that the current LabVIEW configuration might be the bottleneck.
Request:
Could someone provide guidance on how to optimize my LabVIEW setup to achieve higher sampling rates? Specifically:
Should I transition from using the DAQ Assistant to DAQmx VIs for better performance?
Would implementing a Producer/Consumer architecture help in this scenario?
Are there any example VIs or tutorials that demonstrate high-speed current data acquisition with the NI 9203?
05-20-2025 03:27 AM
#1 - yes, ditch the DAQ Assitant and use DAQmx APIs to achieve the highest possible sampling
#2 - mostly yes, producer/consumer helps if you got a lot of processing or logging, you can skip producer/consumer if using DAQmx's inbuilt TDMS logging
#3 - checkout datalogging example that ships with DAQmx, those are generic and works with almost all models.
05-20-2025 10:22 AM
If you post your code we can give more specific advice to improve the code.
05-21-2025 12:47 AM
Subject: Help Needed: Low Sampling Rate Using NI 9203 + PN2271 in LabVIEW Project (Please Review and Correct VI)
Hi everyone,
I’m currently working on a LabVIEW project to acquire pressure data using:
Sensor: PN2271 pressure sensor (4–20 mA analog output)
DAQ: NI 9203 module
I’ve built a VI (Main.vi
) to acquire sensor data using the DAQ Assistant, but I’m only getting 30–45 readings per second. I want to achieve a much higher sampling rate, closer to the potential of the NI 9203.
What I'm Doing:
Data acquisition is in Data read.vi
No Producer/Consumer loop yet
Not using TDMS logging
Saving to file is done manually
I received helpful suggestions from the community:
Replace DAQ Assistant with DAQmx API to unlock better performance.
Consider Producer/Consumer for efficient separation of acquisition and logging.
Use DAQmx TDMS logging examples which are efficient and scalable.
Request:
Could you please review the attached VI set?
Please help me understand how to modify or restructure my VI to:
Improve sampling rate
Correct any bad practices
Implement DAQmx properly
Optionally include Producer/Consumer if needed
I’d also appreciate a corrected version of my VI (if possible).