一文知道ModbusTCP协议和上位机编写

接口/总线/驱动

1143人已加入

描述

一、Modbus由MODICON公司于1979年开发,是一种工业现场总线协议标准。Modbus协议是一项应用层报文传输协议,包括ASCII、RTU、TCP三种报文类型。前面已经写过RTU和ASCII的文章,这次写下基于ModbusTCP协议的上位机软件编写。

二、ModbusTCP协议

发送报文格式:ModbusTCP的数据帧可分为两部分:MBAP+PDU

1、MBAP为报文头,长度为7字节,组成如下:

ModBus协议

2、帧结构PDU:

PDU由功能码+数据组成。功能码为1字节,数据长度不定,由具体功能决定。

Modbus的操作对象有四种:线圈、离散输入、输入寄存器、保持寄存器。根据对象的不同,Modbus的功能码有:

ModBus协议

例如0x01:读线圈

在从站中读1~2000个连续线圈状态,ON=1,OFF=0

请求:MBAP功能码起始地址H起始地址L数量H数量L(共12字节)

响应:MBAP功能码数据长度数据(一个地址的数据为1位)

如:000100000006010100020008在从站0x01中,读取开始地址为0x0002的线圈数据,读0x0008位

回:00010000000401010101数据长度为0x01个字节,数据为0x01,第一个线圈为ON,其余为OFF

三、上位机编写:

界面如下:

责任编辑人:CC

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分