第3章 PLC程序設(shè)計(jì)基礎(chǔ)_第1頁(yè)
第3章 PLC程序設(shè)計(jì)基礎(chǔ)_第2頁(yè)
第3章 PLC程序設(shè)計(jì)基礎(chǔ)_第3頁(yè)
第3章 PLC程序設(shè)計(jì)基礎(chǔ)_第4頁(yè)
第3章 PLC程序設(shè)計(jì)基礎(chǔ)_第5頁(yè)
已閱讀5頁(yè),還剩76頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第3章PLC程序設(shè)計(jì)基礎(chǔ)3.1PLC的編程語(yǔ)言與程序結(jié)構(gòu)3.2存儲(chǔ)器的數(shù)據(jù)類型與尋址3.3位編輯指令3.4定時(shí)器與計(jì)數(shù)器指令1/14/20231本章重點(diǎn)熟悉PLC存儲(chǔ)器的數(shù)據(jù)類型和尋址方式;熟練掌握PLC的位邏輯指令;熟練掌握PLC的定時(shí)器與計(jì)數(shù)器指令;難點(diǎn):堆棧指令的使用。包括分支與分支結(jié)束;觸點(diǎn)組指令等。1/14/20232作業(yè)P441~45~67~9P4510~121/14/202333.1PLC的編程語(yǔ)言與程序結(jié)構(gòu)3.1.1PLC編程語(yǔ)言的國(guó)際標(biāo)準(zhǔn)

與個(gè)人計(jì)算機(jī)相比,PLC的硬件、軟件的體系結(jié)構(gòu)都是封閉的而不是開放的。各廠家的PLC的編程語(yǔ)言和指令系統(tǒng)的功能和表達(dá)方式也不一致。有的甚至有相當(dāng)大的差異,因此各廠家的PLC互不兼容。1/14/20234

IEC(國(guó)際電工委員會(huì))是為電子技術(shù)的所有領(lǐng)域制定全球標(biāo)準(zhǔn)的世界性組織。IEC于1994年5月公布了PLC標(biāo)準(zhǔn)(IEC61131),該標(biāo)準(zhǔn)鼓勵(lì)不同的PLC制造商提供在外形和操作上相似的指令。

1/14/202353.1.1可編程序控制器編程語(yǔ)言的國(guó)際標(biāo)準(zhǔn)

組成:通用信息,設(shè)備與測(cè)試要求,編程語(yǔ)言,用戶指南和通信。

其中,編程語(yǔ)言標(biāo)準(zhǔn)。(IECll31-3)

(1)順序功能圖(SequentialFunctionChart)。(2)梯形圖(LadderDiagram)。(3)功能塊圖(FunctionBlockDiagram)。(4)指令表(Inst~ctionList)。(5)結(jié)構(gòu)文本(structuredText)1/14/20236

標(biāo)準(zhǔn)中由兩種圖形語(yǔ)言—梯形圖(LD)和功能圖塊(FBD);

兩種語(yǔ)言文字—指令表(IL)和結(jié)構(gòu)文本(ST)。可以認(rèn)為,順序功能圖塊(SFC)是一種結(jié)構(gòu)塊控制程序流程圖。

1/14/202371順序功能圖(SFC)這是一種位于其他編程語(yǔ)言之上的圖形語(yǔ)言,用來編制順序控制程序。

順序功能圖提供了一種組織程序的圖形方法,在順序功能圖中可以用別的語(yǔ)言嵌套編程。步、轉(zhuǎn)換和動(dòng)作是順序功能圖中的三種主要元件??梢杂庙樞蚬δ軋D來描述系統(tǒng)的功能。

1/14/202382梯形圖(LAD)

組成:由觸點(diǎn)、線圈和用方框表示的功能塊。(圖3-3)

特點(diǎn):1)沿用繼電器這一名稱,但不是真實(shí)繼電器,而是軟件中編程元件。

2)假想的“能流”(POWeYFlow),從左向右流動(dòng)。3)邏輯運(yùn)算,從左至右,從上至下。

4)線圈放在最右邊,觸點(diǎn)可無限次使用。1/14/202391/14/2023103功能塊圖(FBD)

圖3-4功能塊圖1/14/2023114語(yǔ)句表(STL)

指令表程序:一種與微機(jī)的匯編語(yǔ)言中的指令相似的助記符表達(dá)式。指令表(語(yǔ)句表)程序1/14/2023125結(jié)構(gòu)文本(ST)

