1
Modbus協議簡介
Modbus是最常用的設備之間的通信協議,廣泛用于傳感器、PLC、監控系統等應用中。Modbus的主要功能是是實現設備之間,設備和系統之間的數據交換。
如果設備之間是串口連接,則使用Modbus RTU通信格式。如果設置之間用網線連接,則常用Modbus TCP通信格式。
以下主要以Modbus RTU方式進行介紹。
2**
通信方式
Modbus設備可分為主站(vfbox網關,進行協議轉換)和從站(電力儀表)。主站只有一個,從站可以有多個,主站向各從站發送請求幀,從站給予響應。
在使用Modbus TCP通信時,主站為client端,主動建立連接;從站為server端,等待連接。
·主站請求:功能碼+數據
·從站正常響應:請求功能碼+響應數據
3
協議格式
3.1
主站讀取從站寄存器數據
VFBOX網關作為主站,讀取溫濕度傳感器中的數據。傳感器中寄存器的地址是40002,則主站發送的請求指令如下:
01 03
00 01 00 01
D5 CA
從機地址 功能號 數據地址 讀取數據個數 CRC校驗
從站收到主站的指令后,則返回相應的內容。
01 03 02
0017 F8 4A
從機地址 功能號 數據字節個數 兩個字節數據 CRC校驗
MODBUS主機就完成了一次對從機數據的讀操作,實現了通訊。
4
Modbus數據塊和功能碼定義
Modbus協議定義了標準的數據塊的數據類型,地址范圍和對應的功能碼。
數據塊 | 功能說明 |
---|---|
0X Digital Coils | 數據類型:布爾量,Boolean 讀寫:可讀寫 寄存器地址:00001-09999(10進制), |
協議地址:0000H-270FH(16進制) 功能碼:01H 05H 0FH | |
1X digital Inputs | 數據類型:布爾量,Boolean 讀寫:只讀 寄存器地址:10001-19999(10進制), |
協議地址:0000H-270FH(16進制) 功能碼:02H | |
3X Analog Inputs | 數據類型:模擬量,可以是short,word,float,double 讀寫:只讀 寄存器地址:30001-39999(10進制), |
協議地址:0000H-270FH(16進制) 功能碼:04H | |
4X Holding Registers | 數據類型:模擬量,可以是short,word,float,double 讀寫:可讀寫 地址范圍:40001-49999(10進制),0000H-270FH(16進制) 功能碼:03H 06H 10H |
5
Modbus協議測試
1.讀取Modbus設備數據的數據,可以把設備連接到電腦上,通過Modbus測試軟件或者廠家提供的測試軟件來讀取Modbus設備的數據。
2.比如,設備是485接口,則通過485轉USB通信線連接到電腦上,在電腦上打開Modbus測試軟件,讀取設備的數據。
3.Modbus協議有多種測試軟件,可在百度搜索合適的軟件。
審核編輯 黃宇
-
網關
+關注
關注
9文章
4446瀏覽量
51057 -
ModBus協議
+關注
關注
3文章
177瀏覽量
33418
發布評論請先 登錄
相關推薦
評論