发布于 2012-10-29 18:19:25
6楼
关于指令是否被扫描执行,可以观察STL指令网络:
上面:
在输出=q0.0之前,程序都是全部执行的,所以与m0.0无关。
下面:
如果功率流不存在,那么该指令执行时间为1微秒。因此4个不会执行的子程序会消耗4微秒的时间。
=Q0.0的时间是1.3微秒。LDM0.0的时间是0.8微秒。
左边的时间:4.8微秒。右边的时间是2.1微秒。
LD M0.0
CALL SBR1
CALL SBR2
CALL SBR3
CALL SBR4
即便m0.0=0,程序依然会扫描每个CALL,每个占用1微秒,只不过不进入该子程序。因此用子程序只在合适的时候调用可以提高扫描速度。