結(jié)構(gòu)文本(ST)是為IECll31—3標(biāo)準(zhǔn)創(chuàng)建的一種專用的高級(jí)編程語(yǔ)言。

與梯形圖相比,它能實(shí)現(xiàn)復(fù)雜的數(shù)學(xué)運(yùn)算,編寫的程序非常簡(jiǎn)潔和緊湊。

1/14/2023133.1.2PLC的程序結(jié)構(gòu)

S7-200CPU地控制程序由主程序、子程序和中斷程序組成。

1、(OB1)

主程序是程序的主體,每一個(gè)項(xiàng)目都必須并且只能有一個(gè)主程序。在主程序中可以調(diào)用子程序。1/14/202314如果編程使用的是手編器,主程序應(yīng)安排到程序的最前面。其他部分的位置安排沒有嚴(yán)格的順序,但習(xí)慣上把子程序安排在中斷程序的前面。如圖3.5所示。圖3-5PLC的程序結(jié)構(gòu)1/14/2023152、子程序

子程序是一個(gè)可選的指令的集合,僅在被其它程序調(diào)用時(shí)執(zhí)行;

同一個(gè)子程序可以用在不同的地方被多次調(diào)用;使用子程序可以簡(jiǎn)化程序代碼和簡(jiǎn)化掃描時(shí)間;

設(shè)計(jì)得好的子程序容易移植到別的項(xiàng)目中去。1/14/2023163、中斷程序

中斷程序是指令的一個(gè)可選集合,中斷程序不是被主程序調(diào)用,它們?cè)谥袛嗍录l(fā)生時(shí)由PLC的操作系統(tǒng)調(diào)用;

中斷程序用來處理預(yù)先規(guī)定的中斷事件,因?yàn)椴荒茴A(yù)知何時(shí)會(huì)出現(xiàn)中斷事件,所以不允許程序改寫可能在其它程序中使用的存儲(chǔ)器。1/14/2023173.2存儲(chǔ)器的數(shù)據(jù)類型與尋址方式

3.2.1數(shù)據(jù)在存儲(chǔ)器中存取的方式

1、位、字節(jié)、字和雙字

位(bit):二進(jìn)制數(shù)的1位只有O和1兩種不同的取值。字節(jié)(Byte):8位二進(jìn)制數(shù)組成1個(gè)字節(jié)。

字(Word):兩個(gè)字節(jié)。雙字(DoubleWord):兩個(gè)字。

1/14/2023182、數(shù)據(jù)的存取方式

位存儲(chǔ)單元的地址由字節(jié)地址和位地址組成,如I3.2,其中的區(qū)域標(biāo)志符“I”表示輸入,字節(jié)地址為3,位地址為2。

輸入字節(jié)IB3(Byte)由I3.0~I3.7這8位組成。

相鄰的兩個(gè)字節(jié)組成一個(gè)字,VW100表示VB100~VB101組成的一個(gè)字,V為區(qū)域標(biāo)志符,W表示字,100為起始字節(jié)的地址。

VD100表示由VB100~VB103組成的雙字,D(Doubleword)1/14/202319示例:I3.2IB3(圖3-5)

1/14/202320VBl00VWl00VDl00(見圖3-6)。1/14/2023213.2.2CPU的存儲(chǔ)區(qū)1輸入映像寄存器(I)

PLC的輸入端子是從外部接收輸入信號(hào)的窗口。每一個(gè)輸入端子與輸入映像寄存器(I)的相應(yīng)位相對(duì)應(yīng)。輸入點(diǎn)的狀態(tài),在每次掃描周期開始(或結(jié)束)時(shí)進(jìn)行采樣,并將采樣值存于輸入映像寄存器,作為程序處理時(shí)輸入點(diǎn)狀態(tài)的依據(jù)。輸入映像寄存器的狀態(tài)只能由外部輸入信號(hào)驅(qū)動(dòng),而不能在內(nèi)部由程序指令來改變。

輸入映像寄存器(I)的地址格式為:

位地址:I[字節(jié)地址].[位地址],如I0.1。

字節(jié)、字、雙字地址:I[數(shù)據(jù)長(zhǎng)度][起始字節(jié)地址],如IB4、IW6、ID10。

CPU226模塊輸入映像寄存器的有效地址范圍為:I(0.0~15.7);IB(0~15);IW(0~14);ID(0~12)。

