基于STM32的FreeModbus从站协议移植
2018-01-02胡双喜
胡双喜
摘 要:FreeModbus是一种Modbus协议的实现方式,能够方便的移植到嵌入式系统中。本文阐述了FreeModbus的移植方式,并将其与STM32F446RE控制器相结合。经验证表明,其能够完成基于Modbus RTU传输方式的通讯任务,具有稳定可靠的特点,可以应用于工业场合。
关键词:Modbus;STM32;实时通信
一、引言
随着工业IT技术的飞速发展以及工业控制系统复杂程度的提高,工业通讯网络的应用日益受到重视,通讯协议的标准化对工业控制系统的稳定性产生了极大的影响。Modbus是一种广泛应用的工业控制网络,其具有稳定性高、易于部署和维护等优点,适合中小规模的数据传输。FreeModbus是一种针对嵌入式系统的Modbus协议栈,支持RTU、ASCII以及TCP传输模式,并遵守BSD许可,允许用户将其应用于商业环境。
STM32是目前广泛应用的32位嵌入式微处理器之一,具有体积小、功耗低、性能高等特点,非常适合于系统的实时控制。其中STM32F4系列是意法半导体推出的以Cortex-M4为内核的高性能控制器,能够进行复杂的计算与控制。
本文以STM32F446RE为平台,研究了FreeModbus协议的移植方法,使STM32F446RE能够作为从站实现Modbus的通信,并支持Modbus RTU及ASCII传输模式,为未来工业控制的网络化和信息化奠定了基础。
二、FreeModbus简介
Modbus是一种广泛应用于工业控制中的串行通讯协议,其实现了一个单主站的主从网络结构。Modbus支持的数据类型包括浮点数、32为整型等多种数据类型。目前,西门子S7 200系列等多个系列的PLC、威纶通等不同厂家、型号的触摸屏以及组态王等软件都支持Modbus协议。
FreeModbus是专门针对嵌入式系统设计的开源协议栈,其实现了Modbus 1.1a版的应用层协议,支持RTU与ASCII两种传输模式,在FreeModbus 0.7版后,又添加了Modbus TCP传输模式的支持。……
