机械荟萃山庄

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 2559|回复: 2

通讯,RS485, Modbus协议

[复制链接]

86

主题

1189

帖子

1万

积分

论坛元老

Rank: 8Rank: 8

积分
13032
发表于 2021-3-31 14:45:18 | 显示全部楼层 |阅读模式
串行通讯,数据是一串一串通讯的,一串就是一帧,数据是通过帧来通讯的。元器件级别的通讯大部分都是串行通讯,芯片除外,芯片之间的通讯一般都是并行通讯。RS485是串行通讯的一种标准。不同的通讯协议,什么Canopen,profinet,DP、device net,modbus,对应的帧结构是不同的。通讯的目的就是为了交互数据。

同步通讯,发送端和接收端都有时钟,发送时间和接受时间同步,现在已经很少使用了。
异步通讯,波特率必须一致,大部分通讯需要自己设置,发送端设多少,接收端也要设多少。波特率越高,数据传送的速度越快,也就是说单位时间内交互的数据量越多,但越不稳定。上网速度,宽带等也是波特率,有了波特率,就不需要时钟,靠两边约定的速度,解决时钟不同步的问题。西门子的DP通讯,它有自适应网口,不需要设置波特率。

帧一般的结构由起始位、数据、停止位还有校验位,起始位和停止位不一定都有,modbus通讯可设置几个停止位、是什么校验、也可不设停止位。检验位分奇校验、偶校验、无检验。主要看数据中1的个数,数据中1的个数有三个了,那就是奇数。主站设置成奇校验,从站也必须设置成奇校验。还有什么CRC校验、异或校验。帧就是数据。

通讯中的三个重要参数,波特率、校验位、校验形式,主站和从站必须一致。通讯的第一步,就是看看这些东西是否设置正确。这几个参数在我们Modbus RTU通讯时是用得最多的。

Modbus是一种事先约定好的协议,RS485是一种电气硬件的标准。

本帖被以下淘专辑推荐:

回复

使用道具 举报

50

主题

1347

帖子

1万

积分

论坛元老

Rank: 8Rank: 8

积分
16851
发表于 2021-3-31 15:15:17 | 显示全部楼层
其实芯片级的通讯在不要求速度的情况下,都是串行的,比如I2C, 毕竟并行太占用接口资源了。

帧是由一串数据字节组成的,停止位,奇偶校验位是校验每个字节的,不要搞混了,整帧的校验由帧尾的校验码完成,比如和校验,CRC校验。
回复 支持 反对

使用道具 举报

56

主题

1151

帖子

1万

积分

论坛元老

Rank: 8Rank: 8

积分
16012
发表于 2021-3-31 15:24:30 | 显示全部楼层
如果有心学,要会看报文,这样谁也蒙不了你
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|机械荟萃山庄 ( 辽ICP备16011317号-1 )

GMT+8, 2024-12-25 09:02 , Processed in 0.088294 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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