机器视觉_通信协议(一)——Modbus/TCP通信——Scara机械臂通信

本文介绍了如何利用libmodbus SDK进行Modbus/TCP通信的开发,包括libmodbus库的简介、编译SDK、源码分析以及在Visual Studio(VS)环境下开发modbus/tcp通信的步骤,同时解决了编译和运行过程中遇到的常见问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • libmodbusSDK介绍并使用
  • 使用VS开发modbusTCPIP通信

目录

1.1 libmodbus开发库

1.1.1 简介

1.1.2 编译libmodbus的SDK

1.1.3 libmodbus源码分析

1.2 使用VS开发modbus

1.2.1 使用VS开发modbus/tcp通信

1.2.2 常见问题解决


1.1 libmodbus开发库

1.1.1 简介

github搜索libmodbus,下载libmodbus.zip库,底下是对该文件的树枝进行分析。

doc:libmodbus库的API接口说明

m4:存放GNU m4文件

src:全部的libmodbus源文件

win32:定义在windows下使用VS编译时的项目工程文件及配置

modbus.c:核心文件,实现Modbus协议层,定义了共通的发送函数和接收函数、功能码对应函数

modbus.h:接口API头文件

modbus-data.c:数据处理共通函数,包括大小端相关字节、位交换等函数

modbus-private.h:内部使用的数据结构和函数定义

RTUmodbus-rtu.c:通信层实现,RTU模式相关函数,主要是串口的设置、连接及消息的发送和接收

modbus-rtu.h:RTU模式对外提供的各API定义

modbus-rtu-private.h:RTU模式私有定义TCP 

modbus-tcp.c:通信层实现,TCP模式相关函数,主要是TCP/IP的设置、连接及消息的发送接收

modbus-tcp.h:定义TCP模式对外提供的各API定义

modbus-tcp-private.h:TCP模式私有定义

modbus-version.h:版本定义文件tests:包含自带的测试代码其他文件对理解代码无用

1.1.2 编译libmodbus的SDK

第一步:位于win32中的configure.js(展开项目用)先安装,生成config.h和 modbusversion.h

第二步:打开VS,在vS中打开win32中的modbus-9.sln文件(升级文件用),勾选全部完成。(完成打开libmodbus项目)

第三步:在VS的解决方案modbus的位于目录Header Files的modbus-version.h移除(Remove)(操作1),并在目录Header Files右击加入(Add)>>现有项目(ExistingItem)(操作2),把上文文件夹的modbus-version.h重新加载进去,然后重新Rebuild Solution(操作3)

第四步:编译后出现错误,原因在于没有将版本(version)项的定义清零(位于modbus项目资源管理的属性下)

最后一步:重新编译,成功生成modbus.dll和modbus.lib

1.1.3 libmodbus源码分析

  • 数据类型stdint.h

定义int8_t等

  • 常量定义 modbus.h

功能码定义

  • 核心结构体

包含modbus_t和modbus_mapping_t

结构体一:位于modbus-private.h》》modbus_t》》

含_modbus和struct_modbus_backend两个

功能定义

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

智能之心

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值