00.Modbus序言篇——什么是Modbus[轉(zhuǎn)載]

什么是Modbus ,Modbus能做什么。

筆者嘗試用一個系列分多篇文章進行講述肩碟,帶你了解身邊的Modbus强窖。

第一篇我們先來個序言篇,先來聊聊Modbus削祈。

創(chuàng)作不易翅溺,轉(zhuǎn)載請注明出處脑漫。訂閱號諸子?xùn)|(物聯(lián)網(wǎng)諸子?xùn)|)原創(chuàng)作品。

按照筆者的風(fēng)格咙崎,上來自然不會直接講枯燥的概念和協(xié)議优幸,格式等。這些網(wǎng)上一搜一大把的內(nèi)容褪猛,筆者盡量少重復(fù)网杆。

我們先不要直接講Modbus協(xié)議,先聊聊家常伊滋,然后趁Modbus不注意碳却,再去學(xué)它,就容易記住了新啼。

Modbus協(xié)議追城,是1979年,Modicon公司發(fā)明的燥撞。而Modicon,也可以說就是現(xiàn)在的施耐德了迷帜。

別的設(shè)備支持不支持Modbus不知道物舒,施耐德PLC肯定可以支持Modbus協(xié)議。

那時候網(wǎng)絡(luò)戏锹,計算機都還不發(fā)達冠胯,設(shè)備之間的通信,主要還是基于串口锦针。

那Modbus協(xié)議發(fā)明主要是用來干嘛的呢荠察。

那我們就先看Modicon是干嘛的。

Modicon公司是搞PLC的奈搜。那PLC又是什么呢悉盆。

接地氣地講,PLC是一種控制器馋吗,內(nèi)部可編程焕盟。反正就是工業(yè)領(lǐng)域生產(chǎn)非常重要的東西。

像PLC宏粤,傳感器等脚翘,就會有各種各樣的數(shù)據(jù),比如绍哎,門的開和關(guān)来农,燈的亮和滅,溫度崇堰,濕度沃于,流量,產(chǎn)量計數(shù),壓力揽涮,速度抠藕,位移等,各種各樣的數(shù)據(jù)蒋困。

往現(xiàn)在來說盾似,你手機上有個APP,APP上有個按鈕雪标,你一操作零院,你家的燈就開了。

在當(dāng)時來看村刨,一臺控制器怎么知道另一臺控制器的數(shù)據(jù)呢告抄。

總不能這么唐突的去要數(shù)據(jù)吧。

好嵌牺,如果只是燈的開關(guān)打洼,可以用一根電線將兩個控制器接起來,十個開關(guān)就接十根線逆粹。

只要這根線有電募疮,說明燈是亮的,線沒有電僻弹,燈就是滅的阿浓。

但溫度呢,總不能讓一個控制器靠近另一個控制器蹋绽,你摸一下我燙不燙芭毙,冷不冷,渴不渴卸耘?

還有壓力值呢退敦,總不能讓一個控制器去踩壓著另一個控制器的背,官人鹊奖,你看這腳力合適不合適苛聘?

這不是有串口么,能不能把這些數(shù)據(jù)忠聚,都通過這個串口來傳輸呢设哗。

發(fā)明一種協(xié)議,然后可以在串口上進行數(shù)據(jù)交互两蟀,

真的是好辦法呀网梢,這樣一來,對于主控制器來說赂毯,省事多了战虏,就這么辦吧拣宰。

發(fā)明協(xié)議要有儀式感,我們總得給它起個名字吧烦感。我們先開個會討論一下吧巡社。

“要不我們就直接叫它ModiconModbus吧”

“系不系傻,Modbus這個名字就是我們發(fā)明的手趣,怎么能叫Modicon Modbus呢晌该,再重新討論”

“首先這個是一種總線協(xié)議,肯定得以bus結(jié)尾吧绿渣〕海”

“嗯,沒錯中符,那就以bus結(jié)尾吧”

“叫Modicon-bus如何姜胖?”

“不行,得有我們老外的風(fēng)格淀散,這名字一看就很中式右莱。”

“取名字的前半部分吧凉?叫Modibus協(xié)議隧出?”

“莫弟拔絲?讀著有點繞口吧阀捅。”

“Modbus呢针余,莫得拔絲饲鄙,好寫又好記≡惭悖”

“同意”

“同意”

“Good”

“大拇指忍级,大拇指,大拇指”伪朽。

于是轴咱,偉大的Modbus協(xié)議的名字誕生了。

那這個協(xié)議要怎么用呢烈涮。

