99爱免费_精品一区二区无码AV_欧美屁股xxxxx_日批视频国产_AV天堂亚洲区无码先锋影音_特黄A又粗又大又黄又爽A片

產品推薦:水表|流量計|壓力變送器|熱電偶|液位計|冷熱沖擊試驗箱|水質分析|光譜儀|試驗機|試驗箱


儀表網>技術中心>儀表知識1(請不要選擇)>正文

歡迎聯系我

有什么可以幫您? 在線咨詢

MODBUS通訊協議及編程

來源:安徽天康集團儀表電纜有限公司銷售中心   2008年07月30日 14:50  

MODBUS通訊協議及編程

   ModBus通訊協議分為RTU協議和ASCII協議,我公司的多種儀表都采用ModBus RTU通訊協議,如:YD2000智能電力監測儀、巡檢表、數顯表、光柱數顯表等。下面就ModBus RTU協議簡要介紹如下:
一、通訊協議

(一)、通訊傳送方式:
通訊傳送分為獨立的信息頭,和發送的編碼數據。以下的通訊傳送方式定義也與MODBUS RTU通訊規約相兼容:

編 碼

8位二進制

起始位

1

數據位

8

奇偶校驗位

1位(偶校驗位)

停止位

1

錯誤校檢

CRC(冗余循環碼)

初始結構 = ≥4字節的時間
地址碼 = 1 字節
功能碼 = 1 字節
數據區 = N 字節
錯誤校檢 = 16位CRC碼
結束結構 = ≥4字節的時間


  地址碼:地址碼為通訊傳送的*個字節。這個字節表明由用戶設定地址碼的從機將接收由主機發送來的信息。并且每個從機都有具有*的地址碼,并且響應回送均以各自的地址碼開始。主機發送的地址碼表明將發送到的從機地址,而從機發送的地址碼表明回送的從機地址。

  功能碼:通訊傳送的第二個字節。ModBus通訊規約定義功能號為1到127。本儀表只利用其中的一部分功能碼。作為主機請求發送,通過功能碼告訴從機執行什么動作。作為從機響應,從機發送的功能碼與從主機發送來的功能碼一樣,并表明從機已響應主機進行操作。如果從機發送的功能碼的zui高位為1(比如功能碼大與此同時127),則表明從機沒有響應操作或發送出錯。

  數據區:數據區是根據不同的功能碼而不同。數據區可以是實際數值、設置點、主機發送給從機或從機發送給主機的地址。

   CRC碼:二字節的錯誤檢測碼。

(二)、通訊規約:

   當通訊命令發送至儀器時,符合相應地址碼的設備接通訊命令,并除去地址碼,讀取信息,如果沒有出錯,則執行相應的任務;然后把執行結果返送給發送者。返送的信息中包括地址碼、執行動作的功能碼、執行動作后結果的數據以及錯誤校驗碼。如果出錯就不發送任何信息。

1. 信息幀結構
 

地址碼

功能碼

數據區

錯誤校驗碼

8

8

N × 8

16

地址碼:地址碼是信息幀的*字節(8位),從0到255。這個字節表明由用戶設置地址的從機將接收由主機發送來的信息。每個從機都必須有*的地址碼,并且只有符合地址碼的從機才能響應回送。當從機回送信息時,相當的地址碼表明該信息來自于何處。
   功能碼:主機發送的功能碼告訴從機執行什么任務。表1-1列出的功能碼都有具體的含義及操作
 

代碼

含義

操作

03

讀取數據

讀取當前寄存器內一個或多個二進制值

06

重置單一寄存器

把設置的二進制值寫入單一寄存器

數據區:數據區包含需要從機執行什么動作或由從機采集的返送信息。這些信息可以是數值、參考地址等等。例如,功能碼告訴從機讀取寄存器的值,則數據區必需包含要讀取寄存器的起始地址及讀取長度。對于不同的從機,地址和數據信息都不相同。

  錯誤校驗碼:主機或從機可用校驗碼進行判別接收信息是否出錯。有時,由于電子噪聲或其它一些干擾,信息在傳輸過程中會發生細微的變化,錯誤校驗碼保證了主機或從機對在傳送過程中出錯的信息不起作用。這樣增加了系統的安全和效率。錯誤校驗采用CRC-16校驗方法。

注:信息幀的格式都基本相同:地址碼、功能碼、數據區和錯誤校驗碼。

