PLC原理與實驗--PLC程序設計基礎_第1頁
PLC原理與實驗--PLC程序設計基礎_第2頁
PLC原理與實驗--PLC程序設計基礎_第3頁
PLC原理與實驗--PLC程序設計基礎_第4頁
PLC原理與實驗--PLC程序設計基礎_第5頁
已閱讀5頁,還剩77頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、2022-4-4Ch2 PLC程序設計基礎1返回返回第第2章章 PLCPLC程序設計基礎程序設計基礎2.1 PLC的編程語言與程序結構 2.2 存儲器的數據類型與尋址方式 2.3 位邏輯指令 2.4 定時器與計數器指令 2022-4-4Ch2 PLC程序設計基礎22.1 可編程序控制器的編程語言與程序結構 211 可編程序控制器編程語言的國際標準可編程序控制器編程語言的國際標準 212 SIMATIC指令集與指令集與IECll31-3指令集指令集 213 可編程序控制器的程序結構可編程序控制器的程序結構返回返回2022-4-4Ch2 PLC程序設計基礎3211 可編程序控制器編程語言的國際標準

2、可編程序控制器編程語言的國際標準 IEC(國際電工委員會國際電工委員會)是為電子技術的所有領域制訂全球標是為電子技術的所有領域制訂全球標準的世界性組織。準的世界性組織。IEC于于1994年年5月公布了可編程序控制器標月公布了可編程序控制器標準準(IEC1131),該標準鼓勵不同的可編程序控制器制造商提供該標準鼓勵不同的可編程序控制器制造商提供在外觀和操作上相似的指令在外觀和操作上相似的指令。它由以下。它由以下:。其中的第三部其中的第三部分分(IEC11313)是可編程序控制器的編程語言標準是可編程序控制器的編程語言標準IEC1131-3.標準使用戶在使用新的可編程序控制器時,可以減少重新培訓標

3、準使用戶在使用新的可編程序控制器時,可以減少重新培訓的時間;對于廠家,使用標準將減少產品開發的時間,可以投的時間;對于廠家,使用標準將減少產品開發的時間,可以投入更多的精力去滿足用戶的特殊要求。入更多的精力去滿足用戶的特殊要求。 返回返回2022-4-4Ch2 PLC程序設計基礎4 目前已有越來越多的生產可編程序控制器的廠家提供符合目前已有越來越多的生產可編程序控制器的廠家提供符合IEC11313標準的產品,有的廠家推出的在個人計算機上運行的標準的產品,有的廠家推出的在個人計算機上運行的“軟件軟件PLC”軟件包也是按軟件包也是按IEC1131-3標準設計的。標準設計的。 IEC1131-3詳細

4、地說明了詳細地說明了: (1)順序功能圖順序功能圖(Sequential Function Chart) (2)梯形圖梯形圖(Ladder Diagram) (3)功能塊圖功能塊圖(Function Block Diagram) (4)指令表指令表(Instruction List)。 (5)結構文本結構文本(Structured Text)。 標準中有兩種圖形語言標準中有兩種圖形語言)和和,還有兩種文字語言還有兩種文字語言和和,可以認為,可以認為。 順序功能圖順序功能圖梯形圖梯形圖功能塊圖功能塊圖指令表指令表結構文本結構文本PLCPLC的編程語言的編程語言2022-4-4Ch2 PLC程序設

5、計基礎5 這是一種這是一種,用來編制順序控制程序,在第,用來編制順序控制程序,在第4章中將作詳細的介紹。章中將作詳細的介紹。 順序功能圖提供了一種組織程序的圖順序功能圖提供了一種組織程序的圖形方法,在順序功能圖中可以用別的語言形方法,在順序功能圖中可以用別的語言嵌套編程。嵌套編程。可以用順序功能圖來。可以用順序功能圖來描述系統的功能,根據它可以很容易地畫描述系統的功能,根據它可以很容易地畫出梯形圖程序。出梯形圖程序。 順序功能圖順序功能圖2022-4-4Ch2 PLC程序設計基礎6 梯形圖梯形圖。,如外部的開關、按鈕和內部條件等。,如外部的開關、按鈕和內部條件等。,用來控制外部的指示燈、交流接

6、觸器和,用來控制外部的指示燈、交流接觸器和內部的輸出條件等。內部的輸出條件等。 在分析梯形圖中的邏輯關系時,為了借用在分析梯形圖中的邏輯關系時,為了借用繼電器電路圖的分析方法,繼電器電路圖的分析方法,(S7-200的梯形圖中省略了右側的垂直母線的梯形圖中省略了右側的垂直母線),。 梯形圖梯形圖2022-4-4Ch2 PLC程序設計基礎7 (Network),。 使用編程軟件可以直接生成和編輯使用編程軟件可以直接生成和編輯梯形圖,并將它下載到可編程序控制梯形圖,并將它下載到可編程序控制器。器。 梯形圖梯形圖2022-4-4Ch2 PLC程序設計基礎8 這是一種這是一種,有數字電,有數字電路基礎的