1/14/202322

②輸出映像寄存器(Q)

每一個(gè)輸出模塊的端子與輸出映像寄存器的相應(yīng)位相對(duì)應(yīng)。CPU將輸出判斷結(jié)果存放在輸出映像寄存器中,在掃描周期的結(jié)尾,CPU以批處理方式將輸出映像寄存器的數(shù)值復(fù)制到相應(yīng)的輸出端子上。通過輸出模塊將輸出信號(hào)傳送給外部負(fù)載。

輸出映像寄存器(Q)地址格式為:位地址:Q[字節(jié)地址].[位地址],如Q1.1字節(jié)、字、雙字地址:Q[數(shù)據(jù)長(zhǎng)度][起始字節(jié)地址],如QB5、QW8、QD11。

CPU226模塊輸出映像寄存器的有效地址范圍為:Q(0.0~15.7);QB(0~15);QW(0~14);QD(0~12)。1/14/202323

在程序的執(zhí)行過程中,對(duì)于輸入或輸出的存取通常是通過映像寄存器,而不是實(shí)際的輸入、輸出端子。S7-200CPU執(zhí)行有關(guān)輸入輸出程序時(shí)的操作過程如圖所示。1/14/202324(3)變量存儲(chǔ)器(V)

變量存儲(chǔ)器(V)存放全局變量、存放程序執(zhí)行過程中控制邏輯操作的中間結(jié)果或其他相關(guān)的數(shù)據(jù)。變量存儲(chǔ)器是全局有效。全局有效是指同一個(gè)存儲(chǔ)器可以在任一程序分區(qū)(主程序、子程序、中斷程序)被訪問。

V存儲(chǔ)器的地址格式為:位地址:V[字節(jié)地址].[位地址],如V10.2。字節(jié)、字、雙字地址:V[數(shù)據(jù)長(zhǎng)度][起始字節(jié)地址],如VB20、VW100、VD320。

CPU226模塊變量存儲(chǔ)器的有效地址范圍為:V(0.0~5119.7);VB(0~5119);VW(0~5118);VD(0~5116)。

1/14/202325(4)位存儲(chǔ)區(qū)(M)內(nèi)部標(biāo)志位存儲(chǔ)器(M)

內(nèi)部標(biāo)志位存儲(chǔ)器(M)也稱內(nèi)部線圈,是模擬繼電器控制系統(tǒng)中的中間繼電器,它存放中間操作狀態(tài),或存儲(chǔ)其他相關(guān)的數(shù)據(jù)。內(nèi)部標(biāo)志位存儲(chǔ)器(M)以位為單位使用,也可以字節(jié)、字、雙字為單位使用。

內(nèi)部標(biāo)志位存儲(chǔ)器(M)的地址格式為:位地址:M[字節(jié)地址].[位地址],如M26.7。字節(jié)、字、雙字地址:M[數(shù)據(jù)長(zhǎng)度][起始字節(jié)地址],如MB11、MW23、MD26。

CPU226模塊內(nèi)部標(biāo)志位存儲(chǔ)器的有效地址范圍為:M(0.0~31.7);MB(0~31);MW(0~30);MD(0~28)。1/14/202326(5)定時(shí)器存儲(chǔ)器(T)

定時(shí)器是模擬繼電器控制系統(tǒng)中的時(shí)間繼電器。S7-200PLC定時(shí)器的時(shí)基有三種:1ms、10ms、100ms。通常定時(shí)器的設(shè)定值由程序賦予,需要時(shí)也可在外部設(shè)定。

定時(shí)器存儲(chǔ)器地址表示格式為:T[定時(shí)器號(hào)],如T24。

S7-200PLC定時(shí)器存儲(chǔ)器的有效地址范圍為:T(0~255)。1/14/202327(6)計(jì)數(shù)器存儲(chǔ)器(C)

計(jì)數(shù)器是累計(jì)其計(jì)數(shù)輸入端脈沖電平由低到高的次數(shù),有三種類型:增計(jì)數(shù)、減計(jì)數(shù)、增減計(jì)數(shù)。通常計(jì)數(shù)器的設(shè)定值由程序賦予,需要時(shí)也可在外部設(shè)定。

計(jì)數(shù)器存儲(chǔ)器地址表示格式為:C[計(jì)數(shù)器號(hào)],如C3。

S7-200PLC計(jì)數(shù)器存儲(chǔ)器的有效地址范圍為:C(0~255)。

