回复:关于Modbus-RTU轮询通讯的一些看法

Zaxife

  • 帖子

    2450
  • 精华

    31
  • 被关注

    78

论坛等级:至圣

注册时间:2008-07-24

普通 普通 如何晋级?

发布于 2019-09-01 15:48:09

20楼

Modbus-RTU轮询?
库本身就是MSG,也就是类似多线程的消息机制。
如果了解消息编程、熟悉多线程多进程的都知道怎么去优化这种通讯的吧?
对于这种不确定的模型,采用Windows系统的消息机制处理就可以了。
开一个子程序专门处理所有通讯请求都放入消息堆栈;再开一个子程序专门提取消息堆栈的消息进行处理。这样就可以把硬件层(串口通讯)、驱动层(消息处理)、应用层(用户通讯处理逻辑)全部分开来,不会因为应该层改变而去改变硬件层、驱动层。

至于通讯逻辑,真没有统一的做法,只能说通讯初始化时把需要的第一个任务消息压入堆栈、消息完成后根据需要压入其他的任务消息。这样是可以仅用一个MSG来处理所有的通讯的,很大程度的避免多个MSG引起的错误6。

不过,对于内存这么少的PLC,真不建议把通讯搞得太复杂到时候内存分配不够了反而把自己坑进去。还是根据实际的项目需求分别优化更实在。
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有8937条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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