回复:哪位有MODBUS轮询的程序(定时器+DONE完成位共同控制)

SHANGRILA

  • 帖子

    863
  • 精华

    4
  • 被关注

    33

论坛等级:侠圣

注册时间:2007-04-27

普通 普通 如何晋级?

发布于 2012-03-22 09:04:52

2楼

quote:以下是引用yanxiao在2012-03-21 22:43:54的发言:
用简单的逻辑是达不到要求的。这已经是事务处理了,用状态转换的概念来做,比较好处理,可以先画流程/状态转换图。
无响应的站,有选择地跳过,没错。但当从站就绪后,还得想办法把它带回轮询循环中。

目前是用定时器来判断的,只要在规定时间内定时器没有被第N个读取指令完成位复位则跳过这个指令,执行下一个读取指令,定时时间可能设置的不对只有10个毫秒,昨天一直报6号错误。这样做存在一个问题,就是每隔两个站以后定时器就不能被复位了。程序中还是用了标签,会有条件的跳出子程序,回到主程序中执行另一个modbus子程序,说的有点乱,目的就是子程序1中,需要读取的参数比较多,耗时会比较长,想对此子程序只执行一次采集上相关数据后就跳出,执行另一个modbus子程序2,此程序中只有相关的实时变化的数据,比子程序1中的数据少了很多,扫描时间也就相对降低。
斑竹您的思路我有点模糊,你所说的状态转换的概念是用如SCR、FOR、NEXT、JMP等指令来做吗?
君子以自强不息
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33257条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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