詳解modbus-下(工業(yè)總線系列5)

在上一期中蔬芥,我們了解了
1.Modbus通信協(xié)議的含義
2/業(yè)內(nèi)使用的Modbus通信類型
在此章中,我們將了解
Modbus通信協(xié)議是如何在設(shè)備之間工作。


modbus通信協(xié)議

每個(gè)Modbus信息都有相同的結(jié)構(gòu)系瓢,每個(gè)信息都有四個(gè)基本元素組成。所有數(shù)據(jù)的這些元素的順序都是相同的句灌∫穆可以容易地解析Modbus消息的內(nèi)容。

image

  ADU: 應(yīng)用數(shù)據(jù)單元 ****PDU: 協(xié)議數(shù)據(jù)單元

數(shù)據(jù)傳輸始終由Modbus網(wǎng)絡(luò)中的主站啟動(dòng)胰锌。Modbus主站發(fā)送消息肌稻,并根據(jù)消息的內(nèi)容,從站解釋消息并回應(yīng)主站匕荸。消息的頭部是從站的地址用于定義哪個(gè)從設(shè)備應(yīng)響應(yīng)消息爹谭。

Modbus網(wǎng)絡(luò)上的所有其他子站與收到的地址碼不匹配,則忽略該消息榛搔。

image

Modbus功能執(zhí)行讀寫操作是把從站內(nèi)部寄存器進(jìn)行讀寫操作诺凡。包括配置,監(jiān)視和控制從站的輸入和輸出践惑。Modbus設(shè)備通常包括寄存器映射包括配置腹泌,輸入和輸出數(shù)據(jù)進(jìn)行寫入和讀取。

我們應(yīng)該始了解從站的寄存器映射以便更好地了解其整體運(yùn)作尔觉。

Modbus數(shù)據(jù)模型是具有四種基本數(shù)據(jù)類型:

1.包括離散輸入凉袱;

2.線圈輸出;

3.輸入寄存器(輸入數(shù)據(jù))侦铜;

4.并保存寄存器(輸出數(shù)據(jù))

image

設(shè)備的Modbus存儲(chǔ)寄存器圍繞四種基本數(shù)據(jù)類型進(jìn)行組織并且進(jìn)一步識(shí)別該數(shù)據(jù)類型通過設(shè)備內(nèi)存地址中使用的前導(dǎo)號(hào)碼,例如:

  • 基于0的寄存器引用消息讀取或?qū)懭腚x散輸出或線圈

  • 基于1的寄存器參考讀取離散輸入

  • 基于3的寄存器引用讀取輸入寄存器

  • 基于4的寄存器专甩,引用讀取或?qū)懭胼敵龌虮3旨拇嫫?/p>

功能碼列表

功能碼字段指定哪個(gè)寄存器數(shù)據(jù)組它可以讀取或?qū)懭霃膶僭O(shè)備。

功能碼 名稱 作用
1 讀取線圈狀態(tài) 取得一組邏輯線圈的當(dāng)前狀態(tài)(ON/OFF)
2 讀取輸入狀態(tài) 取得一組開關(guān)輸入的當(dāng)前狀態(tài)(ON/OFF)
3 讀取保持寄存器 在一個(gè)或多個(gè)保持寄存器中取得當(dāng)前的二進(jìn)制值
4 讀取輸入寄存器 在一個(gè)或多個(gè)輸入寄存器中取得當(dāng)前的二進(jìn)制值
5 強(qiáng)置單線圈 強(qiáng)置一個(gè)邏輯線圈的通斷狀態(tài)
6 預(yù)置單寄存器 把具體二進(jìn)值裝入一個(gè)保持寄存器
7 讀取異常狀態(tài) 取得8個(gè)內(nèi)部線圈的通斷狀態(tài)钉稍,這8個(gè)線圈的地址由控制器決定涤躲,用戶邏輯可以將這些線圈定義,以說明從機(jī)狀態(tài)贡未,短報(bào)文適宜于迅速讀取狀態(tài)
8 回送診斷校驗(yàn) 把診斷校驗(yàn)報(bào)文送從機(jī)种樱,以對(duì)通信處理進(jìn)行評(píng)鑒
9 編程(只用于484) 使主機(jī)模擬編程器作用限番,修改PC從機(jī)邏輯
10 控詢(只用于484) 可使主機(jī)與一臺(tái)正在執(zhí)行長程序任務(wù)從機(jī)通信陡叠,探詢該從機(jī)是否已完成其操作任務(wù)浸赫,僅在含有功能碼9的報(bào)文發(fā)送后绘沉,本功能碼才發(fā)送
11 讀取事件計(jì)數(shù) 可使主機(jī)發(fā)出單詢問,并隨即判定操作是否成功岂昭,尤其是該命令或其他應(yīng)答產(chǎn)生通信錯(cuò)誤時(shí)
12 讀取通信事件記錄 可是主機(jī)檢索每臺(tái)從機(jī)的ModBus事務(wù)處理通信事件記錄矫限。如果某項(xiàng)事務(wù)處理完成,記錄會(huì)給出有關(guān)錯(cuò)誤
13 編程(184/384 484 584) 可使主機(jī)模擬編程器功能修改PC從機(jī)邏輯
14 探詢(184/384 484 584) 可使主機(jī)與正在執(zhí)行任務(wù)的從機(jī)通信佩抹,定期控詢該從機(jī)是否已完成其程序操作叼风,僅在含有功能13的報(bào)文發(fā)送后,本功能碼才得發(fā)送
15 強(qiáng)置多線圈 強(qiáng)置一串連續(xù)邏輯線圈的通斷
16 預(yù)置多寄存器 把具體的二進(jìn)制值裝入一串連續(xù)的保持寄存器
17 報(bào)告從機(jī)標(biāo)識(shí) 可使主機(jī)判斷編址從機(jī)的類型及該從機(jī)運(yùn)行指示燈的狀態(tài)
18 (884和MICRO 84) 可使主機(jī)模擬編程功能棍苹,修改PC狀態(tài)邏輯
19 重置通信鏈路 發(fā)生非可修改錯(cuò)誤后无宿,是從機(jī)復(fù)位于已知狀態(tài),可重置順序字節(jié)
20 讀取通用參數(shù)(584L) 顯示擴(kuò)展存儲(chǔ)器文件中的數(shù)據(jù)信息
21 寫入通用參數(shù)(584L) 把通用參數(shù)寫入擴(kuò)展存儲(chǔ)文件枢里,或修改之
22~64 保留作擴(kuò)展功能備用
65~72 保留以備用戶功能所用 留作用戶功能的擴(kuò)展編碼
73~119 非法功能
120~127 保留 留作內(nèi)部作用
128~255 保留 用于異常應(yīng)答