1/14/202328(7)高速計(jì)數(shù)器(HC)

高速計(jì)數(shù)器用來累計(jì)高速脈沖信號(hào)。當(dāng)高速脈沖信號(hào)的頻率比CPU掃描速率更快時(shí),必須要用高速計(jì)數(shù)器計(jì)數(shù)。高速計(jì)數(shù)器的當(dāng)前值寄存器為32位(bit),讀取高速計(jì)數(shù)器當(dāng)前值應(yīng)以雙字(32位)來尋址。高速計(jì)數(shù)器的當(dāng)前值為只讀值。

高速計(jì)數(shù)器地址格式為:HC[高速計(jì)數(shù)器號(hào)],如HC1。

CPU226模塊高速計(jì)數(shù)器的有效地址范圍為:HC(0~5)。1/14/202329(8)累加器(AC)

累加器是用來暫時(shí)存儲(chǔ)計(jì)算中間值的存儲(chǔ)器,也可向子程序傳遞參數(shù)或返回參數(shù)。S7-200CPU提供了4個(gè)32位累加器(AC0、AC1、AC2、AC3)。

累加器的地址格式為:AC[累加器號(hào)],如AC0。

CPU226模塊累加器的有效地址范圍為:AC(0~3)。

累加器是可讀寫單元,可以按字節(jié)、字、雙字存取累加器中的數(shù)值。由指令標(biāo)識(shí)符決定存取數(shù)據(jù)的長(zhǎng)度,例如,MOVB指令存取累加器的字節(jié),DECW指令存取累加器的字,INCD指令存取累加器的雙字。按字節(jié)、字存取時(shí),累加器只存取存儲(chǔ)器中數(shù)據(jù)的低8位、低16位;以雙字存取時(shí),則存取存儲(chǔ)器的32位。1/14/202330(9)特殊標(biāo)志位存儲(chǔ)器(SM)

特殊標(biāo)志位(SM)即特殊內(nèi)部線圈。它是用戶程序與系統(tǒng)程序之間的界面,為用戶提供一些特殊的控制功能及系統(tǒng)信息,用戶對(duì)操作的一些特殊要求也通過特殊標(biāo)志位(SM)通知系統(tǒng)。特殊標(biāo)志位區(qū)域分為只讀區(qū)域(SM0.0~SM29.7,頭30個(gè)字節(jié)為只讀區(qū))和可讀寫區(qū)域,在只讀區(qū)特殊標(biāo)志位,用戶只能利用其觸點(diǎn)。

特殊標(biāo)志位存儲(chǔ)器(SM)的地址表示格式為:位地址:SM[字節(jié)地址].[位地址],如SM0.1。字節(jié)、字、雙字地址:SM[數(shù)據(jù)長(zhǎng)度][起始字節(jié)地址],如SMB86、SMW100、SMD12。

CPU226模塊特殊標(biāo)志位存儲(chǔ)器的有效地址范圍為:SM(0.0~549.7);SMB(0~549);SMW(0~548);SMD(0~546)。1/14/202331(10)局部存儲(chǔ)器(L)

局部存儲(chǔ)器用來存放局部變量。局部存儲(chǔ)器是局部有效的。局部有效是指某一局部存儲(chǔ)器只能在某一程序分區(qū)(主程序或子程序或中斷程序)中使用。S7-200PLC提供64個(gè)字節(jié)局部存儲(chǔ)器,局部存儲(chǔ)器可用作暫時(shí)存儲(chǔ)器或?yàn)樽映绦騻鬟f參數(shù)??梢园次?、字節(jié)、字、雙字訪問局部存儲(chǔ)器??梢园丫植看鎯?chǔ)器作為間接尋址的指針,但是不能作為間接尋址的存儲(chǔ)器區(qū)。

局部存儲(chǔ)器(L)的地址格式為:位地址:L[字節(jié)地址].[位地址],如L0.0。字節(jié)、字、雙字地址:L[數(shù)據(jù)長(zhǎng)度][起始字節(jié)地址],如LB33、LW44、LD55。

CPU226模塊局部存儲(chǔ)器的有效地址范圍為:L(0.0~63.7);LB(0~63);LW(0~62);LD(0~60)。

1/14/202332(11)模擬量輸入映像寄存器(AI)

