關於一個長時間量測的儀控問題

各位好:

    最近問到一些相似的問題,請各位幫忙了

    目前用下列兩台儀器整合出所需要的量測系統

    1. keithley 2400電表 以GPIB連接到PC

    2.一般型溫控器 以RS232連接到PC

    各自獨立運作的Labview程式已經測試過,符合量測流程的需求

    接著再各自以Subvi和flat sequency structure去整合,可以work也符合量測

    流程的需求

    問題來了,當把上述流程的時間拉長,會出現下面兩個問題:

    1.有時溫控的部分抓不到值

    2.有時電表會停止(跳過)其步驟一次

    感覺是兩台儀器是不是需要有一些匹配的参數需要注意(例如傳輸時脈是否匹配等等,我猜拉)

    請問各位這樣的問題可能是在哪裡?

    謝謝

我建議可以使用二個獨立迴圈,在各自的迴圈加個小delay試看看

感謝你的回答

經由昨天的debug,發覺問題出在Visa 的parity上

重點是這個parity error是隨機出現的

按連續執行鍵可以看的出來error out 有勾勾和叉叉互閃

錯誤碼和錯誤訊息如下:

–1073807254 VI_ERROR_ASRL_PARITY A parity error occurred during transfer.

可是我依照一般Visa的標準程序,同時也設定使硬體和程式上的通訊參數一致(例如baud rate,parity,data bits,stop bits)
還是無法解決問題

麻煩大家幫忙了,thx

下面附上我的程序圖片

(附註:圖片中的CRC16程式塊來源出自板上網友的提供,特此註明)

 

![](upload://7Jgw6qYL1POsgjdVXmC1om2Wej8.jpeg)

![](upload://9mwwWVCJZUY75g7Anpd7ObyNGCu.jpeg)

![](upload://8bWbAsWLrcW9ssIGNkWcglqQ8Wd.jpeg)

你試著將config和close放到迴圈最外面subvi部份只要作write和read即可

試了把config和close放到迴圈最外面,並且subvi部份只要作write和read

也就是使下圖中的三個subvi內均沒有visa close,而把visa close放置在N=5 的loop之外,不知道有沒誤會ancle大的意思?

結果抓到一些奇怪的值,和溫控器上所顯示的量測溫度值不一樣

例如:溫控器上的PV=24.5,人機介面抓到的是 51.6, 71, -135, ....會一直顯現不同的值

這倒是蠻令我意外的結果

就基本的visa格式撰寫(config->write->read->close)同時並沒更改資料位址,竟會抓到這些奇怪的值

我想我把整體的溫控系統圖貼出來,方便問題盡速解決

(包含設定目標溫度(SV),設定啟動PID演算功能(AT)和抓取量測溫度(PV))

下面是溫控系統圖,三個subvi 裡均各自有一個visa colse,因為我覺得這樣的數值至少抓出來是正確的

再麻煩ancle大或其他版友幫忙了,謝謝

![](upload://2hoHLU5cjL2xcpfCWq2KVfxxlZg.jpeg)

在write之後你必須再DELAY一小段時間(自行測試)再READ試看看

請問一下write和read之間放一個delay,是放哪個icon?  thx

ancle大,大概試了幾個run

感覺這樣的做法有效,只不過delay的時間長度要try一下

等等試試真正長時間的量測流程,再上來報告狀況

感激不盡!!