對于工控行業(yè)的朋友來說,Modbus協(xié)議可謂是耳熟聞詳?shù)囊粋€詞,很多人聽過次協(xié)議,但是不清楚具體是干什么的,是什么意思,今天我們一起來聊一聊什么是Modbus協(xié)議。
首先,我們來看一下三個問題:
Modbus是一種串行通信協(xié)議,是Modicon公司(現(xiàn)在的施耐德電氣 Schneider Electric)于1979年為使用可編程邏輯控制器(PLC)通信而發(fā)表的一種總線協(xié)議。
Modbus通信協(xié)議已經成為工業(yè)領域通信協(xié)議的業(yè)界標準(De facto),并且現(xiàn)在是工業(yè)電子設備之間常用的連接方式(一種行業(yè)規(guī)范)。此外,還具有三大特點:
①公開發(fā)表并且無版權要求
②易于部署和維護
③修改移動本地的比特或字節(jié)沒有很多限制
概括來講,Modbus協(xié)議就是一種用于工業(yè)控制的協(xié)議,Modbus具有免費使用、上手簡單、需改方便三大特點,已經被廣泛使用。
Modbus協(xié)議都是用于通信的,就比如我們使用的語言,就可以看做是一種協(xié)議,作用是讓使用這種語言的人都能聽懂。比如我們之間定義了一個協(xié)議,“1”是向左,“2”是向右,我給你一個“1”,如果你沒有這個協(xié)議,就只知道是“1”,而你有這個協(xié)議就知道是讓你向左。
Modbus協(xié)議主要分為Modbus TCP、Modbus RTU、Modbus ASCII、Modbus Plus四種。
Modbus協(xié)議是主從方式通信,也就是說,不能同步進行通信,總線上每次只有一個數(shù)據(jù)進行傳輸,即主機發(fā)送,從機應答,主機不發(fā)送,從機應答完畢后,總線上就沒有數(shù)據(jù)通信。
例如,一個RS485總線上有一個主機,20個從機,主機查詢其中一個從機,首先必須得給這些從機分配一個地址(每個地址必須唯一),分配好地址后,主機要查詢一個從機狀態(tài)(05),然后數(shù)據(jù)下發(fā)給從機(5號),從機(5號)得到主機發(fā)送的數(shù)據(jù),然后對應地址的從機(5號)回復,主機得到從機數(shù)據(jù),這樣就是一個主機到從機的通信過程。
Modbus TCP協(xié)議是用于管理和控制自動化設備的,它覆蓋了使用TCP/IP協(xié)議的“Intranet”和“Internet”環(huán)境中Modbus報文的用途,Modbus RTU協(xié)議運行于以太網。
Modbus TCP使用TCP/IP和以太網在站點間傳送Modbus報文,Modbus TCP結合了以太網物理網絡和網絡標準TCP/IP以及以Modbus作為應用協(xié)議標準的數(shù)據(jù)表示方法。Modbus TCP通信報文被封裝于以太網TCP/IP數(shù)據(jù)包中。與傳統(tǒng)的串口方式,Modbus TCP插入一個標準Modbus報文到TCP報文中,不再帶有數(shù)據(jù)校驗和地址。
Modbus協(xié)議是運行于設備間的協(xié)議,或者說設備間必須要有Modbus RTU協(xié)議!這是Modbus協(xié)議上規(guī)定的,且默認模式必須是RTU協(xié)議。幀結構一般由地址、功能碼、數(shù)據(jù)、校驗組成。
地址用于區(qū)分設備,占用一個字節(jié),范圍0-255,其中有效范圍是1-247,其他有特殊用途,比如255是廣播地址(廣播地址就是應答所有地址,正常的需要兩個設備的地址一樣才能進行查詢和回復)。
功能碼占用一個字節(jié),意義在于指示這個指令的功能。
數(shù)據(jù)根據(jù)功能碼確認,不同的功能碼有不同的數(shù)據(jù)結構。
校驗位是為了保證數(shù)據(jù)不出現(xiàn)錯誤而增加的。校驗位將前面的數(shù)據(jù)進行計算,看數(shù)據(jù)是否一致,如果一致,就說明這幀數(shù)據(jù)是正確的,再進行回復;如果不一樣,說明數(shù)據(jù)在傳輸過程中出了問題,數(shù)據(jù)產生錯誤。
Modbus ASCII協(xié)議是建立在Modbus RTU協(xié)議上的,是將指令轉換為ASCII字符進行傳輸?shù)?。比如Modbus RTU協(xié)議需要傳輸“12”,只需要一個字節(jié);Modbus ASCII協(xié)議需要將“1”轉換為“31”,“2”轉化為“32”,再進行傳輸,需要占用兩個字節(jié),因此Modbus ASCII效率不高,使用率較低。
總的來看,Modbus RTU協(xié)議和Modbus ACSII協(xié)議都是基于232和485鏈路的,所以其通訊模式半雙工,一般是主機和從機的模式。其差別就是其字節(jié)的格式不同,一個是16進制的數(shù)據(jù),一個是ASCII數(shù)據(jù)。
Modbus PLUS協(xié)議一般被稱為MB+,是一種高速現(xiàn)場總線網絡,也是一種典型的令牌總線網,針對工業(yè)控制應用的本地局域網系統(tǒng)。它允許計算機、可編程序控制器和其他數(shù)據(jù)源以對等方式進行通信,設備通過"令牌"的方式實現(xiàn)數(shù)據(jù)的交換,嚴格定義了令牌的傳遞方式、數(shù)據(jù)校驗以及通信接口等方面的參數(shù)。數(shù)據(jù)傳送速率達1Mbit/s,傳輸介質一般為為雙絞線、同軸電纜或光纖。
今天的分享就到這里啦,EBYTE每一天都致力于更好的助力物聯(lián)化、智能化、自動化的發(fā)展,提升資源利用率,更多串口服務器、數(shù)傳電臺、lora無線模塊等產品更多資料,感興趣的小伙伴可以登錄我們的億佰特官網和企業(yè)公眾號(微信號:cdebyte)進行了解,也可以直接撥打400電話咨詢技術專員!
7 X 24 銷售服務熱線
4000-330-990深圳辦事處柯經理:18218726658 南京辦事處葛經理:17626012283
無錫辦事處劉經理:13558641933
成都總部銷售經理:
秦 科(無線模塊):18884314654 馮子恒(無線模塊):18828049434
蔡友銀(無線模塊):13882211021 葛宇龍(通信設備):19138800613
胡兵(外貿銷售經理):18584911141、 sales06@ebyte.com
業(yè)務郵箱:support@cdebyte.com 全國銷售投訴電話:19934352316
地址:四川省成都市高新西區(qū)西區(qū)大道199號B5棟(前臺座機:028-61543675)
?? 成都億佰特電子科技有限公司【版權所有】 蜀ICP備13019384號