国产精品一区在线观看你懂的,三级电影网站免费观看,日韩黄色网,大黄网站在线观看

當(dāng)前位置: 首頁 >應(yīng)用方案 >技術(shù)應(yīng)用 >

ModBus協(xié)議詳解及應(yīng)用案例

對(duì)于工控行業(yè)的朋友來說,Modbus協(xié)議可謂是耳熟聞詳?shù)囊粋€(gè)詞,很多人聽過次協(xié)議,但是不清楚具體是干什么的,是什么意思,今天我們一起來聊一聊什么是Modbus協(xié)議。

modbus協(xié)議

首先,我們來看一下三個(gè)問題:

1、什么是Modbus?

Modbus是一種串行通信協(xié)議,是Modicon公司(現(xiàn)在的施耐德電氣 Schneider Electric)于1979年為使用可編程邏輯控制器(PLC)通信而發(fā)表的一種總線協(xié)議。

為什么Modbus協(xié)議被廣泛使用呢?

Modbus通信協(xié)議已經(jīng)成為工業(yè)領(lǐng)域通信協(xié)議的業(yè)界標(biāo)準(zhǔn)(De facto),并且現(xiàn)在是工業(yè)電子設(shè)備之間常用的連接方式(一種行業(yè)規(guī)范)。此外,還具有三大特點(diǎn):

①公開發(fā)表并且無版權(quán)要求

②易于部署和維護(hù)

③修改移動(dòng)本地的比特或字節(jié)沒有很多限制

概括來講,Modbus協(xié)議就是一種用于工業(yè)控制的協(xié)議,Modbus具有免費(fèi)使用、上手簡(jiǎn)單、需改方便三大特點(diǎn),已經(jīng)被廣泛使用。

2、Modbus是用來干什么的?

Modbus協(xié)議都是用于通信的,就比如我們使用的語言,就可以看做是一種協(xié)議,作用是讓使用這種語言的人都能聽懂。比如我們之間定義了一個(gè)協(xié)議,“1”是向左,“2”是向右,我給你一個(gè)“1”,如果你沒有這個(gè)協(xié)議,就只知道是“1”,而你有這個(gè)協(xié)議就知道是讓你向左。

3、Modbus協(xié)議的內(nèi)容是什么?

Modbus協(xié)議主要分為Modbus TCP、Modbus RTU、Modbus ASCII、Modbus Plus四種。

modbus協(xié)議內(nèi)容

Modbus協(xié)議是主從方式通信,也就是說,不能同步進(jìn)行通信,總線上每次只有一個(gè)數(shù)據(jù)進(jìn)行傳輸,即主機(jī)發(fā)送,從機(jī)應(yīng)答,主機(jī)不發(fā)送,從機(jī)應(yīng)答完畢后,總線上就沒有數(shù)據(jù)通信。

例如,一個(gè)RS485總線上有一個(gè)主機(jī),20個(gè)從機(jī),主機(jī)查詢其中一個(gè)從機(jī),首先必須得給這些從機(jī)分配一個(gè)地址(每個(gè)地址必須唯一),分配好地址后,主機(jī)要查詢一個(gè)從機(jī)狀態(tài)(05),然后數(shù)據(jù)下發(fā)給從機(jī)(5號(hào)),從機(jī)(5號(hào))得到主機(jī)發(fā)送的數(shù)據(jù),然后對(duì)應(yīng)地址的從機(jī)(5號(hào))回復(fù),主機(jī)得到從機(jī)數(shù)據(jù),這樣就是一個(gè)主機(jī)到從機(jī)的通信過程。

3.1 Modbus TCP協(xié)議

Modbus TCP協(xié)議是用于管理和控制自動(dòng)化設(shè)備的,它覆蓋了使用TCP/IP協(xié)議的“Intranet”和“Internet”環(huán)境中Modbus報(bào)文的用途,Modbus RTU協(xié)議運(yùn)行于以太網(wǎng)。

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

3.2 Modbus RTU協(xié)議

