码迷,mamicode.com
首页 > 数据库 > 详细

基于ModBus-TCP/IT 台达PLC 通讯协议解析

时间:2018-12-05 00:23:06      阅读:828      评论:0      收藏:0      [点我收藏+]

标签:address   rom   copy from   alt   eve   info   解析   基于   from   

技术分享图片

客户端发送: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个字节的值

 

写多个寄存器

发送

技术分享图片

响应

技术分享图片

 

基于ModBus-TCP/IT 台达PLC 通讯协议解析

标签:address   rom   copy from   alt   eve   info   解析   基于   from   

原文地址:https://www.cnblogs.com/fei2232/p/10067906.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!