回复:【MODBUS】变频器串口轮询通讯

link_wxm

  • 帖子

    125
  • 精华

    3
  • 被关注

    3

论坛等级:侠客

注册时间:2013-08-27

普通 普通 如何晋级?

发布于 2015-04-08 11:02:47

7楼

展开查看
以下是引用并州将在2015-04-08 01:22:10的发言 >6楼:完成位在错误时也是可以的,DONE位并不是说只有通讯正常时才置1,它在通讯错误达到唤醒次数限制时也同样置1的,西门子默认的唤醒次数是3次,但是可以修改成1次,对于只有三五个从站的话,设置成50~100ms的延时完全不受影响,只有从站多的时候需要给个控制优先级,一般情况下完全没有问题!
以下是引用link_wxm在2015-03-18 10:19:52的发言 >1楼:用完成位做轮训是不...

引用1楼详细内容:

用完成位做轮训是不够的(应该用完成+错误位);
如果数据干扰、错误呢?完成位怎么触发下一个读写呢?
版主还是没有认真的看完modbus通讯的说明;
还有问题:
你都是完成位触发且没有掉站说明没有数据错误,那何来的8200(端口忙于处理发送请求),不合理啊!
你加延时触发就解决了8200(端口忙于处理发送请求),这不符合原理;
加比较没有必要,既然轮训了那就跟PLC的扫描周期一样,数据变化就更新不是更方便吗?
版主应该在程序上下点功夫好好检查你的程序;

刚看到你说的,让我之前的记忆越来越模糊不定了,花了几分钟做了个实验还好我的记忆没有出错;
我不知道你说的这个“完成位”在达到唤醒次数后是怎么置1;
以下是我做的实验图片:








评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

谈天说地

共有13247条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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