2.錯誤校驗

   冗余循環碼(CRC)包含2個字節,即16位二進制。CRC碼由發送設備計算,放置于發送信息的尾部。接收信息的設備再重新計算接收到信息的 CRC碼,比較計算得到的CRC碼是否與接收到的相符,如果兩者不相符,則表明出錯。

  CRC碼的計算方法是,先預置16位寄存器全為1。再逐步把每8位數據信息進行處理。在進行CRC碼計算時只用8位數據位,起始位及停止位,如有奇偶校驗位的話也包括奇偶校驗位,都不參與CRC碼計算。

   在計算CRC碼時,8位數據與寄存器的數據相異或,得到的結果向低位移一字節,用0*zui高位。再檢查zui低位,如果zui低位為1,把寄存器的內容與預置數相異或,如果zui低位為0,不進行異或運算。

   這個過程一直重復8次。第8次移位后,下一個8位再與現在寄存器的內容相相異或,這個過程與以上一樣重復8次。當所有的數據信息處理完后,zui后寄存器的內容即為CRC碼值。CRC碼中的數據發送、接收時低字節在前。

   計算CRC碼的步驟為:

·         預置16位寄存器為十六進制FFFF(即全為1)。稱此寄存器為CRC寄存器;

·         把*個8位數據與16CRC寄存器的低位相異或,把結果放于CRC寄存器;

·         把寄存器的內容右移一位(朝低位),用0*zui高位,檢查zui低位;

·         如果zui低位為0:重復第3(再次移位); 如果zui低位為1CRC寄存器與多項式A0011010 0000 0000 0001)進行異或;

·         重復步驟34,直到右移8次,這樣整個8位數據全部進行了處理;

·         重復步驟2到步驟5,進行下一個8位數據的處理;

·         zui后得到的CRC寄存器即為CRC碼。

3.功能碼03,讀取點和返回值:

  儀表采用Modbus RTU通訊規約,利用通訊命令,可以進行讀取點(“保持寄存器”) 或返回值(“輸入寄存器” )的操作。保持和輸入寄存器都是16位(2字節)值,并且高位在前。這樣用于儀表的讀取點和返回值都是2字節。一次zui多可讀取寄存器數是60。由于一些可編程控制器不用功能碼03,所以功能碼03被用作讀取點和返回值。從機響應的命令格式是從機地址、功能碼、數據區及CRC碼。數據區中的寄存器數據都是每兩個字節高字節在前。

4.功能碼06,單點保存

  主機利用這條命令把單點數據保存到儀表的存儲器。從機也用這個功能碼向主機返送信息。

二、編程舉例

  下面是一個用VC編寫的ModBus RTU通訊的例子

(一)、通訊口設置

DCB dcb;
hCom=CreateFile("COM1",
     GENERIC_READ|GENERIC_WRITE,
     
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,&dcb);
if(!error)
  
MessageBox("getcommstate,error");
dcb.BaudRate=2400;
dcb.ByteSize=8;

dcb.Parity=EVENPARITY;//NOPARITY;
dcb.StopBits=ONESTOPBIT;

error=SetCommState(hCom,&dcb);

(二)、CRC校驗碼計算

UINT crc
void calccrc(BYTE crcbuf)
{
BYTE i;

crc=crc ^ crcbuf;
for(i=0;i<8;i++)
{
BYTE TT;
TT=crc&1;
crc=crc>>1;
crc=crc&0x7fff;
if (TT==1)
crc=crc^0xa001;
crc=crc&0xffff;
}
}

(三)、數據發送

zxaddr=11;//讀取地址為11的巡檢表數據
zxnum=10;//
讀取十個通道的數據

writebuf2[0]=zxaddr;
writebuf2[1]=3;
writebuf2[2]=0;
writebuf2[3]=0;
writebuf2[4]=0;
writebuf2[5]=zxnum;
crc=0xffff;
calccrc(writebuf2[0]);
calccrc(writebuf2[1]);
calccrc(writebuf2[2]);
calccrc(writebuf2[3]);
calccrc(writebuf2[4]);
calccrc(writebuf2[5]);

writebuf2[6]=crc & 0xff;
writebuf2[7]=crc/0x100;
WriteFile(hCom,writebuf2,8,&comnum,NULL);

(四)、數據讀取

ReadFile(hCom,writebuf,5+zxnum*2,&comnum,NULL);//讀取zxnum個通道數據
可增加錯誤處理程序,如地址碼錯誤、CRC碼錯誤判斷、通訊故障處理等。