Modbus協(xié)議是運(yùn)行于設(shè)備間的協(xié)議,或者說設(shè)備間必須要有Modbus RTU協(xié)議!這是Modbus協(xié)議上規(guī)定的,且默認(rèn)模式必須是RTU協(xié)議。幀結(jié)構(gòu)一般由地址、功能碼、數(shù)據(jù)、校驗(yàn)組成。

地址用于區(qū)分設(shè)備,占用一個(gè)字節(jié),范圍0-255,其中有效范圍是1-247,其他有特殊用途,比如255是廣播地址(廣播地址就是應(yīng)答所有地址,正常的需要兩個(gè)設(shè)備的地址一樣才能進(jìn)行查詢和回復(fù))。

功能碼占用一個(gè)字節(jié),意義在于指示這個(gè)指令的功能。

數(shù)據(jù)根據(jù)功能碼確認(rèn),不同的功能碼有不同的數(shù)據(jù)結(jié)構(gòu)。

校驗(yàn)位是為了保證數(shù)據(jù)不出現(xiàn)錯(cuò)誤而增加的。校驗(yàn)位將前面的數(shù)據(jù)進(jìn)行計(jì)算,看數(shù)據(jù)是否一致,如果一致,就說明這幀數(shù)據(jù)是正確的,再進(jìn)行回復(fù);如果不一樣,說明數(shù)據(jù)在傳輸過程中出了問題,數(shù)據(jù)產(chǎn)生錯(cuò)誤。

3.3 Modbus ASCII協(xié)議

Modbus ASCII協(xié)議是建立在Modbus RTU協(xié)議上的,是將指令轉(zhuǎn)換為ASCII字符進(jìn)行傳輸?shù)?。比如Modbus RTU協(xié)議需要傳輸“12”,只需要一個(gè)字節(jié);Modbus ASCII協(xié)議需要將“1”轉(zhuǎn)換為“31”,“2”轉(zhuǎn)化為“32”,再進(jìn)行傳輸,需要占用兩個(gè)字節(jié),因此Modbus ASCII效率不高,使用率較低。

總的來看,Modbus RTU協(xié)議和Modbus ACSII協(xié)議都是基于232和485鏈路的,所以其通訊模式半雙工,一般是主機(jī)和從機(jī)的模式。其差別就是其字節(jié)的格式不同,一個(gè)是16進(jìn)制的數(shù)據(jù),一個(gè)是ASCII數(shù)據(jù)。

3.4 Modbus PLUS協(xié)議

Modbus PLUS協(xié)議一般被稱為MB+,是一種高速現(xiàn)場(chǎng)總線網(wǎng)絡(luò),也是一種典型的令牌總線網(wǎng),針對(duì)工業(yè)控制應(yīng)用的本地局域網(wǎng)系統(tǒng)。它允許計(jì)算機(jī)、可編程序控制器和其他數(shù)據(jù)源以對(duì)等方式進(jìn)行通信,設(shè)備通過"令牌"的方式實(shí)現(xiàn)數(shù)據(jù)的交換,嚴(yán)格定義了令牌的傳遞方式、數(shù)據(jù)校驗(yàn)以及通信接口等方面的參數(shù)。數(shù)據(jù)傳送速率達(dá)1Mbit/s,傳輸介質(zhì)一般為為雙絞線、同軸電纜或光纖。

今天的分享就到這里啦,EBYTE每一天都致力于更好的助力物聯(lián)化、智能化、自動(dòng)化的發(fā)展,提升資源利用率,更多串口服務(wù)器、數(shù)傳電臺(tái)、lora無線模塊等產(chǎn)品更多資料,感興趣的小伙伴可以登錄我們的億佰特官網(wǎng)和企業(yè)公眾號(hào)(微信號(hào):cdebyte進(jìn)行了解,也可以直接撥打400電話咨詢技術(shù)專員!


點(diǎn)擊撥打: 億佰特官網(wǎng) 4000-330-990