恭喜,你发布的帖子
发布于 2022-05-16 18:28:18
8楼
西门子就是呆板严谨于一体的,什么数据类型用错了就会变红报警的。
///////////////////////////////////////////////////////////////////////
不是它严谨呆板,而是 处理器决定了它必须或者只能这样作,这就是为何LAD FBD SCL 等格式编译的程序最终都是STL 去执行,也是所谓STL 格式的执行效率最高的原因之一。
例如 在SCL 里,你可以把 数据类型进行转换,但处理计算等运算时,要求你数据类型要统一,否则编译故障,
例如 INT_TO_REAL INT_TO _WORD WORD_TO_INT 等等都可以转换,
INT1:= float1 * float2 / float3 就不行,
WORD3:=WORD1* WORD2 也不行。
但是 IN1:= REAL_TO_INT(float1 * float2 / float3);
WORD3:= INT_TO_WORD(WORD_TO_INT(WORD1)* WORD_TO_INT(WORD2));
可以
所以依旧原则,需要数学 运算或逻辑运算,请使用同一类型的数据,最后在转换。
请填写推广理由:
分享
只看
楼主