本文简单介绍MFC使用Modbus-Tcp通信实现RS-WS-ETH-6系列MODBUSTCP型温湿度传感器采集数据。
一、了解ModbusTCP协议
一文看懂Modbus协议:一文看懂Modbus协议
二、libmodbus驱动库
libmodbus驱动库的使用:Modbus驱动库—libmodbus驱动库的使用_whik1194的博客-CSDN博客_libmodbus
modbus中文手册:libmodbus官方手册中文翻译_跃动的风的博客-CSDN博客_libmodbus使用说明
三、温湿度传感器配置
1. 参考设备使用说明书(从设备官网上下载),用配置软件搜索连接设备、设置设备本地参数、网络参数、设备参数。
2. 确定温度、湿度两个数据的寄存器地址。
四、应用MFC编写上位机软件
1. 新建MFC应用程序ModbusTcpTest
2. 项目中添加引用资源
参考外部动态链接库dll文件导入mfc工程:外部动态链接库dll文件导入mfc工程_tongkudoing的博客-CSDN博客_mfc 导入dll
3. 建立连接
//创建modbus对象
modbus_t *modbus;
//建立tcp连接
modbus = modbus_new_tcp(ip地址,端口号);
//设置slave
int ret = modbus_set_slave(modbus,slave号);//错误返回-1,正确返回0;
//进行连接
ret = modbus_connect(modbus);//错误返回-1,正确返回0;
//设置响应延迟,第三个参数是最迟的时间,1000为1ms不是1s;
ret = modbus_response_timeout(modbus,0,900000);
4. 读数据
ret = modbus_read_registers(modbus,起始地址,数据个数,存储的容器);//读取的数据存储在容器中,错误返回-1,正确返回0
5. 程序界面
6. 开启线程刷新数据
参考:[转]MFC子线程中更新控件内容的两种办法_zhigang_zhao的博客-CSDN博客
7. 源码下载文章来源:https://www.toymoban.com/news/detail-431629.html
https://download.csdn.net/download/zhigang_zhao/87210585文章来源地址https://www.toymoban.com/news/detail-431629.html
到了这里,关于MFC+Modbus-Tcp协议实现温湿度传感器采集 二、libmodbus驱动库的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!