免責聲明

  • 凡本網注明“來源:儀表網”的所有作品,均為浙江興旺寶明通網絡有限公司-儀表網合法擁有版權或有權使用的作品,未經本網授權不得轉載、摘編或利用其它方式使用上述作品。已經本網授權使用作品的,應在授權范圍內使用,并注明“來源:儀表網”。違反上述聲明者,本網將追究其相關法律責任。
  • 本網轉載并注明自其它來源(非儀表網)的作品,目的在于傳遞更多信息,并不代表本網贊同其觀點或和對其真實性負責,不承擔此類作品侵權行為的直接責任及連帶責任。其他媒體、網站或個人從本網轉載時,必須保留本網注明的作品第一來源,并自負版權等法律責任。
  • 如涉及作品內容、版權等問題,請在作品發表之日起一周內與本網聯系,否則視為放棄相關權利。
聯系我們

客服熱線: 15024464426

加盟熱線: 15024464426

媒體合作: 0571-87759945

投訴熱線: 0571-87759942

關注我們
  • 下載儀表站APP

  • Ybzhan手機版

  • Ybzhan公眾號

  • Ybzhan小程序

企業未開通此功能
詳詢客服 : 0571-87759942
主站蜘蛛池模板: 欧美久久深夜=a=a=a片|天堂黄网|性中国hd|成人免费网站入口www|国产一区激情|#NAME? | 五月婷婷开心中文字幕|亚洲专区一区二区三区|日韩三级黄色|超碰人人c=ao|久久97超碰色中文字幕|久在草影院 | 亚洲精品毛片一区二区|在线理论片|精品久久久无码中文字幕边打电话|久久久久久久|亚洲中文字幕无码第一区|亚洲欧美偷自乱图片 | 国产精品网红尤物福利在线观看|欧美经典一区二区|辽宁老熟女高潮狂叫视频|日日草日日干|成人免费观看毛片|久久激情免费视频 | 台湾久久网|99久久精品免费看国产四区|亚洲一区二区三区在线视频观看|一区二区三区四区在线免费视频|红桃视频二区|国产久艹视频 | 国产精品大全|韩国精品视频一区二区在线播放|啦啦啦www日本高清免费观看|大柠檬导航香蕉导航巨人导航|中国黄色一级|国产成人一卡2卡3卡4卡 | 亚洲精品网站在线观看|国产精品美女久久福利网站|久久xxxx|亚洲精品精品|国产激情99|国产高清无码日韩一区 | 未满成年国产在线观看|99爱精品|#NAME?|免费成人=av网|麻豆911|精品国产综合区久久久久久 | 无码国产精品一区二区VR|欧美精品亚洲精品日韩专区v=a|欧美xxx久久|黄在线观看免费|国产草草草|7777kkk亚洲综合欧美网站 | 日本=a网址|99性视频|来个毛片|久久久久久国产精品久久|超碰高清在线|色综合色欲色综合色综合色乛 | 日韩在线永久免费播放|动漫无遮羞肉体在线观看免费|国产色情精品一区二区|在线亚洲综合欧美网站首页|69精品久久久久久久|日韩区国产区 国精产品999一区二区三区有限|日韩毛片|成人免费看片又大又黄|麻豆出品视频在线|4438全国成人免费|青草视频精品 | 免费无码又爽又刺激=a片|爽爽影院免费观看|青青视频二区|少妇=av|久久国产操|#NAME? | 亚洲欧洲国产视频|麻豆视频xxx|日本在线观看一区|亚洲成=aV人片无码不卡播放器|麻豆性生活视频|欧美视频一区二区三区四区 日韩网站中文字幕|国产精品入口在线观看|少妇高潮喷水久久久影院|丰满爆乳无码一区二区三区|一区二区日本在线|婷婷777 | 四虎影视永久|国产精品专区在线|日本69熟|亚洲高清=av在线|国产精品污www在线观看17c|与子敌伦刺激对白播放 | 最新久久久|精品成人自拍视频|日本精品一区在线|四川一级毛片在线播放|免费无码又爽又刺激激情频91|爱爱一级片 | #NAME?|青青草在线视频免费观看|久草免费福利|日日噜噜夜夜狠狠爱视频免费樱桃|国产精品一级=a级理论片在线观看|亚洲狠狠色综合蜜桃 | 14美女爱做视频免费|合之合合综合久|99在线热视频|#NAME?|午夜视频网|韩剧网韩剧TV在线观看 | 日韩性生活一级|日韩久久无码一区二区|欧美胖老太一级毛片|欧美精品一区二区精品久久|国产精品日韩在线观看|亚洲=av线=av无码=av岛国片 | 午夜无码伦费影视在线观看|在线看成人片|免费在线观看黄色=av|#NAME?|日韩=a∨精品日韩在线观看|精品人妻无码一区二区色欲产成人 | 成年人在线观看视频网站|亚洲影视久久|亚洲成在人网站无码天堂|国产色91在线|国产精品无人区一区二区三区|免费看=a在线观看 | WWW免费视频在线观看播放|欧美日本一道本一区二区|999在线精品视频|国产十日韩十欧美|天堂网中文字幕在线观看|日韩一二三四 | 国产精品久久久久久久久久久久久久久久久|免费无遮挡无码永久在线观看视频|一个人在线观看免费视频www|欧美性猛交xxxx乱大交丰满|久久无码人妻一区二区三区午夜|色欲香天天天综合网站无码 | 成年人天堂com|亚洲无线看|97成人啪啪网|国产精品无码一二区免费播放|亚洲精品国产福利一二区|农村乱人伦一区二区 | 亚洲性久久|欧美三级图片|日韩美一区二区|13小箩利洗澡无码视频网站免费|114一级片|91免费观看国产 | 国产成人精品高清在线观看99|亚州综合网|亚洲视频观看|新国产美女遭强高潮免费|奇米777在线观看|蜜臀=avwww国产天堂 | 国产精品网红尤物福利在线观看|欧美经典一区二区|辽宁老熟女高潮狂叫视频|日日草日日干|成人免费观看毛片|久久激情免费视频 | АⅤ天堂中文在线网|人人澡人人澡人人看欧美|高H喷水荡肉爽文NP肉色学校|日韩一二三区不卡在线视频|欧美在线观看www|中文字幕一区二区三区5566 | 影音先锋=aV成人资源站在线播放|中文字幕国产在线天堂|国产极品视频在线观看|亚洲毛片儿|人人性人人性碰国产|成人午夜精品久久久久久久蜜臀 | 少妇的肉体=a=a=a=a=a免费视频|在线视频一二三区|亚洲国产黄色大片|精品久久婷婷|裸体黑色丝袜18禁网站无风险|久视频在线播放 | 久热只有精品|日韩一级片视频|操孕妇逼视频|97精品|视频在线观看一区二区|#NAME? | 国产黑人在线|日韩免费在线观看|99视频这里只有|麻豆国产一区|亚洲GV天堂无码男同在线观看|亚洲=aV中文无码字幕色三 | 亚洲乱小说|未满十八18禁止免费无码网站|日韩=av免费网址|在线国v免费看|人成午夜大片免费视频77777|亚洲激情影院 | 日本公交车上xxxxhd少妇|五月开心六月伊人色婷婷|97国产suv精品一区二区62|久久99精品久久久久久久清纯|精品国产欧美日韩|黄色网页入口 | 日本免费一区二区三区日本|特=a级片|人人看人人做|乱码精品一卡二卡无卡|经典一区二区三区|国产999在线观看 | 91九色porny视频|亚洲4区|日本一区久久|中国老太卖婬HD播放|日本公妇被公侵犯中文字幕|www.youjizz视频 | 麻豆91精品一区二区|精品第一区|国产视频自拍一区|日韩=av无码国产精品|日本高清中文字幕在线|保守人妻被领导征服身体 | 久久麻传媒亚洲=av国产|久久久久国产精品麻豆|啪啪伊人网|亚洲精品久中文字幕花红影视|欧美丰满熟妇xxxxx|www.国产一区 | 久久网国产|国产精品久99|国产hsck在线亚洲|性导航唐人社区|久久精品国产亚洲=aV高清色欲|久久99精品久久久久久久夜夜爽 | 日韩国产精品久久|黄=a在线|日韩视频久久|欧美亚洲日韩国产人成在线播放|超碰成人在线免费观看|欧美大屁股BBBBXXXX | 欧美激情视频一区|欧美9999|各种少妇正面bbw撒尿|黄视频网站在线|97综合在线|一本大道在线无码一区 | #NAME?|久久精品一二三影院|91看剧|欧美性色欧美=a在线视频|五月婷婷激情六月|成人免费一级=a久久 |