特将15楼提到的“简单观察”摘来贴出,可作为16楼的一个解释。
1)在楼主程序(附图1、略)的基础上,可补充C1的计数程序、再加上对M120的观察来进行试验,增加部分的程序见附图2。PLC为台达ES2,编程软件WPLSoft。
运行程序,强制M607接通,通断X0使C1计数到K7时,Y0、Y1均未接通;至K23、K27、K29、K44时,Y0、Y1亦未接通。
从试验可看出,在FOR指令的循环体之外,M120是没有接通过的;那么,我们可以再来看看循环体内的情况。
2)在PLS指令之后,插入OUT M200、SET M300等进行观察,变动部分见附图3。
运行程序,强制M607接通,通断X0使C1计数到K7时,M200显示断开、M300接通,但M301、M302均未接通(当然M201、M202也未接通)。
M300的接通,说明M120曾接通过;但执行到下一条PLS M120指令时,由于其执行条件是断开的,故又使M120复位——这类同于《自学自会PLC指令——三菱FX2N编程技术及应用》所介绍的现象。
3)可以来看一个更简单的示例,参见附图4。
运行程序,接通X0一次,C10、D0的值各增加1,而M201、M301不接通;这与上面的结论是一致的,即:由于两次编程了PLS M120,M120未能接通一个扫描周期,而只是接通到下一个PLS M12指令为止。
因此,通过观察可知,台达ES2与三菱FX2N的PLS指令,情况有所不同;进一步试验可知,台达ES2多处编程的、同一软元件的PLS指令,能够单独输出,只与各自的执行条件有关。