精品国产成人一区二区三区-女子十八毛片-欧洲性猛交-无码不卡一区二区三区在线观看-www.四虎在线-伊人网国产-国精产品自偷自偷综合下载-不卡av网站-俄罗斯黄色大片-一本久久知道综合久久-国产精品日韩一区二区-日韩精品色-免费人成网ww555kkk在线-黄色在线观看免费-日韩在线免费-久久久久99人妻一区二区三区-十八禁真人啪啪免费网站

當(dāng)前位置:機(jī)電之家首頁 >> PLC技術(shù)>> PLC基礎(chǔ) >> 現(xiàn)場總線 >> modbus協(xié)議使用常見問題分析
modbus協(xié)議使用常見問題分析

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

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

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

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

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

常見問題:

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

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

二、寄存器最小地址為1,而報文起始地址為0。

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

1.在控制器中,“線圈1”在modbus報文的地址域中的地址為00 00。

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

3.保持寄存器40001的報文地址為00 00。因?yàn)閳笪墓δ艽a明確要操作“保持寄存器”,所以,協(xié)議就以“4xxxx”代表這個寄存器。

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

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

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

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

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

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

11 03 00 00 00 02 --

常見問題:

1、使用和定義40000地址;

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

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

常用modbus寄存器有:線圈(coil)、輸入(bbbbb)、保持寄存器(holding registers)和輸入寄存器(bbbbb registers)。

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

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

在modicon_modbus協(xié)議 協(xié)議中,寫線圈(coil)和保持寄存器(holding registers)都有兩種寫命令:

1)、寫單個寄存器:

置單線圈(force single coil)功能碼05(0x05)

寫單個寄存器(preset single holding register)功能碼06(0x06)

2)、寫多個寄存器

寫多線圈(force multiple coils)功能碼15(0x0f)

寫多個寄存器(preset multiple registers)功能碼16(0x10)

作者:未知 點(diǎn)擊:1013次 [打印] [關(guān)閉] [返回頂部]
本文標(biāo)簽:modbus協(xié)議使用常見問題分析
* 由于無法獲得聯(lián)系方式等原因,本網(wǎng)使用的文字及圖片的作品報酬未能及時支付,在此深表歉意,請《modbus協(xié)議使用常見問題分析》相關(guān)權(quán)利人與機(jī)電之家網(wǎng)取得聯(lián)系。
電子樣本

SN系列樣冊
:鞏經(jīng)理
:13915946763
:南京塞姆泵業(yè)有限公司
個人求購

陳經(jīng)理 【求購】  星諾XIN...  2025-12-19
胡勇 【求購】  扎帶機(jī)  2025-12-19
 【求購】  電動漲管機(jī)  2025-12-18
 【求購】  洗手池  2025-12-17
馮經(jīng)理 【求購】  PTD電機(jī)  2025-12-17
倪先生 【求購】  液壓馬達(dá)  2025-12-16
練子棟 【求購】  金屬管件  2025-12-16
陳經(jīng)理 【求購】  求購螺母螺...  2025-12-16
VIP公司推薦

高要市| 新疆| 客服| 准格尔旗| 视频| 罗山县| 渑池县| 海兴县| 吕梁市| 久治县| 上思县| 绍兴县| 绩溪县| 定兴县| 义乌市| 固安县| 霞浦县| 沧源| 泉州市| 遂溪县| 承德县| 克东县| 青州市| 沙田区| 宁安市| 色达县| 瓦房店市| 新邵县| 武汉市| 新密市| 句容市| 神池县| 宣化县| 克山县| 云和县| 济源市| 北碚区| 容城县| 上蔡县| 鹿泉市| 丁青县|