Modbus/Tcp資料整理
一、簡介:
Modbus協(xié)議通訊采用主—從響應(yīng)方式。主機(jī)(又稱客戶端)為手持端設(shè)
備,從機(jī)(又稱服務(wù)端)為可編程控制器。此協(xié)議支持傳統(tǒng)的RS-232、RS-422、
RS-485和以太網(wǎng)設(shè)備,標(biāo)準(zhǔn)的Modbus口是基于RS-485的串行鏈路,它定義了連接口的引腳、電纜、信號線、傳輸波特率、奇偶校驗。采用Modbus網(wǎng)絡(luò),各個主機(jī)和從機(jī)之間通過半雙工形式傳輸數(shù)據(jù),一方在執(zhí)行請求或者響應(yīng)的時候,另一方只能等待,因此不會影響各個從機(jī)執(zhí)行自身的任務(wù)。主機(jī)與從機(jī)之間可以單獨通訊也可以通過廣播的形式通訊。主機(jī)為手持端設(shè)備,從機(jī)為各個PLC采集采集的數(shù)據(jù)通過組態(tài)軟件形成的服務(wù)端。主機(jī)根據(jù)Modbus協(xié)議規(guī)則對從機(jī)發(fā)送包含功能碼的請求數(shù)據(jù)幀,從機(jī)響應(yīng)并返回帶有Modbus協(xié)議的響應(yīng)數(shù)據(jù)幀。
Modbus協(xié)議可以使用兩種傳輸模式,一種是ASCII模式,另一種是RTU模式,一個Modbus網(wǎng)絡(luò)上的所有設(shè)備之間的通訊都必須采用相同的傳輸模式并配置相同的串口參數(shù)。
二、功能碼:
功能碼名稱作用:
功能碼 | 名稱 | 作用 |
---|---|---|
01 | 讀取線圈狀態(tài) | 取得一組邏輯線圈的當(dāng)前狀態(tài)(ON/OFF) |
02 | 讀取輸入狀態(tài) | 取得一組開關(guān)輸入的當(dāng)前狀態(tài)(ON/OFF) |
03 | 讀取保持寄存器 | 在一個或多個保持寄存器中取得當(dāng)前的二進(jìn)制值 |
04 | 讀取輸入寄存器 | 在一個或多個輸入寄存器中取得當(dāng)前的二進(jìn)制值 |
05 | 強(qiáng)置單線圈 | 強(qiáng)置一個邏輯線圈的通斷狀態(tài) |
06 | 預(yù)置單寄存器 | 把具體二進(jìn)值裝入一個保持寄存器 |
07 | 讀取異常狀態(tài) | 取得8個內(nèi)部線圈的通斷狀態(tài),這8個線圈的地址由控制器決定,用戶邏輯可以將這些線圈定義,以說明從機(jī)狀態(tài),短報文適宜于迅速讀取狀態(tài) |
08 | 回送診斷校驗 | 把診斷校驗報文送從機(jī),以對通信處理進(jìn)行評鑒 |
09 | 編程(只用于484) | 使主機(jī)模擬編程器作用,修改PC從機(jī)邏輯 |
10 | 控詢(只用于484) | 可使主機(jī)與一臺正在執(zhí)行長程序任務(wù)從機(jī)通信,探詢該從機(jī)是否已完成其操作任務(wù),僅在含有功能碼9的報文發(fā)送后,本功能碼才發(fā)送 |
11 | 讀取事件計數(shù) | 可使主機(jī)發(fā)出單詢問,并隨即判定操作是否成功,尤其是該命令或其他應(yīng)答產(chǎn)生通信錯誤時 |
12 | 讀取通信事件記錄 | 可是主機(jī)檢索每臺從機(jī)的ModBus事務(wù)處理通信事件記錄。如果某項事務(wù)處理完成,記錄會給出有關(guān)錯誤 |
13 | 編程(184/384 484 584) | 可使主機(jī)模擬編程器功能修改PC從機(jī)邏輯 |
14 | 探詢(184/384 484 584) | 可使主機(jī)與正在執(zhí)行任務(wù)的從機(jī)通信,定期控詢該從機(jī)是否已完成其程序操作,僅在含有功能13的報文發(fā)送后,本功能碼才得發(fā)送 |
15 | 強(qiáng)置多線圈 | 強(qiáng)置一串連續(xù)邏輯線圈的通斷 |
16 | 預(yù)置多寄存器 | 把具體的二進(jìn)制值裝入一串連續(xù)的保持寄存器 |
17 | 報告從機(jī)標(biāo)識 | 可使主機(jī)判斷編址從機(jī)的類型及該從機(jī)運行指示燈的狀態(tài) |
18 | (884和MICRO 84) | 可使主機(jī)模擬編程功能,修改PC狀態(tài)邏輯 |
19 | 重置通信鏈路 | 發(fā)生非可修改錯誤后,是從機(jī)復(fù)位于已知狀態(tài),可重置順序字節(jié) |
20 | 讀取通用參數(shù)(584L) | 顯示擴(kuò)展存儲器文件中的數(shù)據(jù)信息 |
21 | 寫入通用參數(shù)(584L) | 把通用參數(shù)寫入擴(kuò)展存儲文件,或修改之 |
22~64 | 保留 | 作擴(kuò)展功能備用 |
65~72 | 保留 | 以備用戶功能所用留作用戶功能的擴(kuò)展編碼 |
73~119 | 非法功能 | 非法功能 |
120~127 | 保留 | 留作內(nèi)部作用 |
128~255 | 保留 | 用于異常應(yīng)答 |