電氣控制與PLC應(yīng)用項目教程 教學(xué)課件 顧桂梅 項目6 PLC控制三相異步電動機的正反轉(zhuǎn)_第1頁
電氣控制與PLC應(yīng)用項目教程 教學(xué)課件 顧桂梅 項目6 PLC控制三相異步電動機的正反轉(zhuǎn)_第2頁
電氣控制與PLC應(yīng)用項目教程 教學(xué)課件 顧桂梅 項目6 PLC控制三相異步電動機的正反轉(zhuǎn)_第3頁
電氣控制與PLC應(yīng)用項目教程 教學(xué)課件 顧桂梅 項目6 PLC控制三相異步電動機的正反轉(zhuǎn)_第4頁
電氣控制與PLC應(yīng)用項目教程 教學(xué)課件 顧桂梅 項目6 PLC控制三相異步電動機的正反轉(zhuǎn)_第5頁
已閱讀5頁,還剩128頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、在線教務(wù)輔導(dǎo)網(wǎng):在線教務(wù)輔導(dǎo)網(wǎng):http:/ 教材其余課件及動畫素材請查閱在線教務(wù)輔導(dǎo)網(wǎng)教材其余課件及動畫素材請查閱在線教務(wù)輔導(dǎo)網(wǎng) QQ:349134187 或者直接輸入下面地址:或者直接輸入下面地址: http:/ 項目6 PLC控制三相異步電動機的正 反轉(zhuǎn) v【學(xué)習(xí)目標(biāo)】 v1.了解在STEP7編程中使用的數(shù)據(jù)類型。 v2.掌握S7-300系列PLC的CPU的存儲區(qū)分布以及寄存器。 v3.了解STEP7中的尋址方式。 v4.掌握S7-300系列PLC的用戶程序結(jié)構(gòu)。 v5.會熟練使用STEP7 V5.3編程軟件進行程序的編輯,下載 程序及運行、監(jiān)控、調(diào)試程序。 v6.會熟練使用S7-PLC

2、SIM仿真軟件調(diào)試程序。 v7.能使用S7-300 PLC基本位邏輯指令完成電動機正反轉(zhuǎn)、 智力搶答器等的軟硬件設(shè)計和系統(tǒng)安裝調(diào)試。 v8.會編寫S7-300 PLC的功能塊子程序FB和功能子程序FC, 并掌握在主循環(huán)程序OB1中調(diào)用功能塊子程序FB和功能子 程序FC的方法。 v6.1 相關(guān)知識 v6.1.1 STEP7編程基礎(chǔ) v1.數(shù)制 v數(shù)制數(shù)的制式是人們利用符號計數(shù)的一種方法。 數(shù)制有很多種,在計算機中常用的有二進制、十六進制和 BCD碼。 v(1)二進制數(shù) v二進制數(shù)只有0和1兩個符號按照逢二進一的規(guī)則計算。 0和1可以用來表示開關(guān)量(或稱數(shù)字量)的兩種不同狀 態(tài),例如觸點的斷開和接

3、通,線圈的通電和斷電等。如果 該位為1,表示梯形圖中對應(yīng)的位編程元件(例如位存儲 器M和輸出過程映像Q)的線圈“通電”,其常開觸點接 通,常閉觸點斷開,以后稱該編程元件為1狀態(tài),或稱該 編程元件ON(接通)。如果該位為0,對應(yīng)的編程元件的 線圈和觸點的狀態(tài)與上述的相反,稱該編程元件為0狀態(tài), 或稱該編程元件OFF(斷開)。 v二進制常數(shù)用2表示,例如2 1111_0110_1001_0001是16位二進制常數(shù)。在編程手冊 和編程軟件中,位編程元件的1狀態(tài)和0狀態(tài)常用TURE和 FALSE來表示。 v(2)十六進制數(shù) v十六進制的16個數(shù)字是09和AF(對應(yīng)于十進制 數(shù)1015),每個數(shù)字占二進

4、制數(shù)的4位。十六進制數(shù)的 運算規(guī)則為逢16進1,例如B163C3161260。 vB16,W16,DW16分別用來表示十六 進制字節(jié)、字和雙字常數(shù),例如W1613AF。在數(shù)字 后面加“H”也可以表示十六進制數(shù),例如W#1613AF可 以表示為13AFH。 v(3)BCD碼 vBCD碼用4位二進制數(shù)表示一位十進制數(shù),例如十進 制數(shù)9對應(yīng)的二進制數(shù)為1001。4位二進制數(shù)共有16種組 合,有6種(10101111)沒有在BCD碼中使用。 vBCD碼的最高4位二進制數(shù)用來表示符號,16位BCD 碼字的范圍為-999999。32位BCD碼雙字的范圍為-9 999 9999 999 999。 v十進制數(shù)

5、可以很方便地轉(zhuǎn)換為BCD碼,例如十進制數(shù) 296對應(yīng)的BCD碼為W16296,或20000 0010 1001 0110。 v2.數(shù)據(jù)類型 vSTEP 7有3種數(shù)據(jù)類型:基本數(shù)據(jù)類型、用戶通過組 合基本數(shù)據(jù)類型生成的復(fù)合數(shù)據(jù)類型和參數(shù)類型。 v(1)基本數(shù)據(jù)類型 vSTEP7的基本數(shù)據(jù)類型有布爾型(BOOL)、整數(shù)型 (INT)、實數(shù)型(REAL)。 v1)布爾型 v布爾型數(shù)據(jù)為無符號數(shù),只表示存儲器各位1/0狀態(tài)。 v其長度可以是位、字節(jié)、字和雙字。8位二進制數(shù)組 成1個字節(jié)(Byte),相鄰的兩個字節(jié)組成一個字,兩個 字組成1個雙字。例如,MWl00是由MB100和MB101組成 的1個字

6、,MB100為高位字節(jié)。MWl00中的M為區(qū)域標(biāo)識 符,W表示字,100為字的起始字節(jié)MB100的地址。字的 取值范圍為W160000W16FFFF;MD100是由 MB100MB103組成的1個雙字,MB100為高位字節(jié),D 表示雙字,100為雙字的起始字節(jié)MB100的地址。雙字的 取值范圍為DW160000_0000DW16 FFFF_FFFF。 v2)整數(shù)型 v整數(shù)是有符號數(shù),整數(shù)的最高位為符號位,最高位為 0時為正數(shù),為1時為負數(shù)。整數(shù)用補碼來表示,正數(shù)的 補碼就是它的本身,將一個正數(shù)對應(yīng)的二進制數(shù)的各位求 反后加l,可以得到絕對值與它相同的負數(shù)的補碼。 v整數(shù)型數(shù)據(jù)分為16位整數(shù)IN

7、T和32位雙整數(shù)DINT。 v16位整數(shù)INT取值范圍為-32 76832 767。 v32位雙整數(shù)DINT取值范圍為-2 147 483 6482 147 483 647。 v3)實數(shù)型 v實數(shù)(REAL)又稱浮點數(shù),ANSIIEEE標(biāo)準浮點 數(shù)格式如圖6-1所示,共占用一個雙字(32位)。最高位 (第3l位)為浮點數(shù)的符號位,最高位為0時為正數(shù),為l 時為負數(shù);8位指數(shù)占2330位;因為規(guī)定尾數(shù)的整數(shù)部 分總是為1,只保留了尾數(shù)的小數(shù)部分m(022位)。浮 點數(shù)的表示范圍為1.17549510-38 3.402 8231038。 v浮點數(shù)的優(yōu)點是用很小的存儲空間(4B)可以表示 非常大和非

