版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、2022/7/7Ch3 PLC程序設計基礎1PLC編程及應用S7-200安徽理工大學電氣工程系2022/7/7Ch3 PLC程序設計基礎2后一頁返回第3章 可編程序控制器程序設計基礎3.1 可編程序控制器的編程語言與程序結構 3.2 存儲器的數(shù)據(jù)類型與尋址方式 3.3 位邏輯指令3.4 定時器與計數(shù)器指令 2022/7/7Ch3 PLC程序設計基礎33.1 可編程序控制器的編程語言與程序結構 311 可編程序控制器編程語言的國際標準 312 SIMATIC指令集與IECll31-3指令集 313 可編程序控制器的程序結構返回2022/7/7Ch3 PLC程序設計基礎4311 可編程序控制器編程
2、語言的國際標準 IEC(國際電工委員會)是為電子技術的所有領域制訂全球標準的世界性組織。IEC于1994年5月公布了可編程序控制器標準(IEC1131),該標準鼓勵不同的可編程序控制器制造商提供在外觀和操作上相似的指令。它由以下5部分組成:通用信息,設備與測試要求,編程語言,用戶指南和通信。其中的第三部分(IEC11313)是可編程序控制器的編程語言標準IEC1131-3.標準使用戶在使用新的可編程序控制器時,可以減少重新培訓的時間;對于廠家,使用標準將減少產(chǎn)品開發(fā)的時間,可以投入更多的精力去滿足用戶的特殊要求。 返回2022/7/7Ch3 PLC程序設計基礎5 目前已有越來越多的生產(chǎn)可編程序
3、控制器的廠家提供符合IEC11313標準的產(chǎn)品,有的廠家推出的在個人計算機上運行的“軟件PLC”軟件包也是按IEC1131-3標準設計的。 IEC1131-3詳細地說明了句法、語義和下述5種編程語言(見圖3-1)的表達方式: (1)順序功能圖(Sequential Function Chart) (2)梯形圖(Ladder Diagram) (3)功能塊圖(Function Block Diagram) (4)指令表(Instruction List)。 (5)結構文本(Structured Text)。 標準中有兩種圖形語言梯形圖(LD)和功能塊圖(FBD),還有兩種文字語言指令表(STL)
4、和結構文本(ST),可以認為順序功能圖(SFC)是一種結構塊控制程序流程圖。 順序功能圖梯形圖功能塊圖指令表結構文本PLC的編程語言2022/7/7Ch3 PLC程序設計基礎61) 順序功能圖(SFC) 這是一種位于其他編程語言之上的圖形語言,用來編制順序控制程序,在第4章中將作詳細的介紹。 順序功能圖提供了一種組織程序的圖形方法,在順序功能圖中可以用別的語言嵌套編程。步、轉換和動作是順序功能圖中的三種主要元件??梢杂庙樞蚬δ軋D來描述系統(tǒng)的功能,根據(jù)它可以很容易地畫出梯形圖程序。 順序功能圖2022/7/7Ch3 PLC程序設計基礎72) 梯形圖(LAD) 梯形圖由觸點、線圈和用方框表示的功能
5、塊組成。觸點代表邏輯輸入條件,如外部的開關、按鈕和內部條件等。線圈通常代表邏輯輸出結果,用來控制外部的指示燈、交流接觸器和內部的輸出條件等。功能塊用來表示定時器、計數(shù)器或者數(shù)學運算等附加指令。 在分析梯形圖中的邏輯關系時,為了借用繼電器電路圖的分析方法,可以想像左右兩側垂直母線之間有一個左正右負的直流電源電壓(S7-200的梯形圖中省略了右側的垂直母線),當圖中的I01與I02的觸點接通,或M03與I02的觸點接通時,有一個假想的“能流”(Power Flow)流過Q11的線圈。利用能流這一概念,可以幫助我們更好地理解和分析梯形圖,能流只能從左向右流動。 梯形圖2022/7/7Ch3 PLC程
6、序設計基礎8 觸點和線圈等組成的獨立電路稱為網(wǎng)絡(Network),用編程軟件生成的梯形圖和語句表程序中有網(wǎng)絡編號,允許以網(wǎng)絡為單位,給梯形圖加注釋。本書為節(jié)約篇幅,有時刪去了網(wǎng)絡號。在網(wǎng)絡中,程序的邏輯運算按從左到右的方向執(zhí)行,與能流的方向一致。各網(wǎng)絡按從上到下的順序執(zhí)行,執(zhí)行完所有的網(wǎng)絡后,返回最上面的網(wǎng)絡重新執(zhí)行。 使用編程軟件可以直接生成和編輯梯形圖,并將它下載到可編程序控制器。 梯形圖2022/7/7Ch3 PLC程序設計基礎9 3) 功能塊圖(FBD) 這是一種類似于數(shù)字邏輯門電路的編程語言,有數(shù)字電路基礎的人很容易掌握。該編程語言用類似與門、或門的方框來表示邏輯運算關系,方框的左
7、側為邏輯運算的輸入變量,右側為輸出變量,輸入、輸出端的小圓圈表示“非”運算,方框被“導線”連接在一起,信號自左向右流動。圖中的控制邏輯與前圖中的相同。西門子公司的“LOGO1”系列微型可編程序控制器使用功能塊圖語言,除此之外,國內很少有人使用功能塊圖語言。 功能塊圖與語句表 2022/7/7Ch3 PLC程序設計基礎10 4) 語句表(STL) S7系列可編程序控制器將指令表稱為語句表(Statement List)??删幊绦蚩刂破鞯闹噶钍且环N與微機的匯編語言中的指令相似的助記符表達式,由指令組成的程序叫做指令表程序或語句表程序。 語句表比較適合熟悉可編程序控制器和邏輯程序設計的經(jīng)驗豐富的程序
8、員,語句表可以實現(xiàn)某些不能用梯形圖或功能塊圖實現(xiàn)的功能。 S7-200CPU在執(zhí)行程序時要用到邏輯堆棧,梯形圖和功能塊圖編輯器自動地插入處理棧操作所需要的指令。在語句表中,必須由編程人員加入這些堆棧處理指令。 2022/7/7Ch3 PLC程序設計基礎11 5) 結構文本(ST) 結構文本(ST)是為IEC1131-3標準創(chuàng)建的一種專用的高級編程語言。與梯形圖相比,它能實現(xiàn)復雜的數(shù)學運算,編寫的程序非常簡潔和緊湊。 2022/7/7Ch3 PLC程序設計基礎12 6) 編程語言的相互轉換和選用 在S7-200的編程軟件中,用戶可以選用梯形圖、功能塊圖和語句表這三種編程語言。語句表不使用網(wǎng)絡,但
9、是可以用Network網(wǎng)絡這個關鍵詞對程序分段,這樣的程序可以轉換為梯形圖。 語句表程序較難閱讀,其中的邏輯關系很難一眼看出,所以在設計復雜的開關量控制程序時一般使用梯形圖語言。語句表可以處理某些不能用梯形圖處理的問題,梯形圖編寫的程序一定能轉換為語句表。 梯形圖程序中輸入信號與輸出信號之間的邏輯關系一目了然,易于理解,與繼電器電路圖的表達方式極為相似,設計開關量控制程序時建議選用梯形圖語言。語句表輸入方便快捷,梯形圖中功能塊對應的語句只占一行的位置,還可以為每一條語句加上注釋,便于復雜程序的閱讀。在設計通信、數(shù)學運算等高級應用程序時建議使用語句表語言。 2022/7/7Ch3 PLC程序設計
10、基礎13312 SIMATIC指令集與IEC1131-3指令集 供S7-200使用的STEP 7MicroWIN 32編程軟件提供兩種指令集:SIMATIC指令集與IEC1131-3指令集,前者由西門子公司提供,它的某些指令不是IEC1131-3中的標準指令。通常SIMATIC指令的執(zhí)行時間短,可使用梯形圖、功能塊圖和語句表語言,而IEC1131-3指令集只提供前兩種語言。 IEC1131-3指令集的指令較少,其中的某些“塊”指令可接受多種數(shù)據(jù)格式。例如 SIMATIC指令集中的加法指令被分為ADDI(整數(shù)加)、ADDDI(雙字整數(shù)加)與ADDR(實數(shù)加)等,IEC1131-3的加法指令ADD
11、則未作區(qū)分,而是通過檢驗數(shù)據(jù)格式,由CPU自動選擇正確的指令。IEC1131-3指令通過檢查參數(shù)中的數(shù)據(jù)格式錯誤,還可以減少程序設計中的錯誤。 在IEC1131-3指令編輯器中,有些是SIMATIC指令集中的指令,它們作為IEC1131-3指令集的非標準擴展,在編程軟件的幫助文件中的指令樹內用紅色的“+”號標記。返回2022/7/7Ch3 PLC程序設計基礎14313 可編程序控制器的程序結構 S7-200CPU的控制程序由主程序、子程序和中斷程序組成。 1) 主程序 主程序是程序的主體,每一個項目都必須并且只能有一個主程序。在主程序中可以調用子程序和中斷程序。 主程序通過指令控制整個應用程序
12、的執(zhí)行,每次CPU掃描都要執(zhí)行一次主程序。STEP7-MicroWIN 32的程序編輯器窗口下部的標簽用來選擇不同的程序。因為程序已被分開,各程序結束時不需要加入無條件結束指令,如END、RET或RETI等。 返回2022/7/7Ch3 PLC程序設計基礎152) 子程序 子程序是一個可選的指令的集合,僅在被其它程序調用時執(zhí)行。同一地方被多次調用,使用子程序可以簡化程序代碼和減少掃描時間。設計得好的子程序容易移植到別的項目中去。 3) 中斷程序 中斷程序是指令的一個可選集合,中斷程序不是被主程序調用,它們在中斷事件發(fā)生時由可編程序控制器的操作系統(tǒng)調用。中斷程序用來處理預先規(guī)定的中斷事件,因為不
13、能預知何時會出現(xiàn)中斷事件,所以不允許中斷程序改寫可能在其他程序中使用的存儲器。 2022/7/7Ch3 PLC程序設計基礎1632 存儲器的數(shù)據(jù)類型與尋址方式 321 數(shù)據(jù)在存儲器中存取的方式 322 不同存儲區(qū)的尋址323 直接尋址與間接尋址 324 絕對地址與符號地址 返回2022/7/7Ch3 PLC程序設計基礎17321 數(shù)據(jù)在存儲器中存取的方式 1)位、字節(jié)、字和雙字 二進制數(shù)的1位(bit)只有0和1兩種不同的取值,可用來表示開關量(或稱數(shù)字量)的兩中不同的狀態(tài),如觸點的斷開和接通,線圈的通電和斷電等。如果該位為1,則表示梯形圖中對應的編程元件的線圈“通電”,其常開觸點接通,常閉觸
14、點斷開,以后稱該編程元件為1狀態(tài),或對稱該編程元件ON(接通)。如果該位為0,對應的編程元件的線圈和觸點的狀態(tài)與上述的相反,稱該編程元件為0狀態(tài),或稱該編程元件OFF(斷開)。位數(shù)據(jù)的數(shù)據(jù)類型為BOOL(布爾)型。 返回2022/7/7Ch3 PLC程序設計基礎18 8位二進制數(shù)組成1個字節(jié)(見圖 ),其中的第0位為最低位:LSB:、第7位為最高位( MSB)。兩個字節(jié)組成1個字(Word)。兩個字組成1個雙字(見圖)一般用二進制補碼表示有符號數(shù),其最高位為符號位,最高位為0時為正數(shù),為1時為負數(shù),最大的16位正數(shù)為 7FFFH表示十六進制數(shù)。字節(jié)、字和雙字的取值范圍見表。 圖 字、字節(jié)和雙字
15、對同一地址存取操作的比較 a)VB100 b)VWl00 c)VDl002022/7/7Ch3 PLC程序設計基礎19數(shù)據(jù)的位數(shù)與取值范圍2022/7/7Ch3 PLC程序設計基礎202) 數(shù)據(jù)的存取方式 位存儲單元的地址由字節(jié)地址和位地址組成,如I3.2,其中的區(qū)域標識符“I表示輸入(Input),字節(jié)地址為3,位地址為2(見圖)。這種存取方式稱為“字節(jié)位”尋址方式。 輸入字節(jié)IB3(B是Byte的縮寫)由I3.0I3.7這8位組成。位數(shù)據(jù)的存放2022/7/7Ch3 PLC程序設計基礎21 相鄰的兩個字節(jié)組成一個字,VWl00表示由VBl00和VBl01組成的1個字(見圖),VWl00中的
16、V為區(qū)域標識符,W表示字(Word),100為起始字節(jié)的地址。 VDl00表示由VBl00-VBl03組成的雙字,V為區(qū)域標示符,D表示存取雙字(Double Word),100為起始字節(jié)的地址。圖 字、字節(jié)和雙字對同一地址存取操作的比較 a)VB100 b)VWl00 c)VDl002022/7/7Ch3 PLC程序設計基礎22322 不同存儲區(qū)的尋址1) 輸入映像寄存器(I)尋址 輸入映像寄存器的標識符為I(I0.0-I15.7),在每個掃描周期的開始,CPU對輸入點進行采樣,并將采樣值存于輸入映像寄存器中。 輸入映像寄存器是可編程序控制器接收外部輸入的開關量信號的窗口??删幊绦蚩刂破魍ㄟ^
17、光耦合器,將外部信號的狀態(tài)讀入并存儲在輸入映像寄存器中,外部輸入電路接通時對應的映像寄存器為ON(1狀態(tài))。輸入端可以外接常開觸點或常閉觸點,也可以接多個觸點組成的串并聯(lián)電路。在梯形圖中,可以多次使用輸入位的常開觸點和常閉觸點。 I、Q、V、M、S、SM、L均可按位、字節(jié)、字和雙字來存取。返回2022/7/7Ch3 PLC程序設計基礎232) 輸出映像寄存器(Q)尋址 輸出映像寄存器的標識符為Q(Q0.0Q15.7),在掃描周期的末尾,CPU將輸出映像寄存器的數(shù)據(jù)傳送給輸出模塊,再由后者驅動外部負載。如果梯形圖中Q0.0的線圈“通電”,繼電器型輸出模塊中對應的硬件繼電器的常開觸點閉合,使接在標
18、號為0.0的端子的外部負載工作。輸出模塊中的每一個硬件繼電器僅有一對常開觸點,但是在梯形圖中,每一個輸出位的常開觸點和常閉觸點都可以多次使用。2022/7/7Ch3 PLC程序設計基礎243) 變量存儲器(V)尋址 在程序執(zhí)行的過程中存放中間結果,或用來保存與工序或任務有關的其他數(shù)據(jù)。 4) 位存儲器(M)區(qū)尋址 內部存儲器標志位(M0.0M31.7)用來保存控制繼電器的中間操作狀態(tài)或其他控制信息。雖然名為“位存儲器區(qū)”,表示按位存取,但是也可以按字節(jié)、字或雙字來存取。 5) 特殊存儲器(SM)標志位尋址 特殊存儲器用于CPU與用戶之間交換信息,例如SM00一直為“1”狀態(tài),SM01僅在執(zhí)行用
19、戶程序的第一個掃描周期為“1”狀態(tài)。SM04和SM05分別提供周期為1min和1s的時鐘脈沖。SM10、SM11和SM12分別是零標志、溢出標志和負數(shù)標志。各特殊存儲器的功能見附錄E。2022/7/7Ch3 PLC程序設計基礎25 6) 局部存儲器(L)區(qū)尋址 S7-200有64個字節(jié)的局部存儲器,其中60個可以作為暫時存儲器,或給子程序傳遞參數(shù)。如果用梯形圖編程,編程軟件保留這些局部存儲器的后4個字節(jié)。如果用語句表編程,可以使用所有的64個字節(jié),但是建議不要使用最后4個字節(jié)。 各POU(Program Organizational Unit,程序組織單元,即主程序、子程序和中斷程序)有自己的
20、局部變量表,局部變量在它被創(chuàng)建的POU中有效。變量存儲器(V)是全局存儲器,可以被所有的POU存取。 S7-200給主程序和中斷程序各分配64字節(jié)局部存儲器,給每一級子程序嵌套分配64字節(jié)局部存儲器,各程序不能訪問別的程序的局部存儲器。 因為局部變量使用臨時的存儲區(qū),子程序每次被調用時,應保證它使用的局部變量被初始化。2022/7/7Ch3 PLC程序設計基礎267) 定時器存儲器(T)區(qū)尋址 定時器相當于繼電器系統(tǒng)中的時間繼電器。S7-200有三種定時器,它們的時基增量分別為1ms、l0ms和l00ms,定時器的當前值寄存器是16位有符號整數(shù),用于存儲定時器累計的時基增量值(132 767)
21、。 定時器的當前值大于等于設定值時,定時器位被置為1,梯形圖中對應的定時器的常開觸點閉合,常閉觸點斷開。用定時器地址(T和定時器號,如T5)來存取當前值和定時器位,帶位操作數(shù)的指令存取定時器位,帶字操作數(shù)的指令存取當前值。2022/7/7Ch3 PLC程序設計基礎278) 計數(shù)器存儲器(C)區(qū)尋址 計數(shù)器用來累計其計數(shù)輸入端脈沖電平由低到高的次數(shù),CPU提供加計數(shù)器、減計數(shù)器和加減計數(shù)器。計數(shù)器的當前值為16位有符號整數(shù),用來存放累計的脈沖數(shù)(132 767)。 當計數(shù)器的當前值大于等于設定值時,計數(shù)器位被置為1。用計數(shù)器地址(C和計數(shù)器號,如C20)來存取當前值和計數(shù)器位,帶位操作數(shù)的指令存
22、取計數(shù)器位,帶字操作數(shù)的指令存取當前值。2022/7/7Ch3 PLC程序設計基礎289) 順序控制繼電器(SCR)尋址 順序控制繼電器(SCR)位用于組織機器的順序操作,SCR提供控制程序的邏輯分段,詳細的使用方法見53節(jié)。 10) 模擬量輸入(AI)尋址 S7-200將現(xiàn)實世界連續(xù)變化的模擬量(如溫度、壓力、電流、電壓等)用AD轉換器轉換為1個字長(16位)的數(shù)字量,用區(qū)域標識符AI、數(shù)據(jù)長度(W)和字節(jié)的起始地址來表示模擬量輸入的地址。因為模擬量輸入是一個字長,應從偶數(shù)字節(jié)地址開始存放(如AIW2、AIW4、AIW6等),模擬量輸入值為只讀數(shù)據(jù)。 2022/7/7Ch3 PLC程序設計基
23、礎2911) 模擬量輸出(AQ)尋址 S7-200將1個字長的數(shù)字用DA轉換器轉換為現(xiàn)實世界的模擬量,用區(qū)域標識符AQ、數(shù)據(jù)長度(W)和字節(jié)的起始地址來表示存儲模擬量輸出的地址。因為模擬量輸出是一個字長,應從偶數(shù)字節(jié)地址開始存放(如AQW2、AQW4、AQW6等),用戶不能讀取模擬量輸出值。 12) 累加器(AC)尋址 累加器是可以像存儲器那樣使用的讀寫單元,例如可以用它向子程序傳遞參數(shù),或從子程序返回參數(shù),以及用來存放計算的中間值。CPU提供了4個32位累加器(AC0AC3),可以按字節(jié)、字和雙字來存取累加器中的數(shù)據(jù)。按字節(jié)、字只能存取累加器的低8位或低16位,雙字存取全部的32位,存取的數(shù)
24、據(jù)長度由所用的指令決定。如在指令 MOV_W AC2,VW100 中,AC2按字(W)存取。 2022/7/7Ch3 PLC程序設計基礎3013) 高速計數(shù)器(HC)尋址 高速計數(shù)器用來累計比CPU的掃描速率更快的事件,其當前值和設定值為32位有符號整數(shù),當前值為只讀數(shù)據(jù)。高速計數(shù)器的地址由區(qū)域標示符HC和高速計數(shù)器號組成,如HC2。14) 常數(shù)的表示方法與范圍 常數(shù)值可以是字節(jié)、字或雙字,CPU以二進制方式存儲常數(shù),常數(shù)也可以用十進制、十六進制、ASCII碼或浮點數(shù)形式來表示,表是常數(shù)的例子。 2022/7/7Ch3 PLC程序設計基礎31323 直接尋址與間接尋址 1) 直接尋址 直接尋址
25、給出了存儲器的區(qū)域、長度和位置,例如VW790指V存儲區(qū)中的字,地址為790??梢杂米止?jié)(B)、字(W)或雙字(DW)方式存取V、I、Q、M、S和SM存儲器區(qū)。例如VBl00表示以字節(jié)方式存取,VWl00表示存取VBl00、VB101組成的字,VDl00表示存取VBl00VBl03組成的雙字。 取代繼電器控制的數(shù)字量(開關量)控制系統(tǒng)一般只用直接尋址。 返回2022/7/7Ch3 PLC程序設計基礎32 2) 建立間接尋址的指針 S7-200CPU允許使用指針對下述存儲區(qū)域進行間接尋址:I,Q,V,M,S,T(僅當前值)和C(僅當前值)。但不能對獨立的位(Bit)或模擬量進行間接尋址。 使用間
26、接尋址之前,應創(chuàng)建一個指向該位置的指針。指針為雙字值,用來存放另一個存儲器的地址,只能用V、L或累加器AC1、AC2和AC3作指針。為了生成指針,必須用雙字傳送指令(MOVD)將某個位置的地址移入另一位置或累加器作為指針。指令的輸入操作數(shù)開始處使用&符號,表示某一存儲器位置的地址,而不是存儲器里的值。指令的輸出操作數(shù)是指針的地址,例如:MOVD&VB200,AC1MOVD&C3,VD6MOVD &MB4,LD82022/7/7Ch3 PLC程序設計基礎33 3) 用指針采存取數(shù)據(jù) 用指針來存取數(shù)據(jù)時,操作數(shù)前加“*”號,表示該操作數(shù)為一個指針。圖中的* AC1表示AC1是一個指針,*AC1是M
27、OVW指令確定的一個字長的數(shù)據(jù)。此例中,存于V200和V201的數(shù)據(jù)被傳送到累加器AC0的低16位。 圖 使用指針的間接尋址 2022/7/7Ch3 PLC程序設計基礎344) 修改指針 連續(xù)存取指針所指的數(shù)據(jù)時,因為指針是32位的數(shù)據(jù),應使用雙字指令來修改指針值,如雙字加法(ADDD)或雙字加1(INCD)指令。修改時記住需要調整的存儲器地址的字節(jié)數(shù):存取字節(jié)時,指針值加1,存取字時,指針值加2;存取雙字時;指針值加4。 2022/7/7Ch3 PLC程序設計基礎35324 絕對地址與符號地址 可以用數(shù)字和字母組成的符號來代替存儲器的地址,符號地址便于記憶,使程序更容易理解。程序編譯后下載到
28、可編程序控制器時,所有的符號地址被轉換為絕對地址。程序編輯器中的地址顯示舉例: I0.0:絕對地址,由內存區(qū)和地址組成(SIMATIC程序編輯器用)。I0.0:絕對地址,百分比符號放在絕對地址之前(IEC程序編輯器用)。#INPUT1:符號地址,“#”號放在局部變量之前(SIMATIC或IEC程序編輯器用)“INPUT1”:全局符號名(SIMATIC或IEC程序編輯器用)。? .?或?:紅色問號,表示一未定義的地址,在程序編譯之前必須定義。2022/7/7Ch3 PLC程序設計基礎3633 位邏輯指令3 3 1 觸點指令 3 3 2 輸出指令 33 3 其他指令 返回2022/7/7Ch3 P
29、LC程序設計基礎37 1) 標準觸點指令 常開觸點對應的存儲器地址位為1狀態(tài)時,該觸點閉合。在語句表中,分別用LD(Load,裝載)、A(And,與)和O(Or,或)指令來表示開始、串聯(lián)和并聯(lián)的常開觸點(見表)。 LD bit 裝載電路開始的常開觸點 A bit 與串聯(lián)的常開觸點 O bit 或并聯(lián)的常開觸點 LDN bit 非裝載電路開始的常閉觸點 AN bit 非與串聯(lián)的常閉觸點 ON bit 非或并聯(lián)的常閉觸點 標準觸點指令331 觸點指令 返回2022/7/7Ch3 PLC程序設計基礎382) 堆棧的基本概念 S7-200有1個9位的堆棧,棧頂用來存儲邏輯運算的結果,下面的8位用來存儲
30、中間運算結果(見圖3-10)。堆棧中的數(shù)據(jù)一般按“先進后出”的原則存取。 執(zhí)行LD指令時,將指令指定的位地址中的二進制數(shù)據(jù)裝載入棧頂。執(zhí)行A(與)指令時,將指令指定的位地址中的二進制數(shù)和棧頂中的二進制數(shù)相“與”,結果存入棧頂。執(zhí)行O指令時,將指令指定的位地址中的二進制數(shù)和棧頂中的二進制數(shù)相“或”,結果存入棧頂。 執(zhí)行常閉觸點對應的LDN,AN和ON指令時,取出指令指定的位地址中的二進制數(shù)據(jù)后,將它取反(0變?yōu)?,1變?yōu)?),然后再做對應的裝載、與、或操作。 與堆棧有關的指令 ALD 裝載與,電路塊串聯(lián)連接 OLD 裝載或,電路塊并聯(lián)連接 LPS 入棧 LRD 讀棧 LPP 出棧 LDS n 裝
31、載堆棧 2022/7/7Ch3 PLC程序設計基礎39 常閉觸點對應的存儲器地址位為0狀態(tài)時,該觸點閉合。在語句表中,分別用LDN(Load Not)、AN(And Not)和ON(0r Not)來表示開始、串聯(lián)和并聯(lián)的常閉觸點(見表3-3)。觸點符號中間的“”表示常閉,觸點指令中變量的數(shù)據(jù)類型為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/7/7Ch3 PLC程序設計基礎40I1.4C24I
32、0.3T16( )Q5 .3Q3.4I3.2I1.23) OLD(Or Load )指令 觸點的串并聯(lián)指令只能將單個觸點與別的觸點電路串并聯(lián)。要想將下圖中由I32和/T16的觸點組成的串聯(lián)電路與它上面的電路并聯(lián),首先需要完成兩個串聯(lián)電路塊內部的“與”邏輯運算(即觸點的串聯(lián)),這兩個電路塊都是用LD或LDN指令表示電路塊的起始觸點。前兩條指令執(zhí)行完后,“與”運算的結果“與”運算的結果S0=/I1.4 . I0.3存放在棧頂,第3、4條指令執(zhí)行完后,“與”運算的結果S1 =I3.2 . /T16壓入棧頂,原來在棧頂?shù)腟0被推到堆棧的第2層,第2層的數(shù)據(jù)被推到第3層棧底的數(shù)據(jù)丟失。LDNC24ONI
33、1.2ALDLDNI1.4AI0.3LDI3.2ANT16OLDOQ3.4=Q5.3RETURN2022/7/7Ch3 PLC程序設計基礎41 OLD指令用邏輯“或”操作對堆棧第1層和第2層的數(shù)據(jù)相“或”,即將兩個串聯(lián)電路塊并聯(lián),并將運算結果S2=S0+S1存入堆棧的頂部。第3第9層的數(shù)據(jù)依次向上移動一位(x表示不確定的值)。 OLD指令不需要地址,它相當于需并聯(lián)的兩塊電路右端的一段垂直連線。 S1S0iv0iv1iv2iv3iv4iv5iv6S2iv0iv1iv2iv3iv4iv5iv6 x執(zhí)行前執(zhí)行后S2=S0+S1OLD(棧頂值或)第1層(棧頂)第2層第3層第4層第5層第6層第7層第8層
34、第9層(棧底)2022/7/7Ch3 PLC程序設計基礎42第1層(棧頂)第2層第3層第4層第5層第6層第7層第8層第9層(棧底)S3S2iv0iv1iv2iv3iv4iv5iv6S4iv0iv1iv2iv3iv4iv5iv6 x執(zhí)行前執(zhí)行后S4=S2 . S3ALD(棧頂值與)4) ALD(And Load )指令 圖3-9中OLD后面的兩條指令將兩個觸點并聯(lián),運算結果S3=/C24+/I1.2壓入棧頂,棧中原來的數(shù)據(jù)依次向下一層推移,棧底值被推出丟失。ALD指令用邏輯“與”操作對堆棧第1層和第2層的數(shù)據(jù)相“與”,即將兩個電路塊串聯(lián),并將運算結果S4=S2S3存入堆棧的頂部(見圖,圖中x表示
35、不確定的值)。 將電路塊串并聯(lián)時,每增加一 個用LD或LDN指令開始的電路塊的運算結果,堆棧中增加一個數(shù)據(jù),堆棧深度加1,每執(zhí)行一條ALD或OLD指令,堆棧深度減1 2022/7/7Ch3 PLC程序設計基礎435) 其它堆棧操作指令 入棧(LPS,Logic Push)指令復制棧頂?shù)闹挡⑵鋲喝攵褩5南乱粚?,棧中原來的?shù)據(jù)依次向下一層推移,棧底值被推出丟失(見圖)。iv0iv1iv2iv3iv4iv5iv6iv7iv8iv0iv0iv1iv2iv3iv4iv5iv6iv7入棧前入棧后LPS(入棧)堆棧操作2022/7/7Ch3 PLC程序設計基礎44iv0iv1iv2iv3iv4iv5iv6
36、iv7iv8iv1iv1iv2iv3iv4iv5iv6iv7iv8讀棧前讀棧后LRD(讀棧)堆棧操作 讀棧(LRD,Logic Read)指令將堆棧中第2層的數(shù)據(jù)復制到棧頂,29層的數(shù)據(jù)不變,但原棧頂值消失。2022/7/7Ch3 PLC程序設計基礎45 出棧(LPP,Logic Pop)指令使棧中各層的數(shù)據(jù)向上移動一層,第2層的數(shù)據(jù)成為堆棧新的棧頂值,原來棧頂?shù)臄?shù)據(jù)從棧內消失。iv0iv1iv2iv3iv4iv5iv6iv7iv8iv1iv2iv3iv4iv5iv6iv7iv8 x出棧前出棧后LPP(出棧)堆棧操作2022/7/7Ch3 PLC程序設計基礎46iv0iv1iv2iv3iv4i
37、v5iv6iv7iv8iv3iv0iv1iv2iv3iv4iv5iv6iv7執(zhí)行前執(zhí)行后LDS3(裝載堆棧)堆棧操作裝載堆棧(LDS n,Load Stack,n:18)指令復制堆棧內第n層的值到棧頂,棧中原來的數(shù)據(jù)依次向下一層推移,棧底值被推出丟失。2022/7/7Ch3 PLC程序設計基礎47I0.0LPSI0.1I0.5( )Q0.3( )M3.7( )Q2.1LRDLPPI0.2 I0.4堆棧指令的使用LDI0.2AI0.0LPSANI0.1=Q2.1LRDAI0.5=M3.7LPPANI0.4=Q0.3與堆棧有關的指令 ALD 裝載與,電路塊串聯(lián)連接 OLD 裝載或,電路塊并聯(lián)連接
38、LPS 入棧 LRD 讀棧 LPP 出棧 LDS n 裝載堆棧 2022/7/7Ch3 PLC程序設計基礎48I0.0I1.4( )Q0.3( )I/ II/ I/ IIIQ3.4I0.5I0.1I0.4I0.2LDNII0.5OII0.1AII1.4=Q0.3LDII0.4ONII0.2ANII0.0ANII0.0=IQ3.4立即觸點與輸出指令6) 立即觸點 立即(Immediate)觸點指令只能用于輸入I,執(zhí)行立即觸點指令時,立即讀入物理輸入點的值,根據(jù)該值決定觸點的接通斷開狀態(tài),但是并不更新該物理輸入點對應的映像寄存器。在語句表中,分別用LDI、AI、OI來表示開始、串聯(lián)和并聯(lián)的常開立即
39、觸點,用LDNI、ANI、ONI來表示開始、串聯(lián)和并聯(lián)的常閉立即觸點。觸點符號中間的“I ”和“I”表示立即常開和立即常閉。下圖是立即觸點與輸出指令的例子。 2022/7/7Ch3 PLC程序設計基礎49LDI bit立即裝載電路開始的常開觸點 AI bit立即與串聯(lián)的常開觸點 OI bit立即或并聯(lián)的常開觸點 LDNI bit立即非裝載電路開始的常閉觸片 ANI bit立即非與串聯(lián)的常閉觸點 ONI bit立即非或并聯(lián)的常閉觸點 立即觸點指令2022/7/7Ch3 PLC程序設計基礎501) 輸出 輸出指令(=)與線圈相對應,驅動線圈的觸點電路接通時,線圈流過“能流”,指定位對應的映像寄存器
40、為1,反之則為0。輸出指令將棧頂值復制到對應的映像寄存器。輸出類指令應放在梯形圖的最右邊,變量為BOOL型。3 3 2 輸出指令 返回2022/7/7Ch3 PLC程序設計基礎512) 立即輸出 立即輸出指令(=I)只能用于輸出量(Q),執(zhí)行該指令時,將棧頂值立即寫入指定的物理輸出位和對應的輸出映像寄存器。線圈符號中的“I”用來表示立即輸出。 I0.0I1.4( )Q0.3( )I/ II/ I/ IIIQ3.4I0.5I0.1I0.4I0.2LDNII0.5OII0.1AII1.4=Q0.3LDII0.4ONII0.2ANII0.0ANII0.0=IQ3.4立即觸點與輸出指令2022/7/7
41、Ch3 PLC程序設計基礎52 執(zhí)行S(Set,置位或置1)與R(Reset,復位或置0)指令時,從指定的位地址開始的N個點的映像寄存器都被置位(變?yōu)?)或復位(變?yōu)?),N=1255,圖中N=1。如果圖中I0.1的常開觸點接通,Q0.3變?yōu)?并保持該狀態(tài),即使I0.1的常開觸點斷開,它也仍然保持1狀態(tài)。當I0.3的常開觸點閉合時,Q0.3變?yōu)?,并保持該狀態(tài),即使I0.3的常開觸點斷開,它也仍然保持0狀態(tài)。 如果被指定復位的是定時器位(T)或計數(shù)器位(C),將清除定時器/計數(shù)器的當前值。 I0.1( )SQ0.3I0.3( )RQ0.3I0.4( )SIQ0.5I0.5( )RIQ0.511
42、11LDI0.1SQ0.3,1LDI0.3RQ0.3,1LDI0.4SIQ0.5,1LDI0.5RIQ0.5,13) 置位與復位 I0.1I0.3Q0.32022/7/7Ch3 PLC程序設計基礎53返回后一頁前一頁 4) 立即置位與立即復位 執(zhí)行SI(Set Immediate,立即置位)或RI(Reset Immediate,立即復位)指令時,從指定位地址開始的N個連續(xù)的物理輸出點將被立即置位或復位,N=1128。線圈中的I表示立即。該指令只能用于輸出量(Q),新值被同時寫入對應的物理輸出點和輸出映像寄存器。 使S、R、SI和RI指令ENO(使能輸出)=0的錯誤條件:SM43(運行時間),
43、0006(間接尋址),0091(操作數(shù)超出范圍)。 = bit輸出=I bit立即輸出 S bit,N置位 SI bit,N立即置位 R bit,N復位 RI bit,N立即復位 輸出類指令2022/7/7Ch3 PLC程序設計基礎541) 取反(NOT) 取反觸點指令將它左邊電路的邏輯運算結果取反(見圖),運算結果若為1則變?yōu)?,為0則變?yōu)?,該指令沒有操作數(shù)。能流到達該觸點時即停止,若能流未到達該觸點,該觸點給右側供給能流。NOT指令將堆棧頂部的值從0改為1,或從1該為0。 ( )M1.5PI0.3( )M3.2NI0.3( )M0.3NOTI0.7LDI0.3EU=M1.5LDI0.3E
44、D=IM3.2LDI0.7NOT=M0.3I0.3M1.5M3.2I0.7M0.3333 其他指令 返回2022/7/7Ch3 PLC程序設計基礎55 2) 跳變觸點 正跳變觸點檢測到一次正跳變(觸點的輸入信號由0變?yōu)?)時,或負跳變觸點檢測到一次負跳變(觸點的輸入信號由1變?yōu)?)時,觸點接通一個掃描周期。正負跳變指令的助記符分別為EU(Edge Up,上升沿)和ED(Edge Down,下降沿),它們沒有操作數(shù),觸點符號中間的(“P”和“N”分別表示正跳變(Positive Transition)和負跳變(Negative Transition)(見圖)。I1.4( )M1.5PI0.3I1
45、.4( )M3.2NI0.3I1.4( )M0.3NOTI0.7LDI0.3EU=M1.5LDI0.3ED=IM3.2LDI0.7NOT=M0.3I0.3M1.5M3.2I0.7M0.32022/7/7Ch3 PLC程序設計基礎563) 空操作指令 空操作指令(NOP N)不影響程序的執(zhí)行,操作數(shù)N=0255。 NOT取反EU正跳變 ED負跳變 NOP N空操作 其它指令2022/7/7Ch3 PLC程序設計基礎573.4 定時器與計數(shù)器指令 341 通電延時定時器指令 342 斷電延時定時器指令 343 保持型通電延時定時器 344 定時器當前值刷新的方法 345 計數(shù)器指令 返回2022/
46、7/7Ch3 PLC程序設計基礎58341 通電延時定時器指令 定時器、計數(shù)器的當前值、設定值均為16位有符號整數(shù)(INT),允許的最大值為32 767。返回 通電延時定時器(TON)輸入端(IN)的輸入電路接通時開始定時。當前值大于等于PT(Preset Time,預置時間)端指定的設定值時(PT=132767),定時器位變?yōu)镺N,梯形圖中對應定時器的常開觸點閉合,常閉觸點斷開。達到設定值后,當前值仍繼續(xù)計數(shù),直到最大值32767。2022/7/7Ch3 PLC程序設計基礎59 輸入電路斷開時,定時器被復位,當前值被清零,常開觸點斷開。第一次掃描時定時器位OFF,當前值為0。定時器有1ms、
47、10ms和100ms三種分辨率,分辨率取決于定時器號(見表)。定時器的設定時間等于設定值與分辨率的乘積,圖中的T33為l00ms定時器,設定時間為l00ms3=0.3s 定時器和計數(shù)器的設定值的數(shù)據(jù)類型均為INT型,除了常數(shù)外,還可以用VW、IW等作它們的設定值。 定時器特性 返回2022/7/7Ch3 PLC程序設計基礎60342 斷電延時定時器指令 斷電延時定時器(TOF)用來在IN輸入電路斷開后延時一段時間,再使定時器位OFF。它用輸入從ON到OFF的負跳變啟動定時。斷電延時定時器 返回2022/7/7Ch3 PLC程序設計基礎61 接在定時器IN輸入端的輸入電路接通時定時器位變?yōu)镺N,
48、當前值被清零。輸入電路斷開后,開始定時,當前值從0開始增大,當前值等于設定值時,輸出位變?yōu)镺FF,當前值保持不變,直到輸入電路接通(見圖) TOF與TON不能共享相同的定時器號,例如3.4.2斷電延時定時器指令不能同時使用TON T32和TOF T32。 可用復位(R)指令復位定時器。復位指令使定時器位變?yōu)镺FF,定時器當前值被清零。在第一個掃描周期,TON和TOF被自動復位,定時器位OFF,當前值為0。 2022/7/7Ch3 PLC程序設計基礎62343 保持型通電延時定時器 保持型通電延時定時器(Retentive On-Delay Timer,TONR)的輸入電路接通時,開始定時。當前值大于等于PT端指定的設定值時,定時器位變?yōu)镺N。達到設定值后,當前值仍繼續(xù)計數(shù),直到最大值32767 . 輸入電路斷開時,當前值保持不變??捎肨ONR來累計輸入電路接通的若干個時間間隔。復位指令(R)用來清除它的當前值,同時使定時器位OFF。圖中的時間間隔100ms時,10ms定時器T2的定時器位變?yōu)镺N。 在第一個掃描周期,定時器位為OFF。可以在系統(tǒng)塊中設置TONR的當前值有斷電保持功能。 返回2022/
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度教育裝備采購會參展商合作框架合同3篇
- 個人理財協(xié)議書
- 全面創(chuàng)新科技布局
- 墻體保溫板采購合同(2篇)
- 2024招投標與合同管理法律顧問服務合同2篇
- 2024森林質量精準提升
- 2024年高速路改造工程:貴黃高速房屋拆遷補償合同
- 車輛定點維修合同書協(xié)議范本模板
- 純人工勞務分包合同
- 19只有一個地球說課稿-2024-2025學年六年級上冊語文統(tǒng)編版
- 2024年公安機關理論考試題庫附參考答案(基礎題)
- 2024年安全生產(chǎn)法律、法規(guī)、標準及其他要求清單
- 2023年高考文言文閱讀設題特點及備考策略
- 暖通工程合同
- 生產(chǎn)型企業(yè)規(guī)章管理制度(3篇)
- 鋼結構之樓承板施工方案流程
- 2024年營銷部工作人員安全生產(chǎn)責任制(2篇)
- ISO 56001-2024《創(chuàng)新管理體系-要求》專業(yè)解讀與應用實踐指導材料之3:4組織環(huán)境-4.1理解組織及其環(huán)境(雷澤佳編制-2025B0)
- 2024-2030年中國管道檢測工程行業(yè)前景分析發(fā)展規(guī)劃研究報告
- 抗心律失常藥物臨床應用中國專家共識
- 考級代理合同范文大全
評論
0/150
提交評論