我有一个来自National Instruments的数据采集板,我正在用它来采集传感器的数据。为此,我不是使用LabVIEW,而是使用NI的新Python API。
我的任务是以50ms的周期收集测量值,偏差为+ -1ms。
代码的作用:
到目前为止,我尝试过的是:
fileTimer = time.time() #used to count 5 minutes for the new file creation
loopTimer = time.time() #used to count 50ms
while(1):
if((time.time()-loopTimer)>=0.05):
Print(task.read())
#reinitialize loop timer
loopTimer = time.time()
if((time.time()-fileTimer)>=5*60):
print "NEW FILE CREATED"
fileTimer = time.time()
newFileName = "something"
#set the flag to TRUE to open the new file
Print.next = True
我得到的结果比接受的要差一些... 就这样,我在一个周期中得到了55ms。
我已经阅读了有关使用线程的选项的信息,其中一个线程用于读取数据,以确保在精确的50毫秒周期内完成读取;还有一个线程进行后处理。
任何有关实施的建议都值得欢迎,我在此先感谢您。