看到很多客戶在做Modbus通訊時遇到很多問題,包括Modbus的請求或響應的基本知識,包括編程等等,現將我的一點拙見寫出來,供大家參考和批評指正。
Modbus協議最早有施耐德旗下的Modicon公司與1978年提出,目前已經稱為國際標準和國家、行業標準。
該協議是典型的串行通訊協議,支持CRC或LRC校驗。通訊速率支持2.4kbps~115.2kbps,更快也可以,但是誤碼率較高。支持RTU或ASCII通訊凡是,支持奇/偶/無校驗。
RTU通訊時標準通訊參數為支持8個數據位、1個停止位、偶校驗;
ASCII通訊時標準通訊參數為支持7個數據位、1個停止位、偶校驗;
Modbus總線理論上支持的從站個數可達248個(單條總線、不加中繼時連接的設備個數與通訊端口和連接的設備有關,有的可連接16個設備,最大連接32個設備),不加中繼雙絞線距離可達1200米。
Modbus通訊時最常用的是RTU通訊方式:
1.通訊時讀請求格式如下:
從站地址(1個字節)、功能代碼(1個字節)、從站數據起始地址(2個字節)、讀數據長度(2個字節)、CRC校驗(2個字節)。
2.讀響應格式如下:
從站地址(1個字節)、功能代碼(1個字節)、讀數據長度(1個字節)、數據(長度與數據長度中的字節數相同)、CRC校驗(2個字節)。
3. 寫請求格式:
從站地址(1個字節)、功能代碼(1個字節)、從站數據起始地址(2個字節)、寫出數據長度(1個字節)、寫出數據(長度與數據長度字節相同)、CRC校驗(2個字節)。
4. 寫響應格式:
從站地址(1個字節)、功能代碼(1個字節)、從站數據起始地址(2個字節)、寫數據長度(2個字節)、CRC校驗(2個字節)。
如果為RTU通訊,校驗方式為CRC校驗;ASCII通訊時,校驗方式為LRC校驗方式。
更多數顯電力儀表配電產品知識請聯系上海匯勒電氣有限公司m.stillugly.com
|