8、常小的數(shù)。PLC輸入和輸出的數(shù)值大多是整數(shù) (例如模擬量輸入值和模擬量輸出值),用浮點數(shù)來處理 這些數(shù)據(jù)需要進行整數(shù)和浮點數(shù)之間的相互轉(zhuǎn)換,浮點數(shù) 的運算速度比整數(shù)運算的慢得多。 v4)常數(shù)的表示方法 v常數(shù)值可以是字節(jié)、字或雙字,CPU以二進制方式存 儲常數(shù),常數(shù)也可以用十進制、十六進制、ASCII碼或浮 點數(shù)形式來表示。 v B16,W16,DW16分別用來表示十六 進制字節(jié)、字和雙字常數(shù)。2用來表示二進制常數(shù),例 如2110ll010。 v L為32位雙整數(shù)常數(shù),例如L+5。 v P為地址指針常數(shù),例如PM2.0是M2.0的地址。 v S5T是16位S5時間常數(shù),格式為S5TaDbH c

9、MdSeMS。其中a,b,c,d,e分別是日、小時、 分、秒和毫秒的數(shù)值。輸入時可以省掉下劃線,例如S5T 4S30MS4s30ms,S5T2H15M30S2小時15分30 秒。S5時間常數(shù)的取值范圍為S5T0H0M0S 0MSS5T2H46M30S0MS,時間增量為10ms。 v C為計數(shù)器常數(shù)(BCD碼),例如C250。 v8位ASCII字符用單引號表示,例如ABC。 v(2)用戶通過組合基本數(shù)據(jù)類型生成的復(fù)合數(shù)據(jù)類 型 v通過組合基本數(shù)據(jù)類型和復(fù)合數(shù)據(jù)類型可以生成下面 的數(shù)據(jù)類型: v 1)數(shù)組(ARRAY):將一組同一類型的數(shù)據(jù)組合 在一起,形成一個單元。 v2)結(jié)構(gòu)(STRUCT):

10、將一組不同類型的數(shù)據(jù)組合 在一起,形成一個單元。 v3)字符串(STRING):是最多有254個字符 (CHAR)的一維數(shù)組。 v4)日期和時間(DATEANDTIME):用于存儲 年、月、日、時、分、秒、毫秒和星期,占用8個字節(jié), 用BCD格式保存。星期天的代碼為1,星期一星期六的 代碼為27。例如DT2004-07-15-12:30:15.200為2004 年7月15日12時30分15.2秒。 v v5)用戶定義的數(shù)據(jù)類型UDT(User-Defined Data Types):由用戶將基本數(shù)據(jù)類型和復(fù)合數(shù)據(jù)類型組合在 一起,形成的新的數(shù)據(jù)類型。 v可以在數(shù)據(jù)塊DB和變量聲明表中定義復(fù)合數(shù)

11、據(jù)類型。 v(3)參數(shù)類型 v參數(shù)類型是為在邏輯塊之間傳遞參數(shù)的形參(Formal Parameter,形式參數(shù))定義的數(shù)據(jù)類型: v1)TIMER(定時器)和COUNTER(計數(shù)器):指 定執(zhí)行邏輯塊時要使用的定時器和計數(shù)器,對應(yīng)的實參 (Actual Parameter,實際參數(shù))應(yīng)為定時器或計數(shù)器的 編號,例如T3,C21。 v2)BLOCK(塊):指定一個塊用作輸入和輸出,參 數(shù)聲明決定了使用的塊的類型,例如FB、FC、DB等。塊 參數(shù)類型的實參應(yīng)為同類型的塊的絕對地址編號(例如 FB2)或符號名(例如“Motor”)。 v3) POINTER(指 針):指針指向 一個變量的地址, 即

12、用地址作為實 參。例如P M50.0是指向 M50.0的雙字地 址指針。 v4)ANY:用于 實參的數(shù)據(jù)類型 未知或?qū)崊⒖梢?使用任意數(shù)據(jù)類 型的情況,占 10B。 裝載存儲器 動態(tài)裝載存儲器RAM,存放用戶程序 可選的固定裝載存儲(FEPROM),存放用戶程序 工作存儲器(RAM): 可執(zhí)行用戶程序,如邏輯塊,數(shù)據(jù)塊 系統(tǒng)存儲器(RAM) 過程映象存儲器區(qū)(I/O) 位存儲器(M) 局域數(shù)據(jù)區(qū)(L) 圖6-2 CPU中基本存儲區(qū)分布 定時器區(qū)(T) 計數(shù)器區(qū)(C) 數(shù)據(jù)塊(DB)和背景數(shù)據(jù)塊(DI) v3.S7-300CPU中的存儲區(qū)分布 vS7-300 CPU的存儲器有3個基本區(qū)域(見圖6

13、-2)。 除了3個基本存儲區(qū)外,S7 CPU中還有外設(shè)I/O存儲區(qū)。 v(1)裝載存儲器 v裝載存儲器可能是CPU模塊中的部分RAM、內(nèi)置的 EEPROM或選用的可拆卸Flash EPROM(FEPROM)卡, 用于保存不包含符號地址和注釋的用戶程序和系統(tǒng)數(shù)據(jù) (組態(tài)、連接和模塊參數(shù)等)。有的CPU有集成的裝載 存儲器,有的可以用微存儲器卡(MMC)來擴展,CPU 31XC的用戶程序只能裝入插入式的MMC。 v斷電時數(shù)據(jù)保存在MMC存儲器中,因此數(shù)據(jù)塊的內(nèi) 容基本上被永久保留。 v下載程序時,用戶程序(邏輯塊和數(shù)據(jù)塊)被下載到 CPU的裝載存儲器,CPU把可執(zhí)行部分復(fù)制到工作存儲 器,符號表和

14、注釋保存在編程設(shè)備中。 v(2)工作存儲器 v它是CPU內(nèi)部的部分RAM存儲器,不能擴展,用于 存儲CPU運行時的用戶程序和數(shù)據(jù),例如組織塊、功能 塊、功能和數(shù)據(jù)塊。為了保證程序執(zhí)行的快速性和不過多 地占用工作存儲器,只有與程序執(zhí)行有關(guān)的塊被裝入工作 存儲器。 v復(fù)位CPU的存儲器時,RAM中的程序被清除, FEPROM中的程序不會被清除。 v(3)系統(tǒng)存儲器 v系統(tǒng)存儲器是集成在CPU內(nèi)部的RAM,不能擴展。 用于存放用戶程序的操作數(shù)據(jù)。主要包括: v1)過程映像輸入/輸出(I/Q)區(qū) v輸入模塊的輸入端子是PLC接收輸入信號的窗口。每 一個輸入端子與輸入映像存儲器的相應(yīng)位相對應(yīng)。在掃描 循

15、環(huán)開始時,CPU讀取數(shù)字量輸入模塊的輸入信號的狀 態(tài)、并將它們存入過程映像輸入?yún)^(qū)(I區(qū))中。 v每一個輸出模塊的端子與過程映像輸出區(qū)的相應(yīng)位相 對應(yīng)。在掃描循環(huán)中,用戶程序計算輸出值,并將它們存 入過程映像輸出區(qū)(Q區(qū))中。在循環(huán)掃描開始時將過程 映像輸出表的內(nèi)容寫入輸出模塊。 vI和Q均可以按位、字節(jié)、字和雙字來存取,例如I0.0、 IB0、IW0和ID0。 v與直接訪問I/O模塊相比,訪問過程映像區(qū)可以保證 在整個程序周期內(nèi),信號狀態(tài)始終保持一致。即使在程序 執(zhí)行過程中接在輸入模塊的外部信號狀態(tài)發(fā)生了變化,過 程映像區(qū)中的信號狀態(tài)仍然保持不變,直到下一個循環(huán)被 刷新。由于過程映像區(qū)保存在C

