解决了,不过是曲线救国。
如果使用CASE语句出现相同的代码片段,只有改用IF语句才能解决了。

这个FB是来自于西门子下载中心的LGF通用功能库中的浮点数平均值功能块LGF_FloatingAverage的改进,这个功能实现浮点数采样平滑处理,原理是通用的FIFO求算术平均值算法,但西门子提供的写法我觉得实在有必要进行一些优化,所以就自己动手改写了。
不过还是学到了一些东西,以前都是简单地做成FIFO队列的,每次都必须进行队列移动,复杂度是O(n),这次学到了使用循环数组,使复杂度降到O(1)。
不过没有进行测试。