運用labview進行RS232發送並讀取資料,並進行位元轉換

各位高手好,因為臨時有需求,但目前遇到問題,想看各位大神有沒有解決辦法。
我最終要做到的事情就是透過labview進行RS232發送並讀取資料,並且因為從設備讀到的資料是16位元,因此還要透過labview將16位元轉成10位元。
目前是有成功發送資料且讀取到資料,可是因為我後面進行位元轉換的方式是從read buff抓資料進行轉換,可是因為我只會設定抓第一筆資料,因此如果遇到要轉換第二筆就沒辦法轉換,如下圖


希望有人可以協助我完成當我持續發送指令,我的資料也可以一直讀取,並且可以立刻做到位元轉換的結果。
目前得檔案 :20210412.vi (28.9 KB)
因為有有緊急,我也可以支付一些撰寫的費用,再麻煩各位了QQ

遇到要轉換第二筆就沒辦法轉換

是指一次只能收一筆資料是嗎??

對的,主要是因為我抓取要轉換位元資料的方式是設定抓取read buffer裡面的資料,所以當第二筆資料進來時,因為第一筆資料還在,所以就會無法抓到正確的資料。

產生訊號是你自己控制還是別人控制?有資料即時性問題?你可以使用佇列處理資料減少處理時間

資料是我自己控制的,不過問題比較像是我處理資料的方法,如下圖:
當我產生第一組訊號時,read buffer只有第一組資料我就很好做資料處理,


但是當我發送第二組資料時,因為read buffer內的第一組資料還在,所以沒辦法順利處理第二組資料

RS232取完資料就不存在了,除非設備有暫存區,而你是問暫存區資料,並非當下量測結果,另一種可能是你送兩次取一次

那應該是暫存區資料的問題了,那請問有什麼辦法可以解決嗎?不好意思

通常要看儀表設定,或者*RLS之類的指令

建議你再while loop內加一個 Wait(ms) 可以設定100msec 試看看