7、人很容易掌握。該編程語言用類似與門、或門的方路基礎的人很容易掌握。該編程語言用類似與門、或門的方框來表示邏輯運算關系,框來表示邏輯運算關系,輸入、輸出端的小圓圈表示,輸入、輸出端的小圓圈表示“非非”運算,運算,方框被方框被“導線導線”連接在一起,信號自左向右流動。圖中的控連接在一起,信號自左向右流動。圖中的控制邏輯與前圖中的相同。(比較書中制邏輯與前圖中的相同。(比較書中28頁圖頁圖3-2、3-3) 功能塊圖與語句表功能塊圖與語句表 2022-4-4Ch2 PLC程序設計基礎9 S7系列可編程序控制器將指令表稱為語句表系列可編程序控制器將指令表稱為語句表(Statement List)。,由指

8、令,由指令組成的程序叫做指令表程序或語句表程序。組成的程序叫做指令表程序或語句表程序。 語句表比較適合熟悉可編程序控制器和邏輯程序語句表比較適合熟悉可編程序控制器和邏輯程序設計的經驗豐富的程序員,語句表可以實現某些不能設計的經驗豐富的程序員,語句表可以實現某些不能用梯形圖或功能塊圖實現的功能。用梯形圖或功能塊圖實現的功能。 S7-200CPU在執行程序時要用到邏輯堆棧,在執行程序時要用到邏輯堆棧,。在語句表中,必須由編程人員加入這些堆棧處。在語句表中,必須由編程人員加入這些堆棧處理指令。理指令。 2022-4-4Ch2 PLC程序設計基礎10 結構文本結構文本(ST)是為是為IEC1131-3

9、標準創建的一標準創建的一種專用的高級編程語言。與梯形圖相比,它能種專用的高級編程語言。與梯形圖相比,它能實現復雜的數學運算,編寫的程序非常簡潔和實現復雜的數學運算,編寫的程序非常簡潔和緊湊。包括變量、操作符、控制流程語句。最緊湊。包括變量、操作符、控制流程語句。最大的優點是可以簡化復雜的數學方程。大的優點是可以簡化復雜的數學方程。 2022-4-4Ch2 PLC程序設計基礎11 在在S7-200的編程軟件中,用戶的編程軟件中,用戶。 ,所以在設計復雜的開關量控制程序時一般使用梯形圖語言。所以在設計復雜的開關量控制程序時一般使用梯形圖語言。語句表可以處理某些不能用梯形圖處理的問題,梯形圖編寫語句

10、表可以處理某些不能用梯形圖處理的問題,梯形圖編寫的程序一定能轉換為語句表。的程序一定能轉換為語句表。 梯形圖程序中輸入信號與輸出信號之間的邏輯關系一目梯形圖程序中輸入信號與輸出信號之間的邏輯關系一目了然,易于理解,與繼電器電路圖的表達方式極為相似,了然,易于理解,與繼電器電路圖的表達方式極為相似,。語句表輸入方便。語句表輸入方便快捷,梯形圖中功能塊對應的語句只占一行的位置,還可以快捷,梯形圖中功能塊對應的語句只占一行的位置,還可以為每一條語句加上注釋,便于復雜程序的閱讀。為每一條語句加上注釋,便于復雜程序的閱讀。在設計通信、在設計通信、數學運算等高級應用程序時建議使用語句表語言數學運算等高級應

11、用程序時建議使用語句表語言。 2022-4-4Ch2 PLC程序設計基礎12 7SIMATIC指令集與指令集與IEC1131-3指令集指令集 供供S7-200使用的使用的STEP 7MicroWIN 32編程軟件提供兩種指編程軟件提供兩種指令集:令集:,前者由西門子公司,前者由西門子公司提供,它的某些指令不是提供,它的某些指令不是IEC1131-3中的標準指令。通常中的標準指令。通常 IEC1131-3指令集的指令較少,其中的某些指令集的指令較少,其中的某些“塊塊”指令可接受多指令可接受多種數據格式。例如種數據格式。例如 SIMATIC指令集中的加法指令被分為指令集中的加法指令被分為ADDI(

12、整數加整數加)、ADDDI(雙字整數加雙字整數加)與與ADDR(實數加實數加)等,等,。IEC1131-3指令通過檢查參數中的數指令通過檢查參數中的數據格式錯誤,還可以減少程序設計中的錯誤。據格式錯誤,還可以減少程序設計中的錯誤。 在在IEC1131-3指令編輯器中,有些是指令編輯器中,有些是SIMATIC指令集中的指指令集中的指令,它們作為令,它們作為IEC1131-3指令集的非標準擴展,在編程軟件的幫助指令集的非標準擴展,在編程軟件的幫助文件中的指令樹內用紅色的文件中的指令樹內用紅色的“+”號標記。號標記。返回返回2022-4-4Ch2 PLC程序設計基礎13212 PLC的程序結構的程序

13、結構 主程序是程序的主體,主程序是程序的主體,。 。STEP7-MicroWIN 32的程序編輯的程序編輯器窗口下部的標簽用來選擇不同的程序。器窗口下部的標簽用來選擇不同的程序。返回返回2022-4-4Ch2 PLC程序設計基礎14 。同一地方被多次調用,使用子程序可以簡化程。同一地方被多次調用,使用子程序可以簡化程序代碼和減少掃描時間。設計得好的子程序容易移植到別序代碼和減少掃描時間。設計得好的子程序容易移植到別的項目中去。的項目中去。 中斷程序是指令的一個可選集合,中斷程序不是被主程中斷程序是指令的一個可選集合,中斷程序不是被主程序調用,序調用,。中斷程序用來處理預先規定的中斷事件,。中斷

14、程序用來處理預先規定的中斷事件, 2022-4-4Ch2 PLC程序設計基礎1522 存儲器的數據類型與尋址方式 221 數據在存儲器中存取的方式數據在存儲器中存取的方式 222 不同存儲區的尋址不同存儲區的尋址223 直接尋址與間接尋址直接尋址與間接尋址 224 絕對地址與符號地址絕對地址與符號地址 返回返回2022-4-4Ch2 PLC程序設計基礎16221 數據在存儲器中存取的方式數據在存儲器中存取的方式 二進制數的二進制數的1位位(bit)只有只有0和和1兩種不同的取值,可用來兩種不同的取值,可用來表示開關量表示開關量(或稱數字量或稱數字量)的兩中不同的狀態,如觸點的斷開的兩中不同的狀

15、態,如觸點的斷開和接通,線圈的通電和斷電等。和接通,線圈的通電和斷電等。位數據的數據類型為位數據的數據類型為BOOL(布爾布爾)型。型。 返回返回2022-4-4Ch2 PLC程序設計基礎17 (見圖見圖 ),其中的第,其中的第0位為最低位為最低位:位:LSB:、第:、第7位為最高位位為最高位( MSB)。(見圖)一般用二進制補碼(見圖)一般用二進制補碼表示有符號數,其最高位為符號位,最高位為表示有符號數,其最高位為符號位,最高位為0時為正數,時為正數,為為1時為負數,最大的時為負數,最大的16位正數為位正數為 7FFFH表示十六進制數。表示十六進制數。字節、字和雙字的取值范圍見表。字節、字和

16、雙字的取值范圍見表。 圖圖 字、字節和雙字對同一地址存取操作的比較字、字節和雙字對同一地址存取操作的比較 a)VB100 b)VWl00 c)VDl002022-4-4Ch2 PLC程序設計基礎18 ,如,如I3.2,其中的區域標識符,其中的區域標識符“I表示輸入表示輸入(Input),字節地,字節地址為址為3,位地址為,位地址為2(見圖見圖)。這種存取方式稱為。這種存取方式稱為“”尋址方式。尋址方式。 輸入字節輸入字節(B是是Byte的縮寫的縮寫)由由這這8位組位組成。成。位數據的存放位數據的存放2022-4-4Ch2 PLC程序設計基礎19 圖圖 字、字節和雙字對同一地址存取操作的比較字、

