加入收藏 在線留言 聯系我們
        關注微信
        手機掃一掃 立刻聯系商家
        全國服務熱線13185520415
        公司新聞
        工控協議之ModbusTCP報文功能碼詳解
        發布時間: 2023-12-28 11:49 更新時間: 2024-11-21 08:00
        觀看工控協議之ModbusTCP報文功能碼詳解視頻

        5、0x05 強置一個邏輯線圈的通斷狀態請求:MBAP 功能碼 輸出地址H 輸出地址L 輸出值H 輸出值L(共12字節)響應:MBAP 功能碼 輸出地址H 輸出地址L 輸出值H 輸出值L(共12字節)發包 05 是功能碼, 00 00是我們指定的地址,如果我們想寫地址1000,那么就為 03 E8,后四位是規定線圈的通斷狀態。那么上面發包的意思就是 在00 00這個位置 指定線圈通斷狀態為 斷開。舉個例子:寫入地址100為通: 00 00 00 00 00 06 FF 05 00 64 FF 00   寫入地址1000為斷:00 00 00 00 00 06 FF 05 03 E8 00 00回包   各位也發現了,回包和發包是一樣的,因為在你寫入的操作中,是不帶讀取數據的,所以服務器會直接復制一遍你的指令并返回。例子:強置一個邏輯線圈的通斷狀態發送:00 00 00 00 00 06 01 05 00 00 FF 00接收:00 00 00 00 00 06 01 05 00 00 FF 00回到頂部 6、0x06 寫單個保持寄存器請求:MBAP 功能碼 寄存器地址H 寄存器地址L 寄存器值H 寄存器值L(共12字節)響應:MBAP 功能碼 寄存器地址H 寄存器地址L 寄存器值H 寄存器值L(共12字節)發包這個也不用過多的介紹了吧。在00 00位置 寫入 00 00回包 也是一樣的,服務器會直接復制一遍你的指令并返回。回到頂部 7、0x0f 強置多個邏輯線圈的通斷狀態請求:MBAP 功能碼 起始地址H 起始地址L 輸出數量H 輸出數量L 字節長度 輸出值H 輸出值L響應:MBAP 功能碼 起始地址H 起始地址L 輸出數量H 輸出數量L發送 Bit Count 10是要寫的個數 回包都一樣,直接說例子吧。例子:強置一串連續邏輯線圈的通斷發送:00 00 00 00 00 0B 01 0F 00 00 00 02 04 FF 00 00 00發送:00 00 00 00 00 06 01 0F 00 00 00 02回到頂部8、0x10 寫多個保持寄存器請求:MBAP 功能碼 起始地址H 起始地址L 寄存器數量H 寄存器數量L 字節長度 寄存器值(13+寄存器數量×2)響應:MBAP 功能碼 起始地址H 起始地址L 寄存器數量H 寄存器數量L(共12字節)發送 Word count為 要寫的個數Byte count 為  要寫入的數目   1個word等于2個bytes后面 00 00 每組為寫入的數值回包 也是一樣的,寫了十個那么就返回十。列子:向起始地址為0x0000,數量為0x0001的寄存器寫入數據,數據長度為0x02,數據為0x000F發送 00 01 00 00 00 09 01 10 00 00 00 01 02 00 0F接收 00 01 00 00 00 06 01 10 00 00 00 01 回到頂部9、0x2b 讀取設備ID發送byte[0]byte[1]   消息號 隨便指定byte[2]byte[3]   modbus的標識byte[4]byte[5]   在此之后的長度byte[6]   站號byte[7]   功能碼byte[8]   功能類型 這里是讀取設備IDbyte[9]   讀什么 這里是讀設備標識byte[10]  設備名稱.回包跟發包一樣。 附錄一:Modbus功能碼表功能碼名稱作用01讀取線圈狀態取得一組邏輯線圈的當前狀態(ON/OFF)02讀取輸入狀態取得一組開關輸入的當前狀態(ON/OFF)03讀取保持寄存器在一個或多個保持寄存器中取得當前的二進制值04讀取輸入寄存器在一個或多個輸入寄存器中取得當前的二進制值05強置單線圈強置一個邏輯線圈的通斷狀態06預置單寄存器把具體二進值裝入一個保持寄存器07讀取異常狀態取得8個內部線圈的通斷狀態,這8個線圈的地址由控制器決定,用戶邏輯可以將這些線圈定義,以說明從機狀態,短報文適宜于迅速讀取狀態08回送診斷校驗把診斷校驗報文送從機,以對通信處理進行評鑒09編程(只用于484)使主機模擬編程器作用,修改PC從機邏輯10控詢(只用于484)可使主機與一臺正在執行長程序任務從機通信,探詢該從機是否已完成其操作任務,僅在含有功能碼9的報文發送后,本功能碼才發送11讀取事件計數可使主機發出單詢問,并隨即判定操作是否成功,尤其是該命令或其他應答產生通信錯誤時12讀取通信事件記錄可是主機檢索每臺從機的ModBus事務處理通信事件記錄。如果某項事務處理完成,記錄會給出有關錯誤13編程(184/384 484 584)可使主機模擬編程器功能修改PC從機邏輯14探詢(184/384 484 584)可使主機與正在執行任務的從機通信,定期控詢該從機是否已完成其程序操作,僅在含有功能13的報文發送后,本功能碼才得發送15強置多線圈強置一串連續邏輯線圈的通斷16預置多寄存器把具體的二進制值裝入一串連續的保持寄存器17報告從機標識可使主機判斷編址從機的類型及該從機運行指示燈的狀態18(884和MICRO 84)可使主機模擬編程功能,修改PC狀態邏輯19重置通信鏈路發生非可修改錯誤后,是從機復位于已知狀態,可重置順序字節20讀取通用參數(584L)顯示擴展存儲器文件中的數據信息21寫入通用參數(584L)把通用參數寫入擴展存儲文件,或修改之22~64保留作擴展功能備用65~72保留以備用戶功能所用留作用戶功能的擴展編碼73~119非法功能120~127保留留作內部作用128~255保留用于異常應答

        聯系方式

        • 電  話:13510737515
        • 聯系人:董海波
        • 手  機:13185520415
        • 微  信:13185520415