回复:分享一个分布式的功能块,涉及到一种新的编程思想

已锁定

肥石

西门子1847工业学习平台

  • 帖子

    36
  • 精华

    0
  • 被关注

    1

论坛等级:侠客

注册时间:2018-12-13

黄金 黄金 如何晋级?

发布于 2023-09-08 14:19:34

61楼

这个帖子看了好几遍了,由于没有直接给出程序,而是分享的编程思想,反而觉得越看越糊涂!

这里有几点疑问,想请问楼主。

1,楼主的这个排队块,是不是只针对相同的块?

比如有10台水泵需要启停控制,比如按照累计运行时间排序吧。但是1-5号水泵我是用变频器IO直接控制的,调用的FB1块,6-10号水泵是用Modbus控制的,调用的FB2块,这两个块,除了输出的接口不一样,里面的工艺逻辑完全相同,这种情况可以一起参与排序吗?

2,楼主所说的块与块之间的连接,任务ID+数据,来确定当前块所在的排队位置。

既然是任务ID,说明可以执行不止一个任务。比如设备运行时产生报警,可以按照报警产生的时间排序,还可以按照报警离开是时间排序。这两个排序可能完全不一样(先产生报警不意味着先消除报警)。再加上上面说的按照启动时间的排序,等等。

这就产生了许多许多完全不同的排序,这种情况是要针对每种排序要求,多次调用这个排队块吗?还是只调用一次,通过任务ID就能判断了?

3,各个任务ID是如何执行的。

既然设备有许多任务,那这些任务可能有的需要排队,有的不需要排队(比如急停)。针对不需要排队的任务,是不是不写在这个块里?针对不同的任务ID,同一个扫描周期是不是只能执行一个任务?(楼主说排队块是串行任务)如果每次只能执行一个任务,会不会影响执行效率

以上几个问题,想了好久,实在想不明白,还请楼主看到了可以为我解惑,多谢了!!!

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1500系列

共有10587条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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