現(xiàn)在擺在面前有兩個設(shè)備朴肺,一個是主設(shè)備,一個是從控制器坚洽,主設(shè)備和從控制器通過串口接在一起了戈稿,所有的數(shù)據(jù)都在從控制器上了。

是從控制器主動把數(shù)據(jù)發(fā)給主設(shè)備呢讶舰,還是主設(shè)備來要數(shù)據(jù)呢鞍盗。

如果是從控制器主動發(fā)數(shù)據(jù)需了,但是好像不知道主設(shè)備到底要啥數(shù)據(jù)呢。

要不就設(shè)計為般甲,由主設(shè)備主動發(fā)起請求來要數(shù)據(jù)肋乍。從控制器收到命令之后,再把相應(yīng)的數(shù)據(jù)返回敷存。

所以墓造,Modbus協(xié)議,就設(shè)計為一種基于主站主動請求的協(xié)議了历帚。

這樣所有的數(shù)據(jù)需求滔岳,全部為主設(shè)備進行管理和規(guī)劃,什么時候讀什么數(shù)據(jù)挽牢。

就這樣谱煤,有了Modbus協(xié)議之后,就解決了各控制器之間的數(shù)據(jù)交互問題禽拔。包括之后的HMI刘离,電腦等設(shè)備,也都可以通過Modbus協(xié)議與PLC睹栖, 控制器進行數(shù)據(jù)讀取交互硫惕。

剛發(fā)明Modbus的時候,那時候主要還是使用串口通信野来。網(wǎng)絡(luò)還沒有完善的年代恼除,想找一個支持以太網(wǎng)的PLC幾乎不現(xiàn)實。

當(dāng)然曼氛,后面隨著TCP/IP的發(fā)展豁辉,工業(yè)的進步,出現(xiàn)了網(wǎng)絡(luò)通信舀患。Modbus也可以在以太網(wǎng)上通信了徽级,在以太網(wǎng)上的通信,我們一般叫它Modbus TCP聊浅。

既然有TCP餐抢,就會有人問,那我能不能走UDP呢低匙。

于是旷痕,Modbus UDP也就有了。

其實Modbus TCP和Modbus UDP的報文格式是一樣的努咐。只不過一個走的是TCP苦蒿,一個走的是UDP。

那串口的Modbus?叫什么名字呢渗稍。

一般來說佩迟,串口的Modbus?協(xié)議叫Modbus RTU協(xié)議团滥。

RTU,也就是?Remote Terminal Unit报强。遠程終端單元灸姊。

要知道锻煌,在上個世紀80年代饺汹,對于遠程的概念,可不是像我們這樣天南地北的距離死讹。

兩個設(shè)備召嘶,超過一米父晶,都能叫遠程了。

大概的意思就是弄跌,我人在門口甲喝,我能通過HMI或者主控制器,對房間里的溫度铛只,燈等進行監(jiān)測和控制埠胖,就屬于遠程操作了。

畢竟每一個事物的存在淳玩,都是有它的背景和依據(jù)的直撤。

那為什么串口的協(xié)議,還會有Modbus ASCII協(xié)議呢蜕着。

這個我有點編不下去了谋竖,容我想一想。

一般來說承匣,數(shù)據(jù)是由位組成的圈盔,然后由八個位組成一個字節(jié),兩個字節(jié)組成一個字悄雅。

而數(shù)據(jù)傳輸和存儲呢,最小單元為字節(jié)铁蹈。


然后串口通信宽闲,它也很特殊,如果你要發(fā)一個字節(jié)握牧,還要加什么起始位容诬,校驗位,停止位等湊夠一定條件沿腰,才能滿將一個字節(jié)發(fā)送出去览徒。少一個位都不行。


那ASCII發(fā)明的的其中一個理由是颂龙,當(dāng)通信鏈路或者設(shè)備無法滿足RTU模式時习蓬,則使用ASCII模式纽什。

我猜測呀,可能當(dāng)時某些特定用途的單片機或CPU躲叼,在設(shè)計串口功能的時候芦缰,基于種種原因,要拋開起始位枫慷,校驗位让蕾,停止位之后,完了或听,少處理了一個位探孝,留給數(shù)據(jù)位只有7個位了。

怎么辦呢誉裆,要把7個位改成8個位顿颅,芯片都推倒重新來,代價太大了找御。

難道這個芯片就不能用了么元镀。有什么通信或數(shù)據(jù)只要7個位就夠了的?

還真巧霎桅,還真有的栖疑,那就是ASCII數(shù)據(jù)。

ASCII滔驶,也就是我們常說的字符數(shù)據(jù)遇革。字符嘛,大小寫字母揭糕,加上一些常用字符萝快,數(shù)量加起來少于127的。也就是用7個位就可以了著角。

