对于变量交叉的问题,最好通过符号表来保证,因为符号表有提示变量重叠的功能
一般情况下最好不要交叉使用,但特定情况下交叉使用也会带来意想不到的好处,此问题可以参考拙文:
S7-200编程小技巧比如我们在程序中经常要判断某个变量值是否为负,用比较指令很耗时间,如果用符号表,可以对变量的最高位指定符号,则只需要判断一位变可以判断变量是否小于0了,这也是一个交叉使用的典型例子。
再举个例子,我们可能用下面的指令:
movd 0, ac0
movb vb0, ac0
代替:
bit vb0, ac0
itd ac0, ac0
实现字节到长整型的转换,就是交叉使用了AC0的最低位字节(可以节省1个微秒的执行时间,但程序大小会增加2字节)