16、PU的系統(tǒng)存儲器中,訪 問速度比直接訪問信號模塊快得多。系統(tǒng)存儲器區(qū)的組成 和功能如表6-1所示。 v2)內(nèi)部標(biāo)志位存儲器區(qū)(M) v內(nèi)部標(biāo)志位存儲器用來保存控制邏輯的中間操作狀態(tài) 或其他控制信息,是模擬繼電器控制系統(tǒng)中的中間繼電器。 內(nèi)部標(biāo)志位存儲器以位為單位使用,也可以按字節(jié)、字或 雙字來存取。 v3)定時器(T)存儲器 v定時器存儲器是模擬繼電器系統(tǒng)中的時間繼電器。給 定時器分配的字用于存儲時間基值和時間值(0999), 實際的定時時間等于時基乘以時間值。時間值可以用二進 制或BCD碼方式讀取。 v4)計數(shù)器(C)存儲器 v計數(shù)器用來累計其計數(shù)輸入端脈沖電平由低到高(上 升沿)的次數(shù),它

17、有三種類型:加計數(shù)器、減計數(shù)器和加 減計數(shù)器。給計數(shù)器分配的字用于存儲計數(shù)當(dāng)前值(計數(shù) 器當(dāng)前所累計的脈沖個數(shù))。計數(shù)值可以用二進制或 BCD碼方式讀取。 v5)數(shù)據(jù)塊 v數(shù)據(jù)塊用來存放用戶程序運行時所需的大量數(shù)據(jù)或變 量值,分為被所有邏輯塊訪問的“共享”數(shù)據(jù)塊(DB, 簡稱數(shù)據(jù)塊)和被功能塊(FB)、系統(tǒng)功能塊(SFB) 所特定占用的“背景”數(shù)據(jù)塊(DI)。 vDBX是數(shù)據(jù)塊中的數(shù)據(jù)位,DBB、DBW和DBD分別 是數(shù)據(jù)塊中的數(shù)據(jù)字節(jié)、數(shù)據(jù)字和數(shù)據(jù)雙字。DIX是背景 數(shù)據(jù)塊中的數(shù)據(jù)位,DIB、DIW和DID分別是背景數(shù)據(jù)塊 中的數(shù)據(jù)字節(jié)、數(shù)據(jù)字和數(shù)據(jù)雙字。 v6)外設(shè)I/O存儲區(qū)(PI/PQ

18、) v通過外設(shè)I/O存儲區(qū)(PI和PQ),用戶可以不經(jīng)過過 程映像輸入和過程映像輸出,直接訪問輸入模塊和輸出模 塊。不能以位(bit)為單位訪問外設(shè)I/O存儲區(qū),只能以 字節(jié)、字和雙字為單位訪問。 v4.S7-300 CPU中的寄存器 v(1)累加器(ACCUx) v32位累加器用于處理字節(jié)、字或雙字的寄存器。S7- 300有兩個累加器(ACCU1和 ACCU2),ACCU1為主 累加器,ACCU2為輔助累加器??梢园巡僮鲾?shù)送入累加 器,并在累加器中進行運算和處理,保存在ACCU1中的 運算結(jié)果可以傳送到存儲區(qū)。處理8位或16位數(shù)據(jù)時,數(shù) 據(jù)放在累加器的低端(右對齊)。 v(2)狀態(tài)字寄存器(

19、16位) v狀態(tài)字(見圖6-3)是一個16位的寄存器,用于存儲 CPU執(zhí)行指令的狀態(tài)。狀態(tài)字中的某些位用于決定某些 指令是否執(zhí)行和以什么樣的方式執(zhí)行,執(zhí)行指令時可能改 變狀態(tài)字中的某些位,用位邏輯指令和字邏輯指令可以訪 問和檢測它們。 v v1)首次檢測位 v 狀態(tài)字的第0位稱為首次檢測位()。若該位的狀態(tài) 為0,則表明一個梯形邏輯網(wǎng)絡(luò)的開始、或指令為邏輯串 的第一條指令。CPU對邏輯串第一條指令的檢測(稱為 首次檢測)產(chǎn)生的結(jié)果直接保存在狀態(tài)字的RLO位中,經(jīng) 過首次檢測存放在RLO中的0或1稱為首次檢測結(jié)果。該 位在邏輯串的開始時總是0,在邏輯串指令執(zhí)行過程中該 位為1,輸出指令或與邏輯運

20、算有關(guān)的轉(zhuǎn)移指令(表示一 個邏輯串結(jié)束的指令)將該位清0。 v2)邏輯運算結(jié)果(RLO) v狀態(tài)字的第1位稱為邏輯運算結(jié)果RLO(Result of Logic Operation)。該位用來存儲執(zhí)行位邏輯指令或比較 指令的結(jié)果。在邏輯串中,RLO位的狀態(tài)能夠表示有關(guān)信 號流的信息,RLO的狀態(tài)為1,表示有能流流到梯形圖中 運算點處;為0則表示無能流流到該點。可以用RLO觸發(fā) 跳轉(zhuǎn)指令。 v3)狀態(tài)位(STA) v 狀態(tài)字的第2位稱為狀態(tài)位。狀態(tài)位不能用指令檢測, 它只是在程序測試中被CPU解釋并使用。如果一條指令 是對存儲區(qū)操作的位邏輯指令,則無論是對該位的“讀” 或“寫”操作,STA總是與

21、該位的值取得一致;對不訪問 存儲區(qū)的位邏輯指令來說,STA位沒有意義,此時它總被 置1。 v4)或位(OR) v 狀態(tài)字的第3位稱為或位(OR),在先“與”后 “或”的邏輯運算中,OR位暫存邏輯“與”的操作結(jié)果, 以便進行后面的邏輯“或”運算。其他指令將OR位復(fù)位。 v5)溢出位(OV) v狀態(tài)字的第4位稱為溢出位,如果算術(shù)運算或浮點數(shù) 比較指令執(zhí)行時出現(xiàn)錯誤(例如溢出、非法操作和不規(guī)范 的格式),溢出位被置1。如果后面的同類指令執(zhí)行結(jié)果 正常,該位被清0。 v6)溢出狀態(tài)保持位(OS) v狀態(tài)字的第5位稱為溢出狀態(tài)保持位,或稱為存儲溢 出位。OV位被置1時OS位也被置1。OV位被清0時OS仍

22、 保持,所以它保存了OV位,用于指明前面的指令執(zhí)行過 程中是否產(chǎn)生過錯誤。只有JOS(OS1時跳轉(zhuǎn))指令、 塊調(diào)用指令和塊結(jié)束指令才能復(fù)位OS位。 v7)條件碼1(CCl)和條件碼0(CC0) v狀態(tài)字的第7位和第6位稱為條件碼1和條件碼0。這 兩位綜合起來用于表示在累加器1中產(chǎn)生的算術(shù)運算或邏 輯運算的結(jié)果與0的大小關(guān)系、比較指令的執(zhí)行結(jié)果或移 位指令的移出位狀態(tài),詳見表6-2和表6-3。 v 8)二進制結(jié)果位(BR) v狀態(tài)字的第8位稱為二進制結(jié)果位。它將字處理程序 與位處理聯(lián)系起來,在一段既有位操作又有字操作的程序 中,用于表示字操作結(jié)果是否正確。將BR位加入程序后, 無論字操作結(jié)果如何

