关于RS485网络polling的问题

[复制链接]
 楼主| leonline 发表于 2007-8-28 16:55 | 显示全部楼层 |阅读模式
一个监控系统,主从RS485网络,假设32个从机。<br />要求具备防拆功能,就是从机掉线或其它故障要求实时上报到主机,这样就需要主机分时对从机polling,这个没问题。系统还可以通过从机进行一些设定操作,如何避免冲突?<br /><br />现在想出的办法是polling到哪个从机时给该从机一个令牌,只有得到令牌的从机才能向主机发起联络,可是这样做实时性不太好。<br />比如按9600baud算,每帧数据10字节100bit要10mS,来回20mS加上间隙、主/从机内处理时间要30mS,32个从机论询一次要1S,从机设置时按键盘操作总不能等1S后的令牌吧?<br /><br />高手给点建议吧~~
chunyang 发表于 2007-8-28 18:34 | 显示全部楼层

不用这么麻烦

主机轮寻从机即可,超时无响应就记录并报警,一个节点几个字节就够,想提高响应速度则只能靠提高通讯速率实现。
 楼主| leonline 发表于 2007-8-28 20:50 | 显示全部楼层

从机也要主动发送数据

问题是还需要利用&quot;从机&quot;本地配置的功能,就是说随时有可能从&quot;从机&quot;对系统进行配置操作然后向主机主动发起数据,比如操作从机的键盘等.&nbsp;而这时主机正好轮询到别的从机.<br /><br />
chunyang 发表于 2007-8-28 20:57 | 显示全部楼层

没关系,后台处理即可。

从机主动发起通讯在规模不大的网络中,可以等到主机轮寻到自己后进行特殊应答,然后再进行处理,在人工操作完成前,该从机的应答在后台处理即可。
dafei 发表于 2007-8-31 12:34 | 显示全部楼层

从机的人机交互,与通信部分做为两个任务

由于通信速率低,从机数目多,故通信响应时间慢是必然的。除非通信数据量很小,而且是间歇性的。<br /><br />但可以想办法提高从机对人操作的响应速度。<br />如果数据的实时性要求能够允许的话,即对人而言,1秒钟前的数据和一秒钟后的数据影响不大。<br />可以:<br />从机的人机交互,实时反应,不过显示、修改的数据在从机本地,故响应无延时。<br />轮到该从机通信时,在把修改的数据传至主机。<br />
chunyang 发表于 2007-8-31 13:46 | 显示全部楼层

楼上讲的详细

这就是所谓的“后台处理”。
diannaoza 发表于 2007-8-31 14:29 | 显示全部楼层

机的人机交互,与通信部分做为两个任务

主机查询做为优先(上传确认数据也就几十MS),人机交互挂起,这个时间人的交互是感觉不到的。
 楼主| leonline 发表于 2007-8-31 21:20 | 显示全部楼层

谢谢楼上几位热心朋友

定下来想这么做:<br /><br />主机轮询时间片设到80mS,从机接到轮询数据帧正常响应;<br /><br />若从机需要主动发起数据,则需要在时间片80mS内直接发送请求帧.期间发生的从机人机交互或其它任务做处理保存结果待下次时间片内发送.<br /><br />算下来除了从机有键盘类的人机交互这种情况,一般请求会在一个时间片内完成.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

13

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部

4

主题

13

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部