Modbus RTU與RS-485協(xié)議介紹
參考文章:ModBus協(xié)議
參考文章:一篇文章了解 RS485 和 MODBUS 的區(qū)別,它們有什么不同?
一、引言
Modbus RTU和RS-485是工業(yè)通信中常用的兩種協(xié)議。Modbus RTU 是一種數(shù)據(jù)表示協(xié)議,而 RS-485 則是物理傳輸標(biāo)準(zhǔn)。盡管這兩者有時(shí)被并列討論,但它們在通信系統(tǒng)中的角色卻大不相同。以下內(nèi)容將詳細(xì)分析這兩種協(xié)議,并解釋它們?nèi)绾谓Y(jié)合使用。
二、Modbus RTU 協(xié)議介紹
2.1 Modbus RTU 協(xié)議簡介
Modbus RTU(Remote Terminal Unit)協(xié)議是Modbus協(xié)議的一種,主要應(yīng)用于工業(yè)自動(dòng)化系統(tǒng)中。它以二進(jìn)制形式傳輸數(shù)據(jù),并采用CRC校驗(yàn)方式確保數(shù)據(jù)的正確性1。
2.2 Modbus RTU 協(xié)議幀結(jié)構(gòu)
Modbus RTU協(xié)議的數(shù)據(jù)幀結(jié)構(gòu)如下2:
[設(shè)備地址][功能碼][數(shù)據(jù)][CRC校驗(yàn)]
其中:
- 設(shè)備地址:一個(gè)字節(jié),表示從站設(shè)備的地址;
- 功能碼:一個(gè)字節(jié),定義了主機(jī)需要執(zhí)行的操作類型;
- 數(shù)據(jù):n個(gè)字節(jié),該部分的內(nèi)容和長度取決于功能碼;
- CRC校驗(yàn):兩個(gè)字節(jié),用于錯(cuò)誤檢測。
主站設(shè)備、從站設(shè)備與從站設(shè)備地址
從站設(shè)備(Slave設(shè)備):在Modbus RTU協(xié)議中,通信網(wǎng)絡(luò)包含一個(gè)主站設(shè)備(Master)和多個(gè)從站設(shè)備(Slave)。這種配置被稱為主-從模式或者客戶端-服務(wù)器模式。
從站設(shè)備,也稱為Slave設(shè)備,是一種被動(dòng)的設(shè)備,它不會(huì)自行發(fā)送數(shù)據(jù),只有當(dāng)接收到主站設(shè)備的請求時(shí),才會(huì)響應(yīng)并返回相應(yīng)的數(shù)據(jù)3。這些數(shù)據(jù)可能包括傳感器讀數(shù)、狀態(tài)信息、診斷信息等。
從站設(shè)備的具體實(shí)現(xiàn)可以非常多樣,包括各類工業(yè)控制設(shè)備如PLC(Programmable Logic
Controller),智能儀表,驅(qū)動(dòng)器,以及其他任何需要與主站設(shè)備通信的設(shè)備。在一個(gè)典型的Modbus RTU網(wǎng)絡(luò)中,可能存在一個(gè)主站設(shè)備和多個(gè)從站設(shè)備。主站設(shè)備通過廣播地址或特定的從站地址,來向所有從站設(shè)備或某個(gè)特定的從站設(shè)備發(fā)送指令或請求數(shù)據(jù)。
從站設(shè)備地址:在Modbus RTU協(xié)議中,從站設(shè)備的地址是用來識(shí)別網(wǎng)絡(luò)中的特定設(shè)備的唯一標(biāo)識(shí)符。這個(gè)地址被編碼在每一個(gè)Modbus消息幀的開始部分。
對于RS-485通信系統(tǒng)中的Modbus RTU協(xié)議,從站設(shè)備的地址范圍為0到247。地址0通常被保留作為廣播地址,當(dāng)主站設(shè)備需要向所有從站設(shè)備發(fā)送消息時(shí),會(huì)使用此廣播地址。而地址1至247則被分配給單個(gè)從站設(shè)備,以便主站設(shè)備能夠與指定的從站設(shè)備進(jìn)行通信4。
需要注意的是,每個(gè)從站設(shè)備的地址必須在整個(gè)Modbus網(wǎng)絡(luò)中是唯一的。如果有兩個(gè)或更多的設(shè)備被配置了相同的地址,將會(huì)導(dǎo)致通信沖突和數(shù)據(jù)錯(cuò)誤。
2.3 Modbus RTU 協(xié)議舉例
假設(shè)主機(jī)需要讀取從站設(shè)備1的保持寄存器30029和30030,那么對應(yīng)的Modbus RTU幀如下:
01 03 00 1C 00 02 B8 44
解析:
- 01:設(shè)備地址;
- 03:功能碼(讀取保持寄存器);
- 00 1C:起始寄存器地址(轉(zhuǎn)換為十進(jìn)制就是28,再加上基地址30001等于30029);
- 00 02:讀取的寄存器數(shù)量(2個(gè));
- B8 44:CRC校驗(yàn)。
三、RS-485 協(xié)議介紹
3.1 RS-485 協(xié)議簡介
RS-485 是一種差分信號傳輸方式,其主要優(yōu)點(diǎn)在于具有較高的抗電磁干擾能力和傳輸距離5。
3.2 RS-485 物理連接方式
RS-485 通常采用兩線半雙工或四線全雙工方式進(jìn)行連接。其中,兩線半雙工需要通過數(shù)據(jù)方向引腳(DE/RE)控制數(shù)據(jù)的收發(fā)6。
3.3 RS-485 與 Modbus RTU 的關(guān)系
RS-485 僅定義了物理層的標(biāo)準(zhǔn),而 Modbus RTU 定義了如何封裝數(shù)據(jù)并進(jìn)行通信。因此,Modbus RTU 常常運(yùn)行在 RS-485 上,通過 RS-485 進(jìn)行物理通信7。
簡單來說,你可以將RS-485比作運(yùn)輸公司,負(fù)責(zé)將包裹(數(shù)據(jù))從一個(gè)地方運(yùn)到另一個(gè)地方,而Modbus RTU則像是包裹內(nèi)的商品清單,描述了包裹里有什么東西(數(shù)據(jù)的結(jié)構(gòu)和含義)。如果沒有RS-485,你無法將數(shù)據(jù)有效地發(fā)送出去;如果沒有Modbus RTU,即使數(shù)據(jù)被發(fā)送出去,接收方也無法理解數(shù)據(jù)的含義。因此,這兩種協(xié)議通常會(huì)一起使用,以確保數(shù)據(jù)能夠準(zhǔn)確、可靠地從一個(gè)設(shè)備傳輸?shù)搅硪粋€(gè)設(shè)備,并且接收設(shè)備能夠正確理解數(shù)據(jù)的含義。
四、Modbus TCP、Modbus RTU、Modbus ASCII、Modbus PLUS區(qū)別
Modbus協(xié)議有多種形式,主要包括Modbus TCP、Modbus RTU以及Modbus ASCII和Modbus PLUS。這些協(xié)議在數(shù)據(jù)編碼、傳輸介質(zhì)、通信方式等方面存在一些差異。
Modbus TCP
Modbus TCP是基于TCP/IP的Modbus協(xié)議,用于以太網(wǎng)通信。它將Modbus消息封裝在TCP/IP數(shù)據(jù)包中進(jìn)行傳輸,使得Modbus能在現(xiàn)代網(wǎng)絡(luò)設(shè)備上使用,例如通過Wi-Fi或者以太網(wǎng)8。其優(yōu)點(diǎn)是可以使用現(xiàn)有的網(wǎng)絡(luò)設(shè)備和架構(gòu),并且可以支持更大的設(shè)備數(shù)量(最多65536個(gè)設(shè)備)。
Modbus RTU
Modbus RTU(Remote Terminal Unit)是最常見的Modbus實(shí)現(xiàn)之一,它以二進(jìn)制形式編碼數(shù)據(jù),因此相比于ASCII模式具有更高的通信速度和效率。通常使用RS-232或RS-485作為物理層接口9。它的優(yōu)點(diǎn)是傳輸效率高,但缺點(diǎn)是人眼無法直接讀取二進(jìn)制數(shù)據(jù)。
Modbus ASCII
Modbus ASCII與Modbus RTU類似,都是串行通信協(xié)議,但Modbus ASCII采用ASCII字符進(jìn)行數(shù)據(jù)編碼。相較于RTU,ASCII格式的數(shù)據(jù)更易于人類閱讀和調(diào)試,但通信速度較慢10。
Modbus PLUS
Modbus PLUS是一種專有的、高速的(1 Mbps)令牌傳遞網(wǎng)絡(luò),使用RS-485進(jìn)行通信。這種協(xié)議特別適合于需要高通信速度和大數(shù)據(jù)量傳輸?shù)膽?yīng)用11。但它需要特殊的接口卡和電纜,并且不如Modbus RTU和TCP那么常見。
-
Modicon, “Modbus Protocol Reference Guide”, June 1996. Link ??
-
Schneider Electric, “Modbus and ION Technology”, July 2004. Link ??
-
Modbus Organization, “Modbus Messaging on TCP/IP Implementation Guide V1.0b”, October 2006. Link ??
-
Simply Modbus, “About Modbus RTU”, 2021. Link ??
-
Maxim Integrated, “Understanding RS-485: 7 Essential Facts About RS?485 Data Communication”, November 2018. Link ??
-
Texas Instruments, “Guide to RS-485 data transmission”, December 2011. Link ??
-
Real Time Automation, “The ABCs of Modbus RTU”, February 2018. Link ??
-
Modbus Organization, “Modbus Messaging on TCP/IP Implementation Guide V1.0b”, October 2006. Link ??
-
Schneider Electric, “Modbus and ION Technology”, July 2004. Link ??
-
Simply Modbus, “About Modbus ASCII”, 2021. Link ??文章來源:http://www.zghlxwxcb.cn/news/detail-753454.html
-
Schneider Electric, “Modbus Plus Network Planning and Installation Guide”, 2015. Link ??文章來源地址http://www.zghlxwxcb.cn/news/detail-753454.html
到了這里,關(guān)于Modbus RTU(Remote Terminal Unit)與RS-485協(xié)議(rs485)介紹(主站設(shè)備(Master)、從站設(shè)備(Slave))Modbus TCP、Modbus ASCII的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!