17、字節和雙字對同一地址存取操作的比較 a)VB100 b)VWl00 c)VDl002022-4-4Ch2 PLC程序設計基礎20222 PLC的的存儲區存儲區 ,外部輸入電路接通時,外部輸入電路接通時對應的映像寄存器為對應的映像寄存器為ON(1狀態狀態)。輸入端可以外接常開觸點或。輸入端可以外接常開觸點或常閉觸點,也可以接多個觸點組成的串并聯電路。常閉觸點,也可以接多個觸點組成的串并聯電路。 返回返回2022-4-4Ch2 PLC程序設計基礎21 輸出映像寄存器的標識符為輸出映像寄存器的標識符為,。2022-4-4Ch2 PLC程序設計基礎22 在程序執行的過程中在程序執行的過程中。 。雖然名

18、為。雖然名為“位存儲器區位存儲器區”,表示按位存取,但是也可以按字節、字或雙字來存取。表示按位存取,但是也可以按字節、字或雙字來存取。 。S7-200有三種有三種定時器,它們的時基增量分別為定時器,它們的時基增量分別為,定時,定時器的當前值寄存器是器的當前值寄存器是16位有符號整數,用于存儲定時器累位有符號整數,用于存儲定時器累計的時基增量值計的時基增量值(132 767)。2022-4-4Ch2 PLC程序設計基礎23。,帶位,帶位操作數的指令存取定時器位,帶字操作數的指令存取當前值。操作數的指令存取定時器位,帶字操作數的指令存取當前值。計數器用來累計其計數輸入端脈沖電平由低到高的次數,計數

19、器用來累計其計數輸入端脈沖電平由低到高的次數,CPU提供提供。計數器的當。計數器的當前值為前值為16位有符號整數,用來存放累計的脈沖數位有符號整數,用來存放累計的脈沖數(132 767)。2022-4-4Ch2 PLC程序設計基礎24用計數器地址用計數器地址(C和計數器號,如和計數器號,如C20)來存取當前值和計數來存取當前值和計數器位,帶位操作數的指令存取計數器位,帶字操作數的指令器位,帶位操作數的指令存取計數器位,帶字操作數的指令存取當前值。存取當前值。 高速計數器用來累計比高速計數器用來累計比CPU的掃描速率更快的事件,其的掃描速率更快的事件,其,當前值為只讀數據。,當前值為只讀數據。2

20、022-4-4Ch2 PLC程序設計基礎25累加器是可以像存儲器那樣使用的讀寫單元,例如可以用它累加器是可以像存儲器那樣使用的讀寫單元,例如可以用它向子程序傳遞參數,或從子程序返回參數,以及向子程序傳遞參數,或從子程序返回參數,以及。如在指令。如在指令 中,中,AC2按字按字(W)存取。存取。 2022-4-4Ch2 PLC程序設計基礎26 ,2022-4-4Ch2 PLC程序設計基礎27 S7-200有有,其中,其中60個可以作為暫時個可以作為暫時存儲器,或給子程序傳遞參數。如果用梯形圖編程,編程軟件存儲器,或給子程序傳遞參數。如果用梯形圖編程,編程軟件保留這些局部存儲器的后保留這些局部存儲

21、器的后4個字節。如果用語句表編程,可以個字節。如果用語句表編程,可以使用所有的使用所有的64個字節,但是建議不要使用最后個字節,但是建議不要使用最后4個字節。個字節。 各各POU(Program Organizational Unit,程序組織單元,即,程序組織單元,即主程序、子程序和中斷程序主程序、子程序和中斷程序)有自己的局部變量表,局部變量有自己的局部變量表,局部變量在它被創建的在它被創建的POU中有效。變量存儲器中有效。變量存儲器(V)是全局存儲器,可是全局存儲器,可以被所有的以被所有的POU存取。存取。 ,各程序不能訪問別,各程序不能訪問別的程序的局部存儲器。的程序的局部存儲器。 因

22、為局部變量使用臨時的存儲區,子程序每次被調用時,因為局部變量使用臨時的存儲區,子程序每次被調用時,應保證它使用的局部變量被初始化。應保證它使用的局部變量被初始化。2022-4-4Ch2 PLC程序設計基礎28 S7-200將現實世界連續變化的模擬量將現實世界連續變化的模擬量(如溫度、壓力、如溫度、壓力、電流、電壓等電流、電壓等)用用AD轉換器轉換為轉換器轉換為,2022-4-4Ch2 PLC程序設計基礎29 S7-200將將1個字長的數字用個字長的數字用DA轉換器轉換為現實世轉換器轉換為現實世界的模擬量,界的模擬量,。因為模擬量輸出是。因為模擬量輸出是一個字長,應從偶數字節地址開始存放一個字長