23、,都不會造成二進制邏輯鏈中斷。在 梯形圖的方框指令中,BR位與ENO有對應(yīng)關(guān)系,用于表 明方框指令是否被正確執(zhí)行:如果執(zhí)行出現(xiàn)了錯誤,BR 位為0,ENO也為0;如果功能被正確執(zhí)行,BR位為1, ENO也為1。 v在用戶編寫的FB和FC語句表程序中,必須對BR位進 行管理,功能塊正確執(zhí)行后,使BR位為1,否則使其為0。 使用SAVE指令可將RLO存入BR中,從而達到管理BR位 的目的。當(dāng)FB或FC執(zhí)行無錯誤時,使RLO為1,并存入 BR;否則在BR中存入0。 v狀態(tài)字的915位未使用。 v(3)數(shù)據(jù)塊寄存器 v vDB和DI寄存器分別用來保存打開的共享數(shù)據(jù)塊和背景數(shù) 據(jù)塊的編號。 v(4)診斷

24、緩沖區(qū) v診斷緩沖區(qū)是系統(tǒng)狀態(tài)列表的一部分,包括系統(tǒng)診斷 事件和用戶定義的診斷事件的信息。這些信息按它們出現(xiàn) 的順序排列,第一行中是最新的事件。 v診斷事件包括模塊的故障、寫處理的錯誤、CPU中的 系統(tǒng)錯誤、CPU的運行模式切換錯誤、用戶程序中的錯 誤和用戶用系統(tǒng)功能SFC 52定義的診斷錯誤。 v5.尋址方式 v操作數(shù)是指令操作或運算的對象,尋址方式是指令取 得操作數(shù)的方式,操作數(shù)可以直接給出或間接給出。 STEP7系統(tǒng)支持4種尋址方式:立即尋址、存儲器直接尋 址、存儲器間接尋址和寄存器間接尋址. v(1)立即尋址 v立即尋址的操作數(shù)是常數(shù)或常量,且操作數(shù)直接在指 令中,有些指令的操作數(shù)是惟

25、一的,為簡化起見,不在指 令中寫出。下面是使用立即尋址的程序?qū)嵗?v SET /把RLO置l v L 5678 /把整數(shù)5678裝入累加器1 v L W164B12 /常數(shù)164B12裝入累加器l,累加 器1中原有的內(nèi)容裝入累加器2 v(2)直接尋址 v直接尋址包括對寄存器和存儲器的直接尋址。該尋址 方式在指令中直接給出操作數(shù)所在的存儲單元地址,包括 存儲器或寄存器的區(qū)域、長度和位置,例如用DBW200指 定數(shù)據(jù)塊存儲區(qū)中的字,地址為200;DBB100表示以字 節(jié)方式存取,DBWl00表示存取DBB100、DBBl01組成的 字,DBD100表示存取DBB100DBB103組成的雙字。 下

26、面是直接尋址的程序?qū)嵗?v A I0.0 v L MB3 /把MB3裝入累加器1 v T MW2 /把累加器1低字中的內(nèi)容傳送給位存儲器 MW2 v(3)存儲器間接尋址 v在存儲器間接尋址指令中,給出一個作地址指針的存 儲器,該存儲器的內(nèi)容是操作數(shù)所在存儲單元的地址。該 存儲器一般稱為地址指針,在指令中需寫在方括號“”內(nèi)。 使用存儲器間接尋址可以改變操作數(shù)的地址,在循環(huán)程序 中經(jīng)常使用存儲器間接尋址。 v地址指針可以是字或雙字,對于地址范圍小于65 535 的存儲器(如T、C、DB、FB、FC),使用字指針就夠 了;對于其他存儲器(如I、Q、M等)則要使用雙字指針。 如果要用雙字格式的指針訪

27、問一個字節(jié)、字或雙字存儲器, 必須保證指針的位編號為0,例如PM50.0。雙字指針的 格式如圖6-4所示:位02為被尋址地址中位的編號 (07),位318為被尋址的字節(jié)的編號(065 535)。 v只有雙字MD、LD、DBD和DID能作雙字地址指針。 下面是存儲器間接尋址的例子: v L DBWMW10 /將數(shù)據(jù)字裝入累加器1,數(shù)據(jù)字的地 址指針在位存儲器字MW10 v/中,如果MW10的值為20000 0000 0000 0000 0000 0000 0010 0000, v/裝入的是DBW4 v A MDBD 4 /對存儲器位作“與”運算,地址指針在 數(shù)據(jù)雙字DBD4中,如果DBD4 v/

28、的值為20000 0000 0000 0000 0000 0000 0010 0011,則是對 M43 v/進行操作 v(4)寄存器間接尋址 v該尋址方式在指令中通過地址寄存器和偏移量間接獲 取操作數(shù),其中的地址寄存器及偏移量必須寫在方括號 “”內(nèi)。S7-300中有兩個地址寄存器ARl和AR2,通過它 們可以對各存儲區(qū)的存儲器內(nèi)容作寄存器間接尋址。 v地址寄存器的內(nèi)容加上偏移量形成地址指針,并指向 操作數(shù)所在的存儲器單元。地址寄存器存儲的雙字地 址指針如圖6-5。其中第02位(xxx)為被尋址地址中位 的編號(07),第318位(bbbb bbbb bbbb bbbb) 為被尋址地址的字節(jié)的編

29、號(065 535),第2426位 (rrr)為被尋址地址的區(qū)域標(biāo)識號,第31位x0為區(qū)域 內(nèi)的間接尋址,第31位xl為區(qū)域間的間接尋址。 v第一種地址指針格式包括被尋址數(shù)值所在存儲單元地 址的字節(jié)編號和位編號,存儲區(qū)的類型在指令中給出,例 如L MBARl,P5.0。這種指針格式適用于在某一存儲 區(qū)內(nèi)尋址,即區(qū)內(nèi)寄存器間接尋址。第2426位(rrr) 應(yīng)為0。 v第二種地址指針格式包含了數(shù)據(jù)所在存儲區(qū)域標(biāo)識位, 通過改變標(biāo)志位可實現(xiàn)跨區(qū)尋址,區(qū)域標(biāo)識由位26 24確定,具體含義如表6-4所示。這種指針格式適用于區(qū) 域間寄存器間接尋址。 v如果要用寄存器指針訪問一個字節(jié)、字或雙字,必須 保證指

30、針中的位地址編號為0。 v下面是區(qū)內(nèi)間接尋址的例子,指針常數(shù)P4.3對應(yīng)的 二進制數(shù)為20000 0000 0000 0000 0000 0000 00l0 0011。 vL P4.3 /將間接尋址的指針裝入累加器l vL ARl /將累加器1中的內(nèi)容送到地址寄存器l vA MARl,P3.3 /AR1中的P4.3加偏移量P3.3, 實際上是對M7.6進行操作 v QAR1,P0.2 /邏輯運算的結(jié)果送Q4.5 v下面是區(qū)域間間接尋址的例子: vL PM6.0 /將存儲器位M6.0的雙字指針裝入累加器1 vL AR1 /將累加器1中的內(nèi)容送到地址寄存器1 vT WARl,P50.0 /將累加器

31、1的內(nèi)容傳送到存儲器 字MW56 vPM6.0對應(yīng)的二進制數(shù)為21000 0011 0000 0000 0000 0000 0011 0000。因為地址指針PM6.0中已經(jīng)包 含有區(qū)域信息,使用間接尋址的指令T WARl,P50.0 中沒有必要再用地址標(biāo)識符M。 v6.1.2 用戶程序結(jié)構(gòu) vPLC要完成的控制任務(wù)比較復(fù)雜時,用戶的編程工作量及 控制程序就較大。如何把程序的各部分清晰地組織起來, 即選擇適合控制任務(wù)要求的程序結(jié)構(gòu)很關(guān)鍵。STEP 7有 三種編程方法可供選用,它們是線性化編程、模塊化編程 和結(jié)構(gòu)化編程。 v線性編程將整個用戶程序編寫在組織塊OB1中,處理 器工作時循環(huán)掃描OB1,

