一、简述
FreeModbus是一款开源的Modbus协议栈,但是只有从机开源,主机源码是需要收费的。同时网上也没有发现比较好的开源的Modbus主机协议栈,所以才开发这款支持主机模式的FreeModbus协议栈。本版FreeModbus版本号更改为V1.6,特性如下:
- 新增加的主机源码与原有从机的风格及接口保持一致;
- 支持主机与从机在同一协议栈运行;
- 支持实时操作系统FreeRTOS;
- 为应用提供多种请求模式,用户可以选择阻塞还是非阻塞模式,自定义超时时间等,方便应用层灵活调用;
- 支持所有常用的Modbus方法。
1.1、文件结构
注:所有带_m后缀的文件为主机模式下必须使用的文件,如使用从机模式则无需这些文件。
1.1.1、从机应用层相关文件
源文件 | 描述 |
---|
FreeModbus\port\mb_app.c | 定义从机数据缓冲区,实现从机Modbus功能的回调接口 |
1.1.2、主机应用层相关文件
源文件 | 描述 |
---|
FreeModbus\port\mb_app_m.c | 定义主机数据缓冲区,实现主机Modbus功能的回调接口 |
1.1.3、从机平台相关文件
源文件 | 描述 |
---|
FreeModbus\port\portserial.c | 从机串口移植 |
FreeModbus\port\porttimer.c | 从机定时器移植 |
FreeModbus\port\portevent.c | 实现从机事件移植接口 |
1.1.4、主机平台相关文件
源文件 | 描述 |
---|
FreeModbus\port\portserial_m.c | 主机串口移植 |
FreeModbus\port\porttimer_m.c | 主机定时器移植 |
FreeModbus\port\portevent_m.c | 实现主机事件及错误处理移植接口 |
1.1.5、从机协议相关文件
源文件 | 描述 |
---|
FreeModbus\modbus\mb.c | 给应用层提供Modbus从机设置及轮询相关接口 |
FreeModbus\modbus\ascii\mbascii.c | ASCII模式设置及其状态机 |
FreeModbus\modbus\functions\mbfunccoils.c | 从机线圈相关功能 |
FreeModbus\modbus\functions\mbfuncdisc.c | 从机离散输入相关功能 |
FreeModbus\modbus\functions\mbfuncholding.c | 从机保持寄存器相关功能 |
FreeModbus\modbus\functions\mbfuncinput.c | 从机输入寄存器相关功能 |
FreeModbus\modbus\functions\mbfuncother.c | 其余Modbus功能 |
FreeModbus\modbus\functions\mbutils.c | 一些协议栈中需要用到的小工具 |
FreeModbus\modbus\rtu\mbcrc.c | CRC校验功能 |
FreeModbus\modbus\rtu\mbrtu.c | 从机RTU模式设置及其状态机 |
FreeModbus\modbus\tcp\mbtcp.c | TCP模式设置及其状态机 |
1.1.6、主机协议相关文件
源文件 | 描述 |
---|
FreeModbus\modbus\mb_m.c | 给应用层提供Modbus主机设置及轮询相关接口 |
FreeModbus\modbus\functions\mbfunccoils_m.c | 主机线圈相关功能 |
FreeModbus\modbus\functions\mbfuncdisc_m.c | 主机离散输入相关功能 |
FreeModbus\modbus\functions\mbfuncholding_m.c | 主机保持寄存器相关功能 |
FreeModbus\modbus\functions\mbfuncinput_m.c | 主机输入寄存器相关功能 |
FreeModbus\modbus\rtu\mbrtu_m.c | 主机RTU模式设置及其状态机 |
FreeModbus主机、从机协议栈从入门到精通
FreeModbus协议栈从入门到精通,含STM32+FreeRTOS主站、从站例程DEMO,注释详尽
文件 | 说明 |
---|
freemodbus-v1.6.zip | FreeModbusV1.6源码 |
FreeModbusMasterSlave(Rev1.0.0).zip | 笔者移植的STM32+FreeRTOS+FreeModbus Master Slave代码 |
ModbusSlave 7.0和ModbusPoll_7.0软件注册码.zip | FreeModbus Master Slave调试工具 |
FreeModbus V1.6 主机使用说明.md | FreeModbus 主机使用说明文档 |
FreeModbus 从机流程图.vsd | FreeModbus 从机流程图 |
FreeModbus 主机流程图.vsd | FreeModbus 主机流程图 |
Modbus应用协议.doc | 笔者整理的 FreeModbus 协议文档 |
文件结构.png | 笔者移植的FreeModbus协议工程文件结构图 |
FreeModbus Datasheet | 笔者搜集 FreeModbus 协议文档 |
教程资源非免,介意勿扰
https://download.csdn.net/download/qqshare/90230889