23、,應從偶數字節地址開始存放(如如AQW2、AQW4、AQW6等等),用戶不能讀取模擬量輸出值。,用戶不能讀取模擬量輸出值。 2022-4-4Ch2 PLC程序設計基礎30 ,CPU以二進以二進制方式存儲常數,制方式存儲常數,表是常,表是常數的例子。數的例子。 順序控制繼電器順序控制繼電器(SCR)位位,SCR提供控制程序的邏輯分段,詳細的使用方法見提供控制程序的邏輯分段,詳細的使用方法見53節。節。 2022-4-4Ch2 PLC程序設計基礎31223 直接尋址與間接尋址直接尋址與間接尋址 ,例如,例如??梢杂米止潱ā?梢杂米止潱˙)、)、字(字(W)或雙字()或雙字(DW)方式存?。┓绞酱嫒?/p>

24、V、I、Q、M、S和和SM存存儲器區。例如儲器區。例如,。 。 返回返回2022-4-4Ch2 PLC程序設計基礎32 S7-200CPU允許使用指針對下述存儲區域進行間接尋址:允許使用指針對下述存儲區域進行間接尋址:。但。但。 使用間接尋址之前,應創建一個指向該位置的指針。使用間接尋址之前,應創建一個指向該位置的指針。,。為了生成指針,必須用雙字傳送。為了生成指針,必須用雙字傳送指令指令(MOVD)將某個位置的地址移入另一位置或累加器作為指將某個位置的地址移入另一位置或累加器作為指針。針。,例如:,例如:MOVD&VB200,AC1MOVD&C3,VD6MOVD &M

25、B4,LD82022-4-4Ch2 PLC程序設計基礎33 。圖中的。圖中的* AC1表示表示AC1是一個指針,是一個指針,*AC1是是MOVW指令確定的一個字長的數據。此例中,指令確定的一個字長的數據。此例中,。 2022-4-4Ch2 PLC程序設計基礎34 ,。 2022-4-4Ch2 PLC程序設計基礎3523 位邏輯指令23 1 觸點指令觸點指令 23 2 輸出指令輸出指令 23 3 其他指令其他指令 返回返回2022-4-4Ch2 PLC程序設計基礎36 。在。在語句表中,分別用語句表中,分別用LD(Load,裝載,裝載)、A(And,與,與)和和O(Or,或,或)指令來表示開始、

26、串聯和并聯的常開觸點指令來表示開始、串聯和并聯的常開觸點(見表見表)。 LD bit 裝載電路開始的常開觸點裝載電路開始的常開觸點 A bit 與與 串聯的常開觸點串聯的常開觸點 O bit 或或 并聯的常開觸點并聯的常開觸點 LDN bit 非非 裝載電路開始的常閉觸點裝載電路開始的常閉觸點 AN bit 非與非與 串聯的常閉觸點串聯的常閉觸點 ON bit 非或非或 并聯的常閉觸點并聯的常閉觸點 標準觸點指令標準觸點指令231 觸點指令觸點指令 返回返回2022-4-4Ch2 PLC程序設計基礎37 S7-200有有1個個9位的堆棧,位的堆棧,(見圖見圖3-12)。堆棧中的數據一般按。堆棧

27、中的數據一般按“”的原則存取。的原則存取。 執行執行LD指令時,將指令指定的位地址中的二進制數據裝載入棧頂。執行指令時,將指令指定的位地址中的二進制數據裝載入棧頂。執行A(與與)指令時,將指令指定的位地址中的二進制數和棧頂中的二進制數相指令時,將指令指定的位地址中的二進制數和棧頂中的二進制數相“與與”,結果,結果存入棧頂。執行存入棧頂。執行O指令時,將指令指定的位地址中的二進制數和棧頂中的二進制指令時,將指令指定的位地址中的二進制數和棧頂中的二進制數相數相“或或”,結果存入棧頂。,結果存入棧頂。 執行常閉觸點對應的執行常閉觸點對應的LDN,AN和和ON指令時,取出指令指定的位地址中的二進指令時

28、,取出指令指定的位地址中的二進制數據后,將它取反(制數據后,將它取反(0變為變為1,1變為變為0),然后再做對應的裝載、與、或操作。),然后再做對應的裝載、與、或操作。 與堆棧與堆棧有關的指令有關的指令 ALD 裝載與,電路塊串聯連接裝載與,電路塊串聯連接 OLD 裝載或,電路塊并聯連接裝載或,電路塊并聯連接 LPS 入棧入棧 LRD 讀棧讀棧 LPP 出棧出棧 LDS n 裝載堆棧裝載堆棧 2022-4-4Ch2 PLC程序設計基礎38 。在語句表中,分別用在語句表中,分別用LDN(Load Not)、AN(And Not)和和ON(0r Not)來表示開始、串聯和并聯的常閉觸點來表示開始、

29、串聯和并聯的常閉觸點(見表見表3-3)。觸點符。觸點符號中間的號中間的“,觸點指令中變量的數據類型為,觸點指令中變量的數據類型為BOOL型。下圖是觸點與輸出指令的例子。型。下圖是觸點與輸出指令的例子。I0.0I0.1I0.3I0.2( )Q0.3( )Q1.4( )Q2.6C5I3.4LDI0.0ANI0.1OI0.2AI0.3ONC5=Q0.3=Q1.4ANI3.4=Q2.6觸點與輸出指令的例子觸點與輸出指令的例子2022-4-4Ch2 PLC程序設計基礎39I1.4C24I0.3T16( )Q5 .3Q3.4I3.2I1.2 。要想將下圖中由要想將下圖中由I32和和/T16的觸點組成的串聯

30、電路與它上面的電的觸點組成的串聯電路與它上面的電路并聯,首先需要完成兩個串聯電路塊內部的路并聯,首先需要完成兩個串聯電路塊內部的“與與”邏輯運算邏輯運算(即即觸點的串聯觸點的串聯),。前兩條指令執行完后,。前兩條指令執行完后,“與與”運算的結果運算的結果“與與”運算運算的結果的結果存放在棧頂,第存放在棧頂,第3、4條指令執行完后,條指令執行完后,“與與”運算的結果運算的結果壓入棧頂,原來在棧頂的壓入棧頂,原來在棧頂的S0被推到堆棧被推到堆棧的第的第2層,第層,第2層的數據被推到第層的數據被推到第3層層棧底的數據丟失。棧底的數據丟失。LDNC24ONI1.2ALDLDNI1.4AI0.3LDI3

31、.2ANT16OLDOQ3.4=Q5.3RETURN2022-4-4Ch2 PLC程序設計基礎40 用邏輯用邏輯“或或”操作對堆棧第操作對堆棧第1層和第層和第2層的層的數據相數據相“或或”,即,即,并將運算結,并將運算結果果S2=S0+S1存入堆棧的頂部。存入堆棧的頂部。第第3第第9層的數據依次向上層的數據依次向上移動一位(移動一位(x表示不確定的表示不確定的值)。值)。 S1S0iv0iv1iv2iv3iv4iv5iv6S2iv0iv1iv2iv3iv4iv5iv6 xS2=S0+S1OLD(棧頂值或)(棧頂值或)第第1層層(棧頂棧頂)第第2層層第第3層層第第4層層第第5層層第第6層層第第7

32、層層第第8層層第第9層層(棧底棧底)2022-4-4Ch2 PLC程序設計基礎41第第1 1層層( (棧頂棧頂) )第第2 2層層第第3 3層層第第4 4層層第第5 5層層第第6 6層層第第7 7層層第第8 8層層第第9 9層層( (棧底棧底) )S3S2iv0iv1iv2iv3iv4iv5iv6S4iv0iv1iv2iv3iv4iv5iv6 x執行前執行前執行后執行后S4=S2 . S3ALD(棧頂值與)(棧頂值與) 圖圖3-9中中OLD后面的兩條指令將后面的兩條指令將兩 個 觸 點 并 聯 , 運 算 結 果兩 個 觸 點 并 聯 , 運 算 結 果壓入棧頂,棧中壓入棧頂,棧中原來的數據依

33、次向下一層推移,原來的數據依次向下一層推移,棧底值被推出丟失。棧底值被推出丟失。ALD指令指令用邏輯用邏輯“與與”操作對堆棧第操作對堆棧第1層層和第和第2層的數據相層的數據相“與與”,即將,即將兩個電路塊串聯,并將運算結兩個電路塊串聯,并將運算結果果存入堆棧的頂部存入堆棧的頂部(見見圖圖,圖中,圖中x表示不確定的值表示不確定的值)。 將電路塊串并聯時,每增加將電路塊串并聯時,每增加一一 個用個用LD或或LDN指令開始的電指令開始的電路塊的運算結果,堆棧中增加路塊的運算結果,堆棧中增加一個數據,堆棧深度加一個數據,堆棧深度加1,每執,每執行一條行一條ALD或或OLD指令,堆棧指令,堆棧深度減深度

34、減1 2022-4-4Ch2 PLC程序設計基礎42 入棧入棧(LPS,Logic Push)指令復制棧頂的指令復制棧頂的值并將其壓入堆棧的下值并將其壓入堆棧的下一層,棧中原來的數據一層,棧中原來的數據依次向下一層推移,棧依次向下一層推移,棧底值被推出丟失(見底值被推出丟失(見圖)。圖)。iv0iv1iv2iv3iv4iv5iv6iv7iv8iv0iv0iv1iv2iv3iv4iv5iv6iv7入棧前入棧前入棧后入棧后LPS(入棧)(入棧)2022-4-4Ch2 PLC程序設計基礎43iv0iv1iv2iv3iv4iv5iv6iv7iv8iv1iv1iv2iv3iv4iv5iv6iv7iv8讀

35、棧前讀棧前讀棧后讀棧后LRD(讀棧)(讀棧)堆棧操作堆棧操作2022-4-4Ch2 PLC程序設計基礎44iv0iv1iv2iv3iv4iv5iv6iv7iv8iv1iv2iv3iv4iv5iv6iv7iv8 x出棧前出棧前出棧后出棧后LPP(出棧)(出棧)堆棧操作堆棧操作2022-4-4Ch2 PLC程序設計基礎45iv0iv1iv2iv3iv4iv5iv6iv7iv8iv3iv0iv1iv2iv3iv4iv5iv6iv7執行前執行前執行后執行后LDS3(裝載堆棧)(裝載堆棧)堆棧操作堆棧操作2022-4-4Ch2 PLC程序設計基礎46I0.0LPSI0.1I0.5( )Q0.3( )M3

36、.7( )Q2.1LRDLPPI0.2 I0.4堆棧指令的使用堆棧指令的使用LDI0.2AI0.0LPSANI0.1=Q2.1LRDAI0.5=M3.7LPPANI0.4=Q0.3與堆棧與堆棧有關的指令有關的指令 ALD 裝載與,電路塊串聯連接裝載與,電路塊串聯連接 OLD 裝載或,電路塊并聯連接裝載或,電路塊并聯連接 LPS 入棧入棧 LRD 讀棧讀棧 LPP 出棧出棧 LDS n 裝載堆棧裝載堆棧 2022-4-4Ch2 PLC程序設計基礎47I0.0I1.4( )Q0.3( )I/ II/ I/ IIIQ3.4I0.5I0.1I0.4I0.2LDNI I0.5OII0.1AII1.4=Q

37、0.3LDII0.4ONII0.2ANII0.0ANII0.0=IQ3.4立即觸點與輸出指令立即觸點與輸出指令 立即立即(Immediate)觸點指令只能用于輸入觸點指令只能用于輸入I,執行立即觸點指令,執行立即觸點指令時,時,。在語句表。在語句表中,分別中,分別觸點符號中間的觸點符號中間的“I ”和和“I”表示立即常開和立即常閉。下表示立即常開和立即常閉。下圖是立即觸點與輸出指令的例子。圖是立即觸點與輸出指令的例子。 2022-4-4Ch2 PLC程序設計基礎48LDI bit立即裝載電路開始的常開觸點立即裝載電路開始的常開觸點 AI bit立即與串聯的常開觸點立即與串聯的常開觸點 OI b

38、it立即或并聯的常開觸點立即或并聯的常開觸點 LDNI bit立即非裝載電路開始的常閉觸片立即非裝載電路開始的常閉觸片 ANI bit立即非與串聯的常閉觸點立即非與串聯的常閉觸點 ONI bit立即非或并聯的常閉觸點立即非或并聯的常閉觸點 2022-4-4Ch2 PLC程序設計基礎49 。輸出指令將棧頂值復制到對。輸出指令將棧頂值復制到對應的映像寄存器。輸出類指令應放在梯形圖的最右邊,應的映像寄存器。輸出類指令應放在梯形圖的最右邊,變量為變量為BOOL型。型。23 2 輸出指令輸出指令 返回返回2022-4-4Ch2 PLC程序設計基礎50 立即輸出指令立即輸出指令(=I)只能用于輸出量只能用

39、于輸出量(Q),執行該指令時,執行該指令時,將棧頂值立即寫入指定的物理輸出位和對應的輸出映像寄將棧頂值立即寫入指定的物理輸出位和對應的輸出映像寄存器。線圈符號中的存器。線圈符號中的“I”用來表示立即輸出。用來表示立即輸出。 I0.0I1.4( )Q0.3( )I/ II/ I/ IIIQ3.4I0.5I0.1I0.4I0.2LDNI I0.5OII0.1AII1.4=Q0.3LDII0.4ONII0.2ANII0.0ANII0.0=IQ3.4立即觸點與輸出指令立即觸點與輸出指令2022-4-4Ch2 PLC程序設計基礎51 執行執行S(Set,置位或置,置位或置1)與與R(Reset,復位或置

40、,復位或置0)指令時,指令時,圖中,圖中N=1。如果圖中。如果圖中I0.1的常開觸點接的常開觸點接通,通,Q0.3變為變為1并保持該狀態,即使并保持該狀態,即使I0.1的常開觸點斷開,它也的常開觸點斷開,它也仍然保持仍然保持1狀態。當狀態。當I0.3的常開觸點閉合時,的常開觸點閉合時,Q0.3變為變為0,并保持,并保持該狀態,即使該狀態,即使I0.3的常開觸點斷開,它也仍然保持的常開觸點斷開,它也仍然保持0狀態。狀態。 如果被指定復位的是定時器位如果被指定復位的是定時器位(T)或計數器位或計數器位(C),將清除定,將清除定時器時器/計數器的當前值。計數器的當前值。 I0.1( )SQ0.3I0

41、.3( )RQ0.3I0.4( )SIQ0.5I0.5( )RIQ0.51111LDI0.1SQ0.3,1LDI0.3RQ0.3,1LDI0.4SIQ0.5,1LDI0.5RIQ0.5,1I0.1I0.3Q0.32022-4-4Ch2 PLC程序設計基礎52返回返回 執行執行SI(Set Immediate,立即置位,立即置位)或或RI(Reset Immediate,立即復位立即復位)指令時,指令時,。線圈中的。線圈中的I表示立即。表示立即。, 使使S、R、SI和和RI指令指令ENO(使能輸出使能輸出)=0的錯誤條件:的錯誤條件:SM43(運行時間運行時間),0006(間接尋址間接尋址),0

42、091(操作數超出范圍操作數超出范圍)。 = bit輸出輸出=I bit立即輸出立即輸出 S bit,N置位置位 SI bit,N立即置位立即置位 R bit,N復位復位 RI bit,N立即復位立即復位 輸出類指令輸出類指令2022-4-4Ch2 PLC程序設計基礎53 取反觸點指令將它左邊電路的邏輯運算結果取反取反觸點指令將它左邊電路的邏輯運算結果取反(見圖),(見圖),運算結果若為運算結果若為1則變為則變為0,為,為0則變為則變為1,該指令沒有操作數。能,該指令沒有操作數。能流到達該觸點時即停止,若能流未到達該觸點,該觸點給右側流到達該觸點時即停止,若能流未到達該觸點,該觸點給右側供給能

43、流。供給能流。NOT指令將堆棧頂部的值從指令將堆棧頂部的值從0改為改為1,或從,或從1該為該為0。 ( )M1.5PI0.3( )M3.2NI0.3( )M0.3NOTI0.7LDI0.3EU=M1.5LDI0.3ED=IM3.2LDI0.7NOT=M0.3I0.3M1.5M3.2I0.7M0.3233 其他指令其他指令 返回返回2022-4-4Ch2 PLC程序設計基礎54 正跳變觸點檢測到一次正跳變(觸點的輸入信號由正跳變觸點檢測到一次正跳變(觸點的輸入信號由0變為變為1)時,或負跳變觸點檢測到一次負跳變時,或負跳變觸點檢測到一次負跳變(觸點的輸入信號由觸點的輸入信號由1變為變為0)時,時

44、,。正負跳變指令的助記符分別為。正負跳變指令的助記符分別為EU(Edge Up,上升沿,上升沿)和和ED(Edge Down,下降沿,下降沿),它們沒有,它們沒有操作數,觸點符號中間的操作數,觸點符號中間的(“P”和和“N”分別表示正跳變分別表示正跳變(Positive Transition)和負跳變和負跳變(Negative Transition)(見圖見圖)。I1.4( )M1.5PI0.3I1.4( )M3.2NI0.3I1.4( )M0.3NOTI0.7LDI0.3EU=M1.5LDI0.3ED=IM3.2LDI0.7NOT=M0.3I0.3M1.5M3.2I0.7M0.32022-4

45、-4Ch2 PLC程序設計基礎55空操作指令空操作指令(NOP N)不影響程序的執行,操作數不影響程序的執行,操作數N=0255 NOT取反取反EU正跳變正跳變 ED負跳變負跳變 NOP N空操作空操作 其它指令其它指令2022-4-4Ch2 PLC程序設計基礎562.4 定時器與計數器指令 241 通電延時定時器指令通電延時定時器指令 242 斷電延時定時器指令斷電延時定時器指令 243 保持型通電延時定時器保持型通電延時定時器 244 定時器當前值刷新的方法定時器當前值刷新的方法 245 計數器指令計數器指令 返回返回2022-4-4Ch2 PLC程序設計基礎57241 通電延時定時器指令

46、通電延時定時器指令 (INT),允許的,允許的。返回返回 通電延時定時器通電延時定時器(TON)輸入端輸入端(IN)的輸的輸入電路接通時開始定入電路接通時開始定時。時。,2022-4-4Ch2 PLC程序設計基礎58 。第一次掃描時定時器位。第一次掃描時定時器位OFF,當前值為,當前值為0。定時器。定時器有有1ms、10ms和和100ms三種分辨率,分辨率取決于定時器號三種分辨率,分辨率取決于定時器號(見表見表)。 定時器和計數器的設定值的數據類型均為定時器和計數器的設定值的數據類型均為型,型, 定時器特性定時器特性 返回返回2022-4-4Ch2 PLC程序設計基礎59242 斷電延時定時器

47、指令斷電延時定時器指令 斷電延時斷電延時定時器定時器(TOF)用來在用來在。它用輸。它用輸入 從入 從 O N 到到OFF的負跳變的負跳變啟動定時。啟動定時。斷電延時定時器斷電延時定時器 返回返回2022-4-4Ch2 PLC程序設計基礎60 (見圖見圖) ,例如,例如3.4.2斷電延時定時器指令不能同時使用斷電延時定時器指令不能同時使用TON T32和和TOF T32。 。 2022-4-4Ch2 PLC程序設計基礎61243 保持型通電延時定時器保持型通電延時定時器 保持型通電延時定時器保持型通電延時定時器(Retentive On-Delay Timer,TONR)的輸入電路接通的輸入電

48、路接通時,開始定時。當前值大于等于時,開始定時。當前值大于等于PT端指定的設定值時,定時器位變為端指定的設定值時,定時器位變為ON。達到。達到設定值后,當前值仍繼續計數,直到最大值設定值后,當前值仍繼續計數,直到最大值32767 . 輸入電路斷開時,當前輸入電路斷開時,當前值保持不變??捎弥当3植蛔儭?捎肨ONR來來累計輸入電路接通的若干個累計輸入電路接通的若干個時間間隔。時間間隔。圖中的時間。圖中的時間間隔間隔100ms時,時,10ms定時定時器器T2的定時器位變為的定時器位變為ON。 在第一個掃描周期,定在第一個掃描周期,定時器位為時器位為OFF??梢栽谙到y??梢栽谙到y塊中設置塊中設置TO

49、NR的當前值有的當前值有斷電保持功能。斷電保持功能。 返回返回2022-4-4Ch2 PLC程序設計基礎62244 定時器當前值刷新的方法定時器當前值刷新的方法 1ms定時器對啟動后的定時器對啟動后的1ms時間間隔計數。定時器指令時間間隔計數。定時器指令執行期間每隔執行期間每隔1ms對定時器位和當前值刷新一次,這一過程對定時器位和當前值刷新一次,這一過程不與掃描周期同步。不與掃描周期同步。返回返回2022-4-4Ch2 PLC程序設計基礎63 10ms定時器對啟動后的定時器對啟動后的10ms時間間隔計數。執行定時間間隔計數。執行定時器指令時開始定時,在每一掃描周期開始時刷新定時器,時器指令時開

50、始定時,在每一掃描周期開始時刷新定時器,將一個掃描周期內增加的將一個掃描周期內增加的10ms時間間隔的個數加到當前值。時間間隔的個數加到當前值。定時器的當前值和定時器位在一個掃描周期內其余的時間定時器的當前值和定時器位在一個掃描周期內其余的時間保持不變。保持不變。 2022-4-4Ch2 PLC程序設計基礎64 100ms定時器對啟動后的定時器對啟動后的100ms時間間隔計數。它在時間間隔計數。它在每一掃描周期開始時刷新定時器,將一個掃描周期內增每一掃描周期開始時刷新定時器,將一個掃描周期內增加的加的100ms時間間隔的個數加到當前值。時間間隔的個數加到當前值。 只有在執行定時器指令時,才對只

51、有在執行定時器指令時,才對100ms定時器的當前值定時器的當前值刷新。因此,如果啟動了刷新。因此,如果啟動了100ms定時器但是沒有在每一掃定時器但是沒有在每一掃描周期執行定時器指令,將會丟失時間。描周期執行定時器指令,將會丟失時間。2022-4-4Ch2 PLC程序設計基礎65245 計數器指令計數器指令 當復位輸入當復位輸入(R)電路斷開,加計數電路斷開,加計數(Count Up)脈沖輸入脈沖輸入(CU)電路由斷開變為接通電路由斷開變為接通(即即CU信號的上升沿信號的上升沿),計數器的當前值加,計數器的當前值加1,直至計數最大值,直至計數最大值32 767。當復位輸入。當復位輸入(R)ON

52、時,計數器被復位,計數時,計數器被復位,計數器位變為器位變為OFF,當前值被清零,當前值被清零(見圖見圖)。在語句表中,棧頂值是。在語句表中,棧頂值是復位輸入復位輸入(R),加計數輸入值,加計數輸入值(CU)放在棧頂下面一層。放在棧頂下面一層。 圖 加計數器 返回返回2022-4-4Ch2 PLC程序設計基礎66 在 減 計 數在 減 計 數 ( C o u n t Down)脈沖輸入脈沖輸入CD的上的上升沿升沿(從從OFF到到ON),。裝載輸入。裝載輸入(LD)為為ON時,計數器位被復時,計數器位被復位,并把設定值裝入當位,并把設定值裝入當前值前值(見圖見圖)。 在語句表中,棧頂在語句表中,

53、棧頂值是裝載輸入值是裝載輸入LD,減,減計數輸入計數輸入CD放在棧頂放在棧頂下面一層。下面一層。 圖 減計數器 2022-4-4Ch2 PLC程序設計基礎67 復位輸入復位輸入(R)ON,或對計數器執行復位,或對計數器執行復位(R)指令時,計數器被復位指令時,計數器被復位(見圖見圖3-22)。當前值為最大值。當前值為最大值32767時,下一個時,下一個CU輸入的上升輸入的上升沿使當前值變為最小值沿使當前值變為最小值32768。當前值為。當前值為32768時,下一時,下一個的上升沿使當前值變為最大值個的上升沿使當前值變為最大值32767。 在語句表中,棧頂值是復位輸入在語句表中,棧頂值是復位輸入

54、R,加計數輸入,加計數輸入CU放在放在堆棧的第堆棧的第2層,減計數輸入,層,減計數輸入, 堆棧的第堆棧的第3層。層。 計數器的編號范圍為計數器的編號范圍為C0C255。不同類型的計數器不能。不同類型的計數器不能共用同一計數器號共用同一計數器號 .2022-4-4Ch2 PLC程序設計基礎68加減計數器加減計數器 2022-4-4Ch2 PLC程序設計基礎69定時器與計數器指令定時器與計數器指令 通電延時定時器通電延時定時器TON TXXX,PT斷電延時定時器斷電延時定時器TOF TXXX,PT保持型通電延時定時器保持型通電延時定時器 TONR TXXX,PT加計數器加計數器CTU CXXX,P

55、V減計數器減計數器CTD CXXX,PV加減計數器加減計數器CTUD CXXX,PV2022-4-4Ch2 PLC程序設計基礎70例例1 1 寫出梯形圖對應的語句表寫出梯形圖對應的語句表西門子西門子PLC梯形圖梯形圖LD I0.0LD I0.0AN I0.1AN I0.1O I0.2O I0.2A I0.3A I0.3O I0.5O I0.5= Q0.3= Q0.3= Q1.4= Q1.4AN I3.4AN I3.4= Q2.6= Q2.62022-4-4Ch2 PLC程序設計基礎71 例例2. 4組搶答器設計組搶答器設計 控制要求控制要求1:設計一個:設計一個4組搶答器,任一組搶先按下搶答按

56、鈕后,組搶答器,任一組搶先按下搶答按鈕后,對應指示燈指示搶答結果,同時鎖定搶答器,使其他組搶答按鈕無效對應指示燈指示搶答結果,同時鎖定搶答器,使其他組搶答按鈕無效。在按下復位開關后,可重新開始搶答。在按下復位開關后,可重新開始搶答。 (1) I/O分配:分配:I/O分配表見表。分配表見表。輸入觸點輸入觸點功能說明功能說明輸出線圈輸出線圈功能說明功能說明I0.1第一組搶答按鈕第一組搶答按鈕Q0.1第一組搶答指示燈第一組搶答指示燈I0.2第二組搶答按鈕第二組搶答按鈕Q0.2第二組搶答指示燈第二組搶答指示燈I0.3第三組搶答按鈕第三組搶答按鈕Q0.3第三組搶答指示燈第三組搶答指示燈I0.4第四組搶答

57、按鈕第四組搶答按鈕Q0.4第四組搶答指示燈第四組搶答指示燈I0.5復位按鈕復位按鈕2022-4-4Ch2 PLC程序設計基礎72 (3) 要點說明。要點說明。 由于搶答按鈕一般均為非自鎖按鈕,為保持搶答輸出結果,就需要輸由于搶答按鈕一般均為非自鎖按鈕,為保持搶答輸出結果,就需要輸出線圈所帶觸點并聯在輸入觸點上,實現自鎖功能。出線圈所帶觸點并聯在輸入觸點上,實現自鎖功能。 要實現一組搶答后,其他組不能再搶答的功能,就需要在其他組控制要實現一組搶答后,其他組不能再搶答的功能,就需要在其他組控制線路中串聯本組輸入觸點或輸出線圈的常閉觸點,從而形成互鎖關系。線路中串聯本組輸入觸點或輸出線圈的常閉觸點,

58、從而形成互鎖關系。2022-4-4Ch2 PLC程序設計基礎73 例例3. 保持與釋放交替變化保持與釋放交替變化 控制要求:試設計程序實現所示時序。控制要求:試設計程序實現所示時序。 (1) I/O分配:分配:I/O分配表見表。分配表見表。輸入觸點輸入觸點功能說明功能說明輸出線圈輸出線圈功能說明功能說明I0.0信號輸入按鈕信號輸入按鈕Q0.0信號輸出端子信號輸出端子2022-4-4Ch2 PLC程序設計基礎74(2) 程序如圖所示。程序如圖所示。 (3) 要點說明。這一程序又稱為二分頻電路。在控制過程要點說明。這一程序又稱為二分頻電路。在控制過程中,若按鈕為點動按鈕中,若按鈕為點動按鈕(非自鎖按鈕非自鎖按鈕)時,可由該程序控制時,可由該程序控制實現第一次按下啟動,第二次按下停止的功能。實現第一次按下啟動,第二次按下停止的功能。2022-4-4Ch2 PLC程序設計基礎75例例4. 運料車自動裝、卸料控制運料車自動裝、卸料控制 控制要求:某運

溫馨提示

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

評論

0/150

提交評論