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相应的说明
感谢以上博主,将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字节,组成如下:

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

被折叠的 条评论
为什么被折叠?



