QT5移植libmodbus
简介
在windows平台下基于QT5移植libmodbus库,利用多界面设计进行modbus数据传输,相关平台介绍如下:
- Windows10
- Qt Creator 4.13.0
- libmodbus-3.1.6
libmodbus库文件介绍
在Windows平台下使用libmodbus需要的文件包括:src文件夹里的.c、.h文件;配置文件config.h,这个文件需要一些额外操作,网上很多博客使用msys编译,我觉得直接以根目录下的config.h.in文件为模板去掉.in后缀作为config.h使用,需要的操作是根据实际情况修改里面的宏。
src文件夹
config.h
Qt Creator添加libmodbus库文件
在Qt Creator环境中分别加入上面描述的库文件,目前使用Modbus-RTU功能测试可以不添加Tcp相关文件,另外.pro文件需要加入Windows库。
libmodbus的使用步骤(以主站使用为例)
- 创建设备
使用modbus_new_rtu
创建一个新的设备句柄,创建时需要制定通信端口、波特率、校验方式、数据位和停止位。 - 指定从站
使用modbus_set_slave
为刚创建的句柄分配从站地址。 - 创建连接
使用modbus_connect
打开句柄对应的通信端口,连接到通信总线。 - 传输数据
使用modbus_write_register
往有效句柄对应从站的指定保持寄存器写入数据。
使用modbus_read_registers
从有效句柄对应从站的指定地址开始读取一定数量的保持寄存器数据。