西門子PLC指令實(shí)例教程.ppt
《西門子PLC指令實(shí)例教程.ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《西門子PLC指令實(shí)例教程.ppt(96頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
第四章S7-300軟件基礎(chǔ),4.1PLC編程基礎(chǔ)4.2STEP7的指令結(jié)構(gòu)4.3位邏輯指令4.5定時(shí)器與計(jì)數(shù)器指令,4.1PLC編程基礎(chǔ),4.1.1STEP7編程語言,STEP7是S7-300/400系列PLC應(yīng)用設(shè)計(jì)軟件包,所支持的PLC編程語言非常豐富。該軟件的標(biāo)準(zhǔn)版支持STL(語句表)、LAD(梯形圖)及FBD(功能塊圖)3種基本編程語言,并且在STEP7中可以相互轉(zhuǎn)換。不同的編程語言可供不同知識(shí)背景的人員采用。其中LAD、STL和FBD是三種基本編程語言。,4.1.1STEP7編程語言,LAD(LAD:LadderDiagram)簡稱梯形圖,LAD是使用最多的PLC編程語言。因與繼電器電路很相似,具有直觀易懂的特點(diǎn),很容易被熟悉繼電器控制的電氣人員所掌握,特別適合于數(shù)字量邏輯控制,也適合于熟悉繼電器電路的人員使用。LAD編程語言如圖4.1所示。,圖4.1LAD編程語言,1、梯形圖(LAD),4.1.1STEP7編程語言,2、語句表(STL)STL(STL:StatementList)簡稱語句表,STL是一種類似于微機(jī)匯編語言的一種文本編程語言,由多條語句組成一個(gè)程序段。語句表適合于經(jīng)驗(yàn)豐富的程序員使用,可以實(shí)現(xiàn)某些梯形圖不能實(shí)現(xiàn)的功能。STL適用于喜歡用匯編語言編程的人員使用。STL編程語言如圖4.2所示。,,圖4.2STL編程語言,4.1.1STEP7編程語言,3、功能塊圖(FBD)FBD(FBD:FunctionBlockDiagram)簡稱功能塊圖,功能塊圖使用類似于布爾代數(shù)的圖形邏輯符號(hào)來表示控制邏輯,一些復(fù)雜的功能用指令框表示。FBD適合于有數(shù)字電路基礎(chǔ)的編程人員使用。FBD編程語言如圖4.3所示。,4.1.1STEP7編程語言,圖4.3FBD編程語言,4.1.2S7-300CPU的系統(tǒng)存儲(chǔ)器,1、過程映像輸入表/輸出表(I/Q)過程映像輸入表(PII):循環(huán)掃描開始時(shí),存儲(chǔ)數(shù)字量輸入模塊的輸入信號(hào)的狀態(tài)。過程映像輸出表(PIQ):循環(huán)掃描結(jié)束時(shí),存儲(chǔ)用戶程序計(jì)算的輸出值,并將PIQ的內(nèi)容寫入數(shù)字量輸出模塊。2、內(nèi)部存儲(chǔ)器區(qū)(M)內(nèi)部存儲(chǔ)器區(qū)(M),主要用于存儲(chǔ)中間變量。3、定時(shí)器(T)存儲(chǔ)器區(qū)在CPU的存儲(chǔ)器中,有一個(gè)區(qū)域是專為定時(shí)器保留的。此存儲(chǔ)區(qū)域?yàn)槊總€(gè)定時(shí)器地址保留一個(gè)16位字。梯形圖邏輯指令集支持256個(gè)定時(shí)器。時(shí)間值可以用二進(jìn)制或BCD碼方式讀取。,4.1.2S7-300CPU的系統(tǒng)存儲(chǔ)器,4、計(jì)數(shù)器(C)存儲(chǔ)器區(qū)在用戶CPU的存儲(chǔ)器中,有為計(jì)數(shù)器保留的存儲(chǔ)區(qū)。此存儲(chǔ)區(qū)為每個(gè)計(jì)數(shù)器地址保留一個(gè)16位字。梯形圖指令集支持256個(gè)計(jì)數(shù)器。計(jì)數(shù)值(0~999)可以用二進(jìn)制或BCD碼方式讀取。5、數(shù)據(jù)塊/背景數(shù)據(jù)塊(DB)DB為共享數(shù)據(jù)塊,DBX2.3,DBB5,DBW10和DBD12。DI為背景數(shù)據(jù)塊,DIX,DIB,DIW和DID。6、外部I/O存儲(chǔ)區(qū)(PI/PQ)外設(shè)輸入(PI)區(qū)和外設(shè)輸出(PQ)區(qū)允許直接訪問本地的和分布式的輸入模塊和輸出模塊。,4.1.3S7-300CPU的寄存器,1、累加器(ACCUx)累加器用于處理字節(jié)、字或雙字的寄存器。S7-300有兩個(gè)32位累加器(ACCU1和ACCU2)。2、狀態(tài)字寄存器(16位)狀態(tài)字用于表示CPU執(zhí)行指令時(shí)所具有的狀態(tài)。一些指令是否執(zhí)行或以何方式執(zhí)行可能取決于狀態(tài)字中的某些位;執(zhí)行指令時(shí)也可能改變狀態(tài)字中的某些位,也能在位邏輯指令或字邏輯指令中訪問并檢測。狀態(tài)字的結(jié)構(gòu)如圖4.4所示。,圖4.4狀態(tài)字的結(jié)構(gòu),4.1.4STEP7數(shù)據(jù)類型,在STEP7中,大多數(shù)指令要與具有一定大小的數(shù)據(jù)對象一起操作,不同的數(shù)據(jù)類型具有不同的格式。編程所用的數(shù)據(jù)要指定數(shù)據(jù)類型,要確定數(shù)據(jù)大小和數(shù)據(jù)的位結(jié)構(gòu)。數(shù)據(jù)類型分為3大類。1、基本數(shù)據(jù)類型基本數(shù)據(jù)類型有很多種,每種數(shù)據(jù)類型在分配內(nèi)存空間時(shí)有確定的位數(shù),如布爾型(BOOL)數(shù)據(jù)為1位,字節(jié)型(BYTE)數(shù)據(jù)為8位,字型(WORD)數(shù)據(jù)為16位,雙字型(DWORD)數(shù)據(jù)為32位。基本數(shù)據(jù)類型見表4-1。,4.1.4STEP7數(shù)據(jù)類型,表4-1STEP7中常用的基本數(shù)據(jù)類型,4.1.4STEP7數(shù)據(jù)類型,2、復(fù)式數(shù)據(jù)類型超過32位或由其他數(shù)據(jù)類型組成的數(shù)據(jù)為復(fù)式數(shù)據(jù)類型,STEP7允許4種復(fù)式數(shù)據(jù)類型,見表4-2。,表4-2STEP7中的復(fù)式數(shù)據(jù)類型,4.1.4STEP7數(shù)據(jù)類型,3、參數(shù)類型參數(shù)類型用于向FB和FC傳送參數(shù)。STEP7提供的參數(shù)類型見表4-3。,表4-3STEP7的參數(shù)類型,4.1.5PLC編程的基本原則,1)外部輸入、輸出繼電器、內(nèi)部繼電器、定時(shí)器、計(jì)數(shù)器等器件的接點(diǎn)可多次重復(fù)使用;2)梯形圖每一行都是從左母線開始,線圈接在最右邊,接點(diǎn)不能放在線圈的右邊;3)線圈不能直接與左母線相連;4)同一編號(hào)的線圈在一個(gè)程序中使用兩次容易引起誤操作,應(yīng)盡量避免線圈重復(fù)使用;5)梯形圖程序必須符合順序執(zhí)行的原則,從左到右,從上到下地執(zhí)行,如不符合順序執(zhí)行的電路不能直接編程;6)在梯形圖中串聯(lián)接點(diǎn)、并聯(lián)接點(diǎn)的使用次數(shù)沒有限制,可無限次地使用。,PLC編程應(yīng)該遵循以下基本原則:,4.2STEP7的指令結(jié)構(gòu)指令是程序的最小獨(dú)立單位,用戶程序是由若干條順序排列的指令構(gòu)成。STEP7編程語言其指令功能非常豐富。利用程序編輯器,可以進(jìn)行離線編程,即把程序存儲(chǔ)在編程器中,也可以進(jìn)行在線編程,將程序存儲(chǔ)在CPU中。4.2.1指令操作數(shù)指令操作數(shù)(又稱編程元件)一般在用戶存儲(chǔ)區(qū)中,操作數(shù)由操作標(biāo)識(shí)符和參數(shù)組成。操作標(biāo)識(shí)符由主標(biāo)識(shí)符和輔助標(biāo)識(shí)符組成,主標(biāo)識(shí)符用來指定操作數(shù)所使用的存儲(chǔ)區(qū)類型,輔助標(biāo)識(shí)符則用來指定操作數(shù)的單位(如:位、字節(jié)、字、雙字等)。主標(biāo)識(shí)符有:I(輸入過程映像寄存器)、Q(輸出過程映像寄存器)、M(位存儲(chǔ)器)、PI(外部輸入寄存器)、PQ(外部輸出寄存器)、T(定時(shí)器)、C(計(jì)數(shù)器)、DB(數(shù)據(jù)塊寄存器)和L(本地?cái)?shù)據(jù)寄存器);輔助標(biāo)識(shí)符有:X(位)、B(字節(jié))、W(字)、D(雙字)。4.2.2尋址方式所謂尋址方式就是指令執(zhí)行時(shí)獲取操作數(shù)的方式,可以直接或間接方式給出操作數(shù)。S7-300有4種尋址方式:立即尋址、存儲(chǔ)器直接尋址、存儲(chǔ)器間接尋址和寄存器間接尋址。,1、立即尋址立即尋址是對常數(shù)或常量的尋址方式,其特點(diǎn)是操作數(shù)直接表示在指令中,或以唯一形式隱含在指令中。下面各條指令操作數(shù)均采用了立即尋址方式。SET//把RLO置1OWW#16#A320//將常量W#16#A320與累加器1“或”運(yùn)算L27//把整數(shù)27裝入累加器1LC#0100//把BCD碼常數(shù)0100裝入累加器12、存儲(chǔ)器直接尋址存儲(chǔ)器直接尋址,簡稱直接尋址。該尋址方式在指令中直接給出操作數(shù)的存儲(chǔ)單元地址。存儲(chǔ)單元地址可用符號(hào)地址(如SB1、KM等)或絕對地址(如I0.0、Q4.1等)。下面各條指令操作數(shù)均采用了直接尋址方式。AI0.0//對輸入位I0.0進(jìn)行“與”邏輯操作SL20.0//把本地?cái)?shù)據(jù)位L20.0置1=M115.4//使存儲(chǔ)區(qū)位M115.4的內(nèi)容等于RLO的內(nèi)容LIB10//把輸入字節(jié)IB10的內(nèi)容裝入累加器1TDBD12//把累加器1中的內(nèi)容傳送給數(shù)據(jù)雙字DBD12中,3、存儲(chǔ)器間接尋址存儲(chǔ)器間接尋址,簡稱間接尋址。該尋址方式在指令中以存儲(chǔ)器的形式給出操作數(shù)所在存儲(chǔ)器單元的地址,也就是說該存儲(chǔ)器的內(nèi)容是操作數(shù)所在存儲(chǔ)器單元的地址。該存儲(chǔ)器一般稱為地址指針,在指令中需寫在方括號(hào)“[]”內(nèi)。地址指針可以是字或雙字,對于地址范圍小于65535的存儲(chǔ)器可以用字指針;對于其他存儲(chǔ)器則要使用雙字指針。存儲(chǔ)器間接尋址的雙字指針的格式如圖4.5所示。,圖4.5寄存器間接尋址的指針格式,4.3位邏輯指令,位邏輯指令包含位邏輯運(yùn)算指令、定時(shí)器指令、計(jì)數(shù)器指令和位測試指令等。可以使用位邏輯指令掃描布爾操作數(shù)的狀態(tài),通過“與(AND)”、“或(OR)”、“異或(XOR)”及其組合操作實(shí)現(xiàn)邏輯操作。所產(chǎn)生的結(jié)果(“1”或“0”)稱為邏輯運(yùn)算結(jié)果,存儲(chǔ)在狀態(tài)字的“RLO”中。邏輯操作結(jié)果(RLO)用于賦值、置位/復(fù)位布爾操作數(shù),也用于控制定時(shí)器和計(jì)數(shù)器的運(yùn)行。4.3.1觸點(diǎn)與線圈在LAD(梯形圖)程序中,通常使用類似繼電器控制電路中的觸點(diǎn)符號(hào)及線圈符號(hào)來表示PLC的位元件,被掃描的操作數(shù)(用絕對地址或符號(hào)地址表示)則標(biāo)注在觸點(diǎn)符號(hào)的上方,如圖4.6所示。,圖4.6觸點(diǎn)符號(hào)的表示方式,1、常開觸點(diǎn)對于常開觸點(diǎn)(動(dòng)合觸點(diǎn)),則對“1”掃描相應(yīng)操作數(shù)。在PLC中規(guī)定:若操作數(shù)是“1”則常開觸點(diǎn)“動(dòng)作”,即認(rèn)為是“閉合”的;若操作數(shù)是“0”,則常開觸點(diǎn)“復(fù)位”,即認(rèn)為是“打開”的。常開觸點(diǎn)所使用的操作數(shù)是:I、Q、M、L、D、T、C。2、常閉觸點(diǎn)常閉觸點(diǎn)(動(dòng)斷觸點(diǎn))則對“0”掃描相應(yīng)操作數(shù)。在PLC中規(guī)定:若操作數(shù)是“1”則常閉觸點(diǎn)“動(dòng)作”,即觸點(diǎn)“斷開”;若操作數(shù)是“0”,則常閉觸點(diǎn)“復(fù)位”,即觸點(diǎn)“閉合”。常閉觸點(diǎn)所使用的操作數(shù)是:I、Q、M、L、D、T、C。3、輸出線圈(賦值指令)輸出線圈與繼電器控制電路中的線圈一樣,如果有電流(信號(hào)流)流過線圈(RLO=“1”),則被驅(qū)動(dòng)的操作數(shù)置“1”;如果沒有電流流過線圈(RLO=“0”),則被驅(qū)動(dòng)的操作數(shù)復(fù)位(置“0”)。輸出線圈只能出現(xiàn)在梯形圖邏輯串的最右邊。輸出線圈等同于STL程序中的賦值指令(用等于號(hào)“=”表示)。輸出線圈所使用的操作數(shù)是:Q、M、L、D。,4、中間輸出在梯形圖設(shè)計(jì)時(shí),如果一個(gè)邏輯串很長不便于編輯時(shí),可以將邏輯串分成幾個(gè)段,前一段的邏輯運(yùn)算結(jié)果(RLO)可作為中間輸出,存儲(chǔ)在位存儲(chǔ)器(I、Q、M、L或D)中,該存儲(chǔ)位可以當(dāng)作一個(gè)觸點(diǎn)出現(xiàn)在其他邏輯串中。中間輸出只能放在梯形圖邏輯串的中間,而不能出現(xiàn)在最左端或最右端,如圖4.7所示。,,,(a)帶中間輸出的梯形圖(b)不帶中間輸出的等效梯形圖圖4.7帶中間輸出和不帶中間輸出的梯形圖程序,4.3.2位邏輯運(yùn)算指令,4.3.2位邏輯運(yùn)算指令位邏輯運(yùn)算指令是對“0”或“1”的布爾操作數(shù)進(jìn)行掃描,經(jīng)過相應(yīng)的位邏輯運(yùn)算,將邏輯運(yùn)算結(jié)果“0”或“1”送到狀態(tài)字的RLO位。1、“與”和“與非”(A,AN)指令邏輯“與”在梯形圖里是用串聯(lián)的觸點(diǎn)回路表示的,如果串聯(lián)回路里的所有觸點(diǎn)皆閉合,該回路就通“電”了。如圖4.8所示。,,圖4.8“與”邏輯指令,2、“或”和“或非”(O,ON)指令邏輯“或”在梯形圖里是用并聯(lián)的觸點(diǎn)回路表示的,被掃描的操作數(shù)標(biāo)在觸點(diǎn)上方。在圖4.9中,只要有一個(gè)觸點(diǎn)閉合,輸出0.1的信號(hào)狀態(tài)就為“1”。,圖4.9“或”和“或非”邏輯梯形圖,3、“異或”和“異或非”(X,XN)指令圖4.10是“異或”邏輯梯形圖,它類似“或”和“或非”指令,用于掃描并聯(lián)回路能否“通電”。,圖4.10“異或”邏輯梯形圖,4、輸出指令邏輯輸出指令又稱為賦值操作指令,該操作把狀態(tài)字中RLO的值賦給指定的操作數(shù)(位地址)。表4.4列出了操作數(shù)的數(shù)據(jù)類型和所在的存儲(chǔ)區(qū)。,,表4.4輸出指令,【例4-1】用“與”、“或”、“輸出”指令編寫電機(jī)啟動(dòng)停止控制程序。編程元件地址分配:啟動(dòng)按鈕SB1(常開觸點(diǎn)),I0.1;停止按鈕SB2(常閉觸點(diǎn)),I0.2;接觸器線圈KM,Q0.0。用梯形圖編寫的控制程序如圖4.11所示。,圖4.11電機(jī)啟??刂铺菪螆D程序,4.4.3置位和復(fù)位指令置位/復(fù)位指令根據(jù)RLO的值,來決定被尋址位的信號(hào)狀態(tài)是否需要改變。若RLO的值為1,被尋址位的信號(hào)狀態(tài)被置1或清0;若RLO是0,則被尋址位的信號(hào)保持原狀態(tài)不變。置位/復(fù)位指令有關(guān)內(nèi)容見表4.5。表4.5置位/復(fù)位指令,(a)復(fù)位指令操作,(b)置位操作指令圖4.12置位/復(fù)位指令,【例4.2】用置位與復(fù)位指令編制傳送帶運(yùn)動(dòng)控制程序。如圖4.13所示為一個(gè)傳送帶,在傳送帶的起點(diǎn)有兩個(gè)按鈕:用于啟動(dòng)的S1和用于停止的S2。在傳送帶的尾端也有兩個(gè)按鈕:用于啟動(dòng)的S3和用于停止的S4。要求能從任一端啟動(dòng)或停止傳送帶。另外,當(dāng)傳送帶上的物件到達(dá)末端時(shí),傳感器S5使傳送帶停止。,圖4.13傳送帶示意圖,地址分配,梯形圖程序,圖4.14控制傳送帶程序,4.4.4RS和SR觸發(fā)器如果置位/復(fù)位指令用功能框圖表示就構(gòu)成了觸發(fā)器。該功能框有兩個(gè)輸入端,分別是置位輸入端S和復(fù)位輸入端R,有一個(gè)輸出Q(位地址)。觸發(fā)器可分為兩種類型:置位優(yōu)先型(RS觸發(fā)器,當(dāng)R和S驅(qū)動(dòng)信號(hào)同時(shí)為“1”時(shí),觸發(fā)器最終為置位狀態(tài))和復(fù)位優(yōu)先型(SR觸發(fā)器,當(dāng)R和S驅(qū)動(dòng)信號(hào)同時(shí)為“1”時(shí),觸發(fā)器最終為復(fù)位狀態(tài))。觸發(fā)器指令和操作數(shù)指令見表4.6。,,,表4.6RS觸發(fā)器,RS觸發(fā)器分為置位優(yōu)先和復(fù)位優(yōu)先型兩種,置位優(yōu)先型RS觸發(fā)器的R端在S端之上,當(dāng)兩個(gè)輸入端都為1時(shí),下面的置位輸入最終有效。既置位輸入優(yōu)先,觸發(fā)器或被復(fù)位或保持復(fù)位不變,如圖4.15所示。,圖4.15置位優(yōu)先型RS觸發(fā)器,4.4.5位測試指令,當(dāng)信號(hào)狀態(tài)變化時(shí)就產(chǎn)生跳變沿。當(dāng)從0變到1時(shí),產(chǎn)生一個(gè)上升沿(或正跳沿);若從1變到0,則產(chǎn)生一個(gè)下降沿(或負(fù)跳沿)。S7中有兩類跳變沿檢測指令,一種是對RLO的跳變沿檢測的指令,另一種是對觸點(diǎn)跳變沿直接檢測的梯形圖方塊指令。具體內(nèi)容見表4.7。,,,表4.7跳變沿檢測指令,圖4.16是使用RLO正跳沿檢測指令的例子。這個(gè)例子中,若CPU檢測到輸入I1.0有一個(gè)正跳沿,將使得輸出Q4.0的線圈在一個(gè)掃描周期內(nèi)通電。對輸入I1.0常開觸點(diǎn)掃描的RLO值存放在存儲(chǔ)位M1.0中。,,圖4.16RLO正跳沿檢測,圖4.17是使用觸點(diǎn)負(fù)跳沿檢測指令的例子。圖中,由給出需要檢測的觸點(diǎn)編號(hào)(I0.3),(M0.0)用于存放該觸點(diǎn)在前一個(gè)掃描周期的狀態(tài)。,,圖4.17觸點(diǎn)負(fù)跳沿檢測,【例4.3】設(shè)計(jì)故障信息顯示電路,若故障信號(hào)I0.0為1,使Q4.0控制的指示燈以1HZ的頻率閃爍。操作人員按復(fù)位按鈕I0.1后,如故障信息消失,指示燈熄滅。如果沒有消失,指示燈轉(zhuǎn)為常亮,直至故障消失。分析:故障信息顯示程序如圖4.18所示,在設(shè)置CPU屬性時(shí)令M1為時(shí)鐘存儲(chǔ)器字節(jié),其中的M1.5提供周期為1S的時(shí)鐘脈沖。出現(xiàn)故障時(shí),將I0.0提供的故障信號(hào)用M0.1鎖存起來,使Q4.0控制的指示燈以1Hz的頻率閃爍。按復(fù)位按鈕I0.1后,將故障鎖存信號(hào)M0.1復(fù)位為0狀態(tài),如果這時(shí)故障以消失,指示燈熄滅。如果沒有消失,M0.1的常閉觸點(diǎn)與I0.0的常開觸點(diǎn)組成的串聯(lián)電路使指示燈轉(zhuǎn)為常亮,直至故障消失,I0.0變?yōu)?狀態(tài)。,圖4.18故障信息顯示梯形圖程序,4.5定時(shí)器與計(jì)數(shù)器指令,4.5.1定時(shí)器指令1、定時(shí)器的種類定時(shí)器是PLC中的重要部件,它用于實(shí)現(xiàn)或監(jiān)控時(shí)間序列。定時(shí)器是一種由位和字組成的復(fù)合單元,定時(shí)器的觸點(diǎn)由位表示,其定時(shí)時(shí)間值存儲(chǔ)在字存儲(chǔ)器中。不同的CPU模塊,用于定時(shí)器的存儲(chǔ)區(qū)域也不同,最多允許使用64∽512個(gè)定時(shí)器。在S7-300中有5種定時(shí)器可供選擇:脈沖定時(shí)器(SP)、擴(kuò)展定時(shí)器(SE)、接通延時(shí)定時(shí)器(SD)、帶保持的接通延時(shí)定時(shí)器(SS)和斷電延時(shí)定時(shí)器(SF)。2、定時(shí)器的組成在CPU的存儲(chǔ)器中留出了定時(shí)器區(qū)域,用于存儲(chǔ)定時(shí)器的定時(shí)時(shí)間值。每個(gè)定時(shí)器有一個(gè)16位的字和一個(gè)二進(jìn)制位,定時(shí)器的字用來存放它當(dāng)前的定時(shí)時(shí)間值,定時(shí)器觸點(diǎn)的狀態(tài)由它的位的狀態(tài)來決定。用定時(shí)器地址(T和定時(shí)器號(hào),例如T6)來存取它的時(shí)間值和定時(shí)器位,帶操作數(shù)的指令存取定時(shí)器位,帶字操作數(shù)的指令存取定時(shí)器的時(shí)間值。不同的CPU支持32∽512個(gè)定時(shí)器,在S7-300中,最多允許使用256個(gè)定時(shí)器。,3、定時(shí)器的表示方法S7中的定時(shí)時(shí)間由時(shí)基和定時(shí)值兩部分組成,定時(shí)時(shí)間等于時(shí)基與定時(shí)值的乘積。采用減計(jì)時(shí),定時(shí)時(shí)間到后會(huì)引起定時(shí)器觸點(diǎn)的動(dòng)作。時(shí)間值以二進(jìn)制格式存放,定時(shí)器的第0位到第11位存放二進(jìn)制格式的定時(shí)值,第12、13位存放二進(jìn)制格式的時(shí)基,如圖4.19所示。表4.8給出了可能出現(xiàn)的組合情況。表4.8給出了可能出現(xiàn)的組合情況。,,圖4.19累加器1低字的內(nèi)容(定時(shí)值127,時(shí)基1s),表4.8時(shí)基與定時(shí)范圍,設(shè)置定時(shí)時(shí)間,用戶需給累加器1裝入需要的數(shù)值,為避免格式錯(cuò)誤,用戶可以按下列的形式將時(shí)間預(yù)置值裝入累加器的低位字:1)十六進(jìn)制數(shù)W#16#wxyz,其中,w=時(shí)間基準(zhǔn),取值為0,1,2或3,分別表示時(shí)基為10ms,100ms,1s或10s;xyz為定時(shí)值,取值范圍為1~999;2)直接使用S5中的時(shí)間表示法裝入定時(shí)數(shù)值,例如:S5T#aH_bM_cS_dMS,其中,H=小時(shí),M=分鐘,S=秒,MS=毫秒;a、b、c、d為用戶設(shè)置的值??奢斎氲淖畲髸r(shí)間值為9990s或2H-46M_30S。例如S5T#1H_12M_18S為1h12min18s;S5T#18S為18秒。,4、定時(shí)器梯形圖方塊指令,1)S5脈沖定時(shí)器脈沖定時(shí)器的功能類似于數(shù)字電路中上升沿觸發(fā)的單穩(wěn)態(tài)電路,圖4.19中的指令框中,S為脈沖定時(shí)器的設(shè)置輸入端,TV為預(yù)置值輸入端,R為復(fù)位輸入端;Q為定時(shí)器位輸出端,BI輸出16進(jìn)制格式的當(dāng)前時(shí)間值,BCD輸出當(dāng)前時(shí)間值的BCD碼。,圖4.19脈沖定時(shí)器指令,在I0.0提供的啟動(dòng)輸入信號(hào)S的上升沿,脈沖定時(shí)器開始定時(shí),輸出Q04.0變?yōu)?。定時(shí)器的當(dāng)前時(shí)間值等于TV端輸入的預(yù)置值(即初值)減去啟動(dòng)后的時(shí)間值。定時(shí)時(shí)間到時(shí),當(dāng)前時(shí)間值變?yōu)?,Q輸出變?yōu)?狀態(tài)。在定時(shí)期間,如果I0.0的常開觸點(diǎn)斷開,則停止定時(shí),當(dāng)前時(shí)間值便為0,Q0.0的線圈斷電。工作時(shí)序如圖4.20,圖4.20中的t是定時(shí)器的預(yù)置值。R是復(fù)位輸入端,在定時(shí)器輸出為1時(shí),如果復(fù)位輸入I0.1由0變?yōu)?,定時(shí)器被復(fù)位,復(fù)位后輸出Q0.0變?yōu)?狀態(tài),當(dāng)前時(shí)間值和時(shí)標(biāo)被請0。BI輸出端輸出不帶時(shí)基的十六進(jìn)制整數(shù)格式的定時(shí)器當(dāng)前值,BCD輸出端輸出BCD碼格式的當(dāng)前時(shí)間值和時(shí)基。,,圖4.20脈沖定時(shí)器時(shí)序,2)S5擴(kuò)展脈沖定時(shí)器S5擴(kuò)展脈沖定時(shí)器如圖4.21,各個(gè)輸入輸出端的意義與S5脈沖定時(shí)器相同。,圖4.21擴(kuò)展脈沖定時(shí)器指令,在啟動(dòng)輸入信號(hào)S的上升沿,脈沖定時(shí)器開始定時(shí),在定時(shí)期間,Q輸出端為1狀態(tài),直到定時(shí)結(jié)束。在定時(shí)期間即使S輸入變?yōu)?狀態(tài),仍繼續(xù)定時(shí),Q輸出端為1狀態(tài),直到定時(shí)結(jié)束。在定時(shí)期間,如果S輸入又由0變?yōu)?狀態(tài),定時(shí)器被重新啟動(dòng),開始以預(yù)置的時(shí)間值定時(shí)。,R輸入有0變?yōu)?狀態(tài)時(shí),定時(shí)器被復(fù)位,停止定時(shí)。復(fù)位后Q輸出端變?yōu)?狀態(tài),當(dāng)前時(shí)間和時(shí)標(biāo)被清0。工作時(shí)序圖如圖4.22所示。,,圖4.22擴(kuò)展脈沖定時(shí)器時(shí)序,3)S5開通延時(shí)計(jì)時(shí)器接通延時(shí)定時(shí)器是使用最多的定時(shí)器,定時(shí)器各輸入端和輸出端的意義和S5脈沖定時(shí)器相同,如圖4.23。,圖4.23開通延時(shí)定時(shí)器指令,在啟動(dòng)輸入信號(hào)S的上升沿,定時(shí)器開始定時(shí)。定時(shí)器的當(dāng)前時(shí)間值等于預(yù)設(shè)值TV減去啟動(dòng)后的時(shí)間值。如果定時(shí)期間S的狀態(tài)一直為1,定時(shí)時(shí)間到時(shí),當(dāng)前時(shí)間值變?yōu)?,Q輸出端變?yōu)?狀態(tài),使Q0.2的線圈通電。此后如果S輸入由1變?yōu)?,Q輸出端的信號(hào)也變?yōu)?。在定時(shí)期間,如果S輸入由1變?yōu)?,則停止定時(shí),當(dāng)前時(shí)間值保持不變。S又變?yōu)?時(shí),又從預(yù)設(shè)值開始定時(shí),工作時(shí)序圖如圖4.24。R是復(fù)位輸入信號(hào),定時(shí)器的S輸入為1時(shí),不管定時(shí)時(shí)間是否已到,只要復(fù)位輸出R由0變?yōu)?,定時(shí)器都要被復(fù)位,復(fù)位后當(dāng)前時(shí)間和時(shí)基被清0。如果定時(shí)時(shí)間已到,復(fù)位后輸出Q由1變?yōu)?。,,圖4.24開通延時(shí)計(jì)時(shí)器時(shí)序,4)S5保持型接通延時(shí)定時(shí)器定時(shí)器各輸入端和輸出端的意義與S5定時(shí)器相同,如圖4.25所示。在啟動(dòng)輸入信號(hào)S的上升沿,定時(shí)器開始定時(shí),工作時(shí)序圖如圖4.26所示,定時(shí)期間及輸入S變?yōu)?,仍然繼續(xù)定時(shí)。定時(shí)時(shí)間到時(shí),輸出Q變?yōu)?并保持。在定時(shí)期間,如果輸入S又由0變?yōu)?,定時(shí)器被重新啟動(dòng),又從預(yù)置值開始定時(shí)。不管輸入S是什么狀態(tài),只要復(fù)位輸入R從0變?yōu)?,定時(shí)器就被復(fù)位,輸出Q變?yōu)?。,圖4.25保持型開通延時(shí)定時(shí)器,圖4.26保持型開通延時(shí)定時(shí)器時(shí)序,,圖4.26保持型開通延時(shí)定時(shí)器時(shí)序5)S5斷開延時(shí)定時(shí)器定時(shí)器各輸入端和輸出端的意義與S5脈沖延時(shí)器相同,如圖4.27。在啟動(dòng)輸入信號(hào)S的上升沿,定時(shí)器的Q輸出信號(hào)變?yōu)?狀態(tài),當(dāng)前時(shí)間值為0。在S輸入的下降沿,定時(shí)器開始定時(shí)。定時(shí)時(shí)間到時(shí),輸出Q變?yōu)?狀態(tài),正在定時(shí)的時(shí)候,如果S信號(hào)由0變?yōu)?,定時(shí)器的時(shí)間值保持不變,停止定時(shí)。如果輸入S重新變?yōu)?,定時(shí)器從預(yù)置值開始重新定時(shí)。,復(fù)位輸入I0.1為1狀態(tài)時(shí),定時(shí)器被復(fù)位,時(shí)間值被清0,輸出Q變?yōu)?狀態(tài)。S5斷開延時(shí)定時(shí)器工作時(shí)序圖如圖4.28。,圖4.27斷開延時(shí)定時(shí)器,圖4.28斷開延時(shí)定時(shí)器工作時(shí)序圖,,5、定時(shí)器線圈指令1)脈沖定時(shí)器線圈脈沖定時(shí)器線圈的功能和時(shí)序圖和S5脈沖定時(shí)器的相同,定時(shí)器位為1時(shí),定時(shí)器的常開觸點(diǎn)閉合,常閉觸點(diǎn)斷開。在圖4.29中,當(dāng)I0.0的常開觸點(diǎn)由斷開變?yōu)榻油〞r(shí),定時(shí)器開始定時(shí),T0的常開觸點(diǎn)閉合。定時(shí)時(shí)間到時(shí),T0的常開觸點(diǎn)斷開。在定時(shí)期間,如果I0.0變?yōu)?狀態(tài),或者復(fù)位輸入I0.1變?yōu)?狀態(tài),T0的常開觸點(diǎn)都將斷開,定時(shí)器的當(dāng)前值被清0。,圖4.29脈沖定時(shí)器線圈2)擴(kuò)充的脈沖定時(shí)器線圈在圖4.30中,當(dāng)I0.2的常開觸點(diǎn)由斷開變?yōu)榻佑|時(shí),定時(shí)器T1開始定時(shí),在定時(shí)期間,T1的常開觸點(diǎn)閉合。定時(shí)時(shí)間到時(shí),T1的常開觸點(diǎn)斷開。在定時(shí)期間,即使I0.2變?yōu)?狀態(tài),仍繼續(xù)定時(shí)。定時(shí)期間如果I0.2又由0狀態(tài)變?yōu)?狀態(tài),定時(shí)器被重新啟動(dòng)。復(fù)位輸入I0.3由0變?yōu)?狀態(tài)時(shí),T1被復(fù)位,其常開觸點(diǎn)斷開。,,3)接通延時(shí)定時(shí)器線圈如圖4.31當(dāng)I0.4的常開觸點(diǎn)由斷開變?yōu)榻油〞r(shí),定時(shí)器T2開始定時(shí),如果I0.4一直為1,定時(shí)時(shí)間到時(shí),T2的常開觸點(diǎn)閉合。定時(shí)期間如果SD的線圈斷電,T2的當(dāng)前時(shí)間保持不變。線圈重新通電時(shí),又從預(yù)置值開始定時(shí)。復(fù)位輸入I0.5變?yōu)?時(shí),T2的常開觸點(diǎn)斷開,時(shí)間被清0。,圖4.30擴(kuò)充的脈沖定時(shí)器線圈,4)保持型接通延時(shí)定時(shí)器線圈如圖4.32,當(dāng)I0.6的常開觸點(diǎn)由斷開變?yōu)榻油〞r(shí),定時(shí)器開始定時(shí)。定時(shí)期間即使T3的線圈斷電,仍繼續(xù)定時(shí)。定時(shí)時(shí)間到時(shí),T3的定時(shí)器位變?yōu)?,其常開觸點(diǎn)閉合。只有復(fù)位輸入I0.7變?yōu)?,才能使T3復(fù)位,復(fù)位后其定時(shí)器位變?yōu)?,常開觸點(diǎn)斷開。在定時(shí)期間,I0.6的常開觸點(diǎn)如果斷開后又變?yōu)榻油?,定時(shí)器將被重新啟動(dòng),以設(shè)置的預(yù)置值重新開始定時(shí)。,圖4.31接通延時(shí)定時(shí)器線圈,5)斷開延時(shí)定時(shí)器線圈如圖4.33,當(dāng)I1.0的常開觸點(diǎn)由斷開變?yōu)榻油〞r(shí),T4的輸出變?yōu)?,其常開觸點(diǎn)閉合。在I1.0的下降沿,定時(shí)器開始定時(shí)。定時(shí)器到時(shí),T5的時(shí)間值變?yōu)?,其常開觸點(diǎn)斷開。在定時(shí)期間,如果I1.0的常開觸點(diǎn)由斷開變?yōu)榻油?,定時(shí)器的時(shí)間值保持不變,停止定時(shí)。如果I1.0的常開觸點(diǎn)重新斷開,定時(shí)器從預(yù)置值開始重新啟動(dòng)定時(shí)。復(fù)位輸入I1.1為1狀態(tài)時(shí),定時(shí)器被復(fù)位,時(shí)間值被清0,Q4.4的線圈斷電。,圖4.32保持型接通延時(shí)定時(shí)器線圈,對于以上不同形式的定時(shí)器指令,一般的選擇原則是:1、如果要求輸入信號(hào)為1的時(shí)間等于定時(shí)器的設(shè)定時(shí)間,且要求輸入與輸出信號(hào)狀態(tài)一致時(shí),可選擇脈沖定時(shí)器SP;2、如果要求輸出信號(hào)為1的時(shí)間等于定時(shí)器的設(shè)定時(shí)間,但不要求輸入與輸出信號(hào)狀態(tài)一致,不考慮輸入信號(hào)為1的時(shí)間長短,可選擇擴(kuò)展定時(shí)器SE;3、如果要求設(shè)定時(shí)間到且輸入信號(hào)仍為1時(shí),輸出信號(hào)才從0變到1,可選擇接通延時(shí)定時(shí)器SD;,圖4.33斷開延時(shí)定時(shí)器線圈,4、如果要求設(shè)定時(shí)間到時(shí),輸出信號(hào)才從0變到1,而不考慮輸入信號(hào)此時(shí)的狀態(tài)及為1的時(shí)間長短可選擇保持型接通延遲定時(shí)器SS;5、如果要求輸入信號(hào)從0變到1時(shí),輸出信號(hào)也從0變化到1,當(dāng)輸入信號(hào)從1變化到0才開始延遲,延遲時(shí)間到時(shí)輸出信號(hào)才從1變化到0,可選擇斷開延遲定時(shí)器SF。【例4.4】脈沖定時(shí)器應(yīng)用:優(yōu)先搶答器設(shè)計(jì),圖4.32搶答器示意圖,設(shè)計(jì)說明:參賽者要搶答主持人所提問題時(shí),需搶先按下桌上的按鈕;指示燈亮后需待主持人按下“復(fù)位”鍵R后才熄燈;對初中班學(xué)生照顧,只要按下SB11和SB12中任一個(gè)按鈕燈HL1都亮;對高三班學(xué)生限制,只有SB31和SB32都按下時(shí)燈HL3才亮;若在主持人按下“開始”按鈕S后10s內(nèi)有搶答按鈕壓下,則電磁鐵YC得電,使彩球搖動(dòng),以示競賽者得到一次幸運(yùn)的機(jī)會(huì);如果定時(shí)到仍未有搶答,則禁止繼續(xù)搶答,如圖4.32。參考答案:端子接線圖,如圖4.33.,圖4.33搶答器端子接線圖,I/O地址分配表,如圖4.34,圖4.34搶答器I/O地址分配表,控制程序如圖4.35,設(shè)置搶答定時(shí)器,初中組搶答控制,高一組搶答控制,圖4.35搶答器的梯形圖程序,高三組搶答控制,【例4.5】擴(kuò)展脈沖定時(shí)器應(yīng)用——電動(dòng)機(jī)延時(shí)自動(dòng)關(guān)閉控制??刂埔螅喊磩?dòng)起動(dòng)按鈕S1(I0.0),電動(dòng)機(jī)M(Q4.0)立即起動(dòng),延時(shí)5分鐘以后自動(dòng)關(guān)閉。起動(dòng)后按動(dòng)停止按鈕S2(I0.1),電動(dòng)機(jī)立即停機(jī)。控制程序如圖4.36。,圖4.36電動(dòng)機(jī)延時(shí)自動(dòng)關(guān)閉控制梯形圖,【例4.6】接通延時(shí)定時(shí)器和脈沖定時(shí)器應(yīng)用——用定時(shí)器構(gòu)成一脈沖發(fā)生器,當(dāng)滿足一定條件時(shí),能夠輸出一定頻率和一定占空比的脈沖信號(hào)??刂埔螅寒?dāng)按鈕S1(I0.0)按下時(shí),輸出指示燈H1(Q4.0)以滅2s,亮1s規(guī)律交替進(jìn)行。,(方法1:使用接通延時(shí)定時(shí)器),(方法2:使用脈沖定時(shí)器),圖4.37應(yīng)用接通延時(shí)定時(shí)器和脈沖定時(shí)器構(gòu)成脈沖發(fā)生器梯形圖,【例4.7】接通延時(shí)定時(shí)器的應(yīng)用——電動(dòng)機(jī)順序起停控制??刂埔螅喝鐖D4.38所示,某傳輸線由兩個(gè)傳送帶組成,按物流要求,當(dāng)按動(dòng)起動(dòng)按鈕S1時(shí),皮帶電機(jī)Motor_2首先起動(dòng),延時(shí)5s后,皮帶電機(jī)Motor_1自動(dòng)起動(dòng);如果按動(dòng)停止按鈕S2,則Motor_1立即停機(jī),延時(shí)10s后,Motor_2自動(dòng)停機(jī)。,圖4.38電機(jī)順序起??刂剖疽鈭D,圖4.40I/O地址分配表,圖4.39電機(jī)順序起??刂平泳€端子圖,圖4.41電機(jī)順序起停控制梯形圖程序,【4.8】閃爍燈控制程序。某信號(hào)燈HL,當(dāng)開關(guān)S1接通后,就以滅1S、亮2S的頻率不斷閃爍。IO地址分配:本例中只有一個(gè)輸入,開關(guān)S1,編程地址為I0.0;1個(gè)輸出,信號(hào)燈HL,編程地址為Q4.0。因?yàn)樾盘?hào)燈點(diǎn)亮和熄滅的時(shí)間不同,所以需要兩個(gè)定時(shí)器T1和T2,T1的時(shí)間設(shè)定值為2S,T2的時(shí)間設(shè)定值為1S。控制程序如下:,圖4.42信號(hào)燈閃爍控制程序,【4.9】定時(shí)器擴(kuò)展應(yīng)用。在S7-300中,單個(gè)定時(shí)器的最大計(jì)時(shí)范圍是9990s(2H_46M_30S),如果超過這個(gè)范圍,可以采用兩個(gè)或多個(gè)定時(shí)器級(jí)聯(lián)的方法來擴(kuò)展計(jì)時(shí)范圍。現(xiàn)在考慮一個(gè)要求延時(shí)為5個(gè)小時(shí)的控制任務(wù)。假定T1的時(shí)間設(shè)定值為2H_20M,T2的時(shí)間設(shè)定值為2H_40M,則T1+t2=5H。其控制程序如圖所示。,圖4.43兩個(gè)定時(shí)器級(jí)聯(lián)梯形圖,【4.10】用定時(shí)器設(shè)計(jì)周期和占空比可調(diào)的震蕩電路。圖4.44中I0.0的常開觸點(diǎn)接通后,T8的線圈通電,開始定時(shí)。2S后定時(shí)時(shí)間到,T8的常開觸點(diǎn)接通,使Q4.7變?yōu)?狀態(tài),同時(shí)T9開始定時(shí)。3S后T9的定時(shí)時(shí)間到,它的常閉觸點(diǎn)斷開使T8的線圈斷電,T8的常開觸點(diǎn)斷開,使Q4.7和T9的線圈斷電。下一個(gè)掃描周期因T9的常閉觸點(diǎn)接通,T8又從預(yù)置值開始定時(shí),以后Q4.7的線圈將這樣的周期性地通電和斷電,直到I0.0變?yōu)?狀態(tài)。Q4.7線圈通電和斷電的時(shí)間分別等于T9和T8的預(yù)置值。振蕩電路實(shí)際上是一個(gè)有正反饋的電路,T8和T9通過它們的觸點(diǎn)分別控制對方的線圈,形成了正反饋。,圖4.44振蕩電路梯形圖,4.5.2計(jì)數(shù)器指令計(jì)數(shù)器是PLC提供的一個(gè)基本功能,S7系列PLC的CPU中有專門的計(jì)數(shù)器存儲(chǔ)區(qū),計(jì)數(shù)器存儲(chǔ)區(qū)的大小由CPU的型號(hào)決定。例如:CPU313C的PLC計(jì)數(shù)存儲(chǔ)區(qū)為256個(gè)計(jì)數(shù)器,即C0-C255。每個(gè)計(jì)數(shù)器有一個(gè)16位的字和一個(gè)二進(jìn)制的位,計(jì)數(shù)器的字用來存放它的當(dāng)前值,計(jì)數(shù)器觸點(diǎn)的狀態(tài)由它的位的狀態(tài)來決定。計(jì)數(shù)器指令是存取計(jì)數(shù)器存儲(chǔ)區(qū)的唯一功能。S7300中有3種計(jì)數(shù)器可供選擇:加計(jì)數(shù)器(CU)、減計(jì)數(shù)器(CD)和加減技術(shù)器(CUD)。與定時(shí)器指令一樣,計(jì)數(shù)器指令在梯形圖中也有兩種表示形式:計(jì)數(shù)器線圈指令表4.9和計(jì)數(shù)器方框指令表4.10。兩者可實(shí)現(xiàn)相同的功能,用戶可根據(jù)實(shí)際需要選擇使用。表4.9計(jì)數(shù)器線圈指令表,表4.10計(jì)數(shù)器方框指令表,1、加計(jì)數(shù)器如圖4.45的指令框中,S為加計(jì)數(shù)器的設(shè)置輸入端,PV為設(shè)置值輸入端,CU為加計(jì)數(shù)脈沖輸入端,R為復(fù)位輸入端;Q為計(jì)數(shù)器位輸出端,CV輸出十六進(jìn)制格式的當(dāng)前計(jì)數(shù)值,BCD輸出當(dāng)前計(jì)數(shù)值的BCD碼。,圖4.45加計(jì)數(shù)器梯形圖在“設(shè)置”輸入信號(hào)I0.1的上升沿,將預(yù)置值PV指定的值送入計(jì)數(shù)器字。在“加計(jì)數(shù)脈沖”輸入信號(hào)I0.0的上升沿,如果計(jì)數(shù)值小于999,計(jì)數(shù)值加1?!皬?fù)位”輸入信號(hào)I0.2為1時(shí),計(jì)數(shù)器被復(fù)位,計(jì)數(shù)值被清0。計(jì)數(shù)值大于0時(shí)計(jì)數(shù)器位即輸出Q為1;計(jì)數(shù)值為0時(shí),計(jì)數(shù)器復(fù)位也為0。,如果在用“設(shè)置”輸入S設(shè)置計(jì)數(shù)器時(shí)CU輸入為1,即使信號(hào)沒有變化,下一個(gè)掃描周期也會(huì)計(jì)數(shù)。2、加計(jì)數(shù)器線圈設(shè)置計(jì)數(shù)值線圈SC用來設(shè)置計(jì)數(shù)值,該指令僅在RLO的上升沿(由0變?yōu)?)時(shí)執(zhí)行,此時(shí)預(yù)置值被送入指定的計(jì)數(shù)器。圖4.46中I0.2的觸點(diǎn)由斷開變?yōu)榻油〞r(shí),預(yù)置值6給送入計(jì)數(shù)器C10。圖中標(biāo)有CU的線圈為加計(jì)數(shù)線圈。在I0.0的上升沿,如果計(jì)數(shù)值小于6,計(jì)數(shù)值加1。復(fù)位輸入I0.3為1時(shí),計(jì)數(shù)器被復(fù)位,計(jì)數(shù)值被清0。,圖4.46加計(jì)數(shù)線圈,3、減計(jì)數(shù)器在圖4.47中的設(shè)置輸入S的上升沿,用PV指定的值預(yù)置減計(jì)數(shù)器。在減計(jì)數(shù)輸入信號(hào)CD上升沿,如果計(jì)數(shù)值大于0,計(jì)數(shù)值減1。復(fù)位輸入R為1時(shí),計(jì)數(shù)器被復(fù)位,計(jì)數(shù)值被清0。計(jì)數(shù)值大于0時(shí)計(jì)數(shù)器的輸出Q為1;計(jì)數(shù)值為0時(shí),Q為0。如果在設(shè)置計(jì)數(shù)器時(shí)CD輸入為1,即使信號(hào)沒有變化,下一掃描周期也會(huì)計(jì)數(shù)。,圖4.47減計(jì)數(shù)器梯形圖,4、減計(jì)數(shù)器線圈圖4.48中標(biāo)有CD的線圈為減計(jì)數(shù)線圈,I0.5的觸點(diǎn)由斷開變?yōu)榻油〞r(shí),預(yù)置值5被送入計(jì)數(shù)器C11。在I0.4的上升沿,如果計(jì)數(shù)值大于0,計(jì)數(shù)值減1.計(jì)數(shù)值非0時(shí),C11的常開觸點(diǎn)閉合,為0時(shí)c11的常開觸點(diǎn)斷開。復(fù)位輸入I0.6為1時(shí),計(jì)數(shù)器被復(fù)位,計(jì)數(shù)值被清0。,圖4.48減計(jì)數(shù)器線圈,【4.11】用計(jì)數(shù)器擴(kuò)展定時(shí)器的定時(shí)范圍。s7300的定時(shí)器的最常定時(shí)時(shí)間為9990s,如果需要更長的定時(shí)時(shí)間,可以使用圖4.49所示的電路。I0.0為0狀態(tài)時(shí),計(jì)數(shù)器C0被復(fù)位。I0.0變?yōu)?狀態(tài)時(shí),其常開觸點(diǎn)接通,使T11和T12組成的震蕩電路開始工作,計(jì)數(shù)器的預(yù)置值999被送入計(jì)數(shù)器C0。I0.0的常閉觸點(diǎn)斷開,C0被解除復(fù)位。振蕩電路的振蕩周期為T11和T12預(yù)置值之和,圖中的振蕩電路相當(dāng)于周期為4小時(shí)的時(shí)鐘脈沖發(fā)生器。每隔4小時(shí),當(dāng)T12的定時(shí)時(shí)間到,T11的常開觸點(diǎn)由接通變?yōu)閿嚅_,其脈沖的下降沿通過減計(jì)數(shù)線圈CD使C0的計(jì)數(shù)值減1。計(jì)滿999個(gè)數(shù)(即3996H)C0的當(dāng)前值減為0,它的常閉觸點(diǎn)閉合,使Q5.4的線圈通電。總的定時(shí)時(shí)間等于震蕩電路的振蕩周期乘以C0的計(jì)數(shù)預(yù)置值。,圖4.49定時(shí)器范圍的擴(kuò)展,5、加減計(jì)數(shù)器在設(shè)置輸入S的上升沿,見圖4.50,用PV指定的預(yù)置值設(shè)置加減計(jì)數(shù)器。復(fù)位輸入R為1時(shí),計(jì)數(shù)器被復(fù)位,計(jì)數(shù)值被清0。在加計(jì)數(shù)輸入信號(hào)CU的上升沿,如果計(jì)數(shù)器值小于999,計(jì)數(shù)器加1。在減計(jì)數(shù)器輸入信號(hào)CD的上升沿,如果計(jì)數(shù)器值大于0,計(jì)數(shù)值減1。如果兩個(gè)計(jì)數(shù)輸入均為上升沿,兩條指令均被執(zhí)行,計(jì)數(shù)值保持不變。計(jì)數(shù)值大于0時(shí)輸出信號(hào)Q為1;計(jì)數(shù)值為0時(shí),Q亦為0。如果在設(shè)置計(jì)數(shù)器時(shí)CU或CD輸入為1,即使信號(hào)沒有變化,下一掃描周期也會(huì)計(jì)數(shù)。,圖4.50加減計(jì)數(shù)器梯形圖方塊,4.5.3CPU的時(shí)鐘存儲(chǔ)器在S7系列PLC的CPU的位存儲(chǔ)器M中,可以任意指定一個(gè)字節(jié),如MB100作為時(shí)鐘脈沖存儲(chǔ)器,當(dāng)PLC運(yùn)行時(shí),MB100的各個(gè)位能周期性地改變二進(jìn)制值,即產(chǎn)生不同頻率或周期的時(shí)鐘脈沖。時(shí)鐘存儲(chǔ)器字節(jié)產(chǎn)生的時(shí)鐘脈沖與存儲(chǔ)器位的關(guān)系見表4.11。表4.11時(shí)鐘脈沖與存儲(chǔ)器位的關(guān)系,圖4.51硬件配置畫面,圖4.52選擇CPU模板,圖4.53設(shè)置時(shí)鐘存儲(chǔ)器【例4.12】時(shí)鐘存儲(chǔ)器與計(jì)數(shù)器的應(yīng)用。當(dāng)定時(shí)器不夠用時(shí),可以將計(jì)數(shù)器擴(kuò)展為定時(shí)器。圖4.54中給出了用減計(jì)數(shù)器擴(kuò)展定時(shí)器的控制程序,程序中使用了CPU的時(shí)鐘存儲(chǔ)器,設(shè)置MB10為時(shí)鐘存儲(chǔ)器,由表4-11可知M10.0的變化周期為0.1s。,圖4.54減計(jì)數(shù)器擴(kuò)展定時(shí)器的控制程序4.6數(shù)據(jù)處理指令數(shù)據(jù)處理指令包括數(shù)據(jù)傳送指令與數(shù)據(jù)轉(zhuǎn)換指令,其中輸出傳送包括數(shù)據(jù)裝入與傳送指令。4.6.1裝入和傳送指令裝入(L,Load)指令和傳送(T,Transfer)指令用于在存儲(chǔ)區(qū)之間或存儲(chǔ)區(qū)與過程輸入、過程輸出之間交換數(shù)據(jù)。CPU執(zhí)行這些指令不受邏輯操作結(jié)果RLO的影響。數(shù)據(jù)裝入L和數(shù)據(jù)傳送T指令通過累加器進(jìn)行數(shù)據(jù)交換。累加器是CPU中的一種專用寄存器,可以作為“緩沖器”。數(shù)據(jù)的傳送和交換一般是通過累加器進(jìn)行的,而不是在存儲(chǔ)區(qū)直接進(jìn)行。在S7-300中,有兩個(gè)32位的累加器:累加器1和累加器2。當(dāng)執(zhí)行裝入指令L時(shí),是將源操作數(shù)裝入累加器1中,而累加器原有的數(shù)據(jù)移入累加器2中,累加器2中原有的內(nèi)容被覆蓋。當(dāng)執(zhí)行傳送指令T時(shí),是將累加器1中的內(nèi)容寫入目的存儲(chǔ)區(qū)中,累加器的內(nèi)容保持不變。L和T指令可以對字節(jié)(8位)、字(16位)、雙字(32位)數(shù)據(jù)進(jìn)行操作,當(dāng)數(shù)據(jù)長度小于32位時(shí),數(shù)據(jù)在累加器1中右對齊(低位對齊),其余各位填0。裝入指令與傳送指令見表4.12。,表4.12裝入指令與傳送指令表,4.6.2梯形圖中方塊傳送指令在梯形圖中,用MOVE功能框圖表示裝入和傳送指令,指令框的輸入端在左邊,輸出端在右邊。能傳送數(shù)據(jù)長度為8位、16位或32位的所有基本數(shù)據(jù)類型。如果允許輸入端EN為1,則允許執(zhí)行傳送操作,使輸出OUT等于輸入IN,并使允許輸出端ENO為1。如果允許輸入端EN為0,則不進(jìn)行傳送操作,并使允許輸出端ENO為0。梯形圖傳送指令及操作數(shù)見表4.13。表4.13傳送指令梯形圖及操作數(shù),【例4.13】當(dāng)輸入I0.2為1時(shí),執(zhí)行傳送操作,將MW20的內(nèi)容傳送到DBW20,且使輸出Q4.0為1。梯形圖控制程序如圖4.55。,圖4.55傳送指令梯形圖控制程序4.6.2轉(zhuǎn)換指令轉(zhuǎn)換指令是將累加器1中的數(shù)據(jù)進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換,轉(zhuǎn)換的結(jié)果仍存放在累加器1中。STEP7能夠?qū)崿F(xiàn)的轉(zhuǎn)換操作有:BCD碼和整數(shù)到其他類型轉(zhuǎn)換指令;整數(shù)和實(shí)數(shù)的變換指令;實(shí)數(shù)取整指令;累加器1調(diào)整指令。,1、BCD和整數(shù)的轉(zhuǎn)換,見表4.14。表4.14BCD和整數(shù)的轉(zhuǎn)換,【例4.14】如果輸入I0.1為1,則將MD0的內(nèi)容以7位BCD碼的格式裝入累加器1,并將其轉(zhuǎn)換為長整數(shù),存放到MD10,如果轉(zhuǎn)換不執(zhí)行,則輸出Q4.0為1。梯形圖控制程序如圖4.56所示。,4.7運(yùn)算指令STEP7的運(yùn)算指令包括算數(shù)運(yùn)算指令、字邏輯運(yùn)算指令和比較指令。4.7.1算數(shù)運(yùn)算指令算術(shù)運(yùn)算指令包括整數(shù)(INT)運(yùn)算指令、雙整數(shù)(DINT)運(yùn)算指令和實(shí)數(shù)(REAL)運(yùn)算指令。無論是哪種數(shù)據(jù)類型均有以下四種運(yùn)算指令:1、加法運(yùn)算指令A(yù)DD2、減法運(yùn)算指令SUB3、乘法運(yùn)算指令MUL4、除法運(yùn)算指令DIV,整數(shù)、雙整數(shù)以及實(shí)數(shù)在指令中的簡寫分別為I、DI、R,因此由指令的名稱可以判斷指令的功能,例如ADD_R,表示實(shí)數(shù)指令加法指令。DIV_DI,表示雙整數(shù)除法指令。MUL_I,表示整數(shù)乘法指令。表4.15給出了算數(shù)運(yùn)算的方框圖指令,圖中的EN為使能輸入端,ENO為使能輸出端。IN1和IN2為操作數(shù)輸入端,OUT為運(yùn)算結(jié)果輸出端。在加減法指令中,IN1+IN2=OUT,IN1-IN2=OUT在乘除法指令中,IN1*IN2=OUT,IN1/IN2=OUT表4.15算數(shù)運(yùn)算的方框圖指令,在圖4.57中,如果I0.6為1,MD2中的雙整數(shù)除以MD6中的雙整數(shù),運(yùn)算結(jié)果傳送到MD10。如果運(yùn)算未能成功地完成,則狀態(tài)字的OV和OS位為1,且使ENO為0,Q4.1為1狀態(tài);若運(yùn)算成功地完成,則狀態(tài)字的OV被清0,OS位保持原狀態(tài)不變,且使RLO為1。,圖4.57整數(shù)除法指令,【例4.15】壓力變送器的量程為0-10Mpa,輸出信號(hào)為4-20mA,S7-300的模擬量輸入模塊的量程為4-20mA,轉(zhuǎn)換后的數(shù)字量為0-27468,設(shè)轉(zhuǎn)換后的數(shù)字為N,試求以kPa為單位的壓力值。解:0-10MPa(0-10000kPa)對應(yīng)轉(zhuǎn)換后的數(shù)字0-27468,轉(zhuǎn)換公式為P=(10000N)/27468kPa(4-1)值得注意的是在運(yùn)算時(shí)一定要先乘后除,否則會(huì)損失原數(shù)據(jù)的精度。假設(shè)A/D轉(zhuǎn)換后的數(shù)據(jù)N在MD6中,以kPa為單位的運(yùn)算結(jié)果在MW10中。圖4.58是實(shí)現(xiàn)式4-1中的運(yùn)算的梯形圖程序。,圖4.58算術(shù)運(yùn)算指令,如果某一方框指令的運(yùn)算結(jié)果超出了整數(shù)運(yùn)算指令的允許范圍,狀態(tài)位OV和OS將為1,使能輸入ENO為0,不會(huì)執(zhí)行在該方框指令右邊的指令。值得注意的是梯形圖中的MUL_I指令的運(yùn)算結(jié)果為16位整數(shù),A/D轉(zhuǎn)換后的最大數(shù)字為27468,乘以10000以后可能超過16位整數(shù)的允許范圍,所以需要使用雙字乘法指令MUL_DI。雙字除法指令DIV_DI的運(yùn)算結(jié)果為雙字,但是由式4-1可知運(yùn)算實(shí)際結(jié)果不會(huì)超過16位整數(shù)的最大值(32767),所以可以用MOVE指令將MD20的低字MW22中16位整數(shù)運(yùn)算結(jié)果傳送到MW10中。4.7.2字邏輯運(yùn)算指令字邏輯運(yùn)算指令按照布爾邏輯將成對的字(16位)和雙字(32位)逐位進(jìn)行比較。字邏輯運(yùn)算指令見表4.16。表4.16字邏輯運(yùn)算指令,【例4.17】如果I0.0為1,則只允許將MW0的第0-3位的數(shù)據(jù)狀態(tài)傳送到MW4的對應(yīng)位,而將MW0的其余屏蔽。如果傳送成功,則Q4.0為1。根據(jù)要求,可采用邏輯字與(AW)指令,控制程序如圖4.59所示。,圖4.59邏輯字與控制程序,4.7.3比較指令比較指令用于對累加器2和累加器1中的數(shù)據(jù)進(jìn)行比較。數(shù)據(jù)類型可以是整數(shù)、長整數(shù)或?qū)崝?shù),但是要確保進(jìn)行比較的兩個(gè)數(shù)據(jù)的類型相同。如果比較條件滿足,則RLO為1,否則為0。梯形圖中的方框比較指令用來比較兩個(gè)同類型的數(shù),與語句表中的比較指令類似,可以比較整數(shù)(I)、雙整數(shù)(D)和浮點(diǎn)數(shù)(R),比較指令見表4.17。表4.17比較指令表,在使能輸入信號(hào)為1時(shí),比較IN1和IN2輸入的兩個(gè)操作數(shù)。方框比較指令在梯形圖中相當(dāng)于一個(gè)常開觸點(diǎn),可以與其他觸點(diǎn)串聯(lián)和并聯(lián)。如果被比較的兩個(gè)數(shù)滿足指令的大于、等于、小于條件,比較結(jié)果為真,等效觸點(diǎn)閉合,指令框有能流流過?!纠?.18】比較指令應(yīng)用實(shí)例圖4.60示出包括兩臺(tái)傳送帶的系統(tǒng),在兩臺(tái)傳送帶之間有一個(gè)倉庫區(qū)。傳送帶1將包裹運(yùn)送至臨時(shí)倉庫區(qū)。傳送帶1靠近倉庫區(qū)一端安裝的光電傳感器確定已有多少包裹運(yùn)送至倉庫區(qū)。傳送帶2將臨時(shí)庫區(qū)中的包裹運(yùn)送至裝貨場,在這里貨物由卡車運(yùn)送至顧客。傳送帶2靠近庫區(qū)一端安裝的光電傳感器確定已有多少包裹從庫區(qū)運(yùn)送至裝貨場。含5個(gè)指示燈的顯示盤表示臨時(shí)倉庫區(qū)的占用程度。圖4.61給出了啟動(dòng)顯示盤上指示燈的梯形邏輯程序。,圖4.60裝有計(jì)數(shù)器和比較器的倉庫區(qū),程序段1:MW200中保存計(jì)數(shù)器C1當(dāng)前值的BCD碼,Q12.1指示“倉庫區(qū)不空”,,程序段2:Q12.0指示“倉庫區(qū)空”,,程序段3:如果計(jì)數(shù)器值大于等于50,則“倉庫區(qū)裝入50%”指示燈亮。,,程序段4:如果計(jì)數(shù)器值大于等于90,則“倉庫區(qū)裝入90%”指示燈亮。,,程序段5:如果計(jì)數(shù)器值大于等于100,則“倉庫區(qū)裝滿”指示燈亮,用輸出Q15.4將傳送帶1連鎖。,,圖4.61啟動(dòng)顯示盤上指示燈的梯形邏輯,思考與練習(xí)題,1、S7-300系列PLC如何直接尋址?什么是間接尋址?如何使用?2、采用間接尋址方式設(shè)計(jì)一段程序,將10個(gè)字節(jié)的數(shù)據(jù)從100MB開始的存儲(chǔ)單元轉(zhuǎn)移到從200MB開始的存儲(chǔ)單元。3、試設(shè)計(jì)一個(gè)3H40M的長延時(shí)電路程序。4、編寫一段程序計(jì)算sin120+cos10的值。5、試設(shè)計(jì)一個(gè)照明燈的控制程序。當(dāng)按下接在I0.0上的按鈕后,接在Q4.0上的照明燈可發(fā)光30s,如果在這段時(shí)間內(nèi)又有人按下按鈕,則時(shí)間間隔從頭開始。這樣可確保在最后一次按完按鈕后,燈光可維持30s照明。6、試設(shè)計(jì)一個(gè)搶答器電路程序。出題人提出問題,3個(gè)答題人按動(dòng)按鈕,僅僅是最早按的人面前的信號(hào)燈亮。然后出題人按動(dòng)復(fù)位按鈕后,引出下一個(gè)問題。7、設(shè)計(jì)一個(gè)對鍋爐鼓風(fēng)機(jī)和引風(fēng)機(jī)控制的梯形圖程序??刂埔螅?1)開機(jī)時(shí)首先啟動(dòng)引風(fēng)機(jī),10s后自動(dòng)啟動(dòng)鼓風(fēng)機(jī);(2)停止時(shí)立即關(guān)斷鼓風(fēng)機(jī),20s后自動(dòng)關(guān)斷引風(fēng)機(jī)。,- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
14.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 西門子 PLC 指令 實(shí)例教程
鏈接地址:http://appdesigncorp.com/p-3587974.html