回复:闲来无事,做个Modbus-RTU轮询程序自娱自乐。

已锁定

xiatianyun

  • 帖子

    850
  • 精华

    10
  • 被关注

    25

论坛等级:奇侠

注册时间:2020-05-09

钻石 钻石 如何晋级?

发布于 2022-09-11 11:27:40

1楼

方案细节:

表格有四个:从站状态表、同步表、异步表、通讯任务表。

通讯任务表并不是前面提到的任务表,而是关于用户任务的从站和从站任务索引的表格,是个二维表。

从站状态表记录从站通讯的实时状态:从站地址号、失败次数、失败第一次的轮询次数戳、成功次数、以及从站是同步还是异步的标识,每个从站占据5个成员数据,每个数据2字节,共10字节。N个从站就需要10N字节。

同步异步表较为简单,记录当前从站在状态表中的索引,此索引我称之为从站索引,从站索引不会改变。

通讯任务表的X维是从站索引,Y维是该从站索引在用户任务表中的索引。用户任务表就是用户在V区定义的任务数据,每个任务包括几个成员:从站地址、从站数据地址、数据长度、读写模式、本地数据地址,共计12字节,几个任务就有几个12字节。

比如:一共定义了4个任务,分三个从站,这样就需要4*12字节的用户任务表,这个表由用户定义在V区,只需要给出表地址头和任务数量4即可运行程序。

程序自动读取任务表数据,自动初始化4张表。

当然,除了用户任务表外的4张表都有表头数据,实际占用的空间比需要的要大些。

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有8941条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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