<环境配置>——树莓派libmodbus编译使用实例

本文详细介绍了在树莓派上安装和配置libmodbus的过程,包括从github下载源码、编译安装、交叉编译及动态库配置。同时,提供了树莓派作为Modbus TCP服务器与西门子PLC进行通信的示例代码,涵盖了功能码的使用和报文解析。

1.安装编译

主要有最新版本和稳定版本3.0.6。最新版本编译较为简单,但是可能出现错误,实测树莓派4B出现部分错误仍然可以使用。

github地址:

https://github.com/stephane/libmodbus

 1.直接命令行下载:

git clone git://github.com/stephane/libmodbus

2.安装编译工具

sudo apt-get install automake autoconf libtool

3.进入解压后的文件,运行./autogen.sh,自动配置./configure环境

./autogen.sh

4.新建安装环境和进行交叉编译,修改install相应目录

mkdir install

 ./configure --host=arm-none-linux-gnueabi --prefix=/pi/git-proj/libmodbus/install/

make install

5.install安装完成后,将其目录下libmodbus.so、libmodbus.so.5、libmodbus.so.5.1.0 复制到系统/usr/lib/目录下,解决动态库调用的问题。

检验库是否配置成功:

分别在2个命令行下运行modbus/tests/unit-test-server 和unit-test-client tcp,用系统私有地址进行模拟通信,如果能收到报文,说明库配置的没有问题。

./unit-test-server tcp

./unit-test-client tcp

2.SDK相应的说明

https://blog.youkuaiyun.com/qq_23670601/article/details/82155378#%E6%BA%90%E6%96%87%E6%A1%A3libmodbus

感谢以上博主,将libmodbus官方手册翻译成中文,可对应参照查看。

3.仿真软件

很多同学可能只有一台电脑,或者没有现场的PLC,可以下载Modbus Poll和Modbus Slave模拟主站和从站的通讯。

https://www.cnblogs.com/hieroly/p/9063710.html

 楼主进行的是modbus tcp通讯:

树莓派---Server---从站slave(等待PLC报文后,进行数据采集,返回报文)

西门子PLC---Client---主站Poll(发送报文获取数据)

4.Modbus TCP功能码

ModbusTCP的数据帧可分为两部分:MBAP+PDU。

 

MBAP为报文头

长度为7字节,组成如下:

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值