程序运行分析:
1、 当第一次按钮:扫描由序号0开始询问判断:因X000此时由0↑1 ,即产生上跳前沿,此支路通导,判断结果使输出线圈M0=1,进入序号3的询问判断:先判断M0常开触点与Y000常闭触点串联支路,此时M0的常开触点闭合、而Y000常闭触点闭合,二者相与的结果=1,能流能通过该支路,接着再判断M0常闭触点与Y000常开触点串联支路,M0的常闭触点断开、Y000常开触点断开,二者相与的结果=0,能流也不能通过该支路,这2个支路为并联,能流仍可流入输出线圈,故输出线圈Y000=1。接着程序又从序号0开始进行第二次扫描判断:此时X000=1,但其由0↑1的上调过程已结束,即此支路不同,判断结果M0=0。进入序号3的询问判断:先判断M0常开触点与Y000常闭触点串联支路,此时M0的常开触点断开、而Y000常闭触点断开,二者相与的结果=0,再判断M0常闭触点与Y000常开触点串联支路,M0的常闭触点闭合、Y000常开触点闭合,二者相与的结果=1,故判断结果,能流可以通过M0常闭触点与Y000常开触点串联支路流入线圈,故输出线圈Y000=1。。。以后的各次扫描,包括按钮抬起,只要没有再次按钮,判断结果与第二次扫描结果一样,即输出线圈Y000保持=1状态。
2、当第二次按钮:扫描又从序号0开始询问判断X000时,因X000此时由0↑1 ,即产生上跳前沿,此支路通导,判断结果使输出线圈M0=1,进入序号3的询问判断:先判断M0常开触点与Y000常闭触点串联支路,此时M0的常开触点闭合、而Y000常闭触点断开,二者相与的结果=0,能流能通过该支路,接着再判断M0常闭触点与Y000常开触点串联支路,M0的常闭触点断开、Y000常开触点闭合,二者相与的结果=0,即能流不能通过这2支路,流入线圈,故输出线圈Q0.0=0。接着程序又从序号0开始进行第二次扫描判断:此时X000=1,但其由0↑1的上调过程已结束,即此支路不同,判断结果M0=0。进入序号3的询问判断:先判断M0常开触点与Y000常闭触点串联支路,此时M0的常开触点断开、而Y000常闭触点闭合,二者相与的结果=0,再判断M0常闭触点与Y000常开触点串联支路,M0的常闭触点闭合、Y000常开触点断开,二者相与的结果=0,故判断结果能流不能通过线圈,即Y000=0。程序回复初始状态,
当第三次按按钮,其输出同第一次按钮输出。即Y000=1,当第四次按按钮,其输出同第二次按钮输出。即Y000=0。。即每按一次按钮,其输出Y000将改变一次输出状态。
回复内容:
对:wyb2866255---王者之师关于程序运行分析: 1、 当第一次按钮:扫描由序号0开始询问判断:因X000此时由0↑1 ,即产生上跳前沿,此支路通导,判断结果使输出线圈M0=1,进入序号3的询问判断:先判断M0常开触点与Y000常闭触点串联支路,此时M0的常开触点闭合、而Y000常闭触点闭合,二者相与的结果=1,能流能通过该支路,接着再判断M0常闭触点与Y000常开触点串联支路,M0的常闭触点断开、Y000常开触点断开,二者相与的结果=0,能流也不能通过该支路,这2个支路为并联,能流仍可流入输出线圈,故输出线圈Y000=1。接着程序又从序号0开始进行第二次扫描判断:此时X000=1,但其由0↑1的上调过程已结束,即此支路不同,判断结果M0=0。进入序号3的询问判断:先判断M0常开触点与Y000常闭触点串联支路,此时M0的常开触点断开、而Y000常闭触点断开,二者相与的结果=0,再判断M0常闭触点与Y000常开触点串联支路,M0的常闭触点闭合、Y000常开触点闭合,二者相与的结果=1,故判断结果,能流可以通过M0常闭触点与Y000常开触点串联支路流入线圈,故输出线圈Y000=1。。。以后的各次扫描,包括按钮抬起,只要没有再次按钮,判断结果与第二次扫描结果一样,即输出线圈Y000保持=1状态。内容的回复:
多谢帮忙。
1、 当第一次按钮:扫描由序号0开始询问判断:因X000此时由0↑1 ,即产生上跳前沿,此支路通导,判断结果使输出线圈M0=1,进入序号3的询问判断:先判断M0常开触点与Y000常闭触点串联支路,此时M0的常开触点闭合、而Y000常闭触点闭合,二者相与的结果=1,能流能通过该支路,接着再判断M0常闭触点与Y000常开触点串联支路,M0的常闭触点断开、Y000常开触点断开,二者相与的结果=0,能流也不能通过该支路,这2个支路为并联,能流仍可流入输出线圈,故输出线圈Y000=1
序号3的询问Y0为1【但此时与M0相与的Y0常闭 【不是有断开了】下一行虽是相或 【但Y0为1时 把自身的常闭有断开了】
在一个周期内Y0的状态不影响自身的触点?
PLC询问判断的原则是:1、在一个扫描周期里,程序总是从第一个语句中的第一个指令开始询问、判断。2、如判断语句只有一路串联支路,应先判断各串联的触点变量的状态,只有各个触点变量皆为闭合时,能流方可通过输出线圈,即输出为1。如如有二路以上串联支路并联再输出,应先一路一路判断各并联的各个支路是否通导,判断后将各判断结果相或,或的结果决定输出状态,即只要有一路通导,能流就可流到输出线圈。
序号3的询问Y0为1【但此时与M0相与的Y0常闭 【不是有断开了】下一行虽是相或 【但Y0为1时 把自身的常闭有断开了】 的回复:在第一次按钮未按前,Y000=0,即Y000的常开触点断开,而它的常闭触点是闭合的。 当第一次按钮:扫描由序号0开始询问判断:因X000此时由0↑1 ,即产生上跳前沿,此支路通导,判断结果使输出线圈M0=1,进入序号3的询问判断:先判断M0常开触点与Y000常闭触点串联支路,由于序号0使M0=1,故此时M0常开触点闭合,而Y000常闭触点是闭合的,故此支路通导,接着再判断M0常闭触点与Y000常开触点串联支路:M0常闭触点断开,而Y000常开触点也断开,此支路为断开,这二支路并联,相或的结果,能流可以通过,使输出线圈Y000由0变1,即从此时刻起Y000=1。
第二个扫描周期,序号0因X000的上升沿已过,故使M0=0,进入序号3,先判断M0常开触点与Y000常闭触点串联支路,由于序号0使M0=0,故此时M0常开触点断开,而Y000常闭触点是断开的(因第一次扫描使Y000=1),故此支路不通导,接着再判断M0常闭触点与Y000常开触点串联支路:M0常闭触点闭合,而Y000常开触点闭合(因第一次扫描使Y000=1),此支路为通导,这二支路并联,相或的结果,能流仍可以通过,即输出线圈Y000仍=1。在以后的各个扫描周期(包括按钮抬起,即X000=0),只要没再次按钮,扫描判断的结果与第二次扫描一样,即Y000=1。