回复:sr60无法读两个变频器的数据

并州将

西门子1847工业学习平台

  • 帖子

    36
  • 精华

    0
  • 被关注

    8

论坛等级:游侠

注册时间:2013-10-19

普通 普通 如何晋级?

发布于 2015-05-11 21:59:48

1楼

兄弟,你的程序好像不对,不知道这是不是你的全部程序?还是说截图了一部分?
1、你靠时间1s轮询一次,你可以根据DONE位来轮询;
理由:如果你要是设定按照时间轮询,那么从站即使在20ms内已经完成应答,你还得继续等待980ms才能继续轮询下一个从站,有点浪费时间吧,一般从站的应答时间(变频器)为10~20ms,按照你的程序你轮询1个站的时间基本相当于轮询了几十站,
如果你从站是变频器,那么你把MBUS_CTRL初始化的那个Timeout 设置为30ms~50ms(考虑通讯质量偶尔干扰有延时),然后依靠done位来激活MBUS_MSG,这样正常通讯情况下每个从站的轮询时间大概也就20ms不到,即使其中有的从站通讯失败,那么主站最多等待3×50=90ms时间也会把done位置1,90ms时间对于一般的控制可以忽略的,你采用MODBUS肯定是要去实时性不需要太高的,
你好好看下西门子举的例子,就知道怎么轮询了
2、还有,看你贴出来的程序根本就没有循环起来啊,难道只需要读写一次吗?
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有9023条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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