• 基于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个字节的值

    写多个寄存器

    发送

    响应

  • 相关阅读:
    CSS中A的一个应用
    net2.0下的简繁转换
    SQL Server游标的使用【转】
    在sql stuff 函数用法
    在sql stuff 函数用法 1
    关于数据库优化问题收集
    SQL中 patindex函数的用法
    SQL中的TRY CATCH
    SqlDataAdapter.Update批量数据更新
    在winForm窗体上加上DialogResult作为返回
  • 原文地址:https://www.cnblogs.com/fei2232/p/10067906.html
Copyright © 2020-2023  润新知