[STM32F7] 【NUCLEO-F767ZI 】通过Modbus-TCP实现的完整例子

[复制链接]
4524|10
 楼主| coslight 发表于 2016-8-3 12:53 | 显示全部楼层 |阅读模式
以NUCLEO-F767ZI 为主的Modbus-TCP完整案例完成了全部测试,主要功能是:
    1、采用NUCLEO-F767ZI集成的以太网,实现Modbus-TCP通讯;
    2、完成开关量采集,并通过Modbus-TCP实现开关量的在线监视;
    3、接收来自Modbus-TCP的开关量输出命令,完成在线控制;


软件结构以STM32CubeMx为基础,采用FreeRTOS+LWIP+FreeModbus等自由软件实现的。


任务功能分类
  1、软件定时器,定时周期2ms,完成开关量输入采集和输出控制
  osTimerDef(myTimer01, Callback01);
  myTimer01Handle = osTimerCreate(osTimer(myTimer01), osTimerPeriodic, NULL);
  2、运行指示,采用1000ms定时,反转指示灯LD2,表示程序运行状态
  osThreadDef(defaultTask, StartDefaultTask, osPriorityNormal, 0, 128);
  defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL);
3、Modbus-TCP的运行实现,完成LWIP初始化,完成Modbus-TCP的初始化,接受TCP连接,解析Modbus指令,完成TCP通讯
  osThreadDef(myTask02, StartTask02, osPriorityAboveNormal, 0, 500);
  myTask02Handle = osThreadCreate(osThread(myTask02), NULL);

测试照片
IMG_3959.JPG

开关量输入采集
7.jpg

开关量输出控制
8.jpg
附实现如上功能的主要代码 Src.rar (83.3 KB, 下载次数: 205)



 楼主| coslight 发表于 2016-8-3 12:55 | 显示全部楼层
终于完成申请板卡任务
icecut 发表于 2016-8-3 13:35 | 显示全部楼层
不错.工业用的总是不漂亮.好用就好啦.
mmuuss586 发表于 2016-8-3 19:36 | 显示全部楼层
不错, 好好努力!
90houyidai 发表于 2016-8-3 22:13 | 显示全部楼层
mark,周末有时间了来研究
 楼主| coslight 发表于 2016-8-4 12:27 | 显示全部楼层
icecut 发表于 2016-8-3 13:35
不错.工业用的总是不漂亮.好用就好啦.

原理模型简单,但是过程完整,对于具体应用加强相关部分就可以了
y2911 发表于 2017-2-10 09:35 | 显示全部楼层
你好,我能分享下,【NUCLEO-F767ZI 】的例程 代码吗?我找了很多地方没有找到。
2282507667@qq.com
 楼主| coslight 发表于 2017-2-14 13:04 | 显示全部楼层
没有例程,用的STM32CubeMx生成的代码为基础
echowjk 发表于 2017-5-17 10:59 | 显示全部楼层
刚好在学习MODBUS TCP
lounnywu 发表于 2017-5-17 11:21 | 显示全部楼层
不错,各位大咖们,方案有用到硬件加密芯片,保护软件,防止拷贝的,可以找我。QQ:937684930
seanwu 发表于 2019-4-17 19:54 | 显示全部楼层
谢谢coslight,你的代码我在STM32F407芯片上运行成功了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

61

主题

928

帖子

5

粉丝
快速回复 在线客服 返回列表 返回顶部