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

已锁定

xiatianyun

  • 帖子

    850
  • 精华

    10
  • 被关注

    25

论坛等级:奇侠

注册时间:2020-05-09

钻石 钻石 如何晋级?

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

1971

7

2022-09-11 11:11:35

最近在做200Smart的项目,好久没用Smart了。看了一些论坛帖子,发现大家都挺上心的,居然把Smart给弄得这么高大上,我也来做个轮询程序。

不过说实话,这个轮询程序花费了不少时间,都是零零碎碎的,每次都需要重新熟悉以前的思路,好累人。

---------------------------------

实现要求:

通讯的从站可以是N个,只要通讯需要就可以适配,通讯的任务可以是X个,每个从站X条。

通讯任务只需要简单定义V中的地址符号名称,然后填写数据表实现任务数据化就行,运行后自动执行轮询。

轮询中如果有从站通讯错误,并达到一定的错误数量就降级为异步通讯,该从站并不会在此后的通讯中被每次轮询,只在同步从站轮询一定次数后才尝试轮询一次。错误的异步从站在轮询一定次数都成功后升级为同步从站,也就是普通站参与正常轮询。

-----------------------------------

由于采用我之前实现的静态背景数据块方案,以及几个关于表格处理的子程序,程序显得很大,在我做实验的ST20中占用了10K左右的空间,大多是静态管理和表格处理占用。

有时间做些优化,去除静态管理和简化表格处理。当程序方案确定后其实静态管理大多每周期只执行一个获取地址的动作,表格处理较为头疼,多处调用,不能简单地放到程序中而不用子程序。

-----------------------------------

立此贴以纪念这么多无聊的时间。

闲来无事,做个Modbus-RTU轮询程序自娱自乐。 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有8940条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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