模擬量輸入模塊將外部輸入的模擬信號(hào)的模擬量轉(zhuǎn)換成1個(gè)字長(zhǎng)的數(shù)字量,存放在模擬量輸入映像寄存器(AI)中,供CPU運(yùn)算處理。模擬量輸入(AI)的值為只讀值。

模擬量輸入映像寄存器(AI)的地址格式為:AIW[起始字節(jié)地址],如AIW4。模擬量輸入映像寄存器(AI)的地址必須用偶數(shù)字節(jié)地址(如AIW0,AIW2,AIW4…)來表示。

CPU226模塊模擬量輸入映像寄存器(AI)的有效地址的范圍為:AIW(0~62)。

1/14/202333(12)模擬量輸出映像寄存器(AQ)

CPU運(yùn)算的相關(guān)結(jié)果存放在模擬量輸出映像寄存器(AQ)中,供D/A轉(zhuǎn)換器將1個(gè)字長(zhǎng)的數(shù)字量轉(zhuǎn)換為模擬量,以驅(qū)動(dòng)外部模擬量控制的設(shè)備。模擬量輸出映像寄存器(AQ)中的數(shù)字量為只寫值。

模擬量輸出映像寄存器(AQ)的地址格式為:AQW[起始字節(jié)地址],如AQW10。模擬量輸出映像寄存器(AQ)的地址必須用偶數(shù)字節(jié)地址(如AQW0,AQW2,AQW4…)來表示。

CPU226模塊模擬量輸出映像寄存器(AQ)的有效地址的范圍為:AQW(0~62)。

1/14/202334(13)順序控制繼電器存儲(chǔ)器(S)

順序控制繼電器(S)用于順序控制(或步進(jìn)控制)。順序控制繼電器指令(SCR)基于順序功能圖(SFC)的編程方式。SCR指令提供控制程序的邏輯分段,從而實(shí)現(xiàn)順序控制。

順序控制繼電器存儲(chǔ)器(S)的地址格式為:位地址:S[字節(jié)地址].[位地址],如S3.1。字節(jié)、字、雙字地址:S[數(shù)據(jù)長(zhǎng)度][起始字節(jié)地址],如SB4、SW10、SD21。

CPU226模塊順序控制繼電器存儲(chǔ)器的有效地址范圍為:S(0.0~31.7);SB(0~31);SW(0~30);SD(0~28)。

1/14/2023353.2.3直接尋址與間接尋址

指令中如何提供操作數(shù)或操作數(shù)地址,稱為尋址方式。S7-200PLC的尋址方式有:立即尋址、直接尋址、間接尋址。

1直接尋址

直接尋址方式是,指令直接使用存儲(chǔ)器或寄存器的元件名稱和地址編號(hào),根據(jù)這個(gè)地址就可以立即找到該數(shù)據(jù)。操作數(shù)的地址應(yīng)按規(guī)定的格式表示。指令中,數(shù)據(jù)類型應(yīng)與指令標(biāo)識(shí)符相匹配。不同數(shù)據(jù)長(zhǎng)度的尋址指令舉例如下:位尋址:ANDQ5.5字節(jié)尋址:ORBVB33,LB21字尋址:MOVWAC0,AQW2雙字尋址:MOVDAC1,VD200

1/14/2023362間接尋址間接尋址方式是,指令給出了存放操作數(shù)地址的存儲(chǔ)單元的地址(也稱地址指針)??勺鳛榈刂分羔樀拇鎯?chǔ)器有:V、L、AC(1~3)可間接尋址的存儲(chǔ)器區(qū)域有:I、Q、V、M、S、T(僅當(dāng)前值)、C(僅當(dāng)前值)。對(duì)獨(dú)立的位(BIT)值或模擬量值不能進(jìn)行間接尋址。(1)建立指針

間接尋址前,應(yīng)先建立指針。指針為雙字長(zhǎng),是所要訪問的存儲(chǔ)單元(最大為雙字型32位)的物理地址。只能使用變量存儲(chǔ)器(V)、局部存儲(chǔ)器(L)或累加器(AC1、AC2、AC3)作為指針,AC0不能用作間接尋址的指針。1/14/202337將所要訪問的存儲(chǔ)器單元的地址裝入用來作為指針的存儲(chǔ)器單元或寄存器,裝入的是地址而不是數(shù)據(jù)本身,格式如下:MOVD&VB200,AC1“&”為地址符號(hào),與單元組合表示所對(duì)應(yīng)單元的32位物理地址,VB200只是一個(gè)直接地址編碼,并不是它的物理地址。指令中的第二個(gè)地址數(shù)據(jù)長(zhǎng)度必須是雙字長(zhǎng),如:AC、LD和VD。這里地址“VB200”要用32位表示,因而必須使用雙字傳送指令(MOVD)。指令中的&VB200如果改為&VW200或&VD200效果完全相同。因?yàn)榫唧w的尋址范圍取決于隨后的間接存取指令類型。1/14/2023383、用指針存取數(shù)據(jù)