32、在OB1中的指令被線性地或順序 地執(zhí)行,并且在每次掃描時每條指令都執(zhí)行一次。這種結(jié) 構(gòu)是PLC最初所模擬的硬連線繼電器梯形邏輯圖模式。線 性化編程方法適合于比較簡單的控制任務(wù)。 的各部分清晰地組織起來,即選擇適合控制任務(wù)要求的程序 結(jié)構(gòu)很關(guān)鍵。STEP 7有三種編程方法可供選用,它們是線性 化編程、模塊化編程和結(jié)構(gòu)化編程。 v線性編程將整個用戶程序編寫在組織塊OB1中,處理器工作 時循環(huán)掃描OB1,在OB1中的指令被線性地或順序地執(zhí)行, 并且在每次掃描時每條指令都執(zhí)行一次。這種結(jié)構(gòu)是PLC最 初所模擬的硬連線繼電器梯形邏輯圖模式。線性化編程方法 適合于比較簡單的控制任務(wù)。 v模塊化編程將用戶程

33、序分成相對獨立的指令塊,每個塊包含 給定的部件組或作業(yè)組的控制邏輯。上述各分塊的執(zhí)行順序 由組織塊OB1中的調(diào)用指令決定。 v結(jié)構(gòu)化編程要求用戶程序提供一些通用的指令塊,以便控制 一類相似或相同的部件(如控制泵或馬達的指令塊),給通 用指令塊提供的參數(shù)進一步說明各部件的控制差異。這樣結(jié) 構(gòu)化的程序能反復(fù)調(diào)用這些通用指令塊。結(jié)構(gòu)化編程方法比 前面兩種編程方法先進,適合復(fù)雜的控制任務(wù),并支持多人 協(xié)同編寫大型用戶程序。結(jié)構(gòu)化編程的其它優(yōu)點是:程序結(jié) 構(gòu)層次清晰,部分程序通用化、標(biāo)準化,易于修改、簡化程 序的調(diào)試。 為支持結(jié)構(gòu)化程序設(shè)計,STEP 7將用戶程序分類歸并為不同 的塊,根據(jù)程序要求,可選

34、用組織塊(OB)、功能塊(FB)、 系統(tǒng)功能塊(SFB)、功能(FC)和系統(tǒng)功能(SFC),在 這些塊中都包含部分程序,統(tǒng)稱為邏輯塊。而數(shù)據(jù)塊(DB或 DI)則用來存儲執(zhí)行用戶程序時所需的數(shù)據(jù)。各種塊的簡要 說明見表6-5所示。 v本節(jié)將對結(jié)構(gòu)化程序設(shè)計中各種塊如何組織使用進行介紹。 v1.組織塊(OB) v組織塊是操作系統(tǒng)與用戶程序的接口,由操作系統(tǒng)調(diào)用,用 于控制掃描循環(huán)和中斷程序的執(zhí)行、PLC的啟動和處理等, 有的CPU只能使用部分組織塊。 v(1)OB1 v OB1用于循環(huán)處理,是用戶程序中的主程序,是最重要的組 織塊。操作系統(tǒng)周期性地執(zhí)行組織塊OB1。當(dāng)OB1運行結(jié)束 后,操作系統(tǒng)再

35、次調(diào)用OB1,如此OB1不斷循環(huán)。這一過程 也稱為掃描循環(huán)。調(diào)用OBl的時間間隔稱為掃描周期。掃描周 期的長短,主要由OB1中的程序執(zhí)行所需時間決定。 v當(dāng)OB1運行結(jié)束時,操作系統(tǒng)將發(fā)出全局數(shù)據(jù)(給網(wǎng)絡(luò)中的 其它PLC)。再次啟動OBl之前,操作系統(tǒng)將過程映像輸出寄 存器寫到輸出模塊,讀輸入模塊刷新過程映像輸入寄存器, 并接收來自其它PLC的各種全局數(shù)據(jù)。 v為防止程序陷入無效死循環(huán),S7設(shè)有看門狗定時器??撮T狗 定時器的默認值是150ms,該值確定主程序循環(huán)的最長時間。 正常情況下,掃描周期小于該時間??梢栽诰幊唐魃弦揽?STEF 7的S7 CONFIGRATION工具修改定時值,或用一個

36、系 統(tǒng)功能塊(SFC 43)再啟動看門狗定時器,以滿足掃描周期 對主程序最大允許循環(huán)時間的要求。如果掃描周期大于主程 序最大允許循環(huán)時間,操作系統(tǒng)調(diào)用OB 80(循環(huán)時間超時), 若OB 80中未編寫程序,CPU將轉(zhuǎn)入停止(STOP)狀態(tài)。 vSTEP 7還提供了設(shè)置最短循環(huán)時間的功能。這一特性是為多 處理器操作時,緩解I/O總線而設(shè)計的(多處理器操作并非 S7-300特性)。當(dāng)這一特性被使用時,操作系統(tǒng)延遲OB1的 運行終止時間(延長掃描周期),直至達到最短循環(huán)時間。 v在編程器上依靠STEP 7的S7 CONFIGRATION工具可修改 OB1參數(shù),見表6-6。 v(2)事件中斷處理 v如

37、果出現(xiàn)一個中斷事件,例如時間日期中斷、硬件中斷和錯 誤處理中斷等,當(dāng)前正在執(zhí)行的塊在當(dāng)前語句執(zhí)行完后被停 止執(zhí)行(被中斷),操作系統(tǒng)將會調(diào)用一個分配給該事件的 組織塊。該組織塊執(zhí)行完后,被中斷的塊將從斷點處繼續(xù)執(zhí) 行。 v這意味著部分用戶程序可以不必在每次循環(huán)中處理,而是在 需要時才被及時地處理。用戶程序可以分解為分布在不同組 織塊 中的“子程序”。如果用戶程序是對一個重要事件的響應(yīng), 并且這個事件出現(xiàn)的次數(shù)相對較少,例如液位達到了最大上 限,處理中斷事件的程序放在該事件驅(qū)動的OB中。 v(3)中斷的優(yōu)先級 vOB按觸發(fā)事件分成幾個級別,這些級別有不同的優(yōu)先級,高 優(yōu)先級的OB可以中斷低優(yōu)先級

38、的OB。當(dāng)OB啟動時,提供觸 發(fā)它的初始化啟動事件的詳細信息,這些信息可以在用戶程 序中使用。 v2臨時局域數(shù)據(jù) v生成邏輯塊(OB、FC、FB)時可以聲明臨時局域數(shù)據(jù)。這 些數(shù)據(jù)是臨時的,退出邏輯塊時不保留臨時局域數(shù)據(jù)。它們 僅是一些局域(Local,或稱局部)數(shù)據(jù),只能在生成它們的 邏輯塊內(nèi)使用。CPU按優(yōu)先級劃分局域數(shù)據(jù)區(qū),同一優(yōu)先級 的塊共用一片局域數(shù)據(jù)區(qū)。 v除了臨時局域數(shù)據(jù)外,所有的邏輯塊都可以使用共享數(shù)據(jù)塊 中的共享數(shù)據(jù)。 v3功能(FC) v功能是用戶編寫的沒有固定的存儲區(qū)的塊,其臨時變量存儲 在局域數(shù)據(jù)堆棧中,功能執(zhí)行結(jié)束后,這些數(shù)據(jù)就丟失了。 可以用共享數(shù)據(jù)區(qū)來存儲那些在功

