Modbus源码 modbus工程 stm32源码 master slave模式 RTU uIP TCP

内容分享1小时前发布 肉妻_
0 0 0

本资料包是包含了10+完整的Modbus源码。硬件平台基于STM32 F103或F4. 包括了master slave模式。实现协议有 RTU UIP UART 485等。。。

资料包结构如下:

FreeModbus_Slave-Master-NOOS-STM32-master.zip

FreeModbus_Slave-Master-RTT-STM32-master.zip

ModBus-Master-master.zip

Modbus-STM32-HAL-FreeRTOS-master.zip

stm32_dual_modbus-master.zip

STM32_HAL_FREEMODBUS_RTU-master.zip

stm32_modbus-master.zip

stm32f4_modbus_tcp-master.zip

STM32-FreeModbus-Example-master.zip

STM32-Modbus-SerialDMA-master.zip

uip_freemodbus_tcp-master.zip

每一个包结构清晰,代码完整。包内配有详细说明方便阅读理解。

# MODBUS MASTER RTU在STM32上的实现 #

## 1. 概述 ##

– 最近需要将几个信号采集模块通过总线串联起来,这样便于系统模块化。故将目光注意到了工业上经常使用的modbus协议。

– modbus协议是一种一主多从的拓扑结构,主要是应用层软件协议,有关modbus的相关信息,可以自行google、百度。

– STM32实现的Master工程代码在github上,

## 2. 开发环境 ##

– STM32F042单片机

– MDK-KEIL5

– STM32-CUBE库

– Modbus slaver测试软件

## 3. 移植来源 ##

– 信号采集模块作为slaver,采用的是开源的freemodbus协议。

关于其实现大家百度一下都能发现,相关的移植过程介绍也很多,不再一一赘述。值得注意的是:这个freemodbus的源码值得一看,其判断对一帧数据包的接受采用的是定时器判断超时。大体思路是中断接收函数在接收每一个字节数据时会重置定时器,如果定时器发生定时溢出中断,则说明没有新数据到来,代表一帧数据包接收完整。

然后就是master的设计实现。freemodbus并没有开源的master实现代码,故这部分需要我们自己开发完成。在github上发现有个人发布arduino版本的master,但是arduino的代码来C++语言编写,需要我们做一些C语言的移植和一些硬件底层接口的移植。

## 4. 移植过程 ##

– 了解arduino modbus库的实现思路——很简单明了。打开源工程,里面有源代码和例程代码,不过例程代码需要用arduino的ID打开。其大体思路就是每个Modbus Function都用一个函数实现,如

uint8_t ModbusMaster::readDiscreteInputs(uint16_t u16ReadAddress, uint16_t u16BitQty)

{

_u16ReadAddress = u16ReadAddress;

_u16ReadQty = u16BitQty;

return ModbusMasterTransaction (ku8MBReadDiscreteInputs);

}

这帧ModbusMasterTransaction函数就是根据用户选择的功能模

Modbus源码 modbus工程 stm32源码 master slave模式 RTU uIP TCPModbus源码 modbus工程 stm32源码 master slave模式 RTU uIP TCPModbus源码 modbus工程 stm32源码 master slave模式 RTU uIP TCPModbus源码 modbus工程 stm32源码 master slave模式 RTU uIP TCPModbus源码 modbus工程 stm32源码 master slave模式 RTU uIP TCPModbus源码 modbus工程 stm32源码 master slave模式 RTU uIP TCPModbus源码 modbus工程 stm32源码 master slave模式 RTU uIP TCPModbus源码 modbus工程 stm32源码 master slave模式 RTU uIP TCPModbus源码 modbus工程 stm32源码 master slave模式 RTU uIP TCPModbus源码 modbus工程 stm32源码 master slave模式 RTU uIP TCPModbus源码 modbus工程 stm32源码 master slave模式 RTU uIP TCPModbus源码 modbus工程 stm32源码 master slave模式 RTU uIP TCP

© 版权声明

相关文章

暂无评论

none
暂无评论...