我該如何在程式中重置及自我測試我的 NI-DAQ 裝置?



主要軟體:
主要軟體版本: 7.0
主要軟體修正版本:
次要軟體: LabWindows/CVI Development Systems>>Base Package, LabVIEW Development Systems>>LabVIEW Base Package, LabVIEW Development Systems>>LabVIEW Full Development System, LabVIEW Development Systems>>LabVIEW Professional Development System, LabWindows/CVI Development Systems>>Full Development System, Driver Software>>NI-DAQ

問題: 我希望用程式來進行裝置之自我測試或是重置,就好比在 Measurement & Automation Explorer(MAX) 具有的功能一樣。但是我找不到相對應的函式可以使用,我該如何找到這些函式,或者我該怎麼樣來實現這個目的呢?

解答: 在 DAQmx 8.9 與其之後的版本中,你可以使用 DAQmx Self-Test Device.vi (位於 Functions Palette»Measurement I/O»DAQmx»DAQmx Device Configuration),或是在 NI-DAQmx C Reference Help 中可以找到 DAQmxSelfTestDevice (int32 DAQmxSelfTestDevice (const char deviceName[ ]);) 。

雖然在 DAQmx 8.9 以前的 LabVIEW, LabWindows/CVI, Visual Basic 或 ANSI C 中並沒有 Self-Test 這個 VI,但是可以使用 Reset Device 這個功能來替代。它的功能和自我測試相去不遠,同時又比其多了一些延伸的功能。

LabVIEW

DAQmx Driver:
DAQmx Reset Device 這個 VI 可以在 Measurement I/O >> DAQmx >> DAQmx Device Configuration 裡找到。

Traditional DAQ Driver:
Device Reset 這個 VI 在 Measurement I/O >> Data Acquisition >> Calibration and Configuration


LabWindows/CVI

DAQmx Driver:
DAQmx Reset 可以在 Libraries >> NI-DAQmx Library >> Advanced >> Device Control

Traditional DAQ Driver:
使用 Init_DA_Brds,可以在  Libraries >> Traditional NI-DAQ Library >> Initialization/Utilities


C or Visual Basic

DAQmx Driver:
int32 DAQmxResetDevice (const char deviceName[])

Traditional NI-DAQ Driver:
status = Init_DA_Brds (deviceNumber, deviceNumberCode)

說 明:重置裝置這個函式通常使用在程式的開端或是結尾。倘若在程式的中段使用了重置裝置,將會立即中止所有和這個裝置相關的工作,並且中斷所有連線,將裝置 回復至初始狀態。工作中止會立刻結束現在正在執行的動作,像是讀或寫,同時會使這個工作跑到一個不穩定的狀況,但是可以復原的。若要在 DAQmx 恢復這個工作,使用 DAQmx Start 這個 VI 來重新開始,或是使用 DAQmx Stop 這個 VI 來重設這個工作。而在 Traditional DAQ 中則無法回復工作,因此必須要完全地重置。若需要更詳細的資訊,請參考 DAQmx/Traditional DAQ Help 檔案。

相關連結:

附加檔案:


CVI Reset Traditional.zip - CVI Reset Traditional.zip


報告日期: 04/08/2005
最後更新: 12/20/2009
文件偏號: 3K7DPOT0