日韩欧美视频第二区,秋霞成人午夜鲁丝一区二区三区,美女日批视频在线观看,av在线不卡免费

電子開發網

電子開發網電子設計 | 電子開發網Rss 2.0 會員中心 會員注冊
搜索: 您現在的位置: 電子開發網 >> 電子開發 >> 梯形圖實例 >> 正文

Modbus-RTU協議解析

作者:佚名    文章來源:本站原創    點擊數:    更新時間:2022/8/31

Modbus-RTU協議解析

Modbus-RTU協議是主從交互式協議,即主機輪詢、從機應答。在工控自動化、樓宇自動化行業中應用廣泛。該協議的報文結構主要由地址、功能碼、寄存器、數據、校驗碼等構成。下面和大家分享一下Modbus-RTU的基本知識。

▲1 MODBUS-RTU的通訊格式

RS485接口在工業自動化中應用非常廣泛,該接口為雙總線通信方式,只有RSA和RSB兩根線,可以走MODBUS TCP/IP協議,也可以走MODBUS-RTU協議,通訊距離可達數公里,是一種標準的通訊接口,而MODBUS-RTU是工業現場一種標準的通信協議,大多數的PLC和組態屏都支持該通訊協議。

其數據格式是由如下幾部分構成的:1)從機地址;2)功能碼;3)數據;4)校驗碼。采用一問一答式通訊方式,主機定時查詢從機狀態,從機收到主機的輪詢命令后回復相應的數據。常用的功能碼有01讀線圈狀態、03讀保持寄存器、06預置單個寄存器、16預置多個寄存器等。

203功能碼舉例解析

以03功能碼為例,介紹一條具體的數據格式,主機的命令格式為:

01 03 00 04 00 02 85 CA,從機回復的數據格式為:

01 03 04 00 00 00 00 FA 33。如下圖所示。

該條命令的含義為:

主機要讀取01號地址的從設備的寄存器內容,讀取從00 04寄存器開始往后2個寄存器的內容,即00 04和00 05寄存器中的內容。從機收到命令后,將這兩個寄存器中的數據發送給主機,每個寄存器存放兩個字節的數據,兩個寄存器共存放4個字節的數據,所以返回數據字節的個數為4個。

▲ 3 06功能碼舉例解析

06功能碼是用來寫從機寄存器的內容的,比如主機向改寫從機其中一個寄存器的數據,就可以通過06功能碼來實現。主機發送的數據如下:

01 06 00 00 00 0A 09 CD,從機返回的數據如下:

01 06 00 00 00 0A 09 CD。如下圖所示。

該數據所代表的含義為:主機要將01號從機的00 00寄存器寫入兩個字節的數據,數據為00 0A。寫入成功后,從機返回該寄存器的狀態。

06功能碼只要改寫一個寄存器的內容,如果要改寫多個寄存器的內容需要用到16預置多個寄存器功能碼。

▲4 常用的通信參數

Modbus在通訊之前,先要確認通信參數,這些通信參數包括:1)波特率;2)數據位數;3)停止位4)校驗方式等。

波特率是指每秒所傳送的數據的位數,數值越大通信速度越快,常用的波特率有4800、9600、19200、115200等,兩臺設備在通訊時,通訊波特率必須一致,否則通訊無法建立。

數據位數,一般為8位。停止位有1位,2位等,校驗方式有奇校驗、偶校驗和無校驗等。

Modbus-RTU是工控行業應用廣泛的通訊協議,主流PLC都支持該協議,在編程時,不需要實現所有的功能碼,只需要實現常用的幾個功能碼就可以,如上述所描述的03,06,16等

Tags:Modbus-RTU,協議解析,Modbus  
責任編輯:admin
請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個字
[ 查看全部 ] 網友評論
推薦文章
最新推薦
關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁面
下到頁底
晶體管查詢
主站蜘蛛池模板: 太湖县| 陈巴尔虎旗| 闸北区| 南漳县| 莲花县| 北海市| 三门峡市| 西乡县| 敦化市| 都昌县| 临江市| 嵊泗县| 香河县| 武威市| 吴江市| 河北区| 阳东县| 闵行区| 渝中区| 鸡西市| 沿河| 上杭县| 井陉县| 红安县| 碌曲县| 石狮市| 申扎县| 阳高县| 青州市| 锦屏县| 安康市| 延庆县| 静安区| 上杭县| 四平市| 通河县| 准格尔旗| 建德市| 白河县| 河源市| 金寨县|