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

安徽萬邦特種電纜有限公司
中級會員 | 第16年

13637026879

詳解ModBus通訊協議

時間:2010/2/10閱讀:5489
分享:

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。本儀表只利用其中的一部分功能碼。作為主機請求發送,通過功能碼告訴從機執行什么動作。作為從機響應,從機發送的功能碼與從主機發送來的功能碼一樣,并表明從機已響應主機進行操作。如果從機發送的功能碼的Z高位為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填補Z高位。再檢查Z低位,如果Z低位為1,把寄存器的內容與預置數相異或,如果Z低位為0,不進行異或運算。

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

   計算CRC碼的步驟為:

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

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

  • 把寄存器的內容右移一位(朝低位),用0填補Z高位,檢查Z低位;

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

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

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

  • Z后得到的CRC寄存器即為CRC碼。

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

  儀表采用Modbus RTU通訊規約,利用通訊命令,可以進行讀取點(“保持寄存器”) 或返回值(“輸入寄存器” )的操作。保持和輸入寄存器都是16位(2字節)值,并且高位在前。這樣用于儀表的讀取點和返回值都是2字節。一次Z多可讀取寄存器數是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碼錯誤判斷、通訊故障處理等。

會員登錄

×

請輸入賬號

請輸入密碼

=

請輸驗證碼

收藏該商鋪

X
該信息已收藏!
標簽:
保存成功

(空格分隔,最多3個,單個標簽最多10個字符)

常用:

提示

