請問一下各位大大
我用visa去做儀器控制(color analyzer)
在抓取資料時
發現到只有當bytes at serial port的值等於18時
所抓到的資料才是正確的
但是為什麼同樣的程式每次抓到的都不一樣呢?
程式內的delay time都沒變過阿T.T
不等於18會出現亂碼或資料不對
有人知道這是什麼情形嗎 ?
請問一下各位大大
我用visa去做儀器控制(color analyzer)
在抓取資料時
發現到只有當bytes at serial port的值等於18時
所抓到的資料才是正確的
但是為什麼同樣的程式每次抓到的都不一樣呢?
程式內的delay time都沒變過阿T.T
不等於18會出現亂碼或資料不對
有人知道這是什麼情形嗎 ?
你的MODBUS是 ASCII還是RTU呢?
出現亂碼的話在你的輸出字串上面按右鍵
選Hex Display就可以看到真正資料
至於回傳字串我想你再做通訊傳輸的時候應該有一個表準手冊
會註明我送怎樣的訊號給另一端,他回傳的資料格式是怎樣的
例如:
ASCII 寫入回傳17Byte(正確資料) 11Byte(回傳錯誤碼情況)
Display設定沒錯
正確資料應該是" P1 330 340 100 P "
結果出現 " 奇怪的中文字"等等
而且每次收到的byte都不一樣
只有byte=18的時候才是正確的資料(還是可以得到正確的^^!!但不是每次)
其他byte數就會出現怪怪的一些字等等
不過後來發現在visa close之前做擷取資料都是正確的
(一開始是寫一個subVi測試,所以每次傳送會做開關的動作)
但是byte 數還是每次都不一樣(這點比較困擾)
因為機器好像是一直在傳送量測值
所以我接收一次..可能送出了好幾比
有經驗的大大指導一下巴..謝謝^^