亚洲国产成人区在线_亚洲Aⅴ无码成H人在线观看_国产超级乱婬Aⅴ片_96亚洲国产成人久久精品_日韩欧美成人最新在线观看视频_国产黄片无马赛克在线观看_国产无码在线看_丁香激情五月_亚洲激情电影久久_欧美日韩免费黄色片

資訊詳情


Modbus TCP通信概述


作者:

32 Lzc

來源:

網(wǎng)絡(luò)

發(fā)布時間:

2023-01-09

Modbus TCP通信概述

MODBUS/TCP是簡單的、中立廠商的用于管理和控制自動化設(shè)備的MODBUS系列通訊協(xié)議的派生產(chǎn)品,顯而易見,它覆蓋了使用TCP/IP協(xié)議的“Intranet”“Internet”環(huán)境中MODBUS報文的用途。協(xié)議的最通用用途是為諸如PLC’sI/O模塊,以及連接其它簡單域總線或I/O模塊的網(wǎng)關(guān)服務(wù)的。

MODBUS/TCP 使MODBUS_RTU協(xié)議運行于以太網(wǎng),MODBUS TCP使用TCP/IP和以太網(wǎng)在站點間傳送MODBUS報文,MODBUS TCP結(jié)合了以太網(wǎng)物理網(wǎng)絡(luò)和網(wǎng)絡(luò)標準TCP/IP以及以MODBUS作為應(yīng)用協(xié)議標準的數(shù)據(jù)表示方法。MODBUS TCP通信報文被封裝于以太網(wǎng)TCP/IP數(shù)據(jù)包中。與傳統(tǒng)的串口方式,MODBUS TCP插入一個標準的MODBUS報文到TCP報文中,不再帶有數(shù)據(jù)校驗和地址。

1. 通訊所使用的以太網(wǎng)參考模型

Modbus TCP傳輸過程中使用了TCP/IP以太網(wǎng)參考模型的5層:

第一層:物理層,提供設(shè)備物理接口,與市售介質(zhì)/網(wǎng)絡(luò)適配器相兼容

第二層:數(shù)據(jù)鏈路層,格式化信號到源/目硬件址數(shù)據(jù)幀

第三層:網(wǎng)絡(luò)層,實現(xiàn)帶有32IPIP報文包

第四層:傳輸層,實現(xiàn)可靠性連接、傳輸、查錯、重發(fā)、端口服務(wù)、傳輸調(diào)度

第五層:應(yīng)用層,Modbus協(xié)議報文

2. Modbus TCP數(shù)據(jù)幀

Modbus數(shù)據(jù)在TCP/IP以太網(wǎng)上傳輸,支持Ethernet II802.3兩種幀格式,Modbus TCP數(shù)據(jù)幀包含報文頭、功能代碼和數(shù)據(jù)3部分,MBAP報文頭(MBAP、Modbus Application Protocol、Modbus應(yīng)用協(xié)議)4個域,共7個字節(jié),如圖1所示:

http://www.ad.siemens.com.cn/productportal/Prods/published/Comm/Comm_9.1/image/image001.png

1 MODBUS TCP報文

由于使用以太網(wǎng)TCP/IP數(shù)據(jù)鏈路層的校驗機制而保證了數(shù)據(jù)的完整性,MODBUS TCP 報文中不再帶有數(shù)據(jù)校驗”CHECKSUM”,原有報文中的“ADDRESS”也被“UNIT ID”替代而加在MODBUS應(yīng)用協(xié)議報文頭中。

3. Modbus TCP使用的通訊資源端口號

Modbus服務(wù)器中按缺省協(xié)議使用Port 502 通信端口,在Modbus客戶器程序中設(shè)置任意通信端口,為避免與其他通訊協(xié)議的沖突一般建議2000開始可以使用。

4. Modbus TCP使用的功能代碼

按照使用的通途區(qū)分,共有3種類型分別為:

1) 公共功能代碼:已定義好功能碼,保證其唯一性,由Modbus.org認可;

2) 用戶自定義功能代碼有兩組,分別為6572100110,無需認可,但不保證代碼使用唯一性,如變?yōu)楣泊a,需交RFC認可;

3) 保留功能代碼,由某些公司使用某些傳統(tǒng)設(shè)備代碼,不可作為公共用途。

按照應(yīng)用深淺,可分為3個類別:

1) 類別0,客戶機/服務(wù)器最小可用子集:讀多個保持寄存器(fc.3);寫多個保持寄存器(fc.16)。

2) 類別1,可實現(xiàn)基本互易操作常用代碼:讀線圈(fc.1);讀開關(guān)量輸入(fc.2);讀輸入寄存器(fc.4);寫線圈(fc.5);寫單一寄存器(fc.6)。

3) 類別2,用于人機界面、監(jiān)控系統(tǒng)例行操作和數(shù)據(jù)傳送功能:強制多個線圈(fc.15);讀通用寄存器(fc.20);寫通用寄存器(fc.21);屏蔽寫寄存器(fc.22);讀寫寄存器(fc.23)

5. Modbus TCP通訊應(yīng)用舉例

在讀寄存器的過程中,以Modbus TCP請求報文為例,具體的數(shù)據(jù)傳輸過程如下:

1) Modbus TCP客戶端實況,用Connect()命令建立目標設(shè)備TCP 502端口連接數(shù)據(jù)通信過程;

2) 準備Modbus報文,包括7個字節(jié)MBAP內(nèi)請求;

3) 使用send()命令發(fā)送;

4) 同一連接等待應(yīng)答;

5) recv()讀報文,完成一次數(shù)據(jù)交換過程;

6) 當通信任務(wù)結(jié)束時,關(guān)閉TCP連接,使服務(wù)器可以為其他服務(wù)。