版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、Modbus協(xié)議_試驗(yàn)臺控制設(shè)備基礎(chǔ)協(xié)議2016-10-28更新一、Modbus串行鏈路協(xié)議基本要求物理層RS232 接口或RS485接口:RJ45DB 9連接器與電纜相接數(shù)據(jù)信號發(fā)送速率:要求 9600bps 波特率,推薦 19200bps 波特率串行鏈路系統(tǒng)上的 Modbus只應(yīng)用于短距離( 20m)點(diǎn)到點(diǎn)的互連Modbus 串行鏈路電纜必須屏蔽。在電纜兩端,其屏蔽必須接到保護(hù)地上(若在這個端部使用了連接器,該連接器外殼要連在電纜屏蔽上)可視診斷必須用 LED(發(fā)光兩極管)指示通信狀態(tài)和設(shè)備狀態(tài)。Modbus 實(shí)現(xiàn)等級Modbus 串行鏈路上的每個設(shè)備必須遵守相同實(shí)現(xiàn)等級的所有的強(qiáng)制的要求
2、,常規(guī)等級必須提供可配置能力。二、Modbus串行鏈路幀模式RTU 傳輸模式(建議采用)當(dāng)設(shè)備使用RTU (Remote Terminal Unit) 模式在 Modbus 串行鏈路通信, 報(bào)文中每個8 位字節(jié)含有兩個4 位十六進(jìn)制字符。這種模式的主要優(yōu)點(diǎn)是較高的數(shù)據(jù)密度,在相同的波特率下比ASCII 模式有更高的吞吐率。每個報(bào)文必須以連續(xù)的字符流傳送。RTU模式位序列報(bào)文中每個8 位字節(jié)含有兩個4 位十六進(jìn)制字符(09, AF),每個字符傳送11位。1 起始位8 數(shù)據(jù)位, 首先發(fā)送最低有效位1 位作為奇偶校驗(yàn)(默認(rèn)偶校驗(yàn))1 停止位(注:使用無校驗(yàn)要求2個停止位。)通用Modbus幀PDU-
3、協(xié)議數(shù)據(jù)單元 ADU-應(yīng)用數(shù)據(jù)單元RS232 / RS485 ADU = 253 字節(jié)+服務(wù)器地址(1 byte) + CRC (2 字節(jié)) = 256 字節(jié)RTU模式幀序列由發(fā)送設(shè)備將Modbus 報(bào)文構(gòu)造為帶有已知起始和結(jié)束標(biāo)記的幀。這使設(shè)備可以在報(bào)文的開始接收新幀,并且知道何時報(bào)文結(jié)束。不完整的報(bào)文必須能夠被檢測到而錯誤標(biāo)志必須作為結(jié)果被設(shè)置。CRC校驗(yàn)在RTU 模式包含一個對全部報(bào)文內(nèi)容執(zhí)行的,基于循環(huán)冗余校驗(yàn) (CRC - Cyclical RedundancyChecking) 算法的錯誤檢驗(yàn)域。CRC 域檢驗(yàn)整個報(bào)文的內(nèi)容。不管報(bào)文有無奇偶校驗(yàn),均執(zhí)行此檢驗(yàn)。CRC 包含由兩個8
4、 位字節(jié)組成的一個16 位值。CRC 域作為報(bào)文的最后的域附加在報(bào)文之后。計(jì)算后,首先附加低字節(jié),然后是高字節(jié)。CRC高字節(jié)為報(bào)文發(fā)送的最后一個子節(jié)。其實(shí)現(xiàn)的C語言程序附后。unsigned CRC16 (unsigned char *puchMsg,unsigned usDataLen ) unsigned char uchCRCHi = 0xFF ; /* CRC 的高字節(jié)初始化 */unsigned char uchCRCLo = 0xFF ; /* CRC 的低字節(jié)初始化 */unsigned uIndex ; /* CRC 查詢表索引 */while (usDataLen-) /*
5、完成整個報(bào)文緩沖區(qū) */uIndex = uchCRCLo *puchMsgg+ ; uchCRCLo = uchCRCHi auchCRCHiuIndex;uchCRCHi = auchCRCLouIndex;return (uchCRCHi 8 | uchCRCLo);高字節(jié)表static unsigned char auchCRCHi = 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,0x00, 0xC1, 0x81,0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0x
6、C1, 0x81, 0x40, 0x00, 0xC1, 0x81,0x40, 0x01, 0xC0,0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1,0x81, 0x40, 0x01,0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01,0xC0, 0x80, 0x41,0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,0x0
7、0, 0xC1, 0x81,0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80,0x41, 0x01, 0xC0,0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,0x80, 0x41, 0x01,0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00,0xC1, 0x81, 0x40,0x00, 0xC1, 0x81, 0x40
8、, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,0x00, 0xC1, 0x81,0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81,0x40, 0x01, 0xC0,0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1,0x81, 0x40, 0x01,0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81
9、, 0x40, 0x01,0xC0, 0x80, 0x41,0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,0x00, 0xC1, 0x81,0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81,0x40, 0x01, 0xC0,0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,0x80, 0x41, 0x01,0xC0,
10、0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01,0xC0, 0x80, 0x41,0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,0x00, 0xC1, 0x81,0x40 ;低字節(jié)表static char auchCRCLo = 0x00, 0xC0, 0xC1, 0x01, 0xC3, 0x03, 0x02, 0xC2, 0xC6, 0x06, 0x07, 0xC7,0x05, 0xC5, 0xC4,0x04, 0x
11、CC, 0x0C, 0x0D, 0xCD, 0x0F, 0xCF, 0xCE, 0x0E, 0x0A, 0xCA, 0xCB,0x0B, 0xC9, 0x09,0x08, 0xC8, 0xD8, 0x18, 0x19, 0xD9, 0x1B, 0xDB, 0xDA, 0x1A, 0x1E, 0xDE,0xDF, 0x1F, 0xDD,0x1D, 0x1C, 0xDC, 0x14, 0xD4, 0xD5, 0x15, 0xD7, 0x17, 0x16, 0xD6, 0xD2,0x12, 0x13, 0xD3,0x11, 0xD1, 0xD0, 0x10, 0xF0, 0x30, 0x31, 0x
12、F1, 0x33, 0xF3, 0xF2, 0x32,0x36, 0xF6, 0xF7,0x37, 0xF5, 0x35, 0x34, 0xF4, 0x3C, 0xFC, 0xFD, 0x3D, 0xFF, 0x3F, 0x3E,0xFE, 0xFA, 0x3A,0x3B, 0xFB, 0x39, 0xF9, 0xF8, 0x38, 0x28, 0xE8, 0xE9, 0x29, 0xEB, 0x2B,0x2A, 0xEA, 0xEE,0x2E, 0x2F, 0xEF, 0x2D, 0xED, 0xEC, 0x2C, 0xE4, 0x24, 0x25, 0xE5, 0x27,0xE7, 0xE
13、6, 0x26,0x22, 0xE2, 0xE3, 0x23, 0xE1, 0x21, 0x20, 0xE0, 0xA0, 0x60, 0x61, 0xA1,0x63, 0xA3, 0xA2,0x62, 0x66, 0xA6, 0xA7, 0x67, 0xA5, 0x65, 0x64, 0xA4, 0x6C, 0xAC, 0xAD,0x6D, 0xAF, 0x6F,0x6E, 0xAE, 0xAA, 0x6A, 0x6B, 0xAB, 0x69, 0xA9, 0xA8, 0x68, 0x78, 0xB8,0xB9, 0x79, 0xBB,0x7B, 0x7A, 0xBA, 0xBE, 0x7E
14、, 0x7F, 0xBF, 0x7D, 0xBD, 0xBC, 0x7C, 0xB4,0x74, 0x75, 0xB5,0x77, 0xB7, 0xB6, 0x76, 0x72, 0xB2, 0xB3, 0x73, 0xB1, 0x71, 0x70, 0xB0,0x50, 0x90, 0x91,0x51, 0x93, 0x53, 0x52, 0x92, 0x96, 0x56, 0x57, 0x97, 0x55, 0x95, 0x94,0x54, 0x9C, 0x5C,0x5D, 0x9D, 0x5F, 0x9F, 0x9E, 0x5E, 0x5A, 0x9A, 0x9B, 0x5B, 0x99
15、, 0x59,0x58, 0x98, 0x88,0x48, 0x49, 0x89, 0x4B, 0x8B, 0x8A, 0x4A, 0x4E, 0x8E, 0x8F, 0x4F, 0x8D,0x4D, 0x4C, 0x8C,0x44, 0x84, 0x85, 0x45, 0x87, 0x47, 0x46, 0x86, 0x82, 0x42, 0x43, 0x83,0x41, 0x81, 0x80,0x40;三、Modbus事務(wù)處理和功能碼Modbus事務(wù)處理(含異常碼生成)通用Modbus幀Modbus數(shù)據(jù)模型常用功能碼(公共功能碼)使用以下組公共碼1讀線圈讀多個寄存器5寫單個線圈16寫多個寄
16、存器43讀設(shè)備識別碼1讀線圈在一個遠(yuǎn)程設(shè)備中,使用該功能碼讀取線圈的1 至2000 連續(xù)狀態(tài)。請求PDU 詳細(xì)說明了起始地址(高字節(jié)在前,后同),即指定的第一個線圈地址和線圈編號,從零開始尋址線圈。線圈數(shù)量(高字節(jié)在前)指示需訪問線圈個數(shù)。數(shù)據(jù)域每個比特指示狀態(tài)為1= ON 和0= OFF。第一個數(shù)據(jù)字節(jié)的LSB(最低有效位)指向起始地址的線圈,其它線圈依次類推,一直到這個字節(jié)的高位端為止,并在后續(xù)字節(jié)中從低位到高位的順序。如果返回的線圈數(shù)量不是8的倍數(shù),將用零填充最后數(shù)據(jù)字節(jié)中的剩余比特(一直到字節(jié)的高位端)。(異常碼參照Modbus事務(wù)處理機(jī)制,下同)讀多個寄存器在一個遠(yuǎn)程設(shè)備中,使用該功
17、能碼讀取保持寄存器連續(xù)塊的內(nèi)容。請求PDU 說明了起始寄存器地址和寄存器數(shù)量。從零開始尋址寄存器。每個寄存器有兩字節(jié), 高字節(jié)在前。5寫單個線圈在一個遠(yuǎn)程設(shè)備上,使用該功能碼寫單個輸出為ON 或OFF。請求PDU說明了線圈地址,從零開始尋址線圈。線圈值域的常量說明請求的ON/OFF 狀態(tài)。十六進(jìn)制值0XFF00 請求線圈為ON。十六進(jìn)制值0X0000 請求線圈為OFF。其它所有值均為非法的,并且對線圈不起作用。16寫多個寄存器在一個遠(yuǎn)程設(shè)備中,使用該功能碼寫連續(xù)寄存器塊(1 至約120 個寄存器)。在請求數(shù)據(jù)域中說明了請求寫入的值。每個寄存器將數(shù)據(jù)分成兩字節(jié)(高字節(jié)在前)。43讀設(shè)備識別碼這個
18、功能碼允許讀取與遠(yuǎn)程設(shè)備的物理描述和功能描述相關(guān)的識別碼和附加報(bào)文。將讀設(shè)備識別碼接口模擬為一個地址空間,這個地址空間由一組可尋址數(shù)據(jù)元素組成。數(shù)據(jù)元素是被叫對象,并且對象Id 確定這個數(shù)據(jù)元素。接口由3 種對象組成:基本設(shè)備識別碼。所有此種對象都是必備的:廠商名稱、產(chǎn)品代碼和修訂本號。正常設(shè)備識別碼。除基本數(shù)據(jù)對象以外,設(shè)備提供了附加的和可選擇的識別碼以及數(shù)據(jù)對象描述。按標(biāo)準(zhǔn)定義所有種類的對象,但是這種對象的執(zhí)行是可選的。擴(kuò)展設(shè)備識別碼。除正常數(shù)據(jù)對象以外,設(shè)備提供了附加的和可選的識別碼以及專用數(shù)據(jù)描述。所有這些數(shù)據(jù)都是與設(shè)備有關(guān)的。可只選設(shè)計(jì)基本設(shè)備識別碼。MEI類型: 14(0x0E)功
19、能子碼,強(qiáng)制。ReadDevId: 限制為01,02,03,04含義如下01:請求獲得基本設(shè)備識別碼(流訪問) 02:請求獲得正常設(shè)備識別碼(流訪問)03:請求獲得擴(kuò)展設(shè)備識別碼(流訪問)04:請求獲得特定識別碼對象(單個訪問)對象Id:一致性等級: 設(shè)備的識別碼一致性等級和支持訪問的類型01:基本識別碼(僅流訪問)02:正常識別碼(僅流訪問)03:擴(kuò)展識別碼(僅流訪問)81:基本識別碼(流訪問和單個訪問)82:正常識別碼(流訪問和單個訪問)83:擴(kuò)展識別碼(流訪問和單個訪問)隨后更多:在ReadDevId 碼01、02 或03 (流訪問)的情況下,如果識別碼數(shù)據(jù)超出單個響應(yīng)(總256字節(jié)),那么需要幾個請求/響應(yīng)事務(wù)處理。00:可完整響應(yīng);FF:需要更多MODBUS事務(wù)處理下一個對象Id: 隨后更多=FF,那么請求下一個對象id隨后更多=00,那么必須設(shè)置為00 (無用的)對象號 在響應(yīng)中返回的對象id個數(shù)(對于單個訪問,對象號碼= 1)對象id列表第一個對象id(流訪問)或請求對象的識別碼(單個訪問)對象長度 第一個對象的字節(jié)長度對象值 第一個對象值直到完成本次MODBUS事務(wù)處理。四、Modbus應(yīng)用層協(xié)議前三
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 類腦化學(xué)與SELF-ASSEMBLY技術(shù)-洞察及研究
- 晶界工程控制-洞察及研究
- 黑洞成像技術(shù)-洞察及研究
- 2026年春統(tǒng)編版(新教材)初中道德與法治八年級下冊《人民代表大會制度》教學(xué)設(shè)計(jì)
- 8月婦產(chǎn)科學(xué)復(fù)習(xí)題(含答案解析)
- 2026廣西來賓市忻城縣政務(wù)服務(wù)和大數(shù)據(jù)發(fā)展局招聘編外聘用人員2人備考題庫及答案詳解1套
- 2026廣西南寧市賓陽縣陳平鎮(zhèn)生態(tài)護(hù)林員選聘(續(xù)聘)5人備考題庫及答案詳解(考點(diǎn)梳理)
- 2026安徽馬鞍山市花山區(qū)屬國有企業(yè)區(qū)內(nèi)選聘25人備考題庫及答案詳解(奪冠系列)
- 2026年昆山登云科技職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性考試備考試題含答案解析
- 2026年棗莊職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性考試模擬試題含答案解析
- 2026年年長租公寓市場分析
- 生態(tài)環(huán)境監(jiān)測數(shù)據(jù)分析報(bào)告
- 金融機(jī)構(gòu)衍生品交易操作規(guī)范
- 醫(yī)院檢查、檢驗(yàn)結(jié)果互認(rèn)制度
- 2025年醫(yī)院物價科工作總結(jié)及2026年工作計(jì)劃
- 2025年下半年四川成都溫江興蓉西城市運(yùn)營集團(tuán)有限公司第二次招聘人力資源部副部長等崗位5人考試參考試題及答案解析
- 2025-2026學(xué)年上學(xué)期成都小學(xué)數(shù)學(xué)四年級期末典型卷1
- 推廣經(jīng)理半年工作計(jì)劃
- 無人機(jī)駕駛員培訓(xùn)計(jì)劃及大綱
- 價格說明函格式范本正規(guī)范本(通用版)
- 水車澆水施工方案
評論
0/150
提交評論