日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Modbus名词解释

發布時間:2025/3/19 编程问答 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Modbus名词解释 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉載地址:http://www.485-can-tcp.com/technology/232485/TheModbus.htm

在大家通讀Modbus協議時,總是會碰到一些容易混淆的名詞,從而導致對于協議的解讀出現問題,在本文中,我們對于Modbus協議中可能會給大家造成困惑的名詞作相關的解釋。

1.功能碼:功能碼在modbus協議用于表示信息幀的功能,常用的功能碼有03,04,06,16等,其中03功能碼的作用是讀保持寄存器內容,04功能碼的作用是讀輸入寄存器內容(輸入寄存器和保持寄存器的區別看下文),06功能碼的內容是預置單個保持寄存器,16功能碼的內容則是預置多個保持寄存器。

2.輸入寄存器和保持寄存器:04功能碼的作用就是讀輸入寄存器,而03功能碼的作用則是讀保持寄存器,很多人在看到這兩個功能碼的時候總是希望找到這兩個功能碼的區別,保持寄存器和輸入寄存器到底是什么區別,modbus協議最開始是用來解決PLC的通信協議問題的,主要用于輸入輸出數字量信號以及模擬量信號,所謂的輸入寄存器就是從模擬量信號輸入引申出來的,即輸入寄存器只能從模擬量信號輸入端改變寄存器,而主機則不能通過下發指令改變輸入寄存器的數據,而保持寄存器則是用于輸出模擬量信號的,主機是可以改變寄存器數據,也就是說對于主機而言,輸入寄存器是只讀的,而保持寄存器是可以讀寫的,當主機用06,16功能碼的指令去預置輸入寄存器的時候,設備會返回一個代碼為0x81的錯誤代碼,即企圖寫只讀寄存器。

3.Modbus中的數據地址格式:在Modbus協議中,經常會出現類似于3xxxx,4xxxx寄存器,這個表示的是寄存器支持的數據類型。我們用列表來說明,還有Modbus數據地址格式是從0開始,比如以下一個寄存器40009,即表示保持寄存器,寄存器地址為00 08,類似的數據地址格式經常在組態軟件以及PLC系統中用到。

映射地址使用的功能碼地址類型存取方式描述
0XXXX01,05,15離散輸出讀寫每個卷表示單個開關位
1XXXX02離散輸入只讀每個卷表示單個開關位
2XXXX03,04,06,16浮點寄存器只讀/讀寫兩個連續16位寄存器表示一個浮點數
3XXXX04輸入寄存器只讀每個寄存器表示一個16位無符號整數
4XXXX03,06,16保持寄存器讀寫每個寄存器表示一個16位無符號整數
5XXXX03,04,06,16ASCII字符讀寫每個寄存器表示兩個ASCII碼

4.Modbus RTU/ASCII/TCP:Modbus協議最開始是用于可編程邏輯控制器(PLC)之間的通訊,由于其具有的開放性,大量的用于現場智能儀表。Modbus協議有多個變種,其中最著名的是Modbus RTU/Modbus ASCII和Modbus TCP通信協議。其中RTU/ASCII協議是基于串行口通信,而TCP協議則是基于以太網通信。

5.Modbus錯誤代碼表,modbus有功能碼,校驗碼,異常功能碼和錯誤代碼,其中異常功能碼和錯誤代碼非常容易混淆,一般來說異常功能碼指的是某個功能碼執行的時候出現的相應異常功能碼,一般都是在功能碼的基礎上加上0x80,比如03功能碼出現的異常碼是0x83異常功能碼,16功能碼對應出現的異常功能碼則是0x90,而錯誤代碼則是表示出現錯誤的具體情況,比如寄存器地址不存在,不管是讀還是寫,如果該寄存器地址不存在的話,錯誤代碼為02。具體情況請參閱本站其他頁面文章。

總結

以上是生活随笔為你收集整理的Modbus名词解释的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。