利用 USB 4431 做 Lock-in,長時間存檔時出現 error 200361: on board device memory overflow

作業系統:mac OS X 下,用 VMware Fusion 開 windows 7 ,配給 CPU: 2.9 GHz intel core i7 兩顆,配給記憶體:4 G
使用 DAQmx 14.0


最近購買 USB-4431做訊號擷取,嘗試利用 LabVIEW 當做 Lock-in amplifier,當我在開始長時間存檔後,每次執行時在不固定的時間會出現 "error 200361: Onboard device memory overflow. Because of system and/or bus-bandwidth limitations, the driver could not read data from the device fast enough to keep up with the device throughput.   Reduce your sample rate. If your data transfer method is interrupts, try using DMA or USB Bulk. You can also use a product with more onboard memory or reduce the number of programs your computer is executing concurrently."

 

假若我不存檔就不會有這個錯誤。我曾嘗試修改 sample rate, number of samples per channel 與 save rate (我設定的存檔速率),但並無改善。在程式運作時我用工作管理員看 CPU 的工作量頂多 20~30%。

當我將裝置與程式都丟到另外的 windows7 和 windows 8 電腦跑,似乎就不會出現錯誤。

目前懷疑是 bus(USB) 傳輸量的問題,我原本 mac 是 USB 3.0 的孔,但是用 VMware Fusion 開 windows 7 後就不確定其傳輸量為何。

我附上我執行的程式,和錯誤的畫面。實際執行的程式為:NI lock-in TOM => LockIn_tom (1while loop elapsed time)

![](upload://vRGgiBy39kjvGqa44P5Goz4qEXS.png)

NILockIn.zip