查看: 765|回复: 0
打印 上一主题 下一主题

自己重构的FreeModbus主机+从机协议栈

[复制链接]
跳转到指定楼层
沙发
发表于 2015-5-20 08:16:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Modbus协议在工控领域运用广泛,网上也有一些开源的协议栈,例如FreeModbus,但是都是从机的,支持主机的免费协议栈基本没有发现。
同时网上也没有关于FreeModbus在RTT上的移植文章,由于自己之前做过在Ucos上移植FreeModbus,所以也想把FreeModbus移植到RTT上,正好自己最近的项目要用到Modbus主机功能,所以直接重构了FreeModbus的源码,使其即支持从机同时也支持主机,也可以选择其中一种。
简单介绍下目前项目进展
1、目前项目已经在Github中开源,大家需要的也可以去这里https://github.com/armink/FreeModbus_Slaver-Master-RTT-STM32
2、主机的相关的框架及功能已经修改完成,初始化、配置Modbus主机相关接口与原有从机接口基本一致;
3、移植主机相关硬件配置与原有从机方式一致,需要修改FreeModbus源码中port文件夹中后缀带_m相关文件;
4、Modbus主机请求功能目前实现了所有与保持寄存器、输入寄存器、线圈及离散输入相关的功能,并测试通过;
5、目前的Modbus主机请求功能是异步模式,后期考虑方便上层调用,可以同时给上层提供同步模式的控制方法;
6、主机的异常处理任务还未添加,只留了接口,后期考虑给上层提供回调接口,相关异常功能上层也能自动做处理;
7、目前最新代码同时支持Modbus主机及Modbus从机两种模式,两者互不干涉,用户可以在/FreeModbus/modbus/mbconfig.h中自行裁剪。
8、修改后的源码完全参照FreeModbus源码的编码规范,保证其源码格式的统一性
该项目软件将采用Keil+IAR+Eclipse三大IDE同步开发,Keil方便调试,IAR作为Eclipse的编译工具,Eclipse作为最主要的编码调试平台,方便灵活快捷。更重要的是Eclipse支持强大的版本管理插件,在该项目中将采用GIT作为默认的版本管理软件。
另外我的博客http://blog.csdn.net/arminkztl/article/details/11738395上还有详细的移植介绍及测试方法,希望大家多提意见。
备注:该协议栈已经在STM32F103+RT-Thread操作系统平台测试通过,附件里为:RTT+FreeModbus 主机+从机协议栈 STM32工程源码
转载

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入中科因仑

本版积分规则

快速回复 返回顶部 返回列表