版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、MODBUS 通訊協(xié)議及編程 通訊協(xié)議及編程 ModBus 通訊協(xié)議分為 RTU 協(xié)議和 ASCII 協(xié)議,公司的多種儀表都采用 ModBus RTU通訊協(xié)議,如:CH2000 智能電力監(jiān)測儀、CH2000M 電力參數(shù)采集模塊、巡檢表、數(shù)顯表、光柱數(shù)顯表等。下面就 ModBus RTU 協(xié)議簡要介紹如下: 一、通訊協(xié)議 一、通訊協(xié)議 (一)通訊傳送方式 (一)通訊傳送方式 通訊傳送分為獨(dú)立的信息頭,和發(fā)送的編碼數(shù)據(jù)。以下的通訊傳送方式定
2、義也與MODBUS RTU 通訊規(guī)約相兼容: 編 碼 8 位二進(jìn)制 位二進(jìn)制 起始位 1 位 數(shù)據(jù)位 8 位 奇偶校驗位 1 位(偶校驗位) 停止位 1 位 錯誤校檢 CRC(冗余循環(huán)碼) 初始結(jié)構(gòu) = ≥4 字節(jié)的時間 地址碼 = 1 字節(jié) 功能碼 = 1 字節(jié) 數(shù)據(jù)區(qū) = N 字節(jié) 錯誤校檢 = 16 位 CRC 碼 結(jié)束結(jié)構(gòu) = ≥4 字節(jié)的時間 地址碼: 地址碼: 地址碼為通訊傳送的第一個字節(jié)。 這個字節(jié)表明由用戶設(shè)
3、定地址碼的從機(jī)將接收由主機(jī)發(fā)送來的信息。 并且每個從機(jī)都有具有唯一的地址碼, 并且響應(yīng)回送均以各自的地址碼開始。 主機(jī)發(fā)送的地址碼表明將發(fā)送到的從機(jī)地址, 而從機(jī)發(fā)送的地址碼表明回送的從機(jī)地址。 功能碼: 功能碼:通訊傳送的第二個字節(jié)。ModBus 通訊規(guī)約定義功能號為 1 到 127。本儀表只利用其中的一部分功能碼。作為主機(jī)請求發(fā)送, 通過功能碼告訴從機(jī)執(zhí)行什么動作。 作為從機(jī)響應(yīng), 從機(jī)發(fā)送的功能碼與從主機(jī)發(fā)送來的功能碼一樣, 并表
4、明從機(jī)已響應(yīng)主機(jī)進(jìn)行操作。如果從機(jī)發(fā)送的功能碼的最高位為1(比如功能碼大與此同時 127),則表明從機(jī)沒有響應(yīng)操作或發(fā)送出錯。 數(shù)據(jù)區(qū): 數(shù)據(jù)區(qū):數(shù)據(jù)區(qū)是根據(jù)不同的功能碼而不同。數(shù)據(jù)區(qū)可以是實(shí)際數(shù)值、設(shè)置點(diǎn)、主機(jī)發(fā)送給從機(jī)或從機(jī)發(fā)送給主機(jī)的地址。 CRC 碼: 碼:二字節(jié)的錯誤檢測碼。 (二)通訊規(guī)約 (二)通訊規(guī)約 當(dāng)通訊命令發(fā)送至儀器時,符合相應(yīng)地址碼的設(shè)備接通訊命令,并除去地址碼,讀取信息,如果沒有出錯,則執(zhí)行相應(yīng)的任務(wù);然后把執(zhí)
5、行結(jié)果返送給發(fā)送者。返送的信息中包·如果最低位為 0:重復(fù)第 3 步(再次移位); 如果最低位為 1:CRC 寄存器與多項式 A001(1010 0000 0000 0001)進(jìn)行異或; ·重復(fù)步驟 3 和 4,直到右移 8 次,這樣整個 8 位數(shù)據(jù)全部進(jìn)行了處理; ·重復(fù)步驟 2 到步驟 5,進(jìn)行下一個 8 位數(shù)據(jù)的處理; ·最后得到的 CRC 寄存器即為 CRC 碼。 3.功能碼 .功能
6、碼 03,讀取點(diǎn)和返回值: ,讀取點(diǎn)和返回值: 儀表采用 Modbus RTU 通訊規(guī)約, 利用通訊命令,可以進(jìn)行讀取點(diǎn)( “保持寄存器”) 或返回值(“輸入寄存器” )的操作。保持和輸入寄存器都是 16 位(2 字節(jié))值,并且高位在前。這樣用于儀表的讀取點(diǎn)和返回值都是 2 字節(jié)。一次最多可讀取寄存器數(shù)是 60。由于一些可編程控制器不用功能碼 03,所以功能碼 03 被用作讀取點(diǎn)和返回值。從機(jī)響應(yīng)的命令格式是從機(jī)地址、功能碼、數(shù)據(jù)區(qū)及
7、CRC 碼。數(shù)據(jù)區(qū)中的寄存器數(shù)據(jù)都是每兩個字節(jié)高字節(jié)在前。 4.功能碼 .功能碼 06,單點(diǎn)保存 ,單點(diǎn)保存 主機(jī)利用這條命令把單點(diǎn)數(shù)據(jù)保存到儀表的存儲器。 從機(jī)也用這個功能碼向主機(jī)返送信息。 二、編程舉例 二、編程舉例 下面是一個用 VC 編寫的 ModBus RTU 通訊的例子。 (一) (一)通訊口設(shè)置 通訊口設(shè)置 DCB dcb; hCom=CreateFile(“COM1“, GENERIC_READ|GENERIC_WRIT
8、E, 0, NULL, OPEN_EXISTING, 0, NULL); if(hCom==INVALID_HANDLE_VALUE) { MessageBox(“createfile error,error“); } BOOL error=SetupComm(hCom,1024,1024); if(!error) MessageBox(“setupcomm error“); error=GetCommState(hCom, if(!e
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- modbus通訊協(xié)議
- modbus通訊協(xié)議
- modbus協(xié)議水表通訊協(xié)議
- modbus通訊協(xié)議-rtu
- modbus通訊協(xié)議-rtu
- 無線測溫modbus通訊協(xié)議
- modbus通訊協(xié)議及c51程序
- 完整modbus_rtu通訊協(xié)議
- 基于MODBUS通訊協(xié)議的機(jī)車監(jiān)控系統(tǒng).pdf
- 超聲波明渠流量計modbus通訊協(xié)議
- Modbus-TCP協(xié)議在WIFI應(yīng)用通訊下的實(shí)現(xiàn).pdf
- 單相電力調(diào)整器上位機(jī)界面編程及MODBUS協(xié)議實(shí)現(xiàn).pdf
- s7-200如何通過modbus協(xié)議與變頻器通訊
- s7-200如何通過modbus協(xié)議與變頻器通訊
- 基于Modbus通訊協(xié)議的電動機(jī)保護(hù)器的研究.pdf
- 畢業(yè)設(shè)計(論文)-基于modbus協(xié)議的聯(lián)控系統(tǒng)網(wǎng)絡(luò)通訊開發(fā)
- 基于Modbus通訊協(xié)議的多路石油物流信息監(jiān)控系統(tǒng)的研究.pdf
- modbus協(xié)議(功能碼及報文解析)
- modbus協(xié)議(功能碼及報文解析)
- 基于MODBUS-TCP協(xié)議的風(fēng)力發(fā)電監(jiān)控通訊模塊的設(shè)計.pdf
評論
0/150
提交評論