感謝版上各位解決了我上次的問題
儀器已經可以正常使用
這邊我針對labview的範例Basic Write and Read 進行了修改
簡化成只能讀取
讀取出來的是一個16位的字串(D15~D0)
D15為START WORD D0為END WORD
不會顯現出來 所以畫面實際只會顯示D14~D1 共14碼的字串

但若是我只想要擷取後面四碼(D4~D1)
例如上圖41550200000090
我希望出來的內容是00.90
就是除了後面四碼之外
在D2跟D3之間還要再加一個 .
作為小數點的辨別
我爬了一下文 分離字串方面
好像是要用Scan from string
但是我用了之後卻無法接線
翻過幾本書後也覺得沒講得很清楚
所以想問大家如何將字串分離
另外
我發現將我原本的字串接線給刪除後
卻無法重新連線
請問這是哪邊發生了問題?
如圖


煩請解惑一下
附上檔案~~
rs232.rar
你應該是接錯點了…剛剛用你的程式試了一下刪除在接上沒有問題!
[QUOTE=mist0829]你應該是接錯點了...剛剛用你的程式試了一下刪除在接上沒有問題![/QUOTE]
感謝~~的確是我眼殘弄錯點了~~
[QUOTE=SCOTT7O]
好像看過妳的感覺
[/QUOTE]
恩~上次儀器字串讀取的問題就是sc大你幫我解決的!!
DonWang
(DonWang)
6
依之前SCOTT70說的,我寫了程式給你參考
Basic Serial Read.vi

感謝您的指教
這幾天試了幾下後
發現還是不行
反而是字串無法讀取出來
簡單說明一下
拉力計會送16個字碼(D15~D0)
但是D15和D0分別是Start Word 和End Word
所以其實實際上畫面顯現出來的只有14碼(D14~D1)
而我所要做的
便是擷取最後四碼(D4~D1)
看了一下你的程式
原諒我程度不高
不過大致上是了解到3個case structure
應該就是將 正負 單位 小數點 整合起來
不過offset那些設定我其實不太了解
另外最上層的concatenate strings
為什麼其中一個string是空白?
不知道是否有甚麼更直觀的元件
可以直接擷取D4~D1
感謝您的指教
DonWang
(DonWang)
8
首先必須先了解Start Word有存在String中嗎?用"\" Codes Display看.(圖1)
offset是說從哪個位置開始取字串,0表示從String最左邊(前面)的第1個位置開始,若Start Word有存在String中,則從D15開始.若Start Word不存在String中,則從D14開始那我提供的程式所有offset都要-1.
為什麼其中一個string是空白?這裡有寫錯應該是"f ",目的是要改變字串的形式,"%0.2f Kg"其中小數點後的數字表示小數點位數(D9),空白後面的是單位(D11&D12).(圖2)
若你只要固定取D4~D1且小數點2位可參考圖三,若Start Word不存在String中,就將offset改為10
Basic_Serial__Read[1].vi



感謝指教
其實昨天晚上我已經試出來了
不過我用的是有點繞遠路的方法

下面那個是我原本弄得
我沒想到只要加個除100的運算就自動會有小數點了
變通不過來~~
所以只好自己加進去
缺點是萬一沒有收到字串 畫面還是會跑出. 跟 KG
DONWang大的才是最正統最簡潔的方法
感謝大家的幫忙