你好
我現在需要使用CVI 2009 讀取 Tektrionix TDS2024B。
我現在已經可以透過TekVISA連結到TDS2024B進行設定。
但是當我使用tktds1k2k_ReadWaveformMeasurement 函數讀取量策數值時常常無回應
我發現程式停在viReadSTB()函數內。
請問:
1.發生原因,以及有辦法加入timeourt機制嗎?
2.在進行數值量測之前需要進行何種initial程序
煩請解答,謝謝。
在 07-30-2010 04:09 AM
請問使用tktds1k2k_ReadWaveformMeasurement 函數之前,您使用了哪些tktds#$ 函數?
你好:
感謝你的回覆,以下是原始碼部分:
tktds1k2k_InitWithOptions (device_name, VI_TRUE, VI_TRUE,"Simulate=0,RangeCheck=1,QueryInstrStatus=1,Cache=1",&tktds1k2k);
 tktds1k2k_ConfigureAcquisitionType(tktds1k2k,TKTDS1K2K_VAL_AVERAGE);
 tktds1k2k_ConfigureNumAverages(tktds1k2k,16);
 tktds1k2k_ConfigureEdgeTriggerSource(tktds1k2k,"CH1",0.8,TKTDS1K2K_VAL_POSITIVE);
 tktds1k2k_AutoSetup(tktds1k2k);
tktds1k2k_ReadWaveformMeasurement (tktds1k2k, "CH1", TKTDS1K2K_VAL_FREQUENCY, 1000, &temp);
在 07-30-2010 04:37 AM
如果移除 tktds1k2k_AutoSetup(tktds1k2k);
結果是?
你好:
移除tktds1k2k_AutoSetup(tktds1k2k)後第一次讀取時可以正常讀取,可是第二次讀取會發生錯誤
 tktds1k2k_ConfigureAcquisitionType(tktds1k2k,TKTDS1K2K_VAL_AVERAGE);
  tktds1k2k_ConfigureNumAverages(tktds1k2k,16);
  tktds1k2k_ConfigureEdgeTriggerSource(tktds1k2k,"CH1",0.8,TKTDS1K2K_VAL_POSITIVE);
 
 tktds1k2k_ReadWaveformMeasurement (tktds1k2k, "CH1", TKTDS1K2K_VAL_FREQUENCY, 1000, &temp);  
 tktds1k2k_ReadWaveformMeasurement (tktds1k2k, "CH1", TKTDS1K2K_VAL_VOLTAGE_PEAK_TO_PEAK, 1000, &temp);
 tktds1k2k_ReadWaveformMeasurement (tktds1k2k, "CH1", TKTDS1K2K_VAL_VOLTAGE_AVERAGE, 1000, &temp);
/*此行再執行第二次時會發生錯誤。
錯誤訊息:NON-FATAL RUN-TIME ERROR: "tktds1k2k.c", line 4076, col 13, thread id 0x00000BFC: Function viReadSTB: (return value == -1073807298 [0xbfff003e]). Could not perform operation because of I/O error.
*/
 tktds1k2k_close (tktds1k2k);
在 07-30-2010 10:40 AM
Sam 你好,
请参考一下CVI PnP driver 附带的example。不知道read之前是不是要trigger一下?
Charles