打印
[STM32F0]

模块间通过RS485进行透传如何实现

[复制链接]
4772|20
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
it_yrj|  楼主 | 2016-9-7 09:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
上位机 要通过 表头 与 RTU模块 进行通讯,要求表头透传,各设备间的硬件接口为RS485,上位机和RTU遵循Modbus协议。
表头Uart1对外接上位机,表头Uart2对内接RTU模块。
按照帧进行传输 还是 按照字节进行透明传输呢?
485收/发换向耗费时间啊!!!
沙发
mmuuss586| | 2016-9-7 14:08 | 只看该作者
按照字节啊,根据MOUDBUS协议,发多少个字节数据就好了

使用特权

评论回复
板凳
mintspring| | 2016-9-7 15:10 | 只看该作者
或者自己定义个传输格式也行吧。

使用特权

评论回复
地板
玛尼玛尼哄| | 2016-9-7 22:06 | 只看该作者
距离远吗,如果远用串口光模块,实现485通过光纤长距离传输。

使用特权

评论回复
5
dongnanxibei| | 2016-9-8 00:06 | 只看该作者
没懂具体什么意思,能否画个简单的示意图看看是怎么个意思。

使用特权

评论回复
6
Rangar| | 2016-9-10 21:07 | 只看该作者
根据MOUDBUS协议

使用特权

评论回复
7
Thor9| | 2016-9-11 20:14 | 只看该作者
楼主是怎么做的

使用特权

评论回复
8
gszou| | 2016-9-11 22:04 | 只看该作者
我的理解是这样,楼主看一下是否正确。
上位机——(Modbus)——中间设备——(?)——目标设备
现在问中间设备与目标设备之间用什么协议合适,当然硬件上是RS485。

使用特权

评论回复
9
gszou| | 2016-9-11 22:12 | 只看该作者
如果用:上位机——(Modbus)——中间设备——(?Modbus)——目标设备
那么上位机发出指令后,到接收返回数据,中间的等待时间有点长了,楼主是否是担心这个问题?
我建议还是用上Modbus,好处:调试方便,随时可以不要中间设备。不足的地方是返回数据的等待时间长。

使用特权

评论回复
10
lwsn| | 2016-9-12 21:35 | 只看该作者
按字节传输的吧

使用特权

评论回复
11
309030106| | 2016-9-16 21:56 | 只看该作者
RS485耗时多少,实时性要求很高吗

使用特权

评论回复
12
it_yrj|  楼主 | 2016-9-26 22:13 | 只看该作者
mmuuss586 发表于 2016-9-7 14:08
按照字节啊,根据MOUDBUS协议,发多少个字节数据就好了

目前是按照帧来处理的,存在一个问题,U3发送完数据,使能接收模式后会立马进接收中断,但此时并没有相其发数据,检查下硬件再看看

使用特权

评论回复
13
it_yrj|  楼主 | 2016-9-26 22:14 | 只看该作者
mmuuss586 发表于 2016-9-7 14:08
按照字节啊,根据MOUDBUS协议,发多少个字节数据就好了

按字节处理不好判断一帧是否传输完成,按帧来打包传输实现

使用特权

评论回复
14
it_yrj|  楼主 | 2016-9-26 22:15 | 只看该作者
玛尼玛尼哄 发表于 2016-9-7 22:06
距离远吗,如果远用串口光模块,实现485通过光纤长距离传输。

距离不远,硬件不是问题,软件现在有点小BUG

使用特权

评论回复
15
it_yrj|  楼主 | 2016-9-26 22:19 | 只看该作者
gszou 发表于 2016-9-11 22:04
我的理解是这样,楼主看一下是否正确。
上位机——(Modbus)——中间设备——(?)——目标设备
现在问中 ...

对头,理解的很对,现在是中间设备(表头)的U1接收一帧上位机的数据,然后通过表头的U3发送给目标设备,目前采取的是U1接收一帧 然后通过U3将接收的帧数据发送给目标设备。
发现U3发送完,使能其接收(即将RS485收发引脚拉低),U3会立马进接收中断,现实是没有给他发数据,目前仍在调试中

使用特权

评论回复
16
it_yrj|  楼主 | 2016-9-26 22:21 | 只看该作者
lwsn 发表于 2016-9-12 21:35
按字节传输的吧

按字节来搞,不容易判断一帧数据是否发送完成,更不能及时接收返回的数据

使用特权

评论回复
17
gszou| | 2016-9-26 22:30 | 只看该作者
it_yrj 发表于 2016-9-26 22:19
对头,理解的很对,现在是中间设备(表头)的U1接收一帧上位机的数据,然后通过表头的U3发送给目标设备, ...

祝你顺利。哆嗦一下,如果在一个产品内部,用字节的传好了,要什么内容就传什么。

如果通过接口和产品外设备(模块)相连的,那用Modbus或者适当的协议好,起码要有校检的。

使用特权

评论回复
18
Rollo| | 2016-9-30 20:12 | 只看该作者
如果远用串口光模块,实现485通过光纤长距离传输。

这个成本是不是高啊,速率有多高呢

使用特权

评论回复
19
玛尼玛尼哄| | 2016-10-15 09:07 | 只看该作者
Rollo 发表于 2016-9-30 20:12
这个成本是不是高啊,速率有多高呢

成本不高,买两个光模块就行了。

使用特权

评论回复
20
Jessicakjdsl| | 2016-10-16 16:28 | 只看该作者
距离不远的话用串口不行吗

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

63

主题

614

帖子

0

粉丝