雖然這些Modbus功能代碼代表最常見的讀寫功能孽鸡,您可以查看Modbus規(guī)范以獲取更多信息。有關(guān)其他詳細(xì)的Modbus協(xié)議技術(shù)信息請(qǐng)參閱modbus.org網(wǎng)站栏豺。

http://www.modbus.org/docs/Modbus_Application_Protocol_V1_1b3.pdf

仿真調(diào)試

與從站設(shè)備或主PLC或計(jì)算機(jī)的通信可以使用Modbus模擬器軟件完成在您的個(gè)人計(jì)算機(jī)上運(yùn)行彬碱。

Modscan32可以用作modbus主站仿真,讀取從站設(shè)備信息奥洼。

Modsim32可以用于從站仿真巷疼。

image

連接可以是串行或以太網(wǎng)并以抓站或從站的形式。該軟件將允許您執(zhí)行所有Modbus協(xié)議通信功能代碼灵奖,用于簡單地讀取或?qū)懭氍F(xiàn)有從站嚼沿。您可以設(shè)置一臺(tái)PC來運(yùn)行從站仿真軟件另一個(gè)運(yùn)行主站仿真軟件。首先連接到從站通過設(shè)置串行COM端口的通信參數(shù)瓷患。然后在DeviceID字段中輸入從站的地址骡尽。

此外,還有幾家公司提供產(chǎn)品和支持幫助您進(jìn)行協(xié)議通信擅编。ProSoft攀细,HMS,和MOXA僅爱态。

至此Modbus通信協(xié)議到此結(jié)束谭贪。

視頻更直觀和利于理解,相關(guān)視頻版請(qǐng)搜索公眾號(hào):PLClion

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末肢藐,一起剝皮案震驚了整個(gè)濱河市故河,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌吆豹,老刑警劉巖鱼的,帶你破解...
    沈念sama閱讀 210,978評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異痘煤,居然都是意外死亡凑阶,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門衷快,熙熙樓的掌柜王于貴愁眉苦臉地迎上來宙橱,“玉大人,你說我怎么就攤上這事蘸拔∈χ#” “怎么了?”我有些...
    開封第一講書人閱讀 156,623評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵调窍,是天一觀的道長宝冕。 經(jīng)常有香客問我,道長邓萨,這世上最難降的妖魔是什么地梨? 我笑而不...
    開封第一講書人閱讀 56,324評(píng)論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮缔恳,結(jié)果婚禮上宝剖,老公的妹妹穿的比我還像新娘。我一直安慰自己歉甚,他們只是感情好万细,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,390評(píng)論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著纸泄,像睡著了一般雅镊。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上刃滓,一...
    開封第一講書人閱讀 49,741評(píng)論 1 289
  • 那天仁烹,我揣著相機(jī)與錄音,去河邊找鬼咧虎。 笑死卓缰,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的砰诵。 我是一名探鬼主播征唬,決...
    沈念sama閱讀 38,892評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼茁彭!你這毒婦竟也來了总寒?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,655評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤理肺,失蹤者是張志新(化名)和其女友劉穎摄闸,沒想到半個(gè)月后善镰,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,104評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡年枕,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評(píng)論 2 325
  • 正文 我和宋清朗相戀三年炫欺,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片熏兄。...
    茶點(diǎn)故事閱讀 38,569評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡品洛,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出摩桶,到底是詐尸還是另有隱情桥状,我是刑警寧澤,帶...
    沈念sama閱讀 34,254評(píng)論 4 328
  • 正文 年R本政府宣布硝清,位于F島的核電站辅斟,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏耍缴。R本人自食惡果不足惜砾肺,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,834評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望防嗡。 院中可真熱鬧变汪,春花似錦、人聲如沸蚁趁。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,725評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽他嫡。三九已至番官,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間钢属,已是汗流浹背徘熔。 一陣腳步聲響...
    開封第一講書人閱讀 31,950評(píng)論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留淆党,地道東北人酷师。 一個(gè)月前我還...
    沈念sama閱讀 46,260評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像染乌,于是被迫代替她去往敵國和親山孔。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,446評(píng)論 2 348

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