回复:MODBUS轮询时有时出现全部报错问题

阳春节拍

  • 帖子

    327
  • 精华

    2
  • 被关注

    5

论坛等级:侠士

注册时间:2023-03-01

钻石 钻石 如何晋级?

发布于 2024-05-10 11:30:59

14楼

展开查看
以下是引用xyvsjay在2024-05-09 09:31:24的发言 >7楼

我是有多个仪表读写,每个仪表读写也有多个。并不是1条指令或读或写,读写写2条,读完成且切换条件达到启用写,后面的轮询就有问题了。可能我要按照这个思路,完全改掉原来的轮询程序架构了。

以下是引用zhangli0在2024-05-09 08:44:19的发言 >5楼:或者通讯指令写两次...

引用5楼详细内容:

或者通讯指令写两次,用步控制:初始化或者写完成,步值为1;读完成步值为2。步值为1使能读通讯,步值为2且触发条件为1,使能写通讯。

简单的处理方式是把写和读一样加入轮询,但是写的first或者en多了个控制位,此控制位可随时置1,但只有本msg_done能清0。当然优秀的处理方式是存在msg_done就检查是否有请求写的,有则先执行一次写否则继续读,这里边还有个检查需要写的逻辑问题

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有8549条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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