依據(jù)指針中的內(nèi)容值作為地址存取數(shù)據(jù)。使用指針可存取字節(jié)、字、雙字型的數(shù)據(jù),下面兩條指令是建立指針和間接存取的應(yīng)用方法:MOVD&VB200,AC1MOVW*AC1,AC0

執(zhí)行指令MOVW*AC1,AC0,把指針中的內(nèi)容值(VB200)作為地址,由于指令MOVW的標(biāo)識(shí)符是“W”,因而指令操作數(shù)的數(shù)據(jù)長(zhǎng)度應(yīng)是字型,把地址VB200、VB201處2個(gè)字節(jié)的內(nèi)容(1234)傳送到AC0。指針處的值(即1234),為字型數(shù)據(jù),如圖3-8所示,操作數(shù)(AC1)前面的“*”號(hào)表示該操作數(shù)(AC1)為指針。

1/14/2023391/14/2023404、修改指針

存取連續(xù)地址的存儲(chǔ)單元中數(shù)據(jù)時(shí),通過修改指針可以非常方便地存取數(shù)據(jù)。在S7-200PLC中,指針的內(nèi)容不會(huì)自動(dòng)改變,可用自增或自減等指令修改指針值。這樣就可連續(xù)地存取存儲(chǔ)單元中的數(shù)據(jù)。圖3-8中,用兩次自增指令I(lǐng)NCDAC1,將AC1指針中的值(VB200)修改為VB202后,指針即指向新地址VB202。執(zhí)行指令MOVW*AC1,AC0,這樣就可在變量存儲(chǔ)器(V)中連續(xù)地存取數(shù)據(jù),將VB202、VB203二個(gè)字節(jié)的數(shù)據(jù)(5678)傳送到AC0。

1/14/202341圖3-8修改指針

把指針增加兩次,指向下一個(gè)字把AC1(VW202)所指向的字?jǐn)?shù)值送到AC0

修改指針值時(shí),應(yīng)根據(jù)存取的數(shù)據(jù)長(zhǎng)度來進(jìn)行調(diào)整。若對(duì)字節(jié)進(jìn)行存取,指針值加1(或減1);若對(duì)字進(jìn)行存取、或?qū)Χ〞r(shí)器、計(jì)數(shù)器的當(dāng)前值進(jìn)行存取,指針值加2(或減2);若對(duì)雙字進(jìn)行存取,則指針值加4(或減4)。圖3-8中,存取的數(shù)據(jù)長(zhǎng)度是字型數(shù)據(jù),因而指針值加2。

1/14/2023423.3位邏輯指令

3.3.1觸點(diǎn)指令1.標(biāo)準(zhǔn)觸點(diǎn)指令

LD(Load裝載)、A(And,與)和O(Or,或)。

1/14/202343(1)LD:裝入常開觸點(diǎn)(LoaD)(2)LDN:裝入常閉觸點(diǎn)(LoaDNot)(3)A:與常開觸點(diǎn)(And)(4)AN:與常閉觸點(diǎn)(AndNot)。

(5)O:或常開觸點(diǎn)(Or)(6)ON:或常閉觸點(diǎn)(OrNot)(7)NOT:觸點(diǎn)取非(輸出反相)(8)=:輸出指令

1/14/2023441、這些指令對(duì)存儲(chǔ)器位在邏輯堆棧中進(jìn)行操作。2、由于堆棧存儲(chǔ)單元數(shù)的限制,語(yǔ)句表中A、O、AN、ON指令最多可以連用有限次。同樣,梯形圖中,最多一次串聯(lián)或并聯(lián)的觸點(diǎn)數(shù)也有一定限制,功能框圖中AND和OR指令盒中輸入的個(gè)數(shù)也不能超過這個(gè)范圍如A指令,即串聯(lián)一個(gè)常開觸點(diǎn)。由于堆棧存儲(chǔ)器數(shù)量的限制,梯形圖中,一次最多可以有七個(gè)常開觸點(diǎn)串聯(lián)。3、標(biāo)準(zhǔn)觸點(diǎn)指令中如果有操作數(shù),則為BOOL型,操作數(shù)的編址范圍可以是:I、Q、M、SM、T、C、S、V、L。1/14/2023452.堆棧的基本概念

