信息 :操作符 LOWER_BOUND 和 UPPER_BOUND 仅支持长度可变的数组。
可能的错误原因 :对于长度可变的数组,不使用 LOWER_BOUND 或 UPPER_BOUND 这两个运算符中的一个。
纠错 :操作符 LOWER_BOUND 和 UPPER_BOUND 仅用于长度可变的数组。
对于 3.5.14.0 及更高版本的编译器,运算符也可用于静态数组。因此,只有在编译器版本较早的情况下,才会出现 C0380 错误。
错误示例
FUNCTION_BLOCK POU VAR_IN_OUT arrin : ARRAY [*] OF INT; END_VAR VAR arrtest : ARRAY [0..5] OF INT; test1: DINT; test2: DINT; END_VAR test1 := UPPER_BOUND(arrin, 1); test2 := UPPER_BOUND(arrtest, 1); --> C0380: The operators LOWER_BOUND and UPPER_BOUND are supported only for arrays with variable length.