【知识分享】知识链路-Modbus通信知识链路

前言

        现在是信息爆炸的时代,想要学习或获取什么资料只要网上一搜就有,但大部分都是一些零散的碎片知识,需要自己去整理关联起来。知识链路这一系列就是为了解决知识零散的问题,从整个知识链路的角度出发,扩展相关知识,方便知识的查缺补漏。

        本文主要是理顺Modbus相关的知识链路,从软件、硬件层面上梳理涉及的各类知识,并提供相应的知识传送门。如有缺漏,请评论区留言指正,谢谢!

正文

        整体知识链路一览

【知识分享】知识链路-Modbus通信知识链路_第1张图片 图1  整体知识链路

软件数据链路

        首先从软件层面来看,如果现在有一对设备需要进行Modbus通信,那么至少需要有一个主机,一个从机,所以在应用层面上,会使用到Modbus主机和Modbus从机协议栈。

        关于Modbus协议的相关知识点,详见Modbus通信协议详解。

【知识分享】知识链路-Modbus通信知识链路_第2张图片 图2  软件数据链路(框架)

        如果使用的是Modbus RTU/ASCII的通信形式,可能会使用到串口。如果使用的是Modbus TCP,则可能会使用到TCP/IP协议栈。

        关于串口的相关知识点,详见异步串行收发器Uart(串口)-通信协议详解。

【知识分享】知识链路-Modbus通信知识链路_第3张图片 图3  软件数据链路

硬件链路

        从硬件层面上来看,无论是Modbus,还是串口,都是以MCU为载体的。所以对于硬件来讲,作为Modbus主机或从机并没有什么区别。

【知识分享】知识链路-Modbus通信知识链路_第4张图片 图4  硬件链路(框架)

        然而MCU跟MCU之间的通信,还需要借助一些外围电路来实现,以匹配不同的应用环境。最简单的是TTL,两个MCU直连。如果需要长距离传输,则需要使用232、485、422这种。如果使用TCP,则需要有以太网相关电路。

【知识分享】知识链路-Modbus通信知识链路_第5张图片 图5  硬件链路

软件工具

代码编辑器

        既然涉及到软件,那免不了需要有一些编写软件的工具,如Source Insight、VS Code

代码编译工具

        配套的编译工具链也不可少,初期可以先从一些IDE集成工具入手,常用的有Keil、IAR、STM32Cube IDE。

调试工具

        应用时则需要一些调试测试用的软件调试工具,对于Modbus协议的测试,可以使用Modbus Poll和Modbus Slave这一对,另外也有Modscan、Modsim这样类似的工具。对于串口调试,可以使用串口调试助手,这种网上一搜都有很多,个人推荐sscom5.13.1,简洁好用。如果是调试以太网,则可以使用网络抓包工具wireshark。

硬件工具

        对于这种时序类型的,少不了示波器。另外针对特定的电路,就需要使用对应的转换工具,比如TTL电路,要使用电脑进行调试,就需要使用USB转TTL的工具,232、485、422这些都同理。对于一些复杂的时序,用示波器可能还不好分析,这时候就可以借助逻辑分析仪进行辅助分析。

知识链接传送门

        Modbus通信协议、串口通信协议、FreeModbus、Modbus Poll、Modbus Slave、Modscan32、Modsim32、串口调试助手、TTL、232、485、422、Source Insight、Keil、STM32Cube IDE

你可能感兴趣的:(知识分享,#,Modbus,c语言,架构,mcu)