邏輯堆棧結(jié)構(gòu)是由九個(gè)堆棧存儲(chǔ)器位組成的串聯(lián)堆棧,棧頂是布爾型數(shù)據(jù)進(jìn)出堆棧的必由之路。進(jìn)棧時(shí),數(shù)據(jù)由棧頂壓入,堆棧中原來所存的數(shù)據(jù)被串行下移一格,如果原來STACK(堆疊)8中存有數(shù)據(jù),則這數(shù)據(jù)被推出堆棧而自動(dòng)丟失。出棧時(shí),數(shù)據(jù)從棧頂被取出,所有數(shù)據(jù)串行上移一格,STACK8中隨機(jī)地裝入一個(gè)數(shù)值。S7—200有1個(gè)9位的堆棧,棧頂用來存儲(chǔ)邏輯運(yùn)算的結(jié)果.下面的8位用來存儲(chǔ)中間運(yùn)算結(jié)果。堆棧中的數(shù)據(jù)一般按“先進(jìn)后出”的原則存取。堆棧結(jié)構(gòu)名稱說明S0STACK0第一個(gè)堆棧

S1STACK1第二個(gè)堆棧S2STACK2第三個(gè)堆棧S3STACK3第四個(gè)堆棧S4STACK4第五個(gè)堆棧S5STACK5第六個(gè)堆棧S6STACK6第七個(gè)堆棧S7STACK7第八個(gè)堆棧S8STACK8第九個(gè)堆棧1/14/202346棧頂STACK0在此邏輯堆棧的位運(yùn)算中兼有累加器的作用,存放第一操作數(shù)。對(duì)于簡(jiǎn)單邏輯指令,通常是進(jìn)棧操作和一些最簡(jiǎn)單的位運(yùn)算,這些運(yùn)算是棧頂與第二個(gè)堆棧的內(nèi)容進(jìn)行與、或、非等邏輯運(yùn)算。對(duì)于復(fù)雜指令,可以是堆棧中的其他數(shù)據(jù)位直接進(jìn)行運(yùn)算,結(jié)果經(jīng)棧頂彈出。

1/14/2023473OLD(0rLoad)指令

串聯(lián)電路塊的并聯(lián)連接。棧裝載或指令(或塊)。用于將串聯(lián)電路塊進(jìn)行并聯(lián)連接。執(zhí)行OLD指令,將堆棧中的第一級(jí)和第二級(jí)的值進(jìn)行邏輯“或”操作,結(jié)果置于棧頂(堆棧第一級(jí)),并將堆棧中其余各級(jí)的內(nèi)容依次上彈一級(jí)。OLD指令不需要地址,它相當(dāng)于需并聯(lián)的兩塊電路右端的一段垂直連線。

4ALD(AndLoad)指令棧裝載與指令(與塊)。用于將并聯(lián)電路塊進(jìn)行串聯(lián)連接。如圖3-9。ALD執(zhí)行ALD指令,將堆棧中的第一級(jí)和第二級(jí)的值進(jìn)行邏輯“與”操作,結(jié)果置于棧頂(堆棧第一級(jí)),并將堆棧中的第三級(jí)至第九級(jí)的值依次上彈一級(jí)。1/14/202348圖3-9并聯(lián)電路塊1/14/2023495其他堆棧操作指令邏輯入棧(LPS,LogicPush)(見圖3-12)邏輯推入棧指令(分支或主控指令)。用于復(fù)制棧頂?shù)闹挡⑦@個(gè)值推入棧頂,原堆棧中各級(jí)棧值依次下壓一級(jí)。在梯形圖中的分支結(jié)構(gòu)中,用于生成一條新的母線,左側(cè)為主控邏輯塊時(shí),第一個(gè)完整的從邏輯行從此處開始。邏輯讀棧(LRD,LogicRead)邏輯讀棧指令。把堆棧中第二級(jí)的值復(fù)制到棧頂。堆棧沒有推入?;驈棾鰲2僮鳎瓧m斨当恍碌膹?fù)制值取代。在梯形圖中的分支結(jié)構(gòu)中,當(dāng)左側(cè)為主控邏輯塊時(shí),開始第二個(gè)和后邊更多的從邏輯塊。應(yīng)注意,LPS后第一個(gè)和最后一個(gè)從邏輯塊不用本指令。1/14/202350邏輯出棧(LPP,LogicPop)邏輯棧彈出指令(分支結(jié)束或主控復(fù)位指令)。堆棧作彈出棧操作,將棧頂值彈出,原堆棧中各級(jí)棧值依次上彈一級(jí),堆棧第二級(jí)的值成為新的棧頂值。在梯形圖中的分支結(jié)構(gòu)中,用于將LPS指令生成的一條新母線進(jìn)行恢復(fù)。應(yīng)注意,LPS與LPP必須配對(duì)使用。

