10分鐘掌握modbus485通訊協議一招區分dtu rtu

來源:酷知科普網 2.92W

modbus是很常見的現場匯流排,但是縱觀其他modbus的介紹,即使是入門教程,也是又臭又長的,既然是入門,最好不要講資料位,校驗位停止位adu pdu等詞彙,說這些沒意思,除了給自己營造高階感外,對讀者沒有任何幫助
下面來說什麼是modbus 協議,modbus和串列埠有什麼區別

操作方法

(01)估計能搜尋到這篇經驗的,都瞭解串列埠通訊了,串列埠是資料透傳介面,一般使用串列埠除錯軟體的預設 8n11模式就可以,高能的來了:第一點:modbus就是一次用串列埠連續發多個位元組!!!!!就這麼簡單!!!!如果想在深入一些,那我再告訴你,第二點:連續發出的多個位元組是按順序排好的就可以瞭如果想要完成一個雙向通訊,那你還要再瞭解一點就是第三點:發多少個位元組?位元組順序如何排列?本篇只講主站讀,子站發,看明白之後,再點選我的使用者名稱,檢視主站寫,子站接的經驗

(02)先說一下DTU RTU區別:modbus dtu是數字資料傳輸協議,gsm ,gps可以用,但是如果需要採集模擬量,比如我要詢問gsm裝置的電池電壓,那就要用rtu,,他可以採集模擬量資訊,其實對於自己做產品,你都用rtu也可以。也就是說就這點兒區別

(03)知道了dtu rtu的區別,可以嘗試分析和編寫通訊協議了,不需要了解太多,你只需要知道上面提到的第三點就可以了!先說第三點,從機應該發多少資料給主機?答案是:主機請求N個暫存器,從站就發2N個位元組(特別注意,一個暫存器是16位的,而且這個資料長度是不算報文頭,不算crc,不算功能碼的,下面有圖說明)下面看一下真實的通訊情況此處主機請求一個暫存器,主機發出10 03 00 00 00 02 c7 4a 注意資料高位在前,crc是低位在前

(04)這是一條完整的從機正常相應命令返回一個暫存器的資料

(05)好了,通訊協議,就這樣的,你可以使用modscan和usb轉串列埠裝置測試一下modscan設定如下

10分鐘掌握modbus485通訊協議一招區分dtu rtu

(06)現在開始實測一下,先確定電腦至少有兩個串列埠,一個串列埠作為modscan的傳送,一個串列埠用串列埠除錯助手發資料波特率都一樣就可以,其他預設然後modscan 點選連線後,自動下發資料串列埠除錯軟體,收到資料後,點一下發送就可以了,可以觀看到modscan已經成功收到並顯示資料了

10分鐘掌握modbus485通訊協議一招區分dtu rtu 第2張
熱門標籤