假设,X20由OFF变为ON的这个扫描周期为第N个扫描周期。
第N个扫描周期:
第一行:M1为OFF,常开触点不通,X20上升沿通,输出M2不执行,M2为OFF。
第二行:X20上升沿通,M2常闭触点通,上面通了,下面就不用看了,输出M1执行,M1为ON。做到了启动。
第N+1个扫描周期:
第一行:M1为ON,常开触点通,X20上升沿已过,不通,输出M2不执行,M2为OFF。
第二行:X20上升沿不通,M2常闭触点通。下面M1常开触点通。总体还是通的,继续输出M1执行,M1为ON。做到了保持启动状态。
往后的扫描周期都与N+1的保持一致,直到X20再次由OFF变为ON的这个扫描周期,假设为第M个扫描周期。
第M个扫描周期:
第一行:M1为ON,常开触点通,X20上升沿通,输出M2执行,M2为ON。
第二行:X20上升沿通,M2常闭触点不通,不管下面M1通不通,这里都给断开了,因此输出M1不执行,M1为OFF。做到了停止。
第M+1个扫描周期:
第一行:M1为OFF,常开触点不通,X20上升沿已过,不通,输出M2不执行,M2为OFF。
第二行:X20上升沿不通,M2常闭触点通。下面M1常开不通。继续输出M1不执行,M1为OFF。做到了保持停止状态。回到了最初的状态。
因此这个就是X20按下,M1输出,X20再次按下,M1不输出,如此循环的一个单键启停程序。
个人观点,仅供参考。