各位好:
最近問到一些相似的問題,請各位幫忙了
目前用下列兩台儀器整合出所需要的量測系統
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程式塊來源出自板上網友的提供,特此註明)



你試著將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大或其他版友幫忙了,謝謝

在write之後你必須再DELAY一小段時間(自行測試)再READ試看看
請問一下write和read之間放一個delay,是放哪個icon? thx
ancle大,大概試了幾個run
感覺這樣的做法有效,只不過delay的時間長度要try一下
等等試試真正長時間的量測流程,再上來報告狀況
感激不盡!!