39、能執(zhí)行結(jié)束后需要保存的 數(shù)據(jù),不能為功能的局域數(shù)據(jù)分配初始值。 v調(diào)用功能和功能塊時用實參(實際參數(shù))代替形參(形式參 數(shù)),例如將實參“I3.6”賦值給形參“Start”。形參是實參在 邏輯塊中的名稱,功能不需要背景數(shù)據(jù)塊。功能和功能塊用 輸入(IN)、輸出(OUT)和輸入/輸出(IN_OUT)參數(shù)做 指針,指向調(diào)用它的邏輯塊提供的實參。功能被調(diào)用后,可 以為調(diào)用它的塊提供一個數(shù)據(jù)類型為RETURN的返回值。 v4功能塊(FB) v功能塊是用戶編寫的有自己的存儲區(qū)(背景數(shù)據(jù)塊)的塊, 每次調(diào)用功能塊時需要提供各種的數(shù)據(jù)給功能塊,功能塊也 要返回變量給調(diào)用它的塊。這些數(shù)據(jù)以靜態(tài)變量(STAT)

40、的 形式存放在指定的背景數(shù)據(jù)塊(DI)中,臨時變量存儲在局 域數(shù)據(jù) v堆棧中。功能塊執(zhí)行完后,背景數(shù)據(jù)塊中的數(shù)據(jù)不會丟失, 但是不會保存局域數(shù)據(jù)堆棧中的數(shù)據(jù)。 v在編寫調(diào)用FB或系統(tǒng)功能塊(SFB)的程序時,必須指定DI 的編號,調(diào)用時DI被自動打開。在編譯FB或SFB時自動生成 背景數(shù)據(jù)塊中的數(shù)據(jù)??梢栽谟脩舫绦蛑谢蛲ㄟ^HMI(人機接 口)訪問這些背景數(shù)據(jù)。 v一個功能塊可以有多個背景數(shù)據(jù)塊,使功能塊用于不同的被 控對象。 v可以在FB的變量聲明表中給形參賦初值,它們被自動寫入相 應(yīng)的背景數(shù)據(jù)塊中。在調(diào)用塊時,CPU將實參分配給形參的 值存儲在DI中。如果調(diào)用塊時沒有提供實參,將使用上一次

41、存儲在背景數(shù)據(jù)塊中的參數(shù)。 v5數(shù)據(jù)塊 v數(shù)據(jù)塊(DB)是用于存放執(zhí)行用戶程序時所需的變量數(shù)據(jù)的 數(shù)據(jù)區(qū)。與邏輯塊不同,在數(shù)據(jù)塊中沒有STEP7的指令, STEP7按數(shù)據(jù)生成的順序自動地為數(shù)據(jù)塊中的變量分配地址。 數(shù)據(jù)塊分為共享數(shù)據(jù)塊和背景數(shù)據(jù)塊。 v數(shù)據(jù)塊中基本的數(shù)據(jù)類型有BOOL(二進制位)、REAL(實 數(shù)或浮點數(shù))和INTEGER(整數(shù),簡稱INT)等。結(jié)構(gòu)化數(shù) 據(jù)類型(數(shù)組和結(jié)構(gòu))由基本數(shù)據(jù)類型組成??梢杂梅柋?中定義的符號來代替數(shù)據(jù)塊中的數(shù)據(jù)的地址,這樣更便于程 序的編寫和閱讀。 v(1)共享數(shù)據(jù)塊(Share Block) v共享數(shù)據(jù)塊存儲的的是全局數(shù)據(jù),所有的FB、FC或OB

42、(統(tǒng) 稱為邏輯塊)都可以從共享數(shù)據(jù)塊中讀取數(shù)據(jù),或?qū)?shù)據(jù)寫 入共享數(shù)據(jù)塊。CPU可以同時打開一個共享數(shù)據(jù)塊和一個背 景數(shù)據(jù)塊。如果某個邏輯塊被調(diào)用,它可以使用它的臨時局 域數(shù)據(jù)區(qū)(即L堆棧)。邏輯塊執(zhí)行結(jié)束后,其局域數(shù)據(jù)區(qū)中 的數(shù)據(jù)丟失,但是共享數(shù)據(jù)塊中的數(shù)據(jù)不會被刪除。 v(2)背景數(shù)據(jù)塊(Instance Data Block) v背景數(shù)據(jù)塊中的數(shù)據(jù)是自動生成的,它們是功能塊的變量聲 明 表中的數(shù)據(jù)(不包括臨時變量TEMP)。背景數(shù)據(jù)用于傳遞參 數(shù),F(xiàn)B的實參和靜態(tài)數(shù)據(jù)存儲在背景數(shù)據(jù)塊中。調(diào)用功能塊 時,應(yīng)同時指定背景數(shù)據(jù)塊的編號或符號,背景數(shù)據(jù)塊只能 被指定的功能塊訪問。 v應(yīng)首先生成功

43、能塊,然后生成它的背景數(shù)據(jù)塊。在生成背景 數(shù)據(jù)塊時,應(yīng)指明它的類型為背景數(shù)據(jù)塊(Instance),并指 明它的功能塊的編號,例如FB2。 v背景數(shù)據(jù)塊的功能塊被執(zhí)行完后,背景數(shù)據(jù)塊中存儲的數(shù)據(jù) 不會丟失。 v(3)定義數(shù)據(jù)塊 v數(shù)據(jù)塊豐富的數(shù)據(jù)結(jié)構(gòu),有助于程序高效率管理復(fù)雜的變量 組合,提高程序設(shè)計的靈活性。 v數(shù)據(jù)塊定義在S7 CPU存儲器中,用戶可在存儲器中建立一個 或多個數(shù)據(jù)塊。每個數(shù)據(jù)塊可大可小,但CPU對數(shù)據(jù)塊數(shù)量 及數(shù)據(jù)總量有限制,如:對于CPU 314,用作數(shù)據(jù)塊的存儲 器最多8KB(8 192Byte),用戶定義的數(shù)據(jù)總量不能超出這 個 限制。對數(shù)據(jù)塊必須遵循先定義后使用的原

44、則,否則,將造 成系統(tǒng)錯誤。 v在編程階段和運行程序中都能定義數(shù)據(jù)塊,大多數(shù)數(shù)據(jù)塊是 在編程階段,用STEP 7開發(fā)軟件包定義的,定義內(nèi)容包括數(shù) 據(jù)塊號及塊中的變量(包括:變量符號名,數(shù)據(jù)類型以及初 始值等)。定義完成后,數(shù)據(jù)塊中變量的順序及類型,決定 了數(shù)據(jù)塊的數(shù)據(jù)結(jié)構(gòu),變量的數(shù)量決定數(shù)據(jù)塊的大小。數(shù)據(jù) 塊在使用前,必須作為用戶程序的一部分下載到CPU中。 v(4)訪問數(shù)據(jù)塊 v在用戶程序中可能定義了許多數(shù)據(jù)塊,而每個數(shù)據(jù)塊中又有 許多不同類型的數(shù)據(jù),因此,訪問時需要明確數(shù)據(jù)塊號和數(shù) 據(jù)塊中的數(shù)據(jù)類型與位置。根據(jù)明確數(shù)據(jù)塊號的不同方法, 可以用多種方法訪問數(shù)據(jù)塊中的數(shù)據(jù)。 v直接在訪問指令中

