版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、Modbus通訊協議Modbus協議簡介Modbus協議是應用于電子控制器上的一種通用語言。通過此協議控制器相互之間、控制器經由網絡(例如以太網)和其它設備之間可以通信。它已經成為一通用工業(yè)標準。有了它不同廠商生產的控制設備可以連成工業(yè)網絡進行集中監(jiān)控。此協議定義了一個控制器能認識使用的消息結構而不管它們是經過何種網絡進行通信的。它描述了一控制器請求訪問其它設備的過程如果回應來自其它設備的請求以及怎樣偵測錯誤并記錄。它制定了消息域格局和
2、內容的公共格式。當在一Modbus網絡上通信時此協議決定了每個控制器須要知道它們的設備地址識別按地址發(fā)來的消息決定要產生何種行動。如果需要回應控制器將生成反饋信息并用Modbus協議發(fā)出。在其它網絡上包含了Modbus協議的消息轉換為在此網絡上使用的幀或包結構。這種轉換也擴展了根據具體的網絡解決節(jié)地址、路由路徑及錯誤檢測的方法。在Modbus網絡上轉輸標準的Modbus口是使用一RS232C兼容串行接口它定義了連接口的針腳、電纜、信號位
3、、傳輸波特率、奇偶校驗??刂破髂苤苯踊蚪浻蒑odem組網??刂破魍ㄐ攀褂弥鳌獜募夹g即僅一設備(主設備)能初始化傳輸(查詢)。其它設備(從設備)根據主設備查詢提供的數據作出相應反應。典型的主設備:主機和可編程儀表。典型的從設備:可編程控制器。主設備可單獨和從設備通信也能以廣播方式和所有從設備通信。如果單獨通信從設備返回一消息作為回應如果是以廣播方式查詢的則不作任何回應。Modbus協議建立了主設備查詢的格式:設備(或廣播)地址、功能代碼、
4、所有要發(fā)送的數據、一錯誤檢測域。從設備回應消息也由Modbus協議構成包括確認要行動的域、任何要返回的數據、和一錯誤檢測域。如果在消息接收過程中發(fā)生一錯誤或從設備不能執(zhí)行其命令從設備將建立一錯誤消息并把它作為回應發(fā)送出去。在其它類型網絡上轉輸在其它網絡上控制器使用對等技術通信故任何控制都能初始和其它控制器的通信。這樣在單獨的通信過程中控制器既可作為主設備也可作為從設備。提供的多個內部通道可允許同時發(fā)生的傳輸進程。1個奇偶校驗位無校驗則無
5、CRC域是兩個字節(jié)包含一16位的二進制值。它由傳輸設備計算后加入到消息中。接收設備重新計算收到消息的CRC并與接收到的CRC域中的值比較如果兩值不同則有誤。CRC是先調入一值是全“1”的16位寄存器然后調用一過程將消息中連續(xù)的8位字節(jié)各當前寄存器中的值進行處理。僅每個字符中的8Bit數據對CRC有效起始位和停止位以及奇偶校驗位均無效。CRC產生過程中每個8位字符都單獨和寄存器內容相或()結果向最低有效位方向移動最高有效位以0填充。LSB
6、被提取出來檢測如果LSB為1寄存器單獨和預置的值或一下如果LSB為0則不進行。整個過程要重復8次。在最后一位(第8位)完成后下一個8位字節(jié)又單獨和寄存器的當前值相或。最終寄存器中的值是消息中所有的字節(jié)都執(zhí)行之后的CRC值。CRC添加到消息中時低字節(jié)先加入然后高字節(jié)。CRC簡單函數如下:unsignedshtCRC16(puchMsgusDataLen)unsignedpuchMsg要進行CRC校驗的消息unsignedshtusData
7、Len消息中字節(jié)數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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論