简介
FreeModbus 是一款开源的 Modbus 协议栈,但是只有从机开源,主机源码是需要收费的。同时网上也没有比较好的开源的 Modbus 主机协议栈,在这样的背景下,armink 大神开发了这款支持主机模式的 FreeModbus 协议栈。
本文的分为2篇推送,分别介绍如何在潘多拉开发板上运行 Modbus 主机与从机。首先介绍串口方式通信的 Modbus 主机和从机。然后介绍如何使用网络进行 Modbus 通信。
准备工作
1、首先演示使用串口作为 Modbus 通信通道的方式,将潘多拉开发板的 uart2
通过 usb 转串口线连接到电脑上
2、使用 usb 线连接开发板的 st-link 接口到电脑上,打开电源开发,开发板上电。
3、查看设备管理器,可以看到两个串口设备,一个用来 shell 通信,一个用来 Modbus 通信。
运行 Modbus 主机
配置工程
在 RT-Thread 源码目录下找到潘多拉的bsp rt-thread\bsp\stm32\stm32l475-atk-pandora
,在此目录下打开 ENV 工具。
配置 FreeModbus 软件包
1、输入 menuconfig 命令打开配置工具
2.按照下面的路径进入 FreeModbus 软件包的配置菜单,并开启主机
模式
1RT-Thread online packages --->
2 IoT - internet of things --->
3 [*] FreeModbus: Modbus master and slave stack --->
4 [*] Master mode --->
5 [ ] Slave mode ----
6 Version (latest) --->
3.配置主机模式选项
进入 Mastar mode
配置菜单,然后开启主机示例程序,如下图所示:
advanced configuration:高级配置选项</