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