酷知百科網

位置:首頁 > 母嬰教育 > 學習交流

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

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張