modbus 串口通信 發01 03 00 0A 00 06 E5 CA
收01 03 0C 28 F6 41 AC 9B 3D 42 1C 8E 3B 40 C1 C1 1C
第一個雙字資料:28 F6 41 AC,
第二個雙字資料:9B 3D 42 1C,
第三個雙字資料:8E 3B 40 C1,
決議出來的資料
第一個字,41 AC為高位字,28 F6為低位字,按IEC單精度浮點數處理后,得到21.52;
第二個字,42 1C為高位字,9B 3D為低位字,按IEC單精度浮點數處理后,得到39.1516;
第三個字,E1 C1為高位字,8E 3B為低位字,按IEC單精度浮點數處理后,得到-4.463088*10^20;
28 F6 41 AC怎么VB決議出21.52 專案只需決議資料?VB怎么寫決議程序,不需要CRC校驗走modbus協議,最終不是串口傳輸.
uj5u.com熱心網友回復:
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
funtion getit(a() as byte) as single
dim b as single
copymemory b,a(0),4
getit=b
end function
a中的位元組為資料由低到高的順序,modbus回傳的資料,如果為訪問單元16位,由兩個單元獲取回來的資料的順序會和正常的不一樣,要注意調整
uj5u.com熱心網友回復:
用scale的話暫時還滿足不了需求,也沒時間去具體細化。現在也是簡單的用gigasoft功能轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/103820.html
標籤:VB基礎類
下一篇:在與SQLite中查詢報錯
