在modbus協(xié)議常識(shí)分享系列中我們介紹了modbus協(xié)議概述、modbus協(xié)議優(yōu)勢(shì)分享、modbus協(xié)議數(shù)據(jù)格式解析、modbus協(xié)議三種數(shù)據(jù)傳輸方式詳解等章節(jié)內(nèi)容,這周我們來(lái)解析modbus協(xié)議中常用的各個(gè)操作功能碼。
功能碼按照類別來(lái)分可以分為兩類,分別是讀操作和寫操作。讀操作功能碼(16進(jìn)制)有01、02、03、04功能碼,寫操作的功能碼(16進(jìn)制)有05、06、0F、10功能碼。接下來(lái)我們分別來(lái)講述這些功能碼的功能。
01功能碼是讀線圈狀態(tài)的功能碼,使用這個(gè)功能碼可以讀取從設(shè)備的線圈或離散量輸出的狀態(tài),即各DO的ON/OFF狀態(tài)。從機(jī)返回的數(shù)據(jù)(轉(zhuǎn)為2進(jìn)制)中的每一位都代表從設(shè)備的線圈狀態(tài),狀態(tài)為1代表打開,狀態(tài)為0代表關(guān)閉。
02功能碼是該功能碼用于讀取從設(shè)備的離散輸入即DI的ON/OFF狀態(tài),如果從設(shè)備接受主設(shè)備的請(qǐng)求則回復(fù)功能碼02,并返回離散量輸入各離散量的當(dāng)前狀態(tài)。
03功能碼用于讀取從設(shè)備保持寄存器的內(nèi)容,該功能碼不支持廣播,讀取到的數(shù)據(jù)的意義和內(nèi)容由modbus設(shè)備廠家自行規(guī)定。
04功能碼用于讀取從設(shè)備輸入寄存器的內(nèi)容,不支持廣播。輸入寄存器中各地址的具體內(nèi)容和意義,則由modbus設(shè)備廠家自行規(guī)定,市面上一般是用于讀取模擬量AI輸入值。
05功能碼用于將單個(gè)線圈寄存器狀態(tài)設(shè)置為ON或OFF,向寄存器寫入 0xFF00表示ON狀態(tài),寫入0x0000表示OFF狀態(tài)。其他所有值均是非法的,并且對(duì)寄存器不起作用,寫入將會(huì)返回異常響應(yīng)碼。
06功能碼用于更新從設(shè)備的單個(gè)保存寄存器的值,其寫入數(shù)值的規(guī)則由modbus廠家自行規(guī)定。
15(0F)功能碼用于將連續(xù)的多個(gè)線圈輸出設(shè)置為ON/OFF狀態(tài),支持廣播,如使用廣播,所有從站設(shè)備的同一地址被統(tǒng)一修改為相同輸出狀態(tài)。
16(0x10)功能碼是寫多個(gè)保持寄存器,該功能碼用于將數(shù)值寫入從設(shè)備的多個(gè)保持寄存器,支持廣播,使用廣播模式時(shí),所有從站設(shè)備的同一地址中存放的值將被統(tǒng)一修改。
下周我們將探討Modbus應(yīng)用領(lǐng)域以及分享Modbus協(xié)議在不同領(lǐng)域的應(yīng)用詳解,我們下周不見(jiàn)不散!
今天的分享就到這里啦,EBYTE每一天都致力于更好的助力物聯(lián)化、智能化、自動(dòng)化的發(fā)展,提升資源利用率,更多串口服務(wù)器、數(shù)傳電臺(tái)、lora模塊等無(wú)線數(shù)傳模塊產(chǎn)品更多資料,感興趣的小伙伴可以登錄我們的億佰特官網(wǎng)和企業(yè)公眾號(hào)(微信號(hào):cdebyte)進(jìn)行了解,也可以直接撥打400電話咨詢技術(shù)專員!
相關(guān)閱讀:
1、ModBus通信中RTU、ASCII、TCP協(xié)議有什么區(qū)別?
2、ModBus通信中RTU/ASCII/TCP協(xié)議選哪種模式更好
3、ModBus協(xié)議入門級(jí)講解,想不懂都難!
4、Modbus協(xié)議調(diào)試軟件工具仿真演示教程
7 X 24 銷售服務(wù)熱線
4000-330-990深圳辦事處柯經(jīng)理:18218726658 杭州辦事處戴經(jīng)理:17512568697
常州辦事處崔經(jīng)理:15906110783 南京辦事處葛經(jīng)理:17626012283
業(yè)務(wù)郵箱:support@cdebyte.com
全國(guó)銷售投訴電話:19934352316
地址:四川省成都市高新西區(qū)西區(qū)大道199號(hào)B5棟(前臺(tái)座機(jī):028-61543675)
?? 成都億佰特電子科技有限公司【版權(quán)所有】 蜀ICP備13019384號(hào)-3