恭喜,你发布的帖子
发布于 2023-09-08 14:19:34
61楼
这个帖子看了好几遍了,由于没有直接给出程序,而是分享的编程思想,反而觉得越看越糊涂!
这里有几点疑问,想请问楼主。
1,楼主的这个排队块,是不是只针对相同的块?
比如有10台水泵需要启停控制,比如按照累计运行时间排序吧。但是1-5号水泵我是用变频器IO直接控制的,调用的FB1块,6-10号水泵是用Modbus控制的,调用的FB2块,这两个块,除了输出的接口不一样,里面的工艺逻辑完全相同,这种情况可以一起参与排序吗?
2,楼主所说的块与块之间的连接,任务ID+数据,来确定当前块所在的排队位置。
既然是任务ID,说明可以执行不止一个任务。比如设备运行时产生报警,可以按照报警产生的时间排序,还可以按照报警离开是时间排序。这两个排序可能完全不一样(先产生报警不意味着先消除报警)。再加上上面说的按照启动时间的排序,等等。
这就产生了许多许多完全不同的排序,这种情况是要针对每种排序要求,多次调用这个排队块吗?还是只调用一次,通过任务ID就能判断了?
3,各个任务ID是如何执行的。
既然设备有许多任务,那这些任务可能有的需要排队,有的不需要排队(比如急停)。针对不需要排队的任务,是不是不写在这个块里?针对不同的任务ID,同一个扫描周期是不是只能执行一个任务?(楼主说排队块是串行任务)如果每次只能执行一个任务,会不会影响执行效率
以上几个问题,想了好久,实在想不明白,还请楼主看到了可以为我解惑,多谢了!!!
请填写推广理由:
分享
只看
楼主