回复:RS-485信号如何套上Modbus-RTU协议?

'Razor

西门子1847工业学习平台

  • 帖子

    3121
  • 精华

    34
  • 被关注

    206

论坛等级:至圣

注册时间:2008-03-31

钻石 钻石 如何晋级?

发布于 2025-04-17 20:24:57

10楼

展开查看
以下是引用宝冬在2025-04-17 14:51:13的发言 >7楼

Modbus是应用层协议。是嵌入进Uart协议。Uart就是数据位、起始位、校验位、结束位那些。而UART是用485物理信号的高低电平实现的。

根本上是要去理解OSI模型。实践中学会解读ModbusRTU的示波器报文就理解了。

9600速率下传输一个Uart字符,大约需要1ms时间。所以最常见的ModbusRTU的03码的master报文,在9600下,需要8ms多一点。








你的设备手册的A3里面,已经给出协议规格了。帧格式,包括应答,校验。具体的命令内容要熟悉设备和手册,要做功课。并不很难,就是需要熟练费工夫修改迭代。同时也是对架构和对象封装水平的一个锻炼。



通过自由口来编写基于串口的协议,参考下面这篇的源码

https://www.ad.siemens.com.cn/club/bbs/post_1725735_50_0_0.html#anch



至于程序架构,和Modbus的一样。相当于编写了另一种master指令。



在串口电路上自己动手实现一个协议,是个基础锻炼。熟练后就可以在以太网上基于UDP设计属于自己的可靠传输协议了。本质上都是OSI的理解和实现。是编程的核心能力,花时间是值得的。




现在越来越喜欢看里面的插图

Less is more…… Please pay close attention to official account : RazorAutomation.
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1200系列

共有14348条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。