我曾经在一个项目上使用过对同一个bool变量在程序的不同地方执行out指令,按照一般来说,是不允许双线圈这样的输出的,因为程序按照自上而下、自左往右的顺序扫描执行指令,最终输出刷新阶段的输出结果是最后一个out指令的结果,如果在同一个程序块里的话,那么就会出现上面所说的情况。但是如果这两个out指令在不同的2个程序块里,且这两个程序块同一个扫描周期内只有一个满足条件执行,按照常规来讲,不满足执行条件的程序块是不被执行的,把这个程序块作为一个指令看待,则这条指令是不被执行的,那么在程序执行过程中,这个程序块里包含的所有指令是否被扫描呢?最终的结果会不会受到这个不被执行的程序块里的out指令的影响呢?我看到有的说法是,如果子程序执行条件不满足,就不执行,可以节省程序扫描时间,请大家一起讨论一下