邏輯裝載堆棧(LDSn,LoadStack,n=1~8)復(fù)制堆棧中的第n級(jí)的值到棧頂。原棧中各級(jí)棧值依次下壓一級(jí),棧底值丟失。一般很少使用該指令。1/14/2023511/14/2023526立即觸點(diǎn)

立即(Immediate)觸點(diǎn)指令只能用于輸入I,執(zhí)行立即觸點(diǎn)指令時(shí),立即讀人物理輸人點(diǎn)的值,根據(jù)該值決定觸點(diǎn)的接通/斷開狀態(tài);

但是并不更新該物理輸人點(diǎn)對(duì)應(yīng)的映像寄存器。1/14/202353語(yǔ)句表中,分別用LDI、AI、OI來表示開始、串聯(lián)、并聯(lián)的常開立即觸點(diǎn)。LDNI、ANI、ONI表示相應(yīng)的常閉立即觸點(diǎn)。1/14/2023543.3.2輸出指令與其他指令

1輸出(=)

2

立即輸出(=I)只能用于輸出量(Q),執(zhí)行該指令時(shí),將棧頂值立即寫入指定的物理輸出位和對(duì)應(yīng)的輸出映像寄存器。1/14/2023553.置位和復(fù)位指令(1)S,置位指令

(2)R,復(fù)位指令

置位即置1,復(fù)位即置0。置位和復(fù)位指令可以將位存儲(chǔ)區(qū)的某一位開始的一個(gè)或多個(gè)(最多可達(dá)255個(gè))同類存儲(chǔ)器位置1或置0。

這兩條指令在使用時(shí)需指明三點(diǎn):操作性質(zhì)、開始位和位的數(shù)量。1/14/202356(1)S,置位指令用法: S bit, N例: S Q0.0, 1(2)R,復(fù)位指令當(dāng)用復(fù)位指令時(shí),如果是對(duì)定時(shí)器T位或計(jì)數(shù)器C位進(jìn)行復(fù)位,則定時(shí)器位或計(jì)數(shù)器位被復(fù)位,同時(shí),定時(shí)器或計(jì)數(shù)器的當(dāng)前值被清零。用法: R bit, N例: R Q0.2, 31/14/202357圖3.7置位復(fù)位1/14/202358上述程序?qū)?yīng)的時(shí)序圖如圖3.8所示。圖3.8時(shí)序圖1/14/202359圖3.9立即指令程序1/14/202360圖3.10時(shí)序圖1/14/2023615RS觸發(fā)器指令

如圖3-19(P40),其基本功能與置位指令S和復(fù)位指令R的功能相同。

置位優(yōu)先(SR)觸發(fā)器的置位信號(hào)S和復(fù)位信號(hào)R同時(shí)為1時(shí),輸出OUT信號(hào)為1。

復(fù)位優(yōu)先(RS)觸發(fā)器的置位信號(hào)S和復(fù)位信號(hào)R同時(shí)為1時(shí),輸出OUT信號(hào)為01/14/2023626正負(fù)跳變指令

正跳變觸點(diǎn)檢測(cè)到脈沖的每一次正跳變后,產(chǎn)生一個(gè)微分脈沖。

指令格式:EU(無操作數(shù))負(fù)跳變觸點(diǎn)檢測(cè)到脈沖的每一次負(fù)跳變后,產(chǎn)生一個(gè)微分脈沖。

指令格式:ED(無操作數(shù))

應(yīng)用舉例:圖3.11是跳變指令的程序片斷。圖3.12是圖3.11指令執(zhí)行的時(shí)序。1/14/2

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論