基於ModBus-TCP/IT 台達PLC 通訊協議解析


客戶端發送:19 B2 00 00 00 06 06 03 00 27 00 02

上面是modbus客戶端發出的報文內容,為modbus tcp/ip協議格式,其前面的六個字節為頭字節( header handle);

“19 B2 00 00 00 06”

19 B2 兩個字節是Client發出的檢驗信息,Sever端只是需要將這兩個字節的內容copy以后再放到response的報文的相應位子就可以了,可以自己定義;

00 00 兩個字節是表示tcp/ip 的協議的modbus的協議;

00 06 兩個字節表示的是header handle后面還有多長的字節,即表示的是該字節以后的字節長度(lengch),可以看到在00 06后面還有 “06 03 00 27 00 02”六個字節,所以這兩個字節表示的就是6;

 

“06 03 00 27 00 02”

06 一個字節表示slave address;

03 為Fuction code ;

00 27 表示Client request的寄存器地址;

00 02 表示request 寄存器的長度;(寄存器個數)

 

服務端返回數據:19 B2 00 00 00 07 06 03 04 00 00 00 00

報頭 : “ 19 B2 00 00 00 07”

19 B2 為Server返回的檢驗碼,copy from Client request;

其它的表示與客戶端的表示相同

報文:“ 06 03 04 00 00 00 00”

06 是Slave address,從地址數;

03是Function code ;

04表示了回復給Client request的需要讀的寄存器的值的個數,這里因為主地址向從地址讀了2個寄存器即2個16位的寄存器(2個字)所以這里為4個字節,因為2個字為4個字節,而04這個字節表示的就是從地址要回復給主地址的寄存器字節長度,

00 00 00 00 表示了4個字節的值

 

寫多個寄存器

發送

響應

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM