回复:关于MODBUS通讯一点小心得,欢迎探讨

迷失中原

  • 帖子

    466
  • 精华

    5
  • 被关注

    47

论坛等级:侠圣

注册时间:2013-01-18

钻石 钻石 如何晋级?

发布于 2017-08-15 10:10:53

5楼

展开查看
以下是引用芳季在2017-08-15 09:37:02的发言 >3楼

那就是众多信息之间的空闲时间的总和   和   断线从站重发时间的和   这两个时间之间的较量了。

你认为会有很多重发的机会  可以让你争取到实质性的时间吗?

你宁可每一条信息都等上5毫秒来弥补重发的一次性等待?

丢了一个站你的设备还能愉快运行吗?

    如果用DONE位启动下一个设备发送,环环相扣,会存在设备互相干扰的问题,即前一个设备通讯影响后一个设备发送。这个还是不是主要问题所在,通过DONE位控制轮训会使优先级分配问题变得复杂,举个简单例子。

     假如有10台称重仪表,每台仪表有一个读重量、写清零的任务;还有一台变频器,控制启停;变频器的优先级是最高的,当变频器需要启停时,前面所有的读写任务都要让步;仪表的写等级中等,正常不需要写,当该仪表需要清零时候,跳过该仪表读数据;所有仪表的读等级最低;另外,在自动控制时候还可以动态分配优先级,比如其中5台仪表不需要参与控制,可以分时每周期读取一台未用仪表等。

     如果使用DONE完成上述过程,是很麻烦的,尤其是设备比较多的情况。


     另外还有一点,个人猜想不是很确定:采用DONE位轮训肯定会受到扫描周期的影响的,但是定时中断可能不会影响到。假设扫描周期100MS,定时中断20MS,定时中断和接收中断都不受扫描周期限制,那么理论上一个周期可以读取5个任务,保守4个;采用DONE轮训在主程序里调用,很难保证不受扫描周期限制。

     

     其实就是两种不同的思路和框架,用的习惯就觉得好用了!

生命不息,奋斗不止!
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有9025条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。