请选择 进入手机版 | 继续访问电脑版

好神码

 找回密码
 立即注册

扫一扫,访问微社区

搜索
热搜: 活动 交友 discuz
查看: 1024|回复: 5

RS422 一对多组网通信的从机回复主机接收不到的问题

[复制链接]

1

主题

10

帖子

24

积分

新手上路

Rank: 1

积分
24
发表于 2019-3-10 13:42:12 | 显示全部楼层 |阅读模式
遇到个奇怪的问题,就是1个主机和3个从机进行点对多的双向通信,通讯协议格式采用modbus-rtu协议,组网方式采用RS422,
现在有个问题,如果主机与从机单个进行通讯,可以正常收发;
但是如果一个主机同时接多个从机,从机可以接收到主机的命令,但是主机接收不到从机的数据,通过仿真器在线仿真程序时,调试发现程序可以正常执行,但是主机接收不到从机的数据,每个从机的地址都不同。
另一个奇怪的问题是,主机与以前的老设备一对二通信可以,主机与现在新的从机一对多,从机可以接收,但是主机接收不到从机的数据,一对一时主机可以发送给从机也可以接收到从机的数据。
请问有人遇到过这个问题吗~
回复

使用道具 举报

4

主题

267

帖子

548

积分

高级会员

Rank: 4

积分
548
发表于 2019-3-10 19:46:35 | 显示全部楼层
个人估计 最大的可能性就是从机端的DE端没关使能,一直处于驱动状态, 正常的应该是发送的时候驱动,发送完了关闭输出驱动
回复

使用道具 举报

1

主题

10

帖子

24

积分

新手上路

Rank: 1

积分
24
 楼主| 发表于 2019-3-10 19:58:43 | 显示全部楼层
引用 1 楼 zgl7903 的回复:个人估计 最大的可能性就是从机端的DE端没关使能,一直处于驱动状态, 正常的应该是发送的时候驱动,发送完了关闭输出驱动

这个是确认过了的,从机初始化就为接收状态,在发送前切换为发送状态,发送完就马上切换为接收状态,单个通信时,主机可以和任何一个从机通信;
就是总线的时候,主机接收不到从机的回复数据,从机可以接收到主机的数据;
我把程序移植到STM32里,用JTAG在线仿真调试,程序调试时能接收到主机的数据,数据也正确,而且能进入回复主机的发送数据函数里,但是主机这边就是一直接收不到数据(之前另一个项目用485的时候没有出现这种问题,这个用422的就总线收不到从机的数据了,不知道是不是422做总线的时候有什么需要特别注意的)
回复

使用道具 举报

4

主题

267

帖子

548

积分

高级会员

Rank: 4

积分
548
发表于 2019-3-11 07:15:35 | 显示全部楼层
422 发送 接收是两个使能, 485是一个, 最好贴出原理图,再做讨论
回复

使用道具 举报

1

主题

10

帖子

24

积分

新手上路

Rank: 1

积分
24
 楼主| 发表于 2019-3-11 14:16:46 | 显示全部楼层
引用 3 楼 zgl7903 的回复:422 发送 接收是两个使能, 485是一个, 最好贴出原理图,再做讨论
好的,谢谢您,我去找硬件工程师要下原理图
回复

使用道具 举报

1

主题

10

帖子

24

积分

新手上路

Rank: 1

积分
24
 楼主| 发表于 2019-3-12 16:12:52 | 显示全部楼层
引用 3 楼 zgl7903 的回复:422 发送 接收是两个使能, 485是一个, 最好贴出原理图,再做讨论
还真是芯片用错的问题
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|好神码 ( 粤ICP备18029814号-1 )

GMT+8, 2021-12-7 18:10 , Processed in 0.087278 second(s), 4 queries , File On.

Powered by haoshenma V1.0

© 2018-2048 haoshenma

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