I am working on a project that requires high-frequency data to be logged in our system's software for real-time control capabilities.
My goal is to write a python thread that continuously samples 5 channels on the DAQ and stores the data into separate queues with associated timestamps for when the data was sampled and stored.
I am running into issue where my thread won't execute quickly enough to get the up to 100 KHz sampling rate by saving one value at a time, but if I instead want to load a full seconds worth of data how should I break it up to back calculate the timestamps for each sample point?
If anybody has some insight on how they do real-time data acquisition using Python from these boards that would be greatly appreciated.
I have successfully created a script that loads the values from the DAQ and logs the data in a while loop that can be multithreaded.
Now I would like to ask a follow up question: Based on this script I am able to record samples at a rate of 85 samples per second. How can I improve my data acquisition rate while still allowing for this timestamp logging functionality? Can I get up to 100 kHz as advertised?
Question
PythonSp3zz
Hello All!
I am working on a project that requires high-frequency data to be logged in our system's software for real-time control capabilities.
My goal is to write a python thread that continuously samples 5 channels on the DAQ and stores the data into separate queues with associated timestamps for when the data was sampled and stored.
I am running into issue where my thread won't execute quickly enough to get the up to 100 KHz sampling rate by saving one value at a time, but if I instead want to load a full seconds worth of data how should I break it up to back calculate the timestamps for each sample point?
If anybody has some insight on how they do real-time data acquisition using Python from these boards that would be greatly appreciated.
Here is the DAQ I am using: MCC USB-1608FS-Plus: Simultaneous USB DAQ Device
Attached is also my Python example script. Pressure_DAQ.py
Thank you all for your time and support.
Update (8/26/2024):
I have successfully created a script that loads the values from the DAQ and logs the data in a while loop that can be multithreaded.
Now I would like to ask a follow up question: Based on this script I am able to record samples at a rate of 85 samples per second. How can I improve my data acquisition rate while still allowing for this timestamp logging functionality? Can I get up to 100 kHz as advertised?
Attached is my most recent solution. Pressure_DAQ_80_SPS.py
Thanks again Digilent,
Edited by PythonSp3zzLink to comment
Share on other sites
2 answers to this question
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now