国产欧美精品区一区二区三区_欧洲一区二区在线观看_久久精品99_91在线视频_午夜久久乐_欧美一级播放

  • 電話: 010-64734946  64734947   64738638
  • 傳真: 010-64738090

當(dāng)前位置:首頁(yè) >> 行業(yè)資訊

Modbus協(xié)議使用常見問(wèn)題分析

信息來(lái)源:      發(fā)布時(shí)間:2014-02-11 09:10:29      點(diǎn)擊次數(shù):0

  Modbus協(xié)議最初由Modicon公司開發(fā)出來(lái),是針對(duì)PLC設(shè)備設(shè)計(jì)的基于串行總線的主從模式的應(yīng)用層總線設(shè)備協(xié)議。ModbusTCP是封裝在TCP包內(nèi)的Modbus協(xié)議,雖然有一些變化,但是根本上還是主從模式。

  隨著嵌入式技術(shù)的發(fā)展,很多系統(tǒng)的控制和采集單元部分為公司自主研發(fā),一般建議串行通訊協(xié)議采用Modbus協(xié)議,很多用戶在modbus協(xié)議存在著理解錯(cuò)誤,現(xiàn)在分析如下:

  一、modbus的保持和輸入寄存器是以word(16bit)為單位的。

  比如4****(保持寄存器/輸出寄存器)和3****(輸入寄存器)是以字為單位的。所以,如果讀40001寄存器開始的一個(gè)16位的無(wú)符號(hào)數(shù),那么返回2個(gè)Byte,并可以從40002開始讀下一個(gè)16位的無(wú)符號(hào)數(shù)。

  但是,如果讀40001寄存器開始的一個(gè)32位浮點(diǎn)數(shù),那么,返回4個(gè)Byte,而且,下一個(gè)32位浮點(diǎn)數(shù)必須從40003開始。

  常見問(wèn)題:

  1)、將40001定義為一個(gè)Byte的數(shù)據(jù);

  2)、將40001定義為32位浮點(diǎn)數(shù),40002為下一個(gè)32位浮點(diǎn)數(shù)。

  二、寄存器最小地址為1,而報(bào)文起始地址為0。

  在數(shù)據(jù)報(bào)文中,所有的modbus地址都是從0開始的。也就是首次出現(xiàn)的數(shù)據(jù)項(xiàng)在報(bào)文中的地址為0。比如:

  1.在控制器中,“線圈1”在Modbus報(bào)文的地址域中的地址為00 00。

  2.線圈127的十六進(jìn)制報(bào)文地址為007E hex(十進(jìn)制的126)

  3.保持寄存器40001的報(bào)文地址為00 00。因?yàn)閳?bào)文功能碼明確要操作“保持寄存器”,所以,協(xié)議就以“4XXXX”代表這個(gè)寄存器。

  4.保持寄存器40108的報(bào)文地址為006B hex (十進(jìn)制107)

  總之,Modbus地址一般指4****(保持寄存器/輸出寄存器)和3****(輸入寄存器),這時(shí)應(yīng)用層面的:

  比如設(shè)備說(shuō)明書可以簡(jiǎn)要說(shuō)明設(shè)備支持Modbus RTU標(biāo)準(zhǔn)協(xié)議,并詳細(xì)描述其地址對(duì)應(yīng)關(guān)系為:40001 -- 模擬量采集通道1,16位有符號(hào)數(shù),.....。比如組態(tài)軟件的地址設(shè)置,一般為輸出寄存器,從地址1開始,連續(xù)多少個(gè)。或者指明400001:16位有符號(hào)數(shù)。但是,在數(shù)據(jù)報(bào)文層面,寄存器起始地址從0開始。

  數(shù)據(jù)報(bào)文包括:設(shè)備地址+功能碼+起始地址+寄存器個(gè)數(shù)+校驗(yàn)位。其中,起始地址是從0開始的。

  舉例說(shuō)明:從設(shè)備17讀40001開始的2個(gè)寄存器數(shù)據(jù)的報(bào)文

  設(shè)備地址 功能碼 起始地址 寄存器個(gè)數(shù) 校驗(yàn)

  11 03 00 00 00 02 --

  常見問(wèn)題:

  1、使用和定義40000地址;

  2、分析報(bào)文時(shí),直接將報(bào)文起始地址當(dāng)作應(yīng)用層寄存器地址。

  3、Modbus的寫寄存器命令的不同。

  常用Modbus寄存器有:線圈(Coil)、輸入(Input)、保持寄存器(Holding Registers)和輸入寄存器(Input Registers)。

  從Modbus設(shè)備角度看,輸入是上位機(jī)采集Modbus設(shè)備的信息,也就是這些寄存器是只讀的,所以,Modbus協(xié)議沒(méi)有寫輸入(Input)和輸入寄存器(Input Registers)的命令。

  線圈(Coil)是狀態(tài)量,對(duì)應(yīng)Modbus設(shè)備的開關(guān)量輸出(DO),保持寄存器(Holding Registers)是模擬量,對(duì)應(yīng)Modbus設(shè)備模擬量輸出(AO),這些寄存器需要Modbus設(shè)備的上位機(jī)進(jìn)行設(shè)置,也就是為可以寫的寄存器。

  在Modicon_Modbus協(xié)議 協(xié)議中,寫線圈(Coil)和保持寄存器(Holding Registers)都有兩種寫命令:

  1)、寫單個(gè)寄存器:

  置單線圈(Force Single Coil)功能碼05(0x05)

  寫單個(gè)寄存器(Preset Single Holding Register)功能碼06(0x06)

  2)、寫多個(gè)寄存器

  寫多線圈(Force Multiple Coils)功能碼15(0x0F)

  寫多個(gè)寄存器(Preset Multiple Registers)功能碼16(0x10)(文章來(lái)源:北京德爾西曼www.0eo0gui.cn)

?
主站蜘蛛池模板: aaaaaa毛片| 成人网电影 | 精品久久久久一区二区国产 | 亚洲久久久久 | 狠狠躁夜夜躁人人爽天天高潮 | 国产伦精品一区二区三区照片91 | 亚洲精品久久久久久久久久久 | 欧美成人久久 | 国内自拍视频在线观看 | 欧美一区二区在线免费观看 | 青青久久网 | 免费黄在线观看 | 国产精品视频一区二区三区不卡 | 欧美视频亚洲视频 | 吴梦梦到粉丝家实战华中在线观看 | 午夜在线免费观看 | 欧美激情国产日韩精品一区18 | 成人免费淫片视频观 | 日韩和欧美的一区二区 | 精品成人 | 午夜影院黄色 | 超碰在线免费看 | 欧美中文字幕在线 | 亚洲高清视频一区二区三区 | 国产精品99久久久久久大便 | 一区二区三区免费网站 | 久久久久成人网 | 欧美精品一区在线发布 | 在线视频97 | 欧美激情一区二区三区四区 | 狠狠爱www人成狠狠爱综合网 | 国产伦精品一区二区三区高清 | 黄色免费网站在线看 | 一区二区三区在线播放 | 日韩av在线影院 | 奇米影视奇米色777欧美 | 久久色视频 | 亚洲欧美激情精品一区二区 | 日日摸夜夜添夜夜添亚洲女人 | 亚洲电影一级片 | 国产成人精品免高潮在线观看 |