S7200PLC的指令系統(tǒng).ppt
《S7200PLC的指令系統(tǒng).ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《S7200PLC的指令系統(tǒng).ppt(102頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、電氣控制與 PLC應(yīng)用 第 6章 S7-200 PLC的 指令系 統(tǒng) 學(xué)習(xí)目標(biāo): 熟練掌握梯形圖和語句表的編程方法, 掌握基本指令和功能指令中的常用指令, 了解和會(huì)用其他指令。通過對(duì)本章的學(xué)習(xí), 做到可以根據(jù)需要編制出結(jié)構(gòu)較復(fù)雜的控 制程序。 第 6章 S7-200 PLC的 指令系統(tǒng) 教學(xué)內(nèi)容: 6.1 S7-200 PLC編程基礎(chǔ) 6.2 S7-200 PLC的基本指令及編程方法 6.3 S7-200 PLC的功能指令及編程方法 第 6章 S7-200 PLC的 指令系統(tǒng) S7-200系列 PLC主機(jī)中有 兩類指令集 : IEC11313
2、指令集; SIMATIC指令集。 IEC11313指令集 是國際電工委員會(huì)( IEC) 制定的 PLC國際標(biāo)準(zhǔn) 11313Programming Language(編程語言 )中推薦的標(biāo)準(zhǔn)語言,只能用梯 形圖( LAD)和功能塊圖( FBD)編程語言編程, 通常指令執(zhí)行時(shí)間較長。 SIMATIC指令集 是西門子公司為 S7-200 PLC 設(shè)計(jì)的編程語言,該指令通常執(zhí)行時(shí)間短,而且可 以用梯形圖( LAD)、功能塊圖( FBD)和語句表 ( STL)三種編程語言。 6.1.1 編程語言 SIMATIC指令集是西門子公司專為 S7-200 PLC設(shè)計(jì)的編程語言。該指令集中
3、,大多數(shù)指 令也符合 IEC11313標(biāo)準(zhǔn)。 SIMATIC指令集不 支持系統(tǒng)完全數(shù)據(jù)類型檢查。 使用 SIMATIC指令集,可以用梯形圖 ( LAD)、功能塊圖( FBD)和語句表( STL) 編程語言編程。 返回 6.1 S7-200 PLC編程基礎(chǔ) 1. 梯形圖( LAD)編程語言 圖 5-1 梯形圖( LAD) 梯形圖( LAD)是與電氣控制電路相呼應(yīng)的圖形語言。 它沿用了繼電器、觸頭、串并聯(lián)等術(shù)語和類似的圖形符號(hào), 并簡化了符號(hào),還增加了一些功能性的指令。梯形圖按自 上而下,從左到右的順序排列,最左邊的豎線稱為起始母 線也叫左母線,然后按一定的控制要求和規(guī)則連接
4、各個(gè)接 點(diǎn),最后以繼電器線圈(或再接右母線)結(jié)束,稱為一邏 輯行或叫一“梯級(jí)”。通常一個(gè)梯形圖中有若干邏輯行 (梯級(jí)),形似梯子,如圖 5-1所示。 右母線省略 2. 功能塊圖( FBD)編程語言 圖 5-2 功能塊圖( FBD) 對(duì)應(yīng)圖 5-1中的I0.1常閉觸點(diǎn) 功能塊圖 ( FBD) 類似于普通邏輯功能圖 , 它 沿用了半導(dǎo)體邏輯電路的邏輯框圖的表達(dá)方式 。 一 般用一種功能方框表示一種特定的功能 , 框圖內(nèi)的 符號(hào)表達(dá)了該功能塊圖的功能 。 功能塊圖通常有若 干個(gè)輸入端和若干個(gè)輸出端 。 輸入端是功能塊圖的 條件 , 輸出端是功能塊圖的運(yùn)算結(jié)果 。 3. 語句表( ST
5、L)編程語言 語句表( STL)是用助記符 來表達(dá) PLC的各種控制功能的。 它類似于計(jì)算機(jī)的匯編語言, 但比匯編語言更直觀易懂,編 程簡單,因此也是應(yīng)用很廣泛 的一種編程語言。這種編程語 言可使用簡易編程器編程,但 比較抽象,一般與梯形圖語言 配合使用,互為補(bǔ)充。 圖 5-3 語句表( STL) 通常梯形圖( LAD)程序、功能塊圖( FBD) 程序、語句表( STL)程序可有條件的方便地轉(zhuǎn)換 (以網(wǎng)絡(luò)為單位轉(zhuǎn)換)。但是,語句表( STL)可 以編寫梯形圖( LAD)或功能塊圖( FBD)無法 實(shí)現(xiàn)的程序。 SIMATIC S7-200系列 PLC數(shù)據(jù)類型可以是 布爾型
6、 、 整型和實(shí)型 ( 浮點(diǎn)數(shù) ) 。 實(shí)數(shù)采 用 32位單精度數(shù)來表示 , 其數(shù)值有較大的 表 示 范 圍 : 正 數(shù) 為 +1.175495E-38 +3.402823E+38 ;負(fù)數(shù)為 - 1.175495E38 -3.402823E+38。 6.1.2 數(shù)據(jù)類型及范圍 在編程中經(jīng)常會(huì)使用常數(shù) 。 常數(shù)數(shù)據(jù) 長度可為字節(jié) 、 字和雙字 , 在機(jī)器內(nèi) 部的數(shù)據(jù)都以二進(jìn)制存儲(chǔ) , 但常數(shù)的 書寫可以用二進(jìn)制 、 十進(jìn)制 、 十六進(jìn) 制 、 ASCII碼或浮點(diǎn)數(shù) ( 實(shí)數(shù) ) 等多 種形式 。 幾種常數(shù)形式分別如表 3.9 所示 。 常數(shù) 6.1.3 主要編程元件 PLC在其系統(tǒng)
7、軟件的管理下 , 將用戶程序 儲(chǔ)存區(qū)劃分出若干個(gè)區(qū) , 并將這些區(qū)域 賦予 不同的功能 , 由此組成了各種內(nèi)部器件 , 即 PLC的 編程元件 。 這些編程元件 沿用了傳統(tǒng)繼電器控制線 路中的元件的名稱 , 并根據(jù)其功能 , 分別稱 之為輸入繼電器 、 輸出繼電器 、 輔助繼電器 、 變量繼電器 、 定時(shí)器 、 計(jì)數(shù)器 、 數(shù)據(jù)繼電器 等等 。 編程元件的 種類和數(shù)量因廠家 、 不同系 列 、 不同型號(hào)不同而不同 , 編程元件的種類 和數(shù)量越多 , 其功能越強(qiáng) 。 返回 一、主要編程元件 一)編程元件的基本特征 PLC編程元件的物理實(shí)質(zhì): 電子電路及存儲(chǔ)器 。 并不真正 存在這些物
8、理器件與連線,所以稱為“軟元件 與 軟接線” , 與此對(duì)應(yīng)的只是存儲(chǔ)器中的某些存儲(chǔ)單元。 在 PLC中 用 邏輯與、邏輯或、邏輯非等 邏輯運(yùn)算來處理各 種繼電器的連接 ; 編程元件和繼電接觸器的元件類似 、 具有 線圈和常開 、 常 閉觸點(diǎn); 當(dāng)線圈被選中 ( 通電 ) 時(shí) , 常開觸點(diǎn)閉合 , 常閉觸點(diǎn)斷開 , 當(dāng)線圈 失去選中件時(shí) , 常閉接通 , 常開斷開 ; 可編程序控制器的編程元件可以有 無數(shù)多個(gè)常開 、 常閉觸 點(diǎn) 。 1 0 ON OFF PLC內(nèi)部 存儲(chǔ)單元與 繼電器的 對(duì)應(yīng)關(guān)系 編程元件的基本特征 編程元件與繼電接觸器元件比較表 相同點(diǎn) 不同點(diǎn) 都具有線圈和
9、常開 常閉觸點(diǎn),觸點(diǎn)的 狀態(tài)隨著線圈的狀 態(tài)而變化,即當(dāng)線 圈被選中(通電) 時(shí),常開觸點(diǎn)閉合, 常閉觸點(diǎn)斷開,當(dāng) 線圈失去選中條件 時(shí),常閉接通,常 開斷開。 編程元件被選中, 只是代表這個(gè)元件 的存儲(chǔ)單元置 1,失 去選中條件只是這 個(gè)元件的存儲(chǔ)單元 置 0;編程元件可以 無限次地訪問,可 編程控制器的編程 元件可以有無數(shù)多 個(gè)常開、常閉觸點(diǎn)。 S7-200將編程元件統(tǒng)一歸為存儲(chǔ)器單元 , 存儲(chǔ)單元 按字節(jié)進(jìn)行編址 , 無論所尋址的是何種數(shù)據(jù)類型 , 通常應(yīng)指出它在所在存儲(chǔ)區(qū)域和在區(qū)域內(nèi)的字節(jié)地 址 。 每個(gè)單元都有惟一的地址 , 地址用名稱和編號(hào) 兩部分組成 。 二)主要編程元件
10、 1、輸入繼電器 I 輸入繼電器: 作用是接受并存儲(chǔ)輸入到 PLC中的現(xiàn)場 的控制按鈕 、 行程開關(guān)的開關(guān)信號(hào) , 以及各種傳感器等的 輸入信號(hào) 。 特點(diǎn):其狀態(tài)由外部信號(hào)決定 , 而不能由用戶 程序控制 。 本質(zhì)就是 PLC的存儲(chǔ)系統(tǒng)中的輸入映像寄存器 , 一個(gè) 輸入觸點(diǎn)對(duì)應(yīng)于某一位輸入映像寄存器 , 與對(duì)應(yīng)的輸入端 子相連 。 在使用中不必考慮接點(diǎn)的容量 , 即在編程時(shí) , 可以通 過使用輸入繼電器的觸點(diǎn) , 無限制地使用輸入繼電器的狀 態(tài) 。 基本輸入輸出單元繼電器按字節(jié)編號(hào) , 一般 采用 “ 字 節(jié) .位 ” 的方式表示 , 如: I1.2。 2、輸出繼電器 Q
11、輸出繼電器: 具有一對(duì)物理接點(diǎn) , 與 PLC的一個(gè)輸出 端子相連 , 可以直接驅(qū)動(dòng)負(fù)載 。 特點(diǎn):其狀態(tài)只能由用戶 程序決定 , 而不可能由外部信號(hào)控制 。 本質(zhì)就是 PLC的存儲(chǔ)系統(tǒng)中的輸入映像寄存器 , 一個(gè) 輸入觸點(diǎn)對(duì)應(yīng)于某一位輸入映像寄存器 , 與對(duì)應(yīng)的輸入端 子相連 。 在使用中不必考慮接點(diǎn)的容量 , 即在編程時(shí) , 可以通 過使用輸入繼電器的觸點(diǎn) , 無限制地使用輸入繼電器的狀 態(tài) 。 基本輸入輸出單元繼電器按字節(jié)編號(hào) , 一般 采用 “ 字 節(jié) .位 ” 的方式表示 , 如: Q1.2。 3、輔助繼電器 M 它與外界沒有聯(lián)系 , 僅作運(yùn)算的中間結(jié)果使用 , 有
12、時(shí)也稱 作 內(nèi)部繼電器 或 中間繼電器 , 它 不能直接驅(qū)動(dòng)外部負(fù)載 , 外部負(fù)載的驅(qū)動(dòng)要通過輸出繼電器進(jìn)行 。 這類輔助繼電器 的線圈與輸出繼電器一樣 有無數(shù)的電子常開和常閉觸點(diǎn) 。 本質(zhì)就是 PLC的存儲(chǔ)系統(tǒng)中的一個(gè)基本單元 , 它可以由所 有編程元件 ( 包括自己 ) 的觸點(diǎn)驅(qū)動(dòng) 。 借助于輔助繼電器 , 可以根據(jù)控制要求 , 在輸入和輸出之間建立復(fù)雜的控制邏 輯和連鎖關(guān)系 。 按字節(jié)編號(hào) , 一般 采用 “ 字節(jié) .位 ” 的方式表示 , 但是 也 可以字節(jié) 、 字雙字為單位 , 用于存儲(chǔ)數(shù)據(jù) , 不過建議在存 儲(chǔ)數(shù)據(jù)時(shí) , 采用變量寄存器 V。 可以無限制地使用 。 4
13、、特殊繼電器 SM 用來存儲(chǔ)系統(tǒng)的狀態(tài)變量及有關(guān)的控制參數(shù)和信息 。 它是用戶程序與系統(tǒng)程序之間的界面 , 用戶可以通過特 殊繼電器來溝通 PLC與被控對(duì)象之間的信息 , PLC通過特 殊繼電器為用戶提供一些特殊的控制功能和系統(tǒng)信息 , 用戶也可以將對(duì)操作的特殊要求通過特殊繼電器通知 PLC。 例如可以讀取程序運(yùn)行過程中的設(shè)備狀態(tài)和運(yùn)算結(jié) 果信息 , 利用這些信息實(shí)現(xiàn)一些控制動(dòng)作 。 用戶也可以 通過對(duì)某些特殊繼電器位的直接設(shè)置 , 使設(shè)備實(shí)現(xiàn)某些 功能 。 P110 5、變量寄存器 V S7-200中有大量變量寄存器 , 用于模擬量控制 、 數(shù)據(jù) 運(yùn)算 、 參數(shù)設(shè)置及存放程序執(zhí)行過程中
14、控制邏輯操作的中 間結(jié)果 。 變量寄存器可以以位為單位使用 , 也可以字節(jié) 、 字雙 字為單位 使用 。 6、定時(shí)器 T 定時(shí)器相當(dāng)于繼電器系統(tǒng)中的 時(shí)間繼電器 , 可在程序中 用于 延時(shí)控制 。 S7-200的 CPU22X系列的定時(shí)器數(shù)量有 256個(gè) , T0 T255。 定時(shí)器精度有 1ms( 4個(gè) ) 、 10ms( 16個(gè) ) 、 100ms ( 236個(gè) ) 。 可以分為 3種類型 :接通延時(shí)定時(shí)器 TON;斷開延時(shí)型 定時(shí)器 TOF;保持接通延時(shí)定時(shí)器 TONR。 計(jì)數(shù)器用來對(duì)輸入脈沖的個(gè)數(shù)進(jìn)行累計(jì) , 實(shí)現(xiàn)計(jì)數(shù)值 。 使用時(shí)要先預(yù)置計(jì)數(shù)的設(shè)定值 , 當(dāng)計(jì)數(shù)器觸發(fā)后
15、, 計(jì)數(shù)器開 始累積計(jì)數(shù)輸入端的脈沖前沿的次數(shù) , 當(dāng)達(dá)到設(shè)定值時(shí) , 計(jì) 數(shù)器觸點(diǎn)動(dòng)作 。 S7-200的 CPU22X系列的計(jì)數(shù)器數(shù)量有 256個(gè) , 編號(hào) 0 255。 每個(gè)計(jì)數(shù)器都有一個(gè) 16位的當(dāng)前值寄存器及 1個(gè)狀態(tài)位 C-bit。 7、計(jì)數(shù)器 C 8、高速計(jì)數(shù)器 HSC 普通計(jì)數(shù)器計(jì)數(shù)頻率受到掃描周期的限制 , 高速計(jì)數(shù)不 受掃描周期的限制 , 為 32位的計(jì)數(shù)器 。 9、狀態(tài)(順序控制)繼電器 S 狀態(tài)器 S是 構(gòu)成狀態(tài)轉(zhuǎn)移圖的重要軟元件 , 它與步進(jìn) 控制指令配合使用 , 可以在小型 PLC上實(shí)現(xiàn)復(fù)雜的控制功 能 。 10、累加器 AC 累加器用來 暫存數(shù)據(jù) ,
16、 它可以用來在子程序和父程序 之間傳遞參數(shù)和數(shù)據(jù) 、 也可以用來存放運(yùn)算數(shù)據(jù) 、 中間數(shù) 據(jù)和結(jié)果 。 共有 4個(gè) 32位的累加器: AC0 AC3。 累加器存取數(shù)據(jù)的長度取決于所使用的質(zhì)量 , 它支持 字節(jié) 、 字 、 雙字的存取 , 以字或字節(jié)存取時(shí) , 訪問的是低 16位或低 8位 。 11、局部變量存儲(chǔ)器 L 用于存儲(chǔ)局部變量 。 共有 64個(gè) , 其中 60個(gè)可以用作暫時(shí)存儲(chǔ)器或給子程序傳遞 參數(shù) 。 與數(shù)據(jù)存儲(chǔ)器 V的區(qū)別 :數(shù)據(jù)存儲(chǔ)器用于存儲(chǔ)全局變量 , 即它可以被任何一個(gè)程序讀??;局部存儲(chǔ)器的內(nèi)容只是局 部有效的 。 支持字節(jié) 、 字 、 雙字的存取 。
17、12、模擬量輸入寄存器 AIW、模擬量輸出寄存器 AQW 用于模擬量的輸入輸出 長度為 16位 , 因此要用偶數(shù)字節(jié)地址來存取這些數(shù)據(jù) 。 PLC的存儲(chǔ)器分為程序區(qū)、系統(tǒng)區(qū)、數(shù)據(jù)區(qū)。 程序區(qū) 用于存放用戶程序,存儲(chǔ)器為 EEPROM。 系統(tǒng)區(qū) 用于存放有關(guān) PLC配置結(jié)構(gòu)的參數(shù),如 PLC主機(jī)及擴(kuò)展 模塊的 I/O配置和編址、配置 PLC站地址,設(shè)置保護(hù)口令、停電 記憶保持區(qū)、軟件濾波功能等,存儲(chǔ)器為 EEPROM。 數(shù)據(jù)區(qū) 是 S7-200 CPU提供的存儲(chǔ)器的特定區(qū)域。它包括輸入 映象寄存器( I)、輸出映像寄存器( Q)、變量存儲(chǔ)器( V)、 內(nèi)部標(biāo)志位存儲(chǔ)器( M
18、)、順序控制繼電器存儲(chǔ)器( S)、特殊 標(biāo)志位存儲(chǔ)器( SM)、局部存儲(chǔ)器( L)、定時(shí)器存儲(chǔ)器( T)、 計(jì)數(shù)器存儲(chǔ)器( C)、模擬量輸入映像寄存器( AI)、模擬量 輸出映像寄存器( AQ)、累加器( AC)、高速計(jì)數(shù)器( HC)。 存儲(chǔ)器為 EEPROM和 RAM。 返回 二、存儲(chǔ)區(qū)域 1. 數(shù)據(jù)區(qū)存儲(chǔ)器的地址表示格式 (1)位地址格式 數(shù)據(jù)區(qū)存儲(chǔ)器區(qū)域的某一位的地址格式為: Ax.y。 必須指定存儲(chǔ)器區(qū)域標(biāo)識(shí)符 A、字節(jié)地址 x及位號(hào) y。例 I4.5 表示圖 5-4中黑色標(biāo)記的位地址。 I是變量存儲(chǔ)器的區(qū)域標(biāo)識(shí) 符, 4是字節(jié)地址, 5是位號(hào),在字節(jié)地址 4與位號(hào) 5
19、之間用點(diǎn) 號(hào) “ .隔開。 存儲(chǔ)器是由許多存儲(chǔ)單元組成,每個(gè)存儲(chǔ)單元 都有惟一的地址,可以依據(jù)存儲(chǔ)器地址來存取數(shù) 據(jù)。數(shù)據(jù)區(qū)存儲(chǔ)器地址的表示格式有位、字節(jié)、 字、雙字地址格式。 圖 5-4 位尋址格式 MSB表示最高位 LSB表示最低位 (2)字節(jié)、字、雙字地址格式 數(shù)據(jù)區(qū)存儲(chǔ)器區(qū)域的字節(jié)、字、雙字地址格式為: ATx。 必須指定區(qū)域標(biāo)識(shí)符 A、數(shù)據(jù)長度 T以及該字節(jié)、字或雙字 的起始字節(jié)地址 x。圖 5-5中,用 VB100、 VW100、 VD100分別 表示字節(jié)、字、雙字的地址。 VW100由 VB100、 VB101兩個(gè)字 節(jié)組成; VD100由 VB100
20、VB103四個(gè)組成。 圖 5-5 字節(jié)、 字、 雙字 尋址 格式 (3)其他地址格式 數(shù)據(jù)區(qū)存儲(chǔ)器區(qū)域中,還包括定時(shí)器存儲(chǔ)器( T)、計(jì)數(shù) 器存儲(chǔ)器( C)、累加器( AC)、高速計(jì)數(shù)器( HC)等,它 們是模擬相關(guān)的電器元件的。它們的地址格式為: Ay。 由區(qū)域標(biāo)識(shí)符 A和元件號(hào) y組成,例 T24表示某定時(shí)器的地 址, T是定時(shí)器的區(qū)域標(biāo)識(shí)符, 24是定時(shí)器號(hào),同時(shí) T24又可 表示此定時(shí)器的當(dāng)前值。 6.1.4 尋址方式 1. 立即尋址 指令中如何提供操作數(shù)或操作數(shù)地址 , 稱為尋 址方式 。 S7-200 PLC的尋址方式有: 立即尋址、直接
21、尋址、間接尋址。 立即尋址方式是 , 指令直接給出操作數(shù),操作數(shù)緊跟著操 作碼,在取出指令的同時(shí)也就取出了操作數(shù),立即有操作數(shù) 可用,所以稱為立即操作數(shù)或立即尋址。 CPU以二進(jìn)制方式存儲(chǔ)所有常數(shù)。指令中可用十進(jìn)制、十 六進(jìn)制、 ASCII碼或浮點(diǎn)數(shù)形式來表示。表示格式舉例如下: 十進(jìn)制常數(shù): 30112 十六進(jìn)制常數(shù): 16#42F ASCII常數(shù): INPUT 實(shí)數(shù)或浮點(diǎn)常數(shù): +1.1E-10 二進(jìn)制常數(shù): 2#0101 1110 #為常數(shù)的進(jìn)制格式說明符 返回 2. 直接尋址 直接尋址方式是,指令直接使用存儲(chǔ)器或寄存器的元件 名稱和地址編號(hào),根
22、據(jù)這個(gè)地址就可以立即找到該數(shù)據(jù)。 操作數(shù)的地址應(yīng)按規(guī)定的格式表示。指令中,數(shù)據(jù)類型應(yīng) 與指令標(biāo)識(shí)符相匹配。 不同數(shù)據(jù)長度的尋址指令舉例如下: 位尋址: AND Q5.5 字節(jié)尋址: ORB VB33, LB21 字尋址: MOVW AC0, AQW2 雙字尋址: MOVD AC1, VD200 返回 3. 間接尋址 間接尋址方式是,指令給出了存放操作數(shù)地址的存儲(chǔ)單 元的地址(也稱地址指針)。 可作為地址指針的存儲(chǔ)器有: V、 L、 AC( 13) 可間接尋址的存儲(chǔ)器區(qū)域有: I、 Q、 V、 M、 S、 T(僅當(dāng) 前值)、 C(僅當(dāng)前值)。 對(duì)獨(dú)立的位( BIT)值
23、或模擬量值不能進(jìn)行間接尋址。 (1)建立指針 間接尋址前,應(yīng)先建立指針。指針為雙字長,是所要 訪問的存儲(chǔ)單元(最大為雙字型 32位)的物理地址。只能 使用變量存儲(chǔ)器( V)、局部存儲(chǔ)器( L)或累加器( AC1、 AC2、 AC3)作為指針, AC0不能用作間接尋址的指針。 將所要訪問的存儲(chǔ)器單元的地址裝入用來作為指針的存儲(chǔ) 器單元或寄存器 , 裝入的是地址而不是數(shù)據(jù)本身 , 格式如 下: MOVD 例: SI Q0.0, 2 4. 立即復(fù)位指令 RI, 立即復(fù)位指令 。 用立即復(fù)位指令訪問輸出點(diǎn)時(shí) , 從指 令所指出的位 ( bit) 開始的
24、 N個(gè) ( 最多為 128個(gè) ) 物理輸出 點(diǎn)被立即復(fù)位 , 同時(shí) , 相應(yīng)的輸出映像寄存器的內(nèi)容也被刷 新 。 各操作數(shù)類型及范圍如表 5-10所示 。 指令格式: RI bit, N; 例: RI Q0.0, 1 表 5-10 立即置位和立即復(fù)位指令操作數(shù)類型及范圍 操作 數(shù) 范 圍 類 型 位 bit Q BOOL 型 數(shù)量 N VB, IB, QB, MB, SMB, LB, SB, AC, *VD, *AC, *LD ,常數(shù) BYTE 型 (最大 128) 6.2.2 立即操作指令 應(yīng)用舉例: LD I0.0
25、//裝入常開觸點(diǎn) = Q0.0 //輸出觸點(diǎn) , 非立即 =I Q0.1 //立即輸出觸點(diǎn) SI Q0.2, 1 //從 Q0.2開始的 1個(gè)觸點(diǎn)被立即置 1 LDI I0.0 //立即輸入觸點(diǎn)指令 = Q0.3 //輸出觸點(diǎn) , 非立即 圖 5-14 立即指令程序 圖 5-15 立即指令時(shí)序圖 條件: I0.0在上一掃描周期某時(shí)跳變。 Q0.0在本周期輸出刷新時(shí)置 1; Q0.1與 Q0.2在本周期立即指令執(zhí)行時(shí)置 1; Q0.3在上一周期立即指令執(zhí)行時(shí)置 1。 6.2.3 堆棧操作(復(fù)雜邏輯) 指令
26、 堆棧操作 ( 復(fù)雜邏輯指令 ) 主要用來 描述: 1、 對(duì)觸點(diǎn)塊 ( 即對(duì)觸點(diǎn)進(jìn)行的復(fù)雜 連接 ) 的操作 ; 2、 對(duì)邏輯堆棧的操作 。 本類指令包括: ALD、 OLD、 LPS、 LRD、 LPP和 LDS, 這些指令中 除 LDS外 , 其余指令都無操作數(shù) 。 返回 S7-200可編程序控制器 使用一個(gè)邏輯堆棧 來分析控制邏輯 。 用語句表編程時(shí)要根據(jù)這一堆棧邏輯進(jìn)行 組織程序 ,用相關(guān)指令來實(shí)現(xiàn)堆棧操作, 用 梯形圖和功能框圖時(shí) ,程序員 不必考慮 主機(jī)的這一邏輯,這兩種編程工具自動(dòng)地 插入必要的指令來處理各種堆棧邏輯操作。 返回 一、邏輯堆棧
27、邏輯堆棧結(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ù)串行上移一格, STACK 8中隨機(jī)地裝入一個(gè) 數(shù)值。 表 5-6 邏輯堆棧結(jié)構(gòu) 堆棧結(jié) 構(gòu) 名稱 說明 S0 STACK 0 第一個(gè)堆 棧 S1 STACK 1 第二個(gè)堆 棧 S2 STACK 2 第三個(gè)堆 棧 S3 STACK 3 第四個(gè)堆 棧 S4 STACK 4 第五個(gè)堆 棧 S5 STACK
28、5 第六個(gè)堆 棧 S6 STACK 6 第七個(gè)堆 棧 S7 STACK 7 第八個(gè)堆 棧 S8 STACK 8 第九個(gè)堆 棧 棧頂 棧頂 STACK 0在此邏輯堆棧的位運(yùn)算中兼有累加器 的作用 , 存放第一操作數(shù) 。 每執(zhí)行一次 LD/LDN指令 , 自動(dòng)進(jìn)行一次入棧操作; 執(zhí)行 、 O指令 , 則是將棧頂值與操作數(shù)做相應(yīng)的 邏輯運(yùn)算后 , 將結(jié)果保存在棧頂; 執(zhí)行 LDN、 N、 ON指令 , 則是將操作數(shù)先取反后 , 再與棧頂做相應(yīng)的邏輯運(yùn)算后 , 將結(jié)果保存在棧 頂; 當(dāng)一個(gè)梯級(jí)掃描結(jié)束 , 或是 =指令執(zhí)行完畢 , PLC 自動(dòng)執(zhí)行出棧操作 , 將棧頂值保
29、存到對(duì)應(yīng)儲(chǔ)存區(qū) 域 。 二、基本邏輯指令對(duì)邏輯堆棧的影響 LD、 LDN指令的執(zhí)行對(duì)邏輯堆 棧的影響 指令 LD I0.1(假設(shè) I0.1=1)執(zhí)行情況如表 5-7所 示。如果是 LDN指令,則將操作數(shù)取反后再裝入棧 頂,其他操作相同。 表 5-7 LD I0.1的執(zhí)行 名 稱 執(zhí) 行 前 執(zhí) 行 后 說 明 STACK0 S0 1 將新值 I0.1=1裝入 堆棧 STACK1 S1 S0 由 S0下移一個(gè)單元 得到 STACK2 S2 S1 由 S1下移一個(gè)單元 得到 STACK3 S3 S2 由 S2下移一個(gè)單元 得到 STACK4 S4 S3 由
30、S3下移一個(gè)單元 得到 STACK5 S5 S4 由 S4下移一個(gè)單元 得到 STACK6 S6 S5 由 S5下移一個(gè)單元 得到 STACK7 S7 S6 由 S6下移一個(gè)單元 得到 STACK8 S8 S7 由 S7下移一個(gè)單元 得到 原值 S0串行 下移一 個(gè)單元 , 其余以 此類推。 原 S8自 動(dòng)丟 失。 指令 A、 O、 NOT對(duì)邏輯堆棧的 影響 指令 A I0.2(假設(shè) I0.2=0)執(zhí)行情況如表 5-8所 示。如果是 AN指令,則將操作數(shù)取反后再和棧頂 值相與,結(jié)果放回棧頂。即: 1*1=1 S0 表 5-8 指令 A I0.2的執(zhí)行 名 稱 執(zhí)
31、 行 前 執(zhí) 行 后 說 明 STACK0 1 0 執(zhí)行前棧頂值為 1。 執(zhí)行是用棧頂值和 指令操作數(shù) ( I0.2的 值為 0) 進(jìn)行與運(yùn)算 , 結(jié)果放回棧頂 。 即: S0*I0.2=1*0=0 S0 STACK1 S1 S1 STACK2 S2 S2 STACK3 S3 S3 STACK4 S4 S4 STACK5 S5 S5 STACK6 S6 S6 STACK7 S7 S7 STACK8 S8 S8 除 S0值外,其他各 值不變 . 三、堆棧操作 指令 1. 觸點(diǎn)塊串聯(lián)操作(棧裝載與)指令 ( And Load) , 觸點(diǎn)塊串聯(lián)操作 ( 棧裝載與 ) 指
32、 令 :用于將并聯(lián)電路塊 進(jìn) 行串聯(lián) 連接 。 執(zhí)行 ALD指令 , 將堆棧中的 第一級(jí)和第二級(jí)的值進(jìn)行 邏輯 “ 與 ” 操作 , 結(jié)果置 于棧頂 ( 堆棧第一級(jí) ) , 并將堆棧中的第三級(jí)至第 九級(jí)的值依次上彈一級(jí) 。 圖 5-16a 觸點(diǎn)塊串聯(lián)指令 的操作過程 LD I0.0 LD I0.1 ON I0.2 ALD = Q0.3 觸點(diǎn)塊串聯(lián)操作(棧裝載與)指令 電路塊特點(diǎn):左小右大 OLD( Or Load) , 觸 點(diǎn)塊并聯(lián) ( 棧裝載或 ) 指令 :用于將串聯(lián)電路 塊進(jìn)行并聯(lián)連接 。 執(zhí)行 OLD指令 , 將堆棧中的 第一級(jí)和第二級(jí)的值進(jìn) 行邏輯 “ 或
33、” 操作 , 結(jié) 果置于棧頂 ( 堆棧第一 級(jí) ) , 并將堆棧中其余 各級(jí)的內(nèi)容依次上彈一 級(jí) 。 圖 5-16b 觸點(diǎn)塊并聯(lián)指令 的操作過程 2. 觸點(diǎn)塊并聯(lián)(棧裝載或)指令 LD I0.0 LDN I0.1 A I0.2 OLD = M0.1 觸點(diǎn)塊并聯(lián)(棧裝載或)指令 電路塊特點(diǎn):上小下大 3. 邏輯入棧指令 4. 邏輯讀棧指令 LPS, 邏輯入棧指令 ( 分支或主控指令 ) 。 用于復(fù)制棧頂 的值并將這個(gè)值推入棧頂 , 原堆棧中各級(jí)棧值依次下壓一級(jí) 。 在梯形圖中的分支結(jié)構(gòu)中 , 用于生成一條新的母線 , 左側(cè)為 主控邏輯塊時(shí) , 第一個(gè)完
34、整的從邏輯行從此處開始 。 LRD, 邏輯讀棧指令 。 把堆棧中第二級(jí)的值復(fù)制到棧頂 。 堆棧沒有推入棧或彈出棧操作 , 但原棧頂值被新的復(fù)制值取 代 。 在梯形圖中的分支結(jié)構(gòu)中 , 當(dāng)左側(cè)為主控邏輯塊時(shí) , 開 始第二個(gè)和后邊更多的從邏輯塊 。 應(yīng)注意 , LPS后第一個(gè)和 最后一個(gè)從邏輯塊不用本指令 。 返回 6. 裝入堆棧指令 LPP, 邏輯棧彈出指令 ( 分支結(jié)束或主控復(fù)位指令 ) 。 堆 棧作彈出棧操作 , 將棧頂值彈出 , 原堆棧中各級(jí)棧值依次上 彈一級(jí) , 堆棧第二級(jí)的值成為新的棧頂值 。 在梯形圖中的分 支結(jié)構(gòu)中 , 用于將 LPS指令生成的一條新母線進(jìn)行恢復(fù) 。
35、 應(yīng) 注意 , LPS與 LPP必須配對(duì)使用 。 LDS, 裝入堆棧指令 。 復(fù)制堆棧中的第 n級(jí)的值到棧頂 。 原 棧中各級(jí)棧值依次下壓一級(jí) , 棧底值丟失 。 5. 邏輯棧彈出指令 圖 5-17 LPS、 LRD、 LPP、 LDS指令的操作過程 這里 n 3 LPS與 LPP必須配對(duì)使用 LD I0.0 //裝入常開觸點(diǎn) O I2.2 //或常開觸點(diǎn) LD I0.1 //被串的塊開始 LD I2.0 //被并路開始 A I2.1 //與常開觸點(diǎn) OLD //觸點(diǎn)塊并聯(lián) ALD //觸點(diǎn)塊串聯(lián) =
36、 Q5.0 //輸出觸點(diǎn) 返回 應(yīng)用舉例:堆棧指令的應(yīng)用 LD I0.0 //裝入常開觸點(diǎn) LPS //邏輯推入棧 , 主控 A I0.5 //與常開觸點(diǎn) = Q7.0 //輸出觸點(diǎn) LRD //邏輯讀棧 , 新母線 LD I2.1 //裝入常開觸點(diǎn) O I1.3 //或常開觸點(diǎn) ALD //棧裝載與 = Q6.0 //輸出觸點(diǎn) LPP //邏輯彈出棧 , 母線復(fù)原 LD I3.1 //裝入常開出觸點(diǎn) O I2.0 //或常開觸點(diǎn) ALD //棧裝載與
37、 = Q1.3 //輸出觸點(diǎn) LPS后第 一和最 后一個(gè) 從邏輯 塊不用 LRD指令 應(yīng)用舉例:堆棧指令的應(yīng)用 每一個(gè)觸點(diǎn)塊的起始第一個(gè)元件必須使 用裝入指令 LD/LDN, 即每個(gè)電路塊的起始端 ( 左端 ) 都當(dāng)作母線處理 ! 返回 注意: LD I0.0 LPS A I0.1 LPS A I0.2 = Q0.0 LPP A I0.3 = Q0.1 LPP A I0.4 LPS AN I0.5 = Q0.2 LPP A I0.6 = Q0.3 應(yīng)用舉例:堆棧指令的應(yīng)用 二層 堆棧 LD I0.0 LPS A I0
38、.1 LPS A I0.2 LPS A I0.3 = Q0.0 LPP = Q0.1 LPP = Q0.2 LPP = Q0.3 應(yīng)用舉例:堆棧指令的應(yīng)用 三層 堆棧 6.2.5 定時(shí)器和計(jì)數(shù)器指令 1. 定時(shí)器指令 定時(shí)器是重要的編程元件 。 定時(shí)器編程時(shí)設(shè)定 時(shí)間預(yù)設(shè)值 , 在運(yùn)行時(shí)當(dāng)定時(shí)器的 輸入條件滿足時(shí)開始計(jì)時(shí) , 當(dāng)前值從 0 開始按一定的時(shí)間單位增加 , 當(dāng)定時(shí)器的當(dāng)前值達(dá)到預(yù)設(shè)值 時(shí) , 定時(shí)器發(fā)生動(dòng)作 。 此時(shí)它對(duì)應(yīng)的常開觸點(diǎn)閉合 , 常閉觸 點(diǎn)斷開 。 系統(tǒng)提供 3種定時(shí)指令 : TON( 通電延時(shí) ) 、 TONR( 有記憶 通電延時(shí) )
39、 和 TOF( 斷電延時(shí) ) 。 S7-200定時(shí)器的分辨率 ( 時(shí)間增量 /時(shí)間單位 /分辨率 ) 有 3 個(gè)等級(jí): 1ms、 10ms和 100ms。 返回 定時(shí)器指令有 3個(gè)操作信息 : 編號(hào) 、 預(yù)設(shè)值 和 使能輸入 。 1) 編號(hào): 用定時(shí)器的名稱和它的常數(shù)編號(hào) ( 最大 255) 來表示 , 即 Txxx, 如: T4。 編號(hào)同時(shí)也代表了定時(shí)器的定時(shí) 精度和類型 : T4不僅僅是定時(shí)器的編號(hào) , 它還包含兩方面的信息: 它 是保持接通型 、 定時(shí)精度 10ms。 表 5-11 定時(shí)器號(hào)和分辨率 定時(shí)器類 型 分辯率 /ms 計(jì)時(shí)范圍 /s 定時(shí)器號(hào) TON TO
40、F 1 32.767 T32, T96 10 327.67 T33 T36, T97 T100 100 3276.7 T37 T63, T101 T255 TONR 1 32.767 T0, T64 10 327.67 T1 T4, T65 T68 100 3276.7 T5 T31, T69 T95 每一個(gè) 定時(shí)器都包含兩個(gè)變量信息: 定時(shí)器位 和 定時(shí)器 當(dāng)前值 , 和一個(gè) 預(yù)置值 : 定時(shí)器位 ( 對(duì)應(yīng)于觸點(diǎn)狀態(tài) ) : 定時(shí)器位與時(shí)間繼電器 的輸出相似 , 當(dāng) 定時(shí)器的當(dāng)前值達(dá)到預(yù)設(shè)值 PT時(shí) , 該位被置 為 “ 1。 定時(shí)器當(dāng)前值: 存儲(chǔ)定時(shí)器當(dāng)前所累計(jì)的時(shí)間 , 它
41、用 16 位有符號(hào)整數(shù)來表示 , 故最大計(jì)數(shù)值為 32767。 預(yù)設(shè)值 PT: 數(shù)據(jù)類型為 INT型 。 尋址范圍可以是 VW、 IW、 QW、 MW、 SW、 SMW、 LW、 AIW、 T、 C、 AC、 *VD、 *AC、 *LD和 常數(shù) 。 定時(shí)時(shí)間的計(jì)算: T=PT S ---( T為實(shí)際定時(shí)時(shí)間 , PT為預(yù)設(shè)值 , S為分辨率等級(jí) ) 例如: TON指令用定時(shí)器 T33, 預(yù)設(shè)值為 125, 則實(shí)際定時(shí)時(shí) 間 T=125 10=1250ms 使能輸入 IN端 ( 只對(duì) LAD和 FBD) : 布爾型 , 可以 是 I、 Q、 M、 SM、 T、 C、 V、 S、 L
42、和能流 。 可以用復(fù)位指令來對(duì) 3種定時(shí)器復(fù)位 , 復(fù)位指令的 執(zhí)行結(jié)果是:使定時(shí)器位變?yōu)?OFF:定時(shí)器當(dāng)前值變?yōu)?0。 如: S T2,1 ( 1)接通延時(shí)定時(shí)器指令: TON 用于單一間隔定時(shí) 。 上電周期或首 次掃描 , 定時(shí)器位 OFF, 當(dāng)前值為 0。 使能輸入接通時(shí) , 定時(shí)器位為 OFF, 當(dāng)前值從 0開始計(jì)數(shù)時(shí)間 , 當(dāng)前值達(dá) 到預(yù)設(shè)值時(shí) , 定時(shí)器位為 ON, 當(dāng)前值 連續(xù)計(jì)數(shù)到 32767。 使能輸入斷開 , 定時(shí)器自動(dòng)復(fù)位 , 即定時(shí)器位 OFF, 當(dāng)前值為 0。 填 “ 計(jì) 定時(shí)器號(hào) ” ,如: T35 填 “ 預(yù)設(shè)值”,如: 100 指令格式: TON
43、Txxx, PT 例: TON T120, 8 ( 2)有記憶接通延時(shí)定時(shí)器指令: TONR 用于對(duì)許多間隔的累計(jì)定時(shí) 。 上 電周期或首次掃描 , 定時(shí)器位 OFF, 當(dāng)前值保持 。 使能輸入接通時(shí) , 定 時(shí)器位為 OFF, 當(dāng)前值從 0開始累計(jì) 計(jì)數(shù)時(shí)間 。 使能輸入斷開 , 定時(shí)器 位和當(dāng)前值保持最后狀態(tài) 。 使能輸 入再次接通時(shí) , 當(dāng)前值從上次的保 持值繼續(xù)計(jì)數(shù) , 當(dāng)累計(jì)當(dāng)前值達(dá)到 預(yù)設(shè)值時(shí) , 定時(shí)器位 ON, 當(dāng)前值連 續(xù)計(jì)數(shù)到 32767。 填 “ 計(jì) 定時(shí)器號(hào) ” ,如: T31 填 “ 預(yù)設(shè)值”,如: 100 TONR定時(shí)器只能用復(fù)位指令進(jìn)行復(fù)位操作 ,
44、 使當(dāng)前值清零 。 指令格式: TONR Txxx, PT; 例: TONR T20, 63 ( 3)斷開延時(shí)定時(shí)器指令: TOF 用于斷開后的單一間隔定時(shí) 。 上電 周期或首次掃描 , 定時(shí)器位 OFF, 當(dāng) 前值為 0。 使能輸入接通時(shí) , 定時(shí)器 位為 ON, 當(dāng)前值為 0。 當(dāng)使能輸入由 接通到斷開時(shí) , 定時(shí)器開始計(jì)數(shù) , 當(dāng)前值達(dá)到預(yù)設(shè)值時(shí) , 定時(shí)器位 OFF, 當(dāng)前值等于預(yù)設(shè)值 , 停止計(jì)數(shù) 。 TOF復(fù)位后 , 如果使能輸入再有從 ON 到 OFF的負(fù)跳變 , 則可實(shí)現(xiàn)再次啟動(dòng) 。 填 “ 計(jì) 定時(shí)器號(hào) ” ,如: T35 填 “ 預(yù)設(shè)值”,如: 100 指令
45、格式: TOF Txxx, PT; 例 TOF T35, 6 LD I0.0 //使能輸入 TON T35,+4 //通電延時(shí)定時(shí)器 , 延時(shí)時(shí)間為 40ms LD I0.0 //使能輸入 TONR T2.+10 //有記憶通電延時(shí)定時(shí)器 , //延時(shí)時(shí)間為 100ms LD I0.0 //使能輸入 TOF T36,+3 //斷電延時(shí)定時(shí)器,延時(shí)時(shí)間為 30ms ( 4)應(yīng) 用 舉 例 : 圖 5-21 定 時(shí) 器
46、 特 性 T35為通電延時(shí)定時(shí)器 T2為有記憶通電延時(shí)定時(shí)器 T36為斷電延時(shí)定時(shí)器 上述梯形圖程序中輸入輸出執(zhí)行時(shí)序關(guān)系 如圖 5-22所示。 圖 5-22 定時(shí)器時(shí)序 返回 使能輸入接通時(shí),定時(shí)器 位為 ON,當(dāng)前值為 0,預(yù)啟動(dòng)。 ( 5)應(yīng)用定時(shí)器指令應(yīng)注意的幾個(gè)問題 不能把一個(gè)定時(shí)器號(hào) 同時(shí)用作斷開延時(shí)定時(shí)器 ( TOF) 和接通延時(shí)定時(shí)器 ( TON) 。 使用復(fù)位 ( R) 指令對(duì)定時(shí)器復(fù)位后 , 定時(shí)器位為 “ 0, 定時(shí)器當(dāng)前值為 “ 0。 保持型 ( 有記憶 ) 接通延時(shí)定時(shí)器 ( TONR) 只能通過復(fù) 位指令進(jìn)行復(fù)位 。 對(duì)于斷開
47、延時(shí)定時(shí)器 ( TOF) , 需要輸入端有一個(gè)負(fù)跳 變 ( 由 on到 off, 即斷開 ) 的輸入信號(hào)啟動(dòng)計(jì)時(shí) 。 不同精度的定時(shí)器 , 它們當(dāng)前值的刷新周期是不同的 , 具體情況如下: 1ms分辨率定時(shí)器 1ms分辨率定時(shí)器啟動(dòng)后, 定時(shí)器對(duì) 1ms的時(shí)間間隔(時(shí)基信號(hào))進(jìn)行計(jì)時(shí)。 定時(shí)器當(dāng)前值每隔 1ms刷新一次,在一個(gè)掃描周 期中要刷新多次,而 不和掃描周期同步 。 10ms分辨率定時(shí)器 10ms分辨率定時(shí)器啟動(dòng)后, 定時(shí)器對(duì) 10ms的時(shí)間間隔進(jìn)行計(jì)時(shí)。程序執(zhí)行 時(shí),在每次掃描周期開始對(duì) 10ms定時(shí)器刷新, 在一個(gè)掃描周期內(nèi)定時(shí)器當(dāng)前值保持不變 。 100ms分
48、辨率定時(shí)器 100ms分辨率定時(shí)器啟動(dòng) 后,定時(shí)器對(duì) 100ms的時(shí)間間隔進(jìn)行計(jì)時(shí)。只有 在定時(shí)器指令執(zhí)行時(shí), 100ms定時(shí)器的當(dāng)前值才 被刷新。 PLC應(yīng)用中 , 經(jīng)常需要自復(fù)位功能的定時(shí)器 。 在圖 5-23a中 , T32定時(shí)器 1ms更新一次 。 當(dāng)定 時(shí)器當(dāng)前值 100在圖示 A處刷新 , Q0.0可以接通一 個(gè)掃描周期 , 若在其他位置刷新 , Q0.0則用永遠(yuǎn)不 會(huì)接通 。 而在 A處刷新的概率是很小的 。 圖 5-23a同 樣不適合 10ms分辨率定時(shí)器 。 若改為圖 5-23b, 就可保證當(dāng)定時(shí)器當(dāng)前值達(dá)到 設(shè)定值時(shí) , Q0.0會(huì)接通一個(gè)掃描周期 。 圖 5-2
49、3 1ms定時(shí)器編程 定時(shí)器的正確使用 在子程序和中斷程序中不宜使用 100ms定 時(shí)器 。子程序和中斷程序不是每個(gè)掃描周期都 執(zhí)行的,那么在子程序和中斷程序中的 100ms 定時(shí)器的當(dāng)前值就不能及時(shí)刷新,造成時(shí)基脈 沖丟失,致使 計(jì)時(shí)失準(zhǔn) ; 在主程序中,不能重 復(fù)使用同一個(gè) 100ms的定時(shí)器號(hào) ,否則該定時(shí) 器指令在一個(gè)掃描周期中多次被執(zhí)行,定時(shí)器 的當(dāng)前值在一個(gè)掃描周期中多次被刷新。這樣, 定時(shí)器就會(huì)多計(jì)了時(shí)基脈沖,同樣造成計(jì)時(shí)失 準(zhǔn)。 因而, 100ms定時(shí)器只能用于每個(gè)掃描周期 內(nèi)同一定時(shí)器指令執(zhí)行一次,且僅執(zhí)行一次的 場合。 100ms定時(shí)器的編程例子如圖 5-24a所示
50、。 a) b) 圖 5-24 100ms定時(shí)器的應(yīng)用 返回 與圖 5-23a 相比較, 該定時(shí) 器確保 在此處 刷新當(dāng) 前值。 2. 計(jì)數(shù)器指令 計(jì)數(shù)器用來累計(jì)輸入脈沖的次數(shù) , 經(jīng)常用來對(duì)產(chǎn)品進(jìn)行 計(jì)數(shù) 。 計(jì)數(shù)器與定時(shí)器的結(jié)構(gòu)和使用基本相似 , 編程時(shí)輸入它 的預(yù)設(shè)值 PV( 計(jì)數(shù)的次數(shù) ) , 計(jì)數(shù)器累計(jì)它的脈沖輸入 個(gè)數(shù) ( 上升沿 /正跳變 ) , 當(dāng)計(jì)數(shù)器達(dá)到預(yù)設(shè)值 PV時(shí) , 計(jì)數(shù)器位狀態(tài)改變 。 計(jì)數(shù)器指令有 3種: 增計(jì)數(shù) CTU、 增減計(jì)數(shù) CTUD和 減計(jì)數(shù) CTD。 計(jì)數(shù)器指令有 4
51、種操作信息 : 編號(hào) 、 預(yù)設(shè)值 、 脈沖輸入 和 復(fù)位輸入 。 1) 編號(hào): 用計(jì)數(shù)器名稱和它的常數(shù)編號(hào) ( 最大 255) 來表示 , 即 Cxxx, 如: C6。 每 一個(gè)計(jì)數(shù)器都包 含兩個(gè)的變量信息 : 計(jì)數(shù)器位 和 計(jì)數(shù)器當(dāng)前值 。 計(jì)數(shù)器位: 表示計(jì)數(shù)器是否發(fā)生動(dòng)作的狀態(tài) , 當(dāng) 計(jì)數(shù)器的當(dāng)前值達(dá)到預(yù)設(shè)值 PV時(shí) , 該位被置為 “ 1”。 計(jì)數(shù)器當(dāng)前值: 存儲(chǔ)計(jì)數(shù)器當(dāng)前所累計(jì)的脈沖個(gè) 數(shù) , 它用 16位有符號(hào)整數(shù) ( INT) 來表示 , 故最 大計(jì)數(shù)值為 32767。 2) 預(yù)設(shè)值 PV: 數(shù)據(jù)類型為 INT型 。 尋址范圍可以是 VW、 IW、 QW、 MW、
52、SW、 SMW、 LW、 AIW、 T、 C、 AC、 *VD、 *AC、 *LD和常數(shù) 。 3)計(jì)數(shù)脈沖輸入: 布爾(位) 型,可以是 I、 Q、 M、 SM、 T、 C、 V、 S、 L和能流。 4) 復(fù)位輸入: 與脈沖輸入同類型和范圍 。 ( 1) 增計(jì)數(shù)器指令: CTU 初始值 :首次掃描 , 定時(shí)器 位 OFF, 當(dāng)前值為 0。 在增計(jì)數(shù)器的 計(jì)數(shù)輸入端 ( CU) 脈沖輸入的每個(gè) 上升 沿 , 計(jì)數(shù)器計(jì)數(shù) 1次 , 當(dāng)前值 增加 1個(gè)單位 , 保持當(dāng)前計(jì)數(shù) 值 , 直到下一個(gè)脈沖上升沿到 來; 當(dāng)前值等于預(yù)設(shè)值時(shí) , 計(jì)數(shù) 器位 ON, 當(dāng)前值 繼續(xù)計(jì)數(shù)到 最大值 (
53、 32767) 停止計(jì)數(shù) 。 填 “ 計(jì) 數(shù)器編號(hào) ” ,如: C30 填 “ 預(yù)設(shè)值”,如: 3 脈沖輸入 復(fù)位輸入 復(fù)位輸入有效 , 或執(zhí)行復(fù)位指令 , 計(jì)數(shù)器復(fù)位 , 即 計(jì)數(shù)器位 OFF, 當(dāng)前值為 0。 指令格式: CTU Cxxx, PV; 例: CTU C20, 3 應(yīng)用舉例: LD I0.0 //計(jì)數(shù)脈沖信號(hào)輸入端 LD I0.1 //復(fù)位信號(hào)輸入端 CTU C20, +3 //增計(jì)數(shù) , 計(jì)數(shù)設(shè)定值為 3個(gè)脈沖 LD C20 //裝入計(jì)數(shù)器觸點(diǎn) = Q0.0 //輸出觸點(diǎn) 圖 5-25
54、增計(jì)數(shù) 程序及時(shí)序 復(fù)位與計(jì) 數(shù)脈沖同時(shí) 有效時(shí), 優(yōu) 先執(zhí)行復(fù)位 。 ( 2)增減計(jì)數(shù)器指令: CTUD 該指令有 兩個(gè)脈沖輸入端 : CU輸入端用于遞 增計(jì)數(shù) , CD輸入端用于遞減計(jì)數(shù) 。 初始值 :首次掃描 , 定時(shí)器位 OFF, 當(dāng)前值為 0。 CU輸入的每個(gè) 上升沿 , 計(jì)數(shù)器當(dāng)前值增加 1個(gè)單位 , CD輸入的每個(gè) 上升沿 , 都使計(jì)數(shù)器當(dāng)前值減小 1個(gè) 單位 , 當(dāng)前值等于預(yù)設(shè)值時(shí) , 計(jì)數(shù)器位 ON。 循環(huán)計(jì)數(shù) :增減計(jì)數(shù)器計(jì)數(shù)到 32767( 最大值 ) 后 , 下一個(gè) CU輸入的上升沿將使當(dāng)前值跳變?yōu)樽钚≈?( 32768) ;反之 , 當(dāng)前值達(dá)到最
55、小值 ( 32768) 時(shí) , 下一個(gè) CD輸入的上升沿將使當(dāng)前值跳變?yōu)樽畲?值 ( 32767) 。 復(fù)位輸入有效或執(zhí)行復(fù)位指令 , 計(jì)數(shù)器復(fù)位 , 即計(jì) 數(shù)器位 OFF, 當(dāng)前值為 0。 指令格式: CTUD x, PV; 例: CTUD C30, 5 LD I0.0 //增計(jì)數(shù)輸入端 LD I0.1 //減計(jì)數(shù)輸入端 LD I0.2 //復(fù)位端 CTUD C30, +5 //增減計(jì)數(shù) , 設(shè)定脈沖數(shù)為 5 LD C30 //裝入計(jì)數(shù)器觸點(diǎn) = Q0.0
56、 //輸出觸點(diǎn) 應(yīng)用舉例: 圖 5-26 增 減 計(jì) 數(shù) 程 序 及 時(shí) 序 當(dāng)前值大 于(或小于) 設(shè)定值后, 仍然隨計(jì)數(shù) 脈沖而變化, 而計(jì)數(shù)器位 保持。 ( 3)減計(jì)數(shù)器指令: CTD 首次掃描 , 定時(shí)器位 OFF, 當(dāng)前 值為預(yù)設(shè)值 PV。 計(jì)數(shù)器檢測到 CD輸入的每個(gè) 上升沿 時(shí) , 計(jì)數(shù)器 當(dāng)前值減小 1個(gè)單位 , 當(dāng)前值減到 0時(shí) , 計(jì)數(shù)器位 ON。 復(fù)位輸入有效或執(zhí)行復(fù)位指令 , 計(jì)數(shù)器復(fù)位 , 即計(jì)數(shù)器位 OFF, 當(dāng)前值復(fù)位為預(yù)設(shè)值 , 而不是 0。 指令格式: CTD Cxxx, PV; 例: CTD C40, 4 應(yīng)
57、用舉例: LD I0.0 //減計(jì)數(shù)脈沖輸入端 LD I0.1 //復(fù)位輸入端 CTD C40,+4 //減計(jì)數(shù)器 , 設(shè)定計(jì)數(shù)脈沖 //數(shù)為 4 LD C40 //裝入計(jì)數(shù)器觸點(diǎn) = Q0.0 //輸出觸點(diǎn) 圖 5-27 減計(jì)數(shù) 程序及時(shí)序 當(dāng)前值 減到 0后, 計(jì)數(shù)脈沖 對(duì)當(dāng)前值 和位都不 起作用 。 0 4 4 2 2 3 3 4 1 用計(jì)數(shù)器和定時(shí)器配合增加延時(shí)時(shí)間。程序中 實(shí) 際延時(shí)時(shí)間為:定時(shí)時(shí)間 計(jì)數(shù)次數(shù) =100ms 30000
58、 10=30000s。 圖 5-28 計(jì)數(shù)器應(yīng)用例 LD I0.0 //啟動(dòng)通電延時(shí) AN M0.0 //重新啟動(dòng)延時(shí) TON T50, +30000 //延時(shí)時(shí)間設(shè)定為 3000s LD T50 //延時(shí)時(shí)間到 = M0.0 //關(guān)定時(shí)器 , 產(chǎn)生一脈沖 LD M0.0 //每隔 3000s輸入一脈沖 LDN I0.0 //復(fù)位輸入 CTU C20, +10 //增計(jì)數(shù),累計(jì)脈沖總數(shù) ( 4)應(yīng)用舉例 增加延時(shí)時(shí)間: ( 5)應(yīng)用計(jì)數(shù)器指令應(yīng)注意的問題 : 可以用 復(fù)位指令 來對(duì) 3種計(jì)數(shù)
59、器復(fù)位 , 復(fù)位指令的執(zhí)行結(jié)果是: 使計(jì)數(shù)器位變?yōu)?OFF;計(jì)數(shù)器當(dāng)前值變 為 0( CTD變?yōu)轭A(yù)設(shè)值 PV) 。 在一個(gè)程序中 , 同一個(gè)計(jì)數(shù)器編號(hào)只 能使用一次 。 脈沖輸入和復(fù)位輸入同時(shí)有效時(shí) , 優(yōu) 先執(zhí)行復(fù)位操作 。 第五章習(xí)題與思考題 1. S7-200指令參數(shù)所用的基本數(shù)據(jù)類型有哪些? 3. 邏輯堆棧指令有哪些 ? 各用于什么場合 ? 4. 定時(shí)器有幾種類型?各有何特點(diǎn)?與定時(shí)器相 關(guān)的變量有哪些?梯形圖中如何表示這些變量? 5. 計(jì)數(shù)器有幾種類型,各有何特點(diǎn)?與計(jì)數(shù)器 相關(guān)的變量有哪些?梯形圖中如何表示這些變量? 12. 用順序控制繼電器( SCR)指令設(shè)計(jì)一個(gè)居 室通風(fēng)系統(tǒng)控制程序,使三個(gè)居室的通風(fēng)機(jī)自動(dòng) 輪流地打開和關(guān)閉。輪換時(shí)間間隔為 1h。 返回 第 2章, 9題: 試設(shè)計(jì) S7-200PLC控制系 統(tǒng),要求:第一臺(tái)電動(dòng)機(jī)起動(dòng) 10s后,第二臺(tái)電動(dòng)機(jī)自動(dòng)起 動(dòng),運(yùn)行 5s后,第一臺(tái)電動(dòng)機(jī) 停止,同時(shí)第三臺(tái)電動(dòng)機(jī)自動(dòng) 起動(dòng),運(yùn)行 15s后,全部電動(dòng) 機(jī)停止。 梯形圖
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024《增值稅法》全文學(xué)習(xí)解讀(規(guī)范增值稅的征收和繳納保護(hù)納稅人的合法權(quán)益)
- 2024《文物保護(hù)法》全文解讀學(xué)習(xí)(加強(qiáng)對(duì)文物的保護(hù)促進(jìn)科學(xué)研究工作)
- 銷售技巧培訓(xùn)課件:接近客戶的套路總結(jié)
- 20種成交的銷售話術(shù)和技巧
- 銷售技巧:接近客戶的8種套路
- 銷售套路總結(jié)
- 房產(chǎn)銷售中的常見問題及解決方法
- 銷售技巧:值得默念的成交話術(shù)
- 銷售資料:讓人舒服的35種說話方式
- 汽車銷售績效管理規(guī)范
- 銷售技巧培訓(xùn)課件:絕對(duì)成交的銷售話術(shù)
- 頂尖銷售技巧總結(jié)
- 銷售技巧:電話營銷十大定律
- 銷售逼單最好的二十三種技巧
- 銷售最常遇到的10大麻煩