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