我想知道标准(IEC 1131-3)是否允许在表达式中混合使用不同的数据类型。
实施例
VAR A : BOOL;
B : INT;
(* ... *)
IF (B AND C) THEN
...
END_IF
答案 0 :(得分:0)
它不会编译。由于ST的类型严格为Pascal,因此需要进行类型转换。
答案 1 :(得分:0)
在类型中转换“向下”时,必须使用显式类型转换函数。 “向上”转换是隐含的。
VAR A : BOOL;
B : INT;
(* ... *)
IF (INT_TO_BOOL(B) AND C) THEN
...
END_IF
TYPEA_TO_TYPEB()
形式的所有形式的这些类型转换