一、Modbus由MODICON公司於1979年開發,是一種工業現場總線協議標準。Modbus協議是一項應用層報文傳輸協議,包括ASCII、RTU、TCP三種報文類型。前面已經寫過RTU和ASCII的文章,這次寫下基於Modbus TCP協議的上位機軟體編寫。
二、Modbus TCP協議
發送報文格式:ModbusTCP的數據幀可分為兩部分:MBAP+PDU
1、MBAP為報文頭,長度為7位元組,組成如下:
2、幀結構PDU:
PDU由功能碼+數據組成。功能碼為1位元組,數據長度不定,由具體功能決定。
Modbus的操作對象有四種:線圈、離散輸入、輸入寄存器、保持寄存器。根據對象的不同,Modbus的功能碼有:
例如0x01:讀線圈
在從站中讀1~2000個連續線圈狀態,ON=1,OFF=0
請求:MBAP 功能碼 起始地址H 起始地址L 數量H 數量L(共12位元組)
響應:MBAP 功能碼 數據長度 數據(一個地址的數據為1位)
如:00 01 00 00 00 06 01 01 00 02 00 08 在從站0x01中,讀取開始地址為0x0002的線圈數據,讀0x0008位
回:00 01 00 00 00 04 01 01 01 01數據長度為0x01個字節,數據為0x01,第一個線圈為ON,其餘為OFF
三、上位機編寫:
界面如下:
原始碼較長就不在這裡附了,需要原始碼可以關注轉發並私信我。謝謝您的閱讀。
轉發是最大的鼓勵!謝謝您的支持!
重要通知
想加入工控上位機學習技術交流群
請添加班長為好友
並備註:地區-行業-姓名暱稱獲取進群資格。
分享到朋友圈,和朋友們一起分享吧
——————————————————————
▣ 來源:工控課堂www.gkket.com,侵刪!
▣ 聲明:本文素材系網絡收集,工控上位機學習編輯整理。文中所用視頻、圖片、文字版權歸原作者所有。但因轉載眾多,無法確認真正原始作者,故僅標明轉載來源。如涉及作品版權問題,煩請及時聯繫17621634088(微信同號),我們將即刻確認版權並按國家相關規定支付稿酬!