久久精品人妻一区二区蜜桃-欧美精品人妻一区二区免费视频-久久精品免费一区二区喷潮-久久精品中文闷骚内射-精品bbw-精品久久无码中文字幕-小小水蜜桃3视频高清在线观看-日韩免费一级aaa片毛太久-欧美激情肉欲高潮无码鲁大师-欧美影片一区二区三区-亚洲精品无码av无码专区一本,波多野吉衣一区二区三区在线观看,囯精品人妻无码一区二区三区99,包哟哟在线观看免费观看

產(chǎn)品分類

當(dāng)前位置: 首頁 > 工業(yè)控制產(chǎn)品 > 自動(dòng)化控制 > PLC可編程控制器

類型分類:
科普知識(shí)
數(shù)據(jù)分類:
PLC可編程控制器

S7-200 PLC編譯過程中的邏輯堆棧指令操作詳細(xì)講解

發(fā)布日期:2022-04-26 點(diǎn)擊率:2789 品牌:組態(tài)王_Kingview

在梯形圖中沒有對(duì)應(yīng)的堆棧指令格式,但在將LAD指令轉(zhuǎn)化為STL指令的過程中,編譯系統(tǒng)軟件會(huì)自動(dòng)為L(zhǎng)AD指令加上相應(yīng)的堆棧指令。當(dāng)使用語句表時(shí),必須自己操作管理邏輯堆棧。堆棧操作從本質(zhì)上較好地解決了邏輯位值的與、或運(yùn)算問題,即控制電路的串、并聯(lián)問題。

    (1)棧裝載或(OLD,Or Load)指令

    棧裝載或指令對(duì)堆棧中第1層和第2層的值進(jìn)行邏輯或操作,結(jié)果放入棧頂。執(zhí)行完棧裝載或指令后,堆棧深度減1。

    棧裝載或指令又稱為邏輯塊“或”指令,用于串聯(lián)電路塊的并聯(lián)連接,無操作數(shù)。

    STL指令格式為:OLD。

    觸點(diǎn)的串并聯(lián)指令只能將單個(gè)觸點(diǎn)與別的觸點(diǎn)電路串并聯(lián)。要想將圖6-6中由13.2和T16的觸點(diǎn)組成的串聯(lián)電路與它上面的電路并聯(lián),首先需要完成兩個(gè)串聯(lián)電路塊內(nèi)部的“與”邏輯運(yùn)算(即觸點(diǎn)的串聯(lián)),這兩個(gè)電路塊都是用LD或LDN指令表示電路塊的起始觸點(diǎn)前兩條指令執(zhí)行完后,“與”運(yùn)算的結(jié)果SO= 11.4*10.3存放在棧頂,第3、4條指令執(zhí)行完后,“與”運(yùn)算的結(jié)果S1=13.2*T16壓人堆頂,原來在棧頂?shù)腟O被推到堆棧的第2層,第2層的數(shù)據(jù)被推到第3層……棧底的數(shù)據(jù)丟失。OLD指令用邏輯“或”操作對(duì)堆棧第1層和第2層的數(shù)據(jù)相“或”,即將兩個(gè)串聯(lián)電路塊并聯(lián),并將運(yùn)算結(jié)果S2=SO+S1存入堆棧的頂部,第3層~第9層中的數(shù)據(jù)依次向上移動(dòng)1位。

OLD指令不需要地址,它相當(dāng)于需并聯(lián)的兩塊電路右端的一段垂直連線。在圖6-7中,iVO到iV6表示堆棧的初值,x表示不確定的值,SO到S4表示堆棧中存儲(chǔ)的計(jì)算值。

    (2)棧裝載與(ALD,And Load)指令

    棧裝載與指令對(duì)堆棧中第1層和第2層的值進(jìn)行邏輯與操作,結(jié)果放入棧頂。執(zhí)行完棧裝載與指令后,堆棧深度減1。

    棧裝載與指令又稱為邏輯塊“與”指令,用于并聯(lián)電路塊的串聯(lián)連接,無操作數(shù)。

    STL指令格式為:ALD。

    圖6-6中OLD后面的兩條指令將兩個(gè)觸點(diǎn)并聯(lián),運(yùn)算結(jié)果S3:C24 +11.2壓入棧頂,棧中原來的數(shù)據(jù)依次向下一層推移,棧底值被推出丟失。ALD指令用邏輯“與”操作對(duì)堆棧第1層和第2層的數(shù)據(jù)相“與”,即將兩個(gè)電路塊串聯(lián),并將運(yùn)算結(jié)果S4=S2*S3存人堆棧的頂部,第3層一第9層中的數(shù)據(jù)依次向上移動(dòng)1位。

    將電路塊串并聯(lián)時(shí),每增加一個(gè)用LD或LDN指令開始的電路塊的運(yùn)算結(jié)果,堆棧中增加一個(gè)數(shù)據(jù),堆棧深度加1,每執(zhí)行一條ALD或OLD指令,堆棧深度減1。

    梯形圖和功能塊圖編輯器自動(dòng)地插入堆棧操作所需要的指令。在語句表中,必須有編程人員加入這些堆棧處理指令。

    ALD與OLD指令的堆棧操作如圖6-7所示。
(3)邏輯入棧(LPS,Logic Push)指令(分支或主控指令)

    復(fù)制棧頂?shù)闹挡⑵鋲喝攵褩5南乱粚樱瑮V性瓉淼臄?shù)據(jù)依次向下一層推移,棧底值被推出丟失。在梯形圖中的分支結(jié)構(gòu)中,用于生成一條新的母線,左側(cè)為主控邏輯塊時(shí),第一個(gè)完整的從邏輯行從此處開始。使用IPS指令時(shí),本指令為分支的開始,以后必須有分支結(jié)束指令LPP,即LPS與LPP指令必須成對(duì)出現(xiàn)。

    STL指令格式為:J_PS。

    (4)邏輯讀棧(LRD.Logic Read)指令

    將堆棧中第2層的數(shù)據(jù)復(fù)制到棧頂,第2層~第9層的數(shù)據(jù)不變,但原棧頂值消失。在梯形圖中的分支結(jié)構(gòu)中,當(dāng)左側(cè)為主控邏輯塊時(shí),開始第二個(gè)和后邊更多的從邏輯塊。

    STL指令格式為:LRD。

    (5)邏輯出棧(J-PP,Logic Pop)指令(分支結(jié)束或主控復(fù)位指令)

    使棧中各層的數(shù)據(jù)向上移動(dòng)一層,第2層的數(shù)據(jù)成為堆棧新的棧頂值,棧頂原來的數(shù)據(jù)從棧內(nèi)消失。在梯形圖中的分支結(jié)構(gòu)中,用于將LPS指令生成一條新的母線進(jìn)行恢復(fù)。使用LPP指令時(shí),必須出現(xiàn)在LPS的后面,與LPS成對(duì)出現(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在航

推薦產(chǎn)品

更多