45、寫明數(shù)據(jù)塊號,如: L DB5.DBW10 T DB10.DBW20 L Motor_1.Speed / 符號地址 v另一種方法是“先打開后訪問”。在訪問某數(shù)據(jù)塊中的數(shù)據(jù) 前,先“打開”這個數(shù)據(jù)塊,也就是將數(shù)據(jù)塊號(數(shù)據(jù)塊的 起始地址)裝入數(shù)據(jù)塊寄存器。這樣,存放在數(shù)據(jù)塊中的數(shù) 據(jù),就可利用數(shù)據(jù)塊起始地址加偏移量的方法來訪問。如: OPN DB5 L DBW10 OPN DB10 T DBW20 v沒有專門的數(shù)據(jù)塊關(guān)閉指令,在打開一個數(shù)據(jù)塊時,先打開 的數(shù)據(jù)塊自動關(guān)閉。由于有兩個數(shù)據(jù)塊寄存器(DB和DI寄存 器),所以,最多可同時打開兩個數(shù)據(jù)塊。一個作為背景數(shù) 據(jù)塊,數(shù)據(jù)塊的起始地址存儲在DI

46、寄存器中;另一個作為共 享數(shù) 據(jù)塊,數(shù)據(jù)塊的起始地址存儲在DB寄存器中。在調(diào)用FB時可 以自動打開背景數(shù)據(jù)塊,所以,一般不用在FB程序中使用用 OPN DIn指令打開背景數(shù)據(jù)塊。 v6系統(tǒng)功能塊(SFB) v系統(tǒng)功能塊是為用戶提供的已經(jīng)編好程序的塊,可以在用戶 程序中調(diào)用這些塊,但是用戶不能修改它們。它們作為操作 系統(tǒng)的一部分,不占用程序空間。SFB有存儲功能,其變量 保存在指定給它的背景數(shù)據(jù)塊中。 v7系統(tǒng)功能(SFC) v系統(tǒng)功能是集成在S7 CPU的操作系統(tǒng)中預(yù)先編好程序的邏輯 塊,例如時間功能和塊傳送功能等。SFC屬于操作系統(tǒng)的一 部分,可以在用戶程序中調(diào)用,但是用戶不能修改它。與 S

47、FB相比,SFC沒有存儲功能。S7 CPU提供以下的SFC:復(fù) 制與塊功能,檢查程序,處理時鐘和運行時間計數(shù)器,數(shù)據(jù) 傳送,在多CPU模式的CPU之間傳送事件,處理日期時間中 斷和延時中斷,處理同步錯誤、中斷錯誤和異步錯誤,有關(guān) 靜態(tài)和動態(tài) 系統(tǒng)數(shù)據(jù)信息,過程映像刷新和位域處理,模塊尋址,分布 式I/O,全局數(shù)據(jù)通信,非組態(tài)連接的通信,生成與塊相關(guān)的 信息等。 v8系統(tǒng)數(shù)據(jù)塊(SDB) v系統(tǒng)數(shù)據(jù)塊是由STEP7產(chǎn)生的程序存儲區(qū),包含系統(tǒng)組態(tài)數(shù) 據(jù),例如硬件模塊參數(shù)和通信連接參數(shù)等用于CPU操作系統(tǒng) 的數(shù)據(jù)。 v6.1.3 S7-300系列 PLC常用的基本位邏輯指令 v基本位邏輯指令包括位邏

48、輯運算指令、位操作指令等,它們 可以對布爾操作數(shù)(BOOL)的信號狀態(tài)掃描并完成邏輯操作。 v1.觸點與線圈 v在LAD(梯形圖)程序中,通常使用類似繼電器控制電路中 的觸點符號及線圈符號來表示PLC的位元件,被掃描的操作 數(shù)(用絕對地址或符號地址表示)則標(biāo)注在觸點符號或線圈 符號的上方, 如表6-7所示。 v(1)常開觸點 v常開觸點的符號如表6-7所示。與繼電器的常開觸點相似,當(dāng) 保存在指定中的位值等于“1”時,常開觸點閉合。 當(dāng)觸點閉合時,梯形邏輯級中的信號流經(jīng)觸點,邏輯運算結(jié) 果RLO=“1”;相反,如果指定位地址的信號狀態(tài)為“0”, 觸點打開。當(dāng)觸點打開時,沒有信號流經(jīng)觸點,邏輯運算

49、結(jié) 果RLO=“0”。 v(2)常閉觸點 v常閉觸點的符號如表6-7所示。與繼電器的常閉觸點相似,當(dāng) 保存在指定位地址中的位值等于“0”時,常閉觸點閉合。 當(dāng)觸點閉合時,梯形邏輯級中的信號流經(jīng)觸點,邏輯運算結(jié) 果RLO=“1”;相反,如果指定位地址的信號狀態(tài)為“1”, 觸點打開。當(dāng)觸點打開時,沒有信號流經(jīng)觸點,邏輯運算結(jié) 果RLO=“0”。 v(3)輸出線圈 v輸出線圈指令(賦值指令)如表6-7所示。與繼電器的線圈一 樣,如果有電流流過線圈(RLO=1),指定位地址處的 位則被置為“1”,與其對應(yīng)的常開觸點閉合,常閉觸點斷開; 如果沒有電流流過線圈(RLO = 0),位置處的位 則被置為“0”

50、,與其對應(yīng)的常開觸點斷開,常閉觸點閉合。 輸出線圈只能放置在梯形邏輯級的右端。 v梯形圖中的輸出線圈等同于STL程序中的賦值指令。 v(4)中間輸出 v中間輸出指令如表6-7所示。在梯形圖設(shè)計時,如果一個邏輯 串很長,不便于編輯,則可以將邏輯串分成幾段,前一段的 邏輯運算結(jié)果(RLO)可以保存到指定的位地址,在與 其它觸點串聯(lián)的情況下,該存儲位可以象一般觸點一樣出現(xiàn) 在其它邏輯串中。中間輸出只能放在梯形圖邏輯串的中間, 不能放在邏輯串的結(jié)尾或分支的結(jié)尾處。中間輸出指令的使 用如圖6-6所示。 v如果該指令使用局域數(shù)據(jù)區(qū)(L區(qū))的地址,該存儲區(qū)中的地 址應(yīng)在邏輯塊(FB,F(xiàn)C,OB)的變量聲明表

51、中聲明為TEMP 類型時才能被使用。 v2.位邏輯運算指令 v這里敘述的位邏輯運算指令是“與”(AND)、“或”(OR)、 “異或”(XOR)指令及其組合。它對“0”或“1”這些布爾操作 數(shù)掃描,經(jīng)邏輯運算后將邏輯操作結(jié)果送入狀態(tài)字的RLO位。 v(1)“與”和“與非”(A,AN)指令 v用觸點的串聯(lián)表示“與”的邏輯關(guān)系,STL指令中使用“A”檢 查常開觸點的信號狀態(tài),使用“AN”檢查常閉觸點的信號狀態(tài), 并將檢查結(jié)果與邏輯運算結(jié)果(RLO)進行“與”運算。 v如果串聯(lián)回路里的所有觸點皆閉合,該回路就通“電”了。 在圖6-7(a)中,如果所有觸點閉合,則輸出Q 4.0的信號狀 態(tài)就為“1”(繼

52、電器線圈通電);如果有一個或多個觸點是打開 的,則輸出Q4.0為“0”(繼電器線圈斷電)。 v在圖6-7(a)中,僅當(dāng) 輸入I0.0和輸出Q 7.3 的信號狀態(tài)都是 “1”(觸點于是閉合)、 且位存儲器M l0.6為 “0”(該觸點仍保持原 閉合位置)時,輸出Q 4.0才為“1”,否則Q 4.0為“0”,顯然這和 與邏輯完全相同。與 圖6-7(a)對應(yīng)的語 句表指令如圖6-7(b) 所示。 v(2)“或”和“或 非”(O,ON)指令 v用觸點的并聯(lián)表示 “或”的邏輯關(guān)系, STL I0.0Q7.3 M10.6Q4.0 圖6-7 “與”指令 A I0.0 A Q7.3 AN M10.6 = Q4

