當前位置: 首頁 > 工業(yè)控制產(chǎn)品 > 自動化控制 > PLC可編程控制器
發(fā)布日期:2022-04-26 點擊率:2707 品牌:組態(tài)王_Kingview
在梯形圖中沒有對應(yīng)的堆棧指令格式,但在將LAD指令轉(zhuǎn)化為STL指令的過程中,編譯系統(tǒng)軟件會自動為LAD指令加上相應(yīng)的堆棧指令。當使用語句表時,必須自己操作管理邏輯堆棧。堆棧操作從本質(zhì)上較好地解決了邏輯位值的與、或運算問題,即控制電路的串、并聯(lián)問題。
(1)棧裝載或(OLD,Or Load)指令
棧裝載或指令對堆棧中第1層和第2層的值進行邏輯或操作,結(jié)果放入棧頂。執(zhí)行完棧裝載或指令后,堆棧深度減1。
棧裝載或指令又稱為邏輯塊“或”指令,用于串聯(lián)電路塊的并聯(lián)連接,無操作數(shù)。
STL指令格式為:OLD。
觸點的串并聯(lián)指令只能將單個觸點與別的觸點電路串并聯(lián)。要想將圖6-6中由13.2和T16的觸點組成的串聯(lián)電路與它上面的電路并聯(lián),首先需要完成兩個串聯(lián)電路塊內(nèi)部的“與”邏輯運算(即觸點的串聯(lián)),這兩個電路塊都是用LD或LDN指令表示電路塊的起始觸點前兩條指令執(zhí)行完后,“與”運算的結(jié)果SO= 11.4*10.3存放在棧頂,第3、4條指令執(zhí)行完后,“與”運算的結(jié)果S1=13.2*T16壓人堆頂,原來在棧頂?shù)腟O被推到堆棧的第2層,第2層的數(shù)據(jù)被推到第3層……棧底的數(shù)據(jù)丟失。OLD指令用邏輯“或”操作對堆棧第1層和第2層的數(shù)據(jù)相“或”,即將兩個串聯(lián)電路塊并聯(lián),并將運算結(jié)果S2=SO+S1存入堆棧的頂部,第3層~第9層中的數(shù)據(jù)依次向上移動1位。
OLD指令不需要地址,它相當于需并聯(lián)的兩塊電路右端的一段垂直連線。在圖6-7中,iVO到iV6表示堆棧的初值,x表示不確定的值,SO到S4表示堆棧中存儲的計算值。
(2)棧裝載與(ALD,And Load)指令
棧裝載與指令對堆棧中第1層和第2層的值進行邏輯與操作,結(jié)果放入棧頂。執(zhí)行完棧裝載與指令后,堆棧深度減1。
棧裝載與指令又稱為邏輯塊“與”指令,用于并聯(lián)電路塊的串聯(lián)連接,無操作數(shù)。
STL指令格式為:ALD。
圖6-6中OLD后面的兩條指令將兩個觸點并聯(lián),運算結(jié)果S3:C24 +11.2壓入棧頂,棧中原來的數(shù)據(jù)依次向下一層推移,棧底值被推出丟失。ALD指令用邏輯“與”操作對堆棧第1層和第2層的數(shù)據(jù)相“與”,即將兩個電路塊串聯(lián),并將運算結(jié)果S4=S2*S3存人堆棧的頂部,第3層一第9層中的數(shù)據(jù)依次向上移動1位。
將電路塊串并聯(lián)時,每增加一個用LD或LDN指令開始的電路塊的運算結(jié)果,堆棧中增加一個數(shù)據(jù),堆棧深度加1,每執(zhí)行一條ALD或OLD指令,堆棧深度減1。
梯形圖和功能塊圖編輯器自動地插入堆棧操作所需要的指令。在語句表中,必須有編程人員加入這些堆棧處理指令。
ALD與OLD指令的堆棧操作如圖6-7所示。
(3)邏輯入棧(LPS,Logic Push)指令(分支或主控指令)
復(fù)制棧頂?shù)闹挡⑵鋲喝攵褩5南乱粚樱瑮V性瓉淼臄?shù)據(jù)依次向下一層推移,棧底值被推出丟失。在梯形圖中的分支結(jié)構(gòu)中,用于生成一條新的母線,左側(cè)為主控邏輯塊時,第一個完整的從邏輯行從此處開始。使用IPS指令時,本指令為分支的開始,以后必須有分支結(jié)束指令LPP,即LPS與LPP指令必須成對出現(xiàn)。
STL指令格式為:J_PS。
(4)邏輯讀棧(LRD.Logic Read)指令
將堆棧中第2層的數(shù)據(jù)復(fù)制到棧頂,第2層~第9層的數(shù)據(jù)不變,但原棧頂值消失。在梯形圖中的分支結(jié)構(gòu)中,當左側(cè)為主控邏輯塊時,開始第二個和后邊更多的從邏輯塊。
STL指令格式為:LRD。
(5)邏輯出棧(J-PP,Logic Pop)指令(分支結(jié)束或主控復(fù)位指令)
使棧中各層的數(shù)據(jù)向上移動一層,第2層的數(shù)據(jù)成為堆棧新的棧頂值,棧頂原來的數(shù)據(jù)從棧內(nèi)消失。在梯形圖中的分支結(jié)構(gòu)中,用于將LPS指令生成一條新的母線進行恢復(fù)。使用LPP指令時,必須出現(xiàn)在LPS的后面,與LPS成對出現(xiàn)。
STL指令格式為:LPP。
(6)裝載堆棧(LDS n,Load Stack)指令
復(fù)制堆棧內(nèi)第n層的值到棧頂,棧中原來的數(shù)據(jù)依次向下一層推移,棧底值被推出丟失。一般很少使用這條指令。
STL指令格式為:LDS N。
圖6-8中的例子說明了(3)~(6)堆棧指令的使用過程。
邏輯堆棧指令的應(yīng)用示例如圖6-9所示。
下一篇: PLC、DCS、FCS三大控
上一篇: MATLAB和Simulink在航