Modbus TCP协议及上位机软件编写

一、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
  • 三、上位机编写:

    界面如下:

    源代码较长就不在这里附了,需要源代码可以关注转发并私信我。谢谢您的阅读。

    声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

    上一篇 2020年2月28日
    下一篇 2020年2月28日

    相关推荐