回复:“Zaxife”老师在吗? 有问题请教

Zaxife

  • 帖子

    2450
  • 精华

    31
  • 被关注

    78

论坛等级:至圣

注册时间:2008-07-24

普通 普通 如何晋级?

发布于 2013-12-28 11:56:56

1楼

原先的30秒有点写错了,应该是30次。

1、
1.5秒是指有16台从机中有15台同时通讯中断在非重试周期内时,纯粹只有1台在通讯的情况且通讯周期在50ms左右(等待5ms+请求数据15ms+等待5ms+接收数据25ms=50ms)。1.5s内是只有通讯正常的那1台在通讯而以,其他15台通讯错误的都在该死的排队中不给占用通讯时间。
比如每台从试周期是30次,重试等待250ms,那么15台顺序重试下来就大概4s,而单独剩下的1台通讯都正常每个通讯周期就是50ms,30个周期后刚好1.5s,那15台通讯中断的又开始批量重试了。所以,单独那1台能够自由活动的时间是1.5s。

2、
在该死的重试周期内,是不去管那15台通讯是正常呢还是失败的,全部当做通讯失败处理。只有在一个通讯周期结束后才去减1他们的重试周期。当ta们的重试周期为0时就重新测试通讯是否正常,如果正常就保持重试周期是0,每次通讯都有ta的份;如果通讯不正常咯,那就对不起ta,依然给ta弄个30次周期进入下一轮等待重试时间。

ps:这是一种通讯的简单优化,实际情况你可以根据设备的重要性规定不同的重试周期,而且限制每个通讯周期重试的从机数量。不过这些用PLC来实现是有点累。建议多看看编程思想的书籍拓宽思路,对于多通讯口设备作为数据交换服务器编程是很有帮助的。

ps2:还有,我不是老师,乃这样称呼我为老师,老衲我惭愧得无地自容啊。
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33294条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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