博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++客户端Modbus通信(TCP主站)
阅读量:3962 次
发布时间:2019-05-24

本文共 743 字,大约阅读时间需要 2 分钟。

本文简单介绍Qt使用外部modbus通信C++编程流程

modbus中文手册:
Qtmodbus较为方便,建议无特殊情况可以使用qtmodbus,为何不使用Qt自带QModbus呢?原因是我在编写modbus主站的时候需要创建一个线程监听从站的数据,创建线程的时候出现为不同线程的父线程创建子线程的报错,个人解决不了。

modbus通信编程流程

1.搭建modbus环境

在pro工程项目中添加头文件所在路径,lib库

2.建立连接

//创建modbus对象modbus_t  *modbus;//建立tcp连接modbus = modbus_new_tcp(ip地址,端口号);//设置slaveint  ret  =  modbus_set_slave(modbus,slave号);//错误返回-1,正确返回0;//进行连接ret = modbus_connect(modbus);//错误返回-1,正确返回0;//设置响应延迟,第三个参数是最迟的时间,1000为1ms不是1s;ret = modbus_response_timeout(modbus,0,900000);

中文操作手册上并没有找到设置slave的,但是这个确实要设置,不然只能连接不可以通信只是我没有找到,可能不是很细心,slave一般设置为1,市面上的modbus调试工具上面可以查看

3.接收/发送数据

//读数据ret  = modbus_read_registers(modbus,起始地址,数据个数,存储的容器);//读取的数据存储在容器中,错误返回-1//写数据ret = modbus_write_registers(modbus,起始地址,数据个数,存储的容器);//将容器的数据依次写入寄存器

转载地址:http://seezi.baihongyu.com/

你可能感兴趣的文章
eclipse+ADT 进行android应用签名详解
查看>>
Robotium只有apk文件例如Music.apk
查看>>
UI自动化测试框架对比(二)
查看>>
Selenium-webdriver系列教程(9)——如何操作select下拉框
查看>>
Selenium-webdriver系列教程(10)——如何智能的等待页面加载完成
查看>>
Robotium测试NotePad(一)
查看>>
Robotium测试NotePad(二) //测试添加文本
查看>>
Robotium测试NotePad(二) //测试删除文本
查看>>
Robotium只有apk文件时进行测试
查看>>
Robotium测试NotePad(三) //测试修改文本
查看>>
怎样有效降低测试的轮次?
查看>>
功能测试用例设计策略
查看>>
真正优秀的质量工程师,都有这些特质
查看>>
JIRA与confluence的用户整合
查看>>
Robotium测试——API介绍
查看>>
autoit3——打开窗口
查看>>
autoit3 ie.au3 函数之——ControlClick
查看>>
autoit3 ie.au3 函数之——_FileWriteLog日志
查看>>
转:Android自动化压力测试工具Monkey——测试例子
查看>>
Robotium测试之——获取当前屏幕的大小
查看>>