在树莓派3上测试Modbus RTU通讯

libmodbus咱们已经在公众号和应用笔记中介绍过不少次了,关于他的下载编译安装,编译配置,交叉编译等,若是不清楚能够参考以前的公众号文章微信

Modbus TCP/IP经典例程演示
测试

今日我推荐:libModbus
spa

本文主要涉及Modbus RTU模式的测试。关于Modbus TCP/IP在以前的文章中也推送过,由于树莓派3的硬件串口和蓝牙是公用的,因此在用串口通讯的时候,须要对树莓派作一些配置和设置。并关掉串口控制台功能。.net

须要运行sudo raspi-confg 命令配置3d

配置完须要重启reboot,使得配置生效。orm

修改cmdline.txt 配置文件,  使用vi或者nano 打开文件server

输入命令sudo nano /boot/cmdline.txtblog

设置  config.txt
get

输入命令 sudo nano /boot/config.txtcmd

在文件最后一行加入对蓝牙的禁止,

全部配置完后,重启reboot树莓派。

把电脑经过串口和树莓派链接起来,由于树莓派引出的GPIO脚串口是TTL电平,因此咱们须要用到TTLRS232若是你的笔记本有RS232串口,那么就能够用TTLRS232链接你的电脑了,可是如今大多数的笔记本电脑是没有串口的,因此在加一个RS232USB转换器链接到电脑,注意接线必定要正确,防止损坏树莓派硬件。以下图所示

===========================================================下面来测试

测试前须要修改一些源码,在树莓派上须要修改一点代码,由于例程中不是ttyAMA0串口

而后保存,退出编译

 在电脑上进入libmodbus目录源码的tests文件夹下运行

sudo ./unit-test-server rtu

在树莓派上运行sudo ./unit-test-client rtu

注意必定要带上参数rtu,并且是小写,由于若是不带参数的话,默认是测试modbus TCP/IP


能够看到对不少的功能码都进行了测试,像01,02,03,04,05 06,10等等。最后能够看到all tests passwith success.证实咱们的MODBUS RTU测试彻底能经过,其中还对一些异常码进行了测试,有兴趣的能够看看这些源码。至此咱们对libmodbus 协议栈的 MODBUS RTU模式测试就算完成,加上以前公众号推送的MODBUSTCP/IP至此咱们对libmodbus 下的 RTUTCP都介绍完成,在这个基础上你们就能够修改例程,实现本身的功能,例如能够用树莓派作为客户端,链接一些设备,例如能够用树莓派的串口跟一些带有串口的控制器设备经过mdobus RTU通讯,而后树莓派能够经过Modbus TCP/IP连入互联网,实现了一个网关功能。

本文分享自微信公众号 - 嵌入式程序猿(InterruptISR)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。

相关文章
相关标签/搜索