




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、MODBUS通訊協(xié)議及編程ModBus通訊協(xié)議分為RTU協(xié)議和ASCII協(xié)議,我公司的多種儀表都采用ModBus RTU通訊協(xié)議,如:CH2000智能電力監(jiān)測儀、CH2000M電力參數(shù)采集模塊、巡檢表、數(shù)顯表、光柱數(shù)顯表等。下面就ModBus RTU協(xié)議簡要介紹如下:一、通訊協(xié)議(一)、通訊傳送方式: 通訊傳送分為獨立的信息頭,和發(fā)送的編碼數(shù)據(jù)。以下的通訊傳送方式定義也與MODBUS RTU通訊規(guī)約相兼容: 編 碼8位二進制起始位1位數(shù)據(jù)位8位奇偶校驗位1位(偶校驗位)停止位1位錯誤校檢CRC(冗余循環(huán)碼)初始結(jié)構(gòu) = 4字節(jié)的時間 地址碼 = 1 字節(jié)功能碼 = 1 字節(jié)數(shù)據(jù)區(qū) = N 字節(jié)
2、錯誤校檢 = 16位CRC碼 結(jié)束結(jié)構(gòu) = 4字節(jié)的時間地址碼:地址碼為通訊傳送的第一個字節(jié)。這個字節(jié)表明由用戶設定地址碼的從機將接收由主機發(fā)送來的信息。并且每個從機都有具有唯一的地址碼,并且響應回送均以各自的地址碼開始。主機發(fā)送的地址碼表明將發(fā)送到的從機地址,而從機發(fā)送的地址碼表明回送的從機地址。功能碼:通訊傳送的第二個字節(jié)。ModBus通訊規(guī)約定義功能號為1到127。本儀表只利用其中的一部分功能碼。作為主機請求發(fā)送,通過功能碼告訴從機執(zhí)行什么動作。作為從機響應,從機發(fā)送的功能碼與從主機發(fā)送來的功能碼一樣,并表明從機已響應主機進行操作。如果從機發(fā)送的功能碼的最高位為(比如功能碼大與此同時12
3、7,則表明從機沒有響應操作或發(fā)送出錯。數(shù)據(jù)區(qū):數(shù)據(jù)區(qū)是根據(jù)不同的功能碼而不同。數(shù)據(jù)區(qū)可以是實際數(shù)值、設置點、主機發(fā)送給從機或從機發(fā)送給主機的地址。 CRC碼:二字節(jié)的錯誤檢測碼。(二)、通訊規(guī)約: 當通訊命令發(fā)送至儀器時,符合相應地址碼的設備接通訊命令,并除去地址碼,讀取信息,如果沒有出錯,則執(zhí)行相應的任務;然后把執(zhí)行結(jié)果返送給發(fā)送者。返送的信息中包括地址碼、執(zhí)行動作的功能碼、執(zhí)行動作后結(jié)果的數(shù)據(jù)以及錯誤校驗碼。如果出錯就不發(fā)送任何信息。1信息幀結(jié)構(gòu)地址碼功能碼數(shù)據(jù)區(qū)錯誤校驗碼8位8位N × 8位16位地址碼:地址碼是信息幀的第一字節(jié)(8位,從0到255。這個字節(jié)表明由用戶設置地址的
4、從機將接收由主機發(fā)送來的信息。每個從機都必須有唯一的地址碼,并且只有符合地址碼的從機才能響應回送。當從機回送信息時,相當?shù)牡刂反a表明該信息來自于何處。 功能碼:主機發(fā)送的功能碼告訴從機執(zhí)行什么任務。表1-1列出的功能碼都有具體的含義及操作。 代碼含義 操作03讀取數(shù)據(jù)讀取當前寄存器內(nèi)一個或多個二進制值06重置單一寄存器把設置的二進制值寫入單一寄存器數(shù)據(jù)區(qū):數(shù)據(jù)區(qū)包含需要從機執(zhí)行什么動作或由從機采集的返送信息。這些信息可以是數(shù)值、參考地址等等。例如,功能碼告訴從機讀取寄存器的值,則數(shù)據(jù)區(qū)必需包含要讀取寄存器的起始地址及讀取長度。對于不同的從機,地址和數(shù)據(jù)信息都不相同。錯誤校驗碼冗余循環(huán)碼(CRC
5、)包含2個字節(jié),即因此必須對數(shù)據(jù)的備份工作一定做好,以防以外的發(fā)生。對于不同的系統(tǒng)數(shù)據(jù)的備份和恢復的方法會有一些不同,但是都是將系統(tǒng)數(shù)據(jù)通過某種方式存儲到系統(tǒng)以外的介質(zhì)里。CRC碼由發(fā)送設備計算,放置于發(fā)送信息的尾部。接收信息的設備再重新計算接收到信息的 CRC碼,比較計算得到的CRC(請參閱:某數(shù)控機床CRC碼的計算方法是,先預置系統(tǒng)參數(shù)備份)1。再逐步把每8位數(shù)據(jù)信息進行處理。在進行CRC碼計算時只用(1CRC碼計算。 在計算CRC碼時,)位數(shù)據(jù)與寄存器的數(shù)據(jù)相異或,得到的結(jié)果向低位移一字節(jié),用0填補最高位。再檢查最低位,如果最低位為1(3,不進行異或運算。MMC 數(shù)據(jù); 其中MMC100
6、.28次。第8次移位后,下一個8位再與現(xiàn)在寄存器的內(nèi)容相相異或,這個過程與以上一樣重復(CRC碼值。pcin) 計算CRC碼的步驟為: 預置16位寄存器為十六進制2、系列備份(1)、傳輸參數(shù)的設定(西門子系統(tǒng)V24寄存器;PC 把第一個位數(shù)據(jù)與16參數(shù)設定如表3CRC寄存器;所示 表把寄存器的內(nèi)容右移一位(朝低位,用0填補最高位,檢查最低位; 如果最低位為0:重復第3步(碼。數(shù)據(jù)區(qū)中的寄存器數(shù)據(jù)都是每兩個字節(jié)高字節(jié)在前。 按下(Switch-over鍵)MessageBox("createfile error,error"BOOL error=SetupComm(hCom,
7、1024,1024;(2MessageBox("setupcomm error"error=GetCommState(hCom,&dcb;if(!errorMessageBox("getcommstate,error"dcb.BaudRate=2400;dcb.ByteSize=8;dcb.Parity=EVENPARITY;/NOPARITY;dcb.StopBits=ONESTOPBIT;的接口X6;b校驗碼計算UINT crcvoid calccrc(BYTE crcbufBYTE i;crc=crc crcbuf;for(i=0;i<
8、;8;i+BYTE TT;TT=crc&1;crc=crc>>1;crc=crc&0x7fff;if (TT=1crc=crc0xa001;crc=crc&0xffff;(三)、數(shù)據(jù)發(fā)送zxaddr=11;/讀取地址為11的巡檢表數(shù)據(jù)zxnum=10;/讀取十個通道的數(shù)據(jù)writebuf20=zxaddr;writebuf21=3;writebuf22=0;writebuf23=0;writebuf24=0;writebuf25=zxnum;crc=0xffff;calccrc(writebuf20;calccrc(writebuf21;calccrc(wr
9、itebuf22;calccrc(writebuf23;calccrc(writebuf24;按下“input”writebuf27=crc/0x100;WriteFile(hCom,writebuf2,8,&comnum,NULL;(四)、數(shù)據(jù)讀取ReadFile(hCom,writebuf,5+zxnum*2,&comnum,NULL;/讀取zxnum個通道數(shù)據(jù)可增加錯誤處理程序,如地址碼錯誤、CRC碼錯誤判斷、通訊故障處理等。; 如果最低位為1:CRC寄存器與多項式A001(1010 0000 0000 0001)進行異或; 重復步驟3和4,直到右移8次,這樣整個8位數(shù)據(jù)全部進行了處理; OFF 重復步驟2到步驟5XON位數(shù)據(jù)的處理; 最后得到的CR LF為段結(jié)束3功能碼03,讀取點和返回值:儀表采用DRS信號(“保持寄存器前后引導或返回值磁帶格式” 的操作。保持和輸入寄存器都是16位(2字節(jié))值,并且高位在前。這樣用于儀表的讀取點和返回值都是2字節(jié)。一次最多可讀取寄存器數(shù)是60。由于一些可編程控制器不用功能碼03,所以功能碼039600406,單點保存主機利用這條命令
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 軟件開發(fā)項目管理與質(zhì)量控制流程手冊
- 三農(nóng)工作綜合實施方案
- 農(nóng)業(yè)產(chǎn)業(yè)化發(fā)展專項工作方案
- 應急救援項目可行性研究報告
- 垃圾焚燒發(fā)電發(fā)展模式
- 智能倉庫物流
- 房地產(chǎn)項目投資可行性研究報告
- 高新技術(shù)企業(yè)研發(fā)團隊建設與管理
- 軟件工程流程與開發(fā)方法
- rdpac腫瘤復習測試卷含答案
- 人力資源社會保障宣傳工作計劃及打算
- 2024年秋兒童發(fā)展問題的咨詢與輔導終考期末大作業(yè)案例分析1-5答案
- 廣東省廣州市2021年中考道德與法治試卷(含答案)
- 2024年貴州省公務員錄用考試《行測》真題及答案解析
- 2024-2030年中國滑板車行業(yè)競爭策略及發(fā)展前景預測報告
- 學校軍事化管理培訓
- 喪葬費家庭協(xié)議書范文范本
- 中小學生德育工作指南2022版
- 通信工程建設標準強制性條文匯編(2023版)-定額質(zhì)監(jiān)中心
- JJF(浙) 1171-2019 原子熒光形態(tài)分析儀校準規(guī)范
- 2024年衛(wèi)生專業(yè)技術(shù)資格考試康復醫(yī)學治療技術(shù)(初級(師)209)專業(yè)知識試題及答案指導
評論
0/150
提交評論