那是不是可以發(fā)明一種ASCII通信協(xié)議揪漩,每一個數(shù)組只占7位。然后Modbus ASCII協(xié)議就出來了吏口。

我們看一下Modbus協(xié)議大概有多少奄容。


最后,我們留一道選擇題給大家产徊。

以下哪個配置是有問題的昂勒。


A ?使用modbus ascii?協(xié)議,波特率38400舟铜,數(shù)據(jù)位8戈盈,校驗位為奇,停止為1.

B ?使用modbus rtu?協(xié)議谆刨,波特率19200?塘娶,數(shù)據(jù)位8归斤,校驗位為偶,停止為1.

C ?使用modbus ascii?協(xié)議血柳,波特率57600官册,數(shù)據(jù)位7,校驗位為無难捌,停止位2膝宁。

D ?使用modbus rtu?協(xié)議,波特率115200根吁,數(shù)據(jù)位7员淫,校驗位為偶,停止位1

答案將在下一篇揭曉击敌。

本篇為序言篇介返,筆者會在未來一段里,完成該系列文章的創(chuàng)作沃斤,如果想進一步繼續(xù)了解和學(xué)習(xí)Modbus的同學(xué)圣蝎,朋友,不妨關(guān)注本訂閱號或推薦給你的同學(xué)衡瓶,老表徘公,同事等。

當(dāng)然哮针,Modbus只是第一個按系列寫的关面,后續(xù)也許也會考慮出更多和物聯(lián)網(wǎng)相關(guān)的專題系列進行創(chuàng)作,筆者會盡量秉承通俗十厢,風(fēng)趣的風(fēng)格進行創(chuàng)作等太。

筆者是業(yè)余時間進行的創(chuàng)作,更新速度可能比較慢蛮放,客官可以先回顧下往期文章缩抡。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市包颁,隨后出現(xiàn)的幾起案子缝其,更是在濱河造成了極大的恐慌,老刑警劉巖徘六,帶你破解...
    沈念sama閱讀 217,185評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異榴都,居然都是意外死亡待锈,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評論 3 393
  • 文/潘曉璐 我一進店門嘴高,熙熙樓的掌柜王于貴愁眉苦臉地迎上來竿音,“玉大人和屎,你說我怎么就攤上這事〈核玻” “怎么了柴信?”我有些...
    開封第一講書人閱讀 163,524評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長宽气。 經(jīng)常有香客問我随常,道長,這世上最難降的妖魔是什么萄涯? 我笑而不...
    開封第一講書人閱讀 58,339評論 1 293
  • 正文 為了忘掉前任绪氛,我火速辦了婚禮,結(jié)果婚禮上涝影,老公的妹妹穿的比我還像新娘枣察。我一直安慰自己,他們只是感情好燃逻,可當(dāng)我...
    茶點故事閱讀 67,387評論 6 391
  • 文/花漫 我一把揭開白布序目。 她就那樣靜靜地躺著,像睡著了一般伯襟。 火紅的嫁衣襯著肌膚如雪猿涨。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,287評論 1 301
  • 那天逗旁,我揣著相機與錄音嘿辟,去河邊找鬼。 笑死片效,一個胖子當(dāng)著我的面吹牛红伦,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播淀衣,決...
    沈念sama閱讀 40,130評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼昙读,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了膨桥?” 一聲冷哼從身側(cè)響起蛮浑,我...
    開封第一講書人閱讀 38,985評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎只嚣,沒想到半個月后沮稚,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,420評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡册舞,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,617評論 3 334
  • 正文 我和宋清朗相戀三年蕴掏,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,779評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡盛杰,死狀恐怖挽荡,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情即供,我是刑警寧澤定拟,帶...
    沈念sama閱讀 35,477評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站逗嫡,受9級特大地震影響青自,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜祸穷,卻給世界環(huán)境...
    茶點故事閱讀 41,088評論 3 328
  • 文/蒙蒙 一性穿、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧雷滚,春花似錦需曾、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,716評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至车份,卻和暖如春谋减,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背扫沼。 一陣腳步聲響...
    開封第一講書人閱讀 32,857評論 1 269
  • 我被黑心中介騙來泰國打工出爹, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人缎除。 一個月前我還...
    沈念sama閱讀 47,876評論 2 370
  • 正文 我出身青樓严就,卻偏偏與公主長得像,于是被迫代替她去往敵國和親器罐。 傳聞我的和親對象是個殘疾皇子梢为,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,700評論 2 354

推薦閱讀更多精彩內(nèi)容