Modbus協(xié)議是Modicon公司于1979發(fā)布的一種廣泛應(yīng)用的工業(yè)現(xiàn)場總線協(xié)議,主要包括ModbusRTU、Modbus ASCII和Modbus TCP這三種。Modbus采用主從通信模式,免費且易于使用。三種通信協(xié)議在數(shù)據(jù)模型和功能調(diào)用上是相同的,只有封裝方式是不同的。
Modbus功能碼是Modbus消息幀(報文)的重要組成部分,是Modbus協(xié)議中通信事務(wù)處理的基礎(chǔ)。
MODBUS功能代碼分為三類:
被明確定義的功能代碼;
保證是唯一的;
經(jīng)MODBUS.org社區(qū)驗證;
公開記錄;
具有可用的一致性測試;
包括已定義的公共分配功能代碼,也包括未分配的功能為將來使用而保留的代碼。
用戶定義的函數(shù)代碼有兩個范圍,即65到72和100到110十進制。
用戶可以選擇并實現(xiàn)不受支持的功能代碼規(guī)范
無法保證所選功能代碼的使用是唯一的
如果用戶想將功能重新定位為公共功能代碼,他必須發(fā)起一個RFC(變更請求),將更改引入公共類別,并創(chuàng)建一個新的分配了公共功能代碼。
MODBUS組織公司明確保留開發(fā)提議的RFC的權(quán)利。
一些公司目前用于傳統(tǒng)產(chǎn)品的功能代碼不可供公眾使用。
(MODBUS功能代碼類別)
Modbus公共功能代碼定義
(Modbus完整功能碼)
01 (0x01): 讀線圈狀態(tài)(Read Coils)- 用于讀取一組邏輯線圈的當(dāng)前狀(ON/OFF)。
02 (0x02): 讀離散輸入狀態(tài)(Read Discrete Inputs)- 用于讀取一組離散輸入的狀態(tài)(ON/OFF)。
03 (0x03): 讀保持寄存器(Read Holding Registers)- 用于讀取一組保持寄存器中的二進制內(nèi)容。
04 (0x04): 讀輸入寄存器(Read Input Registers)- 用于讀取一組輸入寄存器中的二進制內(nèi)容。
05 (0x05): 寫單個線圈(Write Single Coil)- 用于寫入單個邏輯線圈的狀態(tài)(ON/OFF)。
06 (0x06): 寫單個寄存器(Write Single Register)- 用于寫入單個保持寄存器的數(shù)據(jù)。
15 (0x0F): 寫多個線圈(Write Multiple Coils)- 用于寫入一組邏輯線圈的狀態(tài)。
16 (0x10): 寫多個寄存器(Write Multiple Registers)- 用于寫入一組保持寄存器的數(shù)據(jù)。
08 (0x08): 診斷(Diagnostic)- 這組功能碼用于診斷通信鏈路的狀態(tài),以及測試和診斷Modbus設(shè)備。
17 (0x11): 報告從機ID(Report Slave ID)- 返回關(guān)于設(shè)備的信息,如運行狀態(tài)和識別信息。
22 (0x16): 屏蔽寫寄存器(Mask Write Register)- 允許用戶修改保持寄存器的內(nèi)容,而不改變未指定位的內(nèi)容。
23 (0x17): 讀/寫多個寄存器(Read/Write Multiple Registers)- 同時進行讀取/寫入操作。
異常功能碼:異常功能碼為正常功能碼 + 0x80,如寫入單個寄存器錯誤返回異常碼為0x86。
今天的分享就到這里啦,EBYTE每一天都致力于更好的助力物聯(lián)化、智能化、自動化的發(fā)展,提升資源利用率,更多串口服務(wù)器、數(shù)傳電臺、lora模塊等無線數(shù)傳模塊產(chǎn)品更多資料,感興趣的小伙伴可以登錄我們的億佰特官網(wǎng)和企業(yè)公眾號(微信號:cdebyte)進行了解,也可以直接撥打400電話咨詢技術(shù)專員!
相關(guān)閱讀:
1、ModBus通信中RTU、ASCII、TCP協(xié)議有什么區(qū)別?
2、ModBus通信中RTU/ASCII/TCP協(xié)議選哪種模式更好
7 X 24 銷售服務(wù)熱線
4000-330-990深圳辦事處柯經(jīng)理:18218726658 南京辦事處葛經(jīng)理:17626012283
無錫辦事處劉經(jīng)理:13558641933
成都總部銷售經(jīng)理:
秦 科(無線模塊):18884314654 馮子恒(無線模塊):18828049434
蔡友銀(無線模塊):13882211021 葛宇龍(通信設(shè)備):19138800613
胡兵(外貿(mào)銷售經(jīng)理):18584911141、 sales06@ebyte.com
業(yè)務(wù)郵箱:support@cdebyte.com 全國銷售投訴電話:19934352316
地址:四川省成都市高新西區(qū)西區(qū)大道199號B5棟(前臺座機:028-61543675)
?? 成都億佰特電子科技有限公司【版權(quán)所有】 蜀ICP備13019384號