在plc程序控制中,有時(shí)需要將運(yùn)算的中間結(jié)果進(jìn)行暫時(shí)存儲(chǔ),等到要用時(shí)再取出來(lái)使用,因此在PLC中有11個(gè)被稱為棧,存儲(chǔ)中間運(yùn)算結(jié)果的存儲(chǔ)器。使用MPS指令將程序運(yùn)算的中間結(jié)果壓入棧中的第一層,棧中原來(lái)的數(shù)據(jù)依次向下一層移動(dòng);使用MRD指令將棧中最上層的數(shù)據(jù)讀出,讀棧時(shí),數(shù)據(jù)不發(fā)生移動(dòng);使用MPP指令將存入棧中的數(shù)據(jù)向上一層移動(dòng)一次,并將最上層的數(shù)據(jù)取出。打個(gè)比方,進(jìn)棧好比手槍壓子彈,出棧好比退子彈,先進(jìn)的后出,后進(jìn)的先出如圖所示。
MPS與MPP指令必須成對(duì)使用,且連續(xù)使用不超過(guò)11次,圖是棧指令的使用說(shuō)明。
圖 棧指令的使用說(shuō)明
電路塊一與電路塊三需要用棧指令,而電路塊二是在OUT指令后,通過(guò)接點(diǎn)對(duì)其它線圈使用OUT指令稱為縱接輸出或連續(xù)輸出,這種連續(xù)輸出可以多次重復(fù)使用,如是順序改成電路塊一的順序,則必須使用棧指令,這時(shí)程序步會(huì)增多,因此在程序設(shè)計(jì)時(shí)要仔細(xì)斟酌。