485多从机通信问题 点击:2890 | 回复:9



chenhuan0702

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 0回
  • 年度积分:0
  • 历史总积分:3
  • 注册:2009年10月15日
发表于:2009-10-15 15:10:11
楼主

485通信如何解决主机(也就是PC)只管主动收,而不主动发,而从机(单片机)却相反,主动发。然后接受PC应答? 这样的信息冲突问题有没有什么好的解决办法
目前一台从机可以良好通讯 多台从机则会有延迟和无接受主机响应问题(从机主动发 pc处理后返回信息给从机)

各位大侠,我亟待解决如下问题,请指点:
485要处理的工作是:从机先发送数据给PC,PC做相应处理将结果返回给从机;当只有一台从机时,可以很正常的工作,从即接受也没有延迟,但是当挂上多台从机后,其中一台从机的接收就正常,其它从机的接收就有一定的延迟,大约有1S左右,这是只有两台从机的情况下测试的,如果有多台从机的情况下,就出现从机接收故障
从机接收采用的是中断方式,从机发送信号后就检测是否有来自主机的应答,如果两秒未接收到主机应答,则认为此次通信失败
我是做从机也就是硬件部分的,软件编程是在Delphi7下编写的(同事)
会不是是由于PC机处理速度返回的数据慢引起的呢?
多谢各位大侠了……帮我解决的看看这是什么原因???




bt001

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 167回
  • 年度积分:0
  • 历史总积分:540
  • 注册:2009年5月21日
发表于:2009-10-15 20:03:50
1楼

标准系统是由PC作为主机发送带地址的查询命令,单片机从机只有在接到符合自己地址的查询命令时才可以发送数据到主机.

需要作到的是在任何时刻,总线上只有一个设备占用发送数据,其他设备都属于接收状态.

在你的例子中,多个从机主动向主机发送数据,如果在同一个时刻发生,数据当然会出错.

如果一定要从机主动发送数据,其实际上就是多主机对等网络,需要设计令牌环或者碰撞检测(以太网方式),这个协议比较复杂,你需要研究相关资料.

[明月夜]

  • 精华:3帖
  • 求助:0帖
  • 帖子:114帖 | 3593回
  • 年度积分:0
  • 历史总积分:7688
  • 注册:2008年3月16日
发表于:2009-11-16 12:12:11
2楼

485主机/从机 总线通讯,最好要有总线协议,如MODBUS,如果没有协议,自已瞎捣过,

会不灵的。    主机主动发,从机则应答,一般用电脑做主机,挂在485总线上的设备做从。

 

 

[明月夜]

  • 精华:3帖
  • 求助:0帖
  • 帖子:114帖 | 3593回
  • 年度积分:0
  • 历史总积分:7688
  • 注册:2008年3月16日
发表于:2009-11-16 12:23:53
3楼

我用MODBUS做过项目,对主/从式访问有体会,访问非常快,从设备几十个毫秒就应答完了,

几乎没延迟。

 

zichen8716

  • 精华:1帖
  • 求助:11帖
  • 帖子:20帖 | 939回
  • 年度积分:0
  • 历史总积分:5186
  • 注册:2010年5月12日
发表于:2010-07-09 10:35:05
4楼

回复内容:你能不能共享一下你的编程思路啊

我邮箱是wf8716@163.com
对:[明月夜] 关于内容的回复:



我用MODBUS做过项目,对主/从式访问有体会,访问非常快,从设备几十个毫秒就应答完了,

几乎没延迟。

 

youxirenshen

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 19回
  • 年度积分:0
  • 历史总积分:1
  • 注册:2010年7月13日
发表于:2010-07-13 10:40:09
5楼
给大家 催荐一个好网址 www.taojinwa.com 这里是工控网址大全.确实不错。

wanvin

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1回
  • 年度积分:0
  • 历史总积分:11
  • 注册:2010年8月29日
发表于:2010-08-29 10:01:55
6楼

嗯,不错不错,呵呵。

谢谢!

ye_w

  • 精华:21帖
  • 求助:1帖
  • 帖子:69帖 | 5217回
  • 年度积分:0
  • 历史总积分:46739
  • 注册:2002年4月17日
发表于:2010-09-25 20:51:35
7楼
这里涉及网络管理的问题。你这个RS485网络中,从站看似是从站,其实倒是主站。这样就造成多主站,互相分享资源的时候,就容易产生冲突。所以推荐你还是使用上位机来做主站,只有上位机发出指令,从站才响应,对从站实现轮询。

Duke

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 7回
  • 年度积分:0
  • 历史总积分:57
  • 注册:2018年4月07日
发表于:2018-04-09 22:53:54
8楼
你需要的是這個: 開源極簡RS485對等通訊—CDBUS(可傳視頻)

@向东

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 36回
  • 年度积分:0
  • 历史总积分:111
  • 注册:2018年4月24日
发表于:2018-05-08 11:24:37
9楼
这个需要rtu或多协议智能网关13381183260(微信同号)

热门招聘
相关主题

官方公众号

智造工程师