

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、Modbus通訊協(xié)議Modbus協(xié)議簡介Modbus協(xié)議是應(yīng)用于電子控制器上的一種通用語言。通過此協(xié)議控制器相互之間、控制器經(jīng)由網(wǎng)絡(luò)(例如以太網(wǎng))和其它設(shè)備之間可以通信。它已經(jīng)成為一通用工業(yè)標(biāo)準(zhǔn)。有了它不同廠商生產(chǎn)的控制設(shè)備可以連成工業(yè)網(wǎng)絡(luò)進行集中監(jiān)控。此協(xié)議定義了一個控制器能認(rèn)識使用的消息結(jié)構(gòu)而不管它們是經(jīng)過何種網(wǎng)絡(luò)進行通信的。它描述了一控制器請求訪問其它設(shè)備的過程如果回應(yīng)來自其它設(shè)備的請求以及怎樣偵測錯誤并記錄。它制定了消息域格局和
2、內(nèi)容的公共格式。當(dāng)在一Modbus網(wǎng)絡(luò)上通信時此協(xié)議決定了每個控制器須要知道它們的設(shè)備地址識別按地址發(fā)來的消息決定要產(chǎn)生何種行動。如果需要回應(yīng)控制器將生成反饋信息并用Modbus協(xié)議發(fā)出。在其它網(wǎng)絡(luò)上包含了Modbus協(xié)議的消息轉(zhuǎn)換為在此網(wǎng)絡(luò)上使用的幀或包結(jié)構(gòu)。這種轉(zhuǎn)換也擴展了根據(jù)具體的網(wǎng)絡(luò)解決節(jié)地址、路由路徑及錯誤檢測的方法。在Modbus網(wǎng)絡(luò)上轉(zhuǎn)輸標(biāo)準(zhǔn)的Modbus口是使用一RS232C兼容串行接口它定義了連接口的針腳、電纜、信號位
3、、傳輸波特率、奇偶校驗??刂破髂苤苯踊蚪?jīng)由Modem組網(wǎng)。控制器通信使用主—從技術(shù)即僅一設(shè)備(主設(shè)備)能初始化傳輸(查詢)。其它設(shè)備(從設(shè)備)根據(jù)主設(shè)備查詢提供的數(shù)據(jù)作出相應(yīng)反應(yīng)。典型的主設(shè)備:主機和可編程儀表。典型的從設(shè)備:可編程控制器。主設(shè)備可單獨和從設(shè)備通信也能以廣播方式和所有從設(shè)備通信。如果單獨通信從設(shè)備返回一消息作為回應(yīng)如果是以廣播方式查詢的則不作任何回應(yīng)。Modbus協(xié)議建立了主設(shè)備查詢的格式:設(shè)備(或廣播)地址、功能代碼、
4、所有要發(fā)送的數(shù)據(jù)、一錯誤檢測域。從設(shè)備回應(yīng)消息也由Modbus協(xié)議構(gòu)成包括確認(rèn)要行動的域、任何要返回的數(shù)據(jù)、和一錯誤檢測域。如果在消息接收過程中發(fā)生一錯誤或從設(shè)備不能執(zhí)行其命令從設(shè)備將建立一錯誤消息并把它作為回應(yīng)發(fā)送出去。在其它類型網(wǎng)絡(luò)上轉(zhuǎn)輸在其它網(wǎng)絡(luò)上控制器使用對等技術(shù)通信故任何控制都能初始和其它控制器的通信。這樣在單獨的通信過程中控制器既可作為主設(shè)備也可作為從設(shè)備。提供的多個內(nèi)部通道可允許同時發(fā)生的傳輸進程。1個奇偶校驗位無校驗則無
5、CRC域是兩個字節(jié)包含一16位的二進制值。它由傳輸設(shè)備計算后加入到消息中。接收設(shè)備重新計算收到消息的CRC并與接收到的CRC域中的值比較如果兩值不同則有誤。CRC是先調(diào)入一值是全“1”的16位寄存器然后調(diào)用一過程將消息中連續(xù)的8位字節(jié)各當(dāng)前寄存器中的值進行處理。僅每個字符中的8Bit數(shù)據(jù)對CRC有效起始位和停止位以及奇偶校驗位均無效。CRC產(chǎn)生過程中每個8位字符都單獨和寄存器內(nèi)容相或()結(jié)果向最低有效位方向移動最高有效位以0填充。LSB
6、被提取出來檢測如果LSB為1寄存器單獨和預(yù)置的值或一下如果LSB為0則不進行。整個過程要重復(fù)8次。在最后一位(第8位)完成后下一個8位字節(jié)又單獨和寄存器的當(dāng)前值相或。最終寄存器中的值是消息中所有的字節(jié)都執(zhí)行之后的CRC值。CRC添加到消息中時低字節(jié)先加入然后高字節(jié)。CRC簡單函數(shù)如下:unsignedshtCRC16(puchMsgusDataLen)unsignedpuchMsg要進行CRC校驗的消息unsignedshtusData
7、Len消息中字節(jié)數(shù)unsigneduchCRCHi=0xFF高CRC字節(jié)初始化unsigneduchCRCLo=0xFF低CRC字節(jié)初始化unsigneduIndexCRC循環(huán)中的索引while(usDataLen)傳輸消息緩沖區(qū)uIndex=uchCRCHi^puchMsgg計算CRCuchCRCHi=uchCRCLo^auchCRCHi[uIndexuchCRCLo=auchCRCLo[uIndex]return(uchCRCHi8
8、uchCRCLo)CRC高位字節(jié)值表staticunsignedauchCRCHi[]=0x000xC10x810x400x010xC00x800x410x010xC00x800x410x000xC10x810x400x010xC00x800x410x000xC10x810x400x000xC10x810x400x010xC00x800x410x010xC00x800x410x000xC10x810x400x000xC10x810x40
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 通訊協(xié)議
- modbus協(xié)議水表通訊協(xié)議
- modbus通訊協(xié)議
- modbusrtu通訊協(xié)議
- modbus通訊協(xié)議
- ntrip通訊協(xié)議
- modbus通訊協(xié)議-rtu
- 433模塊通訊協(xié)議
- modbus通訊協(xié)議-rtu
- modbus通訊協(xié)議及編程
- hart通訊協(xié)議及應(yīng)用
- 通訊協(xié)議v1.0.2
- 無線測溫modbus通訊協(xié)議
- omron-fins通訊協(xié)議
- 完整modbus_rtu通訊協(xié)議
- 串口攝像頭通訊協(xié)議
- 工業(yè)上的幾種通訊協(xié)議
- 智能家居通訊協(xié)議大匯總
- rs485通訊協(xié)議
- dfm104(114)通訊協(xié)議說明
評論
0/150
提交評論