此程序是一个双稳态电路,即每按一下按钮(I0.0=1),其输出Q0.0将改变一次状态(如原Q0.0=0,按钮按下,使Q0.0由0↑1,如原Q0.0=1,按钮按下,使Q0.0由1↓0)。
按钮按下使I0.0由0↑1,这由0↑1瞬间即I0.0=1的前沿(又叫上升沿),它只存在发生上跳的这一扫描周期,下一个扫描周期它将不存在,见网络1,I0.0=1的前沿输出给M0.0,使M0.0=1,当下一个扫描周期到来,由于前沿不存在,故使M0.0=0,即M0.0=1也是只存在一个扫描周期。见下波形图:
程序动作分析:未按按钮前其Q0.0=0、M0.0=1、M0.1=0。
第1次按下按钮,使I0.0=1,其前沿输送给M0.0(见网络1),使M0.0=1,进入网络2,由于Q0.0=0,故不执行网络2,进入网络3:由于此时M0.1=0,M0.0=1,故使Q0.0=1。下一扫描到来,扫到网络1,由于M0.0=1的前沿已不存在,使M0.0=0,进入网络2,由于M0.0=0,故M0.1仍=0,进入网络3,此时,由于Q0.0=1,M0.1=0,使其输出Q0.0仍保持=1不变。之后只要不再按钮,以后的各个扫描周期都不会改变Q0.0=1的输出状态。
第2次按下按钮,使I0.0=1,其前沿输送给M0.0(见网络1),使M0.0=1,进入网络2,由于Q0.0=1,故使M0.1=1,进入网络3:由于此时M0.1=1,其常闭触点断开,故使Q0.0=0。以后的各个扫描周期,只要不再按按钮,其Q0.0=0、M0.0=1、M0.1=0的状态保持不变。即恢复启始状态。
如再按按钮,将重复第1次按钮动作。。。