53、.0 (b)“與”語句表 (a)“與”邏輯梯形圖 Q4.7 ( ) I17.1 M3.5 Q5.6 (a)“ 或 ” 邏 輯 梯 形 圖 圖 6-8 “ 或 ” 指 令 O I17.1 ON M3.5 O Q5.6 = Q4.7 (b)“ 或 ” 語 句 表 v指令中使用“O”檢查常開觸點的信號狀態(tài),使用“ON”檢查 常閉觸點的信號狀態(tài),并將檢查結(jié)果與邏輯運算結(jié)果(RLO) 進行“或”運算。 v在觸點并聯(lián)的情況下,若有一個或一個以上的觸點閉合,則 該回路就“通電”。在圖6-8(a)中,驅(qū)動信號通過并聯(lián)回 路加到輸出Q4.7。只要有一個觸點閉合,輸出Q4.7的信號狀 態(tài)就為“1”。如果所有的觸點

54、都是打開的,則輸出Q4.7就為 “0”。在圖6-8(a)中,僅當(dāng)輸入I17.1和輸出Q5.6兩者都為 “0”,且M3.5為“1”時,輸出Q4.7才為“0”。 v與圖6-8(a)對應(yīng)的語句表指令如圖6-8(b)所示。 v(3)“異或”和“異或非”(X,XN)指令 v用LAD和STL都可以實現(xiàn)“異或”邏輯關(guān)系。STL指令中的 “X”檢查常開觸點的信號狀態(tài),使用“XN”檢查常閉觸點的信 號狀態(tài),并將檢查結(jié)果與邏輯運算結(jié)果(RLO)進行“異或” 運算。 v圖6-9是“異或”指令的 梯形圖和語句表表達方式。 當(dāng)執(zhí)行語句表中的第一條 指令時,首次掃描的結(jié)果 被直接保存在RLO中,然 后RLO中的值和第二條

55、指 令的掃描結(jié)果進行“異或” 操作,得到的新結(jié)果再存 入RLO。如此掃描、“異 或”并刷新RLO,直到賦 值指令將RLO值賦給輸出。 在本例里,僅當(dāng)兩個觸點 (輸入I1.0和輸入I1.1)的掃 描結(jié)果不同,即只有一個 為“1”時,RLO才為“1”, 并賦值給輸出使Q 4.0為 “1”。若兩個信號的掃描 結(jié)果相同(均為“1”或 “0”),則Q 4.0為“0”。 Q4.0 ( ) I1.0 (a)“異或”邏輯梯形圖 圖6-9 “異或”指令 X I1.0 X I1.1 = Q4.0 (b)“異或”語句表 I1.1 I1.0I1.1 圖6-10是“同或”指令的梯形圖和語句表程序。 v(4)嵌套表達式和

56、先“與”后“或” v當(dāng)邏輯串是串并聯(lián)的復(fù)雜組合時,CPU的掃描順序是先“與” 后“或”。圖6-11給出的邏輯是觸點先并后串的例子,圖6- 12則是先串后并的例子。 Q4.0 ( ) I1.0 (a)“ 同 或 ” 邏 輯 梯 形 圖 圖 6-10 “ 同 或 ” 指 令 X I1.0 XN I1.1 = Q4.0 (b)“ 同 或 ” 語 句 表 I1.1 I1.0I1.1 圖6-11 先并后串操作示例 A( O I0.0 O I0.2 ) A( O M10.0 O M0.3 ) A M10.1 = Q4.0 (b)先并后串語句表 Q4.0 ( ) I0.0 M10.0M10.1 I0.2M0

57、.3 (a)先并后串邏輯梯形圖 圖6-12 先串后并操作示例 A( A I0.0 A M10.0 O A I0.2 A M0.3 ) A M10.1 = Q4.0 (b)先串后并語句表(a)先串后并邏輯梯形圖 Q4.0 ( ) I0.0 I0.2 M10.0 M0.3 M10.1 v(5)對RLO的直接操作指令 v表6-8中指令直接對邏輯操作結(jié)果RLO進行操 作,改變狀態(tài)字中RLO位的狀態(tài)。 v6.1.4 STEP7編程軟件的使用方法 v1.STEP 7編程軟件簡介 vSTEP7是SIMENS公司生產(chǎn)的SIMATIC可編程控制器組態(tài)和 編程的標(biāo)準軟件包。包括項目管理器、符號編輯器、硬件組 態(tài)、

58、編程語言及診斷硬件等一系列的應(yīng)用工具。下面對各種 應(yīng)用工具分別進行簡單的介紹。 v(1)項目管理器 v適用于SIMENS的各個可編程控制系統(tǒng),用來管理一個自動化 項目中所有的數(shù)據(jù)。編輯各種數(shù)據(jù)的工具都由項目管理器啟 動,然后進行相應(yīng)的數(shù)據(jù)修改、測試等工作。 v(2)符號編輯器 v管理所有的共享符號,可以為過程信號(輸入/輸出)、 位存儲和塊建立符號名和注釋。 v(3)硬件組態(tài)功能 v可以為自動化項目的硬件作組態(tài)和參數(shù)賦值,具有以下功能: v1)組態(tài)可編程控制器,即從電子目錄中選擇一個機架,并將 選中的模板安排在機架中的槽上。 v2)組態(tài)分布式I/O與中央I/O。 v3)在給CPU賦值參數(shù)的過程

59、中可以通過菜單設(shè)置參數(shù)。 v4)在向模板做參數(shù)賦值的過程中,所有可以設(shè)置的參數(shù)都是 用對話框來設(shè)置的。模板可以相互交換而無需賦值新的參數(shù)。 v5)功能模板的參數(shù)賦值也是在硬件組態(tài)工具中完成的。對每 一個功能模板FM和通訊模板CP都有指定的對話框規(guī)則,可以 防止不正確的輸入。 v(4)編程語言 v用于S7-300的編程語言包括梯形圖(LAD)、語句表(STL) 和功能塊圖(FBD)等。 v(5)診斷硬件 v此功能用于提供可編程控制器的一個概況。這個概況中可以 顯示符號來指示各個模板是否正常。雙擊故障模板顯示有關(guān) 故障的詳細信息,信息的范圍依據(jù)各個模板而定。 v1)顯示模板的概況信息以及模板狀態(tài)。

60、 v2)顯示中央I/O和分布式從站的模板信息。 v3)顯示來自診斷緩存區(qū)的報文。 v2.項目的創(chuàng)建與項目的結(jié)構(gòu) v(1)項目的創(chuàng)建 v創(chuàng)建項目時,首先雙擊桌面上的STEP 7圖標(biāo),進入SIMATIC Manager(管理器)窗口,并彈出標(biāo)題為“STEP 7 Wizart: New Project”(新項目向?qū)В┑男〈翱凇?v點擊NEXT按鈕,在新項目中選擇CPU模塊的型號為CPU 314。 v點擊NEXT按鈕,選擇需要生成的邏輯塊,至少需要生成作 為主程序的組織塊OB1。 v點擊NEXT按鈕,輸入項目的名稱“電動機單向連續(xù)運轉(zhuǎn)控 制”。生成的項目如圖6-13所示。 生成項目后,可以先組態(tài)硬件,

溫馨提示

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

最新文檔

評論

0/150

提交評論