您的位置:首页 > 文旅 > 美景 > VS编译和使用modbus库

VS编译和使用modbus库

2024/10/6 6:48:39 来源:https://blog.csdn.net/qq_71286244/article/details/140404220  浏览:    关键词:VS编译和使用modbus库

一.libmodbus 库

免费的开源的,modbus 开发库,支持 RTU 和 TCP
官网:libmodbus.org
在线文档:https://libmodbus.org/reference/

二.源码简介

项目说明
doc 目录各 API 接口的详细说明文档
src 目录源码都在这个目录下
tests 目录自带的测试代码
src/win32 目录windows 平台下的项目文件(使用 VS)
Makefile.amlinux 平台下用于生成 makefile 文件
Modbus.c核心源码
Modbus.h libmodbus对外暴露的接口文件
Modbus-data.c实现数据处理的公用函数,比如大小端、位处理
Modbus-private.hlibmodbus 内部使用的数据结构和函数声明
Modbus-rtu.cRTU 模式相关的函数定义
Modbus-rtu.hRTU 模式对外提供的 API
Modbus-private.hRTU 模式内部使用的数据结构和函数声明
Modbus-tcp.cTCP 模式相关的函数定义
Modbus-tcp.hTCP 模式对外提供的 API
Modbus-tcp-private.hTCP 模式内部使用的数据结构和函数声明
Modbus-version.h.in版本定义

三.使用 VS 编译 modbus

  • VS2017 WIN32 平台
  1. 双击 configure.js 进行配置
  2. 使用 VS 打开解决方案:modbus-9.sln
  3. 对项目重新生成,编译失败。把 modbus-version.h 从项目中移除,再重新添加 src 目录下
    的 modbus-vsersion.h 文件
  4. 对项目重新生成,编译失败,提示:
    在这里插入图片描述
    在这里插入图片描述
    再次重新生成,得到如下两个库文件:
  • modbus.dll
  • modbus.lib

以上是调试模式下的库文件,把 VS 设置位 release 模式,重复以上步骤,即可得到 release
版本的库文件。

四.从站设置

  1. 硬件环境配置
  2. 使用虚拟串口工具,实现 com3 <->com4
  3. Modbus 从站设置:(使用 com4)

在这里插入图片描述

  • 内容设置
    在这里插入图片描述

五.vs2017使用modbus

  • 导入 libmodbus 相关的库和头文件:
    在这里插入图片描述
    在这里插入图片描述
  • 源码
#include <stdio.h>
#include "modbus.h"
#pragma comment(lib, "modbus.lib")
int main(void) {
uint16_t tab_reg[4];
modbus_t *mb = modbus_new_rtu("com3", 9600, 'N', 8, 1);
modbus_connect(mb);
modbus_set_slave(mb, 1);
modbus_read_registers(mb, 80, 4, tab_reg);
modbus_close(mb);
modbus_free(mb);
for (int i = 0; i < 4; i++) {
printf("%d ", tab_reg[i]);
}
return 0;
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com