回复:一种不需要轮询的Modbus RTU通讯的方法

已锁定

zy5840

  • 帖子

    29
  • 精华

    0
  • 被关注

    2

论坛等级:游士

注册时间:2017-03-06

普通 普通 如何晋级?

发布于 2020-12-09 14:22:20

28楼

不依靠done是指下一个过程不考虑上一个过程msg的done位什么时候执行完,因为done位和过程紧密相关,如果考虑done了,那么这个方法就没意义了,这个方法只判断通讯令牌,实际上是间接的依靠done位,但是在执行的时候,不知道上一个done标志是那个过程的完成了,可能是读的done,也可能是写的done

我看了你的程序,也是一种办法,程序相对紧凑,监控的时候观察通讯稍微有点麻烦

令牌on的时候最长1s,因为读取变频器参数没隔1s读取一次

你的程序,“步”的这个标志和通讯令牌,实质是一样的,只不过你每个过程调用的时候都需要指明下一个是什么过程,中间插入过程的话,也需要修改上下两个网络,而我的就不需要,这应该是最大的不同


通讯令牌像一个接力棒,接力的队员不是每个都要跑,跑不跑由教练(工艺流程)决定

接力棒到谁的手中,谁才有资格跑,如果有接力棒并且教练发出命令,则立刻跑,否则就就把接力棒交给下个队员,也不耽误时间;


程序设定就是在没事的时候,每隔1秒就读一次,用于触摸屏显示变频器的状态、电流等,我觉得没必要一直读,所以就设定了每隔1s读一次

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有9019条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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