社区
Qt
帖子详情
请问QT中如何实现MODBUS RTU通信协议
macangyetdl
2010-04-08 08:51:27
最近想用QT编写一个MODBUS协议,用它的RTU格式,请问高手们如何实现?
...全文
2098
4
打赏
收藏
请问QT中如何实现MODBUS RTU通信协议
最近想用QT编写一个MODBUS协议,用它的RTU格式,请问高手们如何实现?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
gateslu
2011-06-11
打赏
举报
回复
楼上大侠,为什么我在重载writedata的时候不行呢?一直提示上一级的无法创建对象。。
livezingy
2010-04-12
打赏
举报
回复
1
哦,还有一点忘记说了。
MODBUS RTU通讯时,其通讯数据是unsigned char,但posix_qextserialport(win_qextserialport)中的writeData函数只支持char,所以你要手动在类posix_qextserialport(win_qextserialport)中重载一下函数writeData.函数原本是这样的virtual qint64 writeData(
const char
*data, qint64 maxSize),你只要把它改成 virtual qint64 writeData(
unsigned char *data
, qint64 maxSize);函数的内容不用改。
livezingy
2010-04-12
打赏
举报
回复
楼主的意思是说在你的程序中实现MODBUS RTU的通讯吗?
如果是,那么你可以这么做:
1. 下载qextserialport源码(搜一下,资源到处都是)。
2. 如果是linux下的工程,将该压缩包中的posix_qextserialport,qextserialbase的.cpp以及.h文件加入到工程中,然后在工程中定义一个posix_qextserialport变量(假设变量名为RS232),即可对串口进行操作。
3. 若是在windows下,则将win_qextserialport,qextserialbase的.cpp以及.h文件加入到工程中。
4. 找一个modbus标准协议,将 Modbus CRC的两个表格放在数组中供查询,该表格用于计算CRC校验值。一般 modbus协议规范中会附CRC的计算方法。
5. 在通讯数据组织好后,计算其CRC校验值,放在组织好的通讯数据(假设通讯数据存放在TxData中)的最后,然后RS232->writeData(TxData,Count)。其中writeData是qextserialport定义的函数,Count是要写入的数据量。
huliang66
2010-04-08
打赏
举报
回复
我也想知道,等待高手吧。
QT
环境下
实现
Modbus
RTU
以及
ModBus
TCP 支持功能码:0x01、0x03、0x0f、0x10
QT
环境下
实现
Modbus
RTU
以及
ModBus
TCP。支持功能码:0x01、0x03、0x0f、0x10 适用人群,想了解
Modbus
协议的人,以及从事相关行业的人。了解了这个协议,对于学习其他协议如CAN,1533B等都非常容易,其实这些协议是原理都差不多,只是不同的协议他们约定的方式不同,底层都是基于电平信号,和各种编码代表0还是1 内容 1.
实现
源代码。 2.
Modbus
中
文手册 3.
实现
说明
QT
PLC 通过
ModBus
_
RTU
串口通信
编译器:
QT
PLC测试工具:ModScan32.exe 依赖文件:lib
modbus
编写流程: 1.打开端口; 2.设置从地址(device id) 3.建立连接 4.设置应答延时 5.读/写 数据 6.关闭
modbus
端口 7.释放
modbus
资源
ubuntu下串口通信(
Modbus
RTU
协议 + 串口程序 + cutecom调试助手)总结他人的!
ubuntu下串口通信(
Modbus
RTU
协议 + 串口程序 + cutecom调试助手)总结他人的!
QT
modbus
串口调试程序
modbus
测试由master和slave两部分程序组成,本程序源码参考了
Qt
5.6.1的
modbus
源代码 提取去其
中
的串口通信部分。代码更易读,Vi
rtu
alComTest.py这个文件用于虚拟串口,需 在终端下执行 python Vi
rtu
alComTest.py即可得到两个虚拟链接的串口端口,方便软件代 码的调试。程序
中
应用了
modbus
的HoldingRegisters数据格式,以十六进制发送和读取数据。
基于
MODBUS
通讯协议的8路温度采集、显示、存储上位机软件
Qt
工程文件
利用
QT
creator C++平台完成了基于
MODBUS
通讯协议的8路温度采集、显示、存储上位机软件,主要包括Qcustomplot、Qfile、QLCDNumber、
QT
ableWidget以及QCheckBox的使用,可以在不同的widget上实时绘制8路温度曲线、进行数码管及表格形式的动态显示、在指定文件夹创建TXT文本进行实时数据存储、显示操作记录和时间。
Qt
16,174
社区成员
26,583
社区内容
发帖
与我相关
我的任务
Qt
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
复制链接
扫一扫
分享
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章