X
您的留言已提交成功!我們將在第一時間回復您~
在線留言
主站蜘蛛池模板: 99免费在线播放99久久免费|伊人久久在|在线观看91精品视频|国产精品国产三级国产=a|毛片视频大全|亚洲黄色片免费看 激情综合欧美|日本一区欧美|97色伦欧美一区二区日韩|国产东北女人做受=av|又色又爽又黄又粗暴的小说|中文字幕无码日韩欧毛 | 国产成人毛片在线视频软件|日韩欧美一区二区三区不卡在线|中文亚洲字幕|91=av在线影院|涩涩视频在线看|欧美日韩在线观看二区视频 | 亚洲欧美日韩精品综久久久久久|99热这里只有精品99|国产成人综合精品|无码人妻一区二区三区免费N鬼逝|无码人妻=aⅤ一区二区三区麻豆|69xx×在线观看 | 国产精品爽爽=aV在线观看|国产蝌蚪视频在线观看|超碰伊人|国产二区不卡|亚洲高清欧美日韩一区二区三区|无码成人中文字幕不卡 | 中文在线日韩|免费高清日本|在线观看免|色就是94综合|日韩=av大片在线|国内精品人妻在线中文字幕 | 激情婷婷开心五月综合|国产区免费视频|欧美精品一区二区三区免费播放|亚洲一级片免费看|国产精品边做奶水狂喷无码|久久8精品 | 欧美日本国产在线观看|日本一区二区三区国色天香|校园春色~综合网|欧美一级色|91精品在线观|日韩欧美高清一区二区 | 91美女视频|c=aoporm在线|狠狠色噜噜狠狠米奇777|欧美一级做一级爱=a做片性|亚洲=aV噜噜狠狠网址蜜桃|亚洲v=a一区二区 | 久精品国产欧美|精品久久久久免费影院的功能介绍|香港三日本三级少妇三级视频|草草视频网|日韩精品免费在线视频|chinese洗澡偷窥voyeurhit | 91视频网国产|粗大猛烈进出高潮视频|精品国产乱码久久久人妻|亚洲精品无码久久毛片波多野吉衣|成人久久免费视频|国产美女自拍 | 精品国产96亚洲一区二区三区|水蜜桃综合久久无码欧美|国产精品久久久久久久第一福利|成人无码免费视频在线观看网址|伊人wwwyiren22cn|极品尤物被啪到呻吟喷水 | 少妇精品|欧美大逼视频|一级做=a爱片特黄在线观看|日本乱码伦视频免费播放|亚洲精品在线观看=av|久久久久久久久久久久久久=av | 好男人日本社区www|国产精品乱码一区二三区小蝌蚪|欧亚精品一区|国产欧美在线免费观看|我爱草逼网|乱码专区一卡二卡国色天香 | 日韩一级片网站|#NAME?|国产在线可以看麻豆|亚洲高清免费视频|中文字幕内射无码制服剧情|伊人色综合九久久天天蜜桃 | 激情小说亚洲色图|我要干成人网|久久国产免费看|最新国产成人|久久免费影视|黄瓜视频网址 | 不够善良的我们在线观看|亚洲国产欧美在线成人=a=a=a=a|欧美视频一区在线观看|日日干=av|91亚洲精品久久久|九9热这里真品2 | 蜜臀91精品一区二区三区|亚洲中出视频|啪啪玩小处雏女|精品日韩一区二区|久久婷婷综合色丁香五月|亚洲视频在线观看网站 | 夜夜夜夜操18岁|c=aoporm超碰国产精品|扒开腿挺进湿润的花苞hd视频|激情三区|性bbwbbw日|爱爱免费视频 | 国产一区二区三区片|一区二区视频在线看|欧美=av在线|国产熟妇疯狂4P交在线播放|亚洲精品午夜无码专区|亚洲=aⅴ精品国产首次亮相 | 国产黄=a一级|亚洲人成网站18禁止人|#NAME?|视频一区二区高清在线播放|在线看一区|伊人久久大香线蕉=aV一区 | 亚洲第一精品视频在线观看|欧美=a在线观看|免费国产美女爽到喷出水来视频|曰本三级在线|中文无码精品=a∨在线观看|在线观看日本黄色片 | 91在线国产观看|各种高潮VIDEOS|亚洲一区二区三区精品视频|中文字幕天堂在线|高清国产一区|欧美浓毛大泬视频 | 6996网站免费观看|麻豆传媒免费在线观看|欧美多p视频|老司机午夜在线|亚洲国产高清理论片|国产在线高清观看 | 蜜臀91精品一区二区三区|亚洲中出视频|啪啪玩小处雏女|精品日韩一区二区|久久婷婷综合色丁香五月|亚洲视频在线观看网站 | 一级毛片国产|人妻激情偷乱一区二区三区|国产网红主播无码精品|国产一区黄色|东北成人网站|一本一道=aV无码中文字幕 | 超清纯白嫩大学生无码网站|97精品人人做人人爱|最新啪啪网站|国产老熟女网站|国产精久久久久久久|久久九九久久 | 激情欧美一区二区三区免费看|亚洲青青草|国产精品免费久久久久影视|日本亚洲欧洲免费无码|国产精品XXX大片免费观看|国产一级片网 | 最新中文乱码字字幕在线|亚洲色无码中文字幕|久久久精品免费网站|高潮毛片无遮挡高清视频播放|欧美黄色一级带|国产操女人 | 五月婷六月婷婷俺也去|一区二区三区免费|亚瑟国产精品久久|成人无码h动漫在线网站免费|在线视频色在线|XXXX日本熟妇HD | 久久撸视频|久久久久亚洲=aV无码专区喷水|国产成人无码精品久久二区三区|少妇扒开粉嫩小泬视频|欧洲黑大粗无码免费|亚洲成人=av | 爱情到此为止在线观看|精品热99|老熟女多次高潮露脸视频|91国偷自产一区二区三区老熟女|美女久久久久久久久|高潮VPSWINDOWS国产乱 | 精品久久久成人|欧美人与性囗牲恔配|漂亮人妇中出中文字幕在线|91=avpornwwww蝌蚪99|狠狠爱亚洲|久久亚洲一区二区三区四区五区高 | 国产精品天干天干综合网|亚洲精品视频免费看|日本内射精品一区二区视频|亚洲日韩=aⅴ在线视频|美女1区2区3区|999久久 | 国产一区二区三区久久悠悠色=av|成人免费视频看看|久久国产精品-国产精品|男人J进女人J啪啪无遮挡|成人片黄网站=a毛片免费|久久精品91视频 | 99免费看香蕉视频|久久伊人蜜桃=av一区二区|激情五月开心综合亚洲|国产午夜一级片|一级片的网站|一本精品99久久精品77 | 国产无码免费视频|色天使色妺姝在线视频|国产一级黄|777婷婷|成在线人=av免费无码高潮喷水|无码精品久久久久久人妻中字 | 国产suv一区二区|#NAME?|日韩精品网|亚洲国产第一|#NAME?|色中色=av | 牛牛热在线视频|久久精品2024|久久久久久国产一区二区三区|波多野结衣乳巨码无在线观看|亚洲综合色视频在线观看|草的爽=aV导航 | 黄色国产毛片|成年人啪啪|午夜影院免费观看视频|久久免费精品国自产拍网站|成人免费=a级毛片韩国|www.伊人网 | 18禁超污无遮挡无码网址极速|国产精品久久久久久久久久三级|91大神暴力调教|成人久久久久久久久|久久久人成影片免费观看|欧美精品成人一区二区三区四区 | 免费极品=aV一视觉盛宴|大陆少妇xxxx做受|懂色一区二区二区=av免费观看|女人的超长巨茎人妖在线视频|欧美激情国产精品视频一区二区|精产国品久久一二三产区区别 |