皮皮网
皮皮网
php对话生成源码

【sar源码编写】【相册网页设计源码】【松树短视频源码】QModbus源码

时间:2024-12-28 23:59:16 分类:时尚 编辑:蓝牙控制小车源码
1.QT+ModbusTCP 基于QTcpSocket纯手搓modbustcp协议

QModbus源码

QT+ModbusTCP 基于QTcpSocket纯手搓modbustcp协议

       一、编写缘由

       1.发现问题

       近期项目需将modbus RTU转换为TCP形式,于是对原有modbus通讯线程进行重构。起初使用Qt自带的sar源码编写QModbusTcpClient类,顺利重构线程并读取数据,但在发送写数据请求时,TCP连接会断开。经过多次尝试,排除从站问题,即便直接连接modbusslave也存在同样问题。

       2.查找问题

       为解决问题,相册网页设计源码自行编写了一个tcp server,抓取QModbusTcpClient写数据的报文,与modbuspoll上的对比,发现QT中的报文比modbuspoll上的多出一部分,推测是松树短视频源码协议错误。

       3.解决策略

       既然QModbusTcpClient的协议存在问题,决定不使用它。因此,直接利用QTcpSocket手动编写一个ModbusTcp类。

       二、山东版麻将源码代码编写

       1.协议解析

       通过对比modbuspoll上的通信日志和网络上的modbustcp协议分析文章,研究出协议的标准格式。

       2.封装函数

       共封装了4个函数,分别是写单个线圈、写多个线圈、源码怎么变成网站写单个保持寄存器、写多个保持寄存器。具体实现如下:

       四个函数中,除了写多个线圈存在问题外,其他均已验证,可正确写入。

       最后,将TCP作为一个子线程,线程初始化函数如下:

       三、源码下载

       模块下载

       四、最后的最后再吐槽一下QModbusTcpClient真的很糟糕,根本无法使用。另外,网上的QtModbusTCP资源都无法使用,只有和我一样纯手搓才能解决问题。

本文地址:http://abssuliao.net/news/15c593494050.html

copyright © 2016 powered by 皮皮网   sitemap