




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
S7-200PLC的指令系統(tǒng)第七章主要內(nèi)容S7-200PLC編程的基本概念S7-200PLC基本指令及編程方法S7-200PLC功能指令及編程方法§7.1S7-200PLC編程的基本概念★編程語言
★數(shù)據(jù)類型
★存儲器區(qū)域
★尋址方式
★程序的組織結(jié)構(gòu)
★編程的一般規(guī)約
一、S7-200PLC的編程語言S7-200PLC有兩種指令集:IEC1131-3指令集SIMATIC指令集IEC1131-3指令集
是國際電工委員會(IEC)制定的PLC國際標(biāo)準1131-3ProgrammingLanguage(編程語言)中推薦的標(biāo)準語言。支持系統(tǒng)完全數(shù)據(jù)類型檢查只能用梯形圖(LAD)和功能塊圖(FBD)編程語言編程指令執(zhí)行時間較長SIMATIC指令集特點:大多數(shù)指令符合IEC1131-3標(biāo)準不支持系統(tǒng)完全數(shù)據(jù)類型檢查可以用梯形圖(LAD)、功能塊圖(FBD)和語句表(STL)編程語言編程指令執(zhí)行時間較短由西門子公司設(shè)計1.梯形圖(LAD)
▲
梯形圖(LAD)與電氣控制電路圖相呼應(yīng)。
▲沿用了繼電器、觸點、串并聯(lián)等術(shù)語
▲簡化了圖形符號
▲增加了特殊功能的指令
▲信號流向清楚、簡單、直觀、易懂2.功能塊圖(FBD)
沿用了半導(dǎo)體邏輯電路的邏輯框圖的表達方式3.語句表(STL)
語句表(STL)是用助記符來編程。它類似于計算機的匯編語言。操作碼
操作數(shù)(操作數(shù)地址)表明了指令要執(zhí)行的功能,用助記符表示。表明了操作碼指定的操作數(shù)或操作數(shù)所在地址。有條件地相互轉(zhuǎn)換
但是語句表(STL)可以編寫梯形圖(LAD)或功能塊圖(FBD)無法實現(xiàn)的程序。二、數(shù)據(jù)類型基本數(shù)據(jù)類型數(shù)據(jù)類型檢查數(shù)據(jù)長度與數(shù)值范圍
1.基本數(shù)據(jù)類型(7種)基本數(shù)據(jù)類型內(nèi)容數(shù)據(jù)范圍BOOL(1bit)布爾型0、1BYTE(8bit)無符號字節(jié)型0~255WORD(16bit)無符號整數(shù)0~65,535INT(16bit)有符號整數(shù)-32768~+32767DWORD(32bit)無符號雙字整數(shù)0~232-1DINT(32bit)有符號雙字整數(shù)-231~+231-1REAL(32bit)32位實數(shù)-1038~1038
2.數(shù)據(jù)類型檢查
分3級:
完全數(shù)據(jù)類型檢查簡單數(shù)據(jù)類型檢查無數(shù)據(jù)類型檢查程序編譯時進行
數(shù)據(jù)類型檢查
完全數(shù)據(jù)類型檢查簡單數(shù)據(jù)類型檢查無數(shù)據(jù)類型檢查用戶選定數(shù)據(jù)類型等價的數(shù)據(jù)類型用戶選定數(shù)據(jù)類型等價的數(shù)據(jù)類型用戶選定的地址分配的等價數(shù)據(jù)類型BOOLBOOLBOOLBOOLV0.0BOOLBYTEBYTEBYTEBYTEVB0BYTEWORDWORDWORDWORDINTVW0WORD、INTINTINTINTINTWORDVD0DWORD、DINT、REALDWORDDWORDDWORDDWORDDINTDINTDINTDINTDINT、DWORDREALREALREALREAL
SIMATIC指令集數(shù)據(jù)類型檢查
S7-200PLC不支持完全數(shù)據(jù)類型檢查局部變量執(zhí)行簡單數(shù)據(jù)檢查全局變量執(zhí)行無數(shù)據(jù)類型檢查應(yīng)保證操作數(shù)的數(shù)據(jù)類型和指令標(biāo)識符相匹配(指令操作數(shù)為地址)編程時3.數(shù)據(jù)長度與數(shù)值范圍
數(shù)據(jù)長度無符號數(shù)有符號數(shù)十進制十六進制十進制十六進制B(字節(jié)型):8bit值0~2550~FFW(字型):16bit值0~65,5350~FFFF-32,768~32,7678000~7FFFD(雙字型):32bit值0~4,294,967,2950~FFFFFFFF-2,147,483,648~2,147,483,64780000000~7FFFFFFFR(實數(shù)型):32bit值
三、用戶存儲器區(qū)域
用戶程序區(qū)數(shù)據(jù)區(qū)系統(tǒng)區(qū)(CPU組態(tài)區(qū))用戶存儲器區(qū)域用戶程序區(qū)存放用戶程序數(shù)據(jù)區(qū)
提供存儲器的特定區(qū)域系統(tǒng)區(qū)
存放PLC配置結(jié)構(gòu)參數(shù)的區(qū)域
數(shù)據(jù)區(qū)特定區(qū)域
數(shù)據(jù)區(qū)是用戶程序執(zhí)行過程中的內(nèi)部工作區(qū)域,它與用戶程序休戚相關(guān)。數(shù)據(jù)區(qū)使CPU的運行更快、更有效
(一)數(shù)據(jù)區(qū)存儲器地址的表示格式
位地址字節(jié)地址字地址雙字地址
存儲器由許多單元組成,每一個單元都有唯一的地址,可以依據(jù)存儲器地址來存取數(shù)據(jù)。
數(shù)據(jù)區(qū)存儲器地址的表示有四種格式:1.位地址格式位號字節(jié)地址區(qū)域標(biāo)識符
MSBLSB76543210V0V1V2V3V4V2.4
隔開獨立的元件“軟繼電器”-()--||--|/
|-2.字節(jié)、字、雙字地址格式
起始字節(jié)地址數(shù)據(jù)長度區(qū)域標(biāo)識符VD100VB100VW100VB100MSBLSB76543210V100V101V102V103V104VB100VW100最高有效字節(jié)最低有效字節(jié)VD100最低有效字節(jié)
3.其他地址格式
元件號區(qū)域標(biāo)識符T24定時器:T24計數(shù)器:C45累加器:AC3高速計數(shù)器:HC0(二)數(shù)據(jù)區(qū)存儲器區(qū)域(13種)
輸入映像寄存器(I)
輸出映像寄存器(Q)
模擬量輸入映像寄存器(AI)
模擬量輸出映像寄存器(AQ)內(nèi)部標(biāo)志位存儲器(M)特殊標(biāo)志位存儲器(SM)變量存儲器(V)
局部存儲器(L)
順序控制繼電器存儲器(S)
累加器(AC)定時器存儲器(T)
計數(shù)器存儲器(C)
高速計數(shù)器(HC)1.輸入映像寄存器(I)PLC的輸入端子是從外部接收輸入信號窗口。每一個輸入端子與輸入映像寄存器相應(yīng)位相對應(yīng)。CPU在每次掃描周期的采樣階段,對各輸入端子的狀態(tài)進行集中采樣,并將采樣值(0/1)存于輸入映像寄存器對應(yīng)的位中,作為程序處理時輸入點狀態(tài)的依據(jù)。輸入端子的外部電路接通對應(yīng)位的輸入映像寄存器為1輸入端子的外部電路斷開對應(yīng)位的輸入映像寄存器為01.輸入映像寄存器(I)續(xù)
I的每一位又稱輸入繼電器,輸入繼電器的線圈只能由外部輸入信號驅(qū)動,不能由程序指令驅(qū)動。輸入繼電器的常開和常閉觸點可供用戶編程使用。輸入繼電器線圈常開和常閉觸點常開和常閉觸點輸入映像寄存器(I)的地址格式位地址
I[字節(jié)地址].[位地址]例I0.1字節(jié)、字、雙字地址
I[長度][起始字節(jié)地址]例IB42.輸出映像寄存器(Q)每一個輸出端子與輸出映像寄存器的相應(yīng)位相對應(yīng)。CPU將輸出的結(jié)果存放在輸出映像寄存器中,在掃描周期的輸出刷新階段,CPU以集中處理方式將輸出映像寄存器的數(shù)值復(fù)制到相應(yīng)的輸出端子上。通過輸出模塊將輸出信號傳送給外部負載。某位輸出映像寄存器狀態(tài)為1對應(yīng)輸出端子上的外部負載通電
某位輸出映像寄存器狀態(tài)為0對應(yīng)輸出端子上的外部負載斷電
2.輸出映像寄存器(Q)續(xù)Q的每一位又稱輸出繼電器,其線圈只能由程序指令驅(qū)動,輸出繼電器的常開和常閉觸點可供用戶編程使用。輸出繼電器線圈常開和常閉觸點常開和常閉觸點輸出映像寄存器(Q)地址格式位地址Q[字節(jié)地址].[位地址],例Q1.1字節(jié)、字、雙字地址Q[長度][起始字節(jié)地址],例QB5I/O設(shè)備
I/O端子小結(jié)I/O端子I/O映像區(qū)小結(jié)I端子I映像區(qū)◎輸入采樣階段集中輸入,并存放在I映像區(qū)中◎每一個輸入端子與I映像區(qū)的相應(yīng)位相對應(yīng)
如輸入端子I0.3→輸入映像寄存器I0.3◎程序執(zhí)行期間,I映像區(qū)采樣值被凍結(jié)小結(jié)O映像區(qū)O端子輸出刷新階段集中輸出:
O映像區(qū)→輸出鎖存器→O端子→外部負載每一個輸出端子與O映像區(qū)的相應(yīng)位相對應(yīng)
如輸出映像寄存器Q0.4→輸出端子Q0.4小結(jié)I/O映像區(qū)◆I/O映像區(qū)每個位都映像I/O單元上的每個端子狀態(tài)◆PLC通過I/O映像區(qū)的各個位與外部物理設(shè)備建立聯(lián)系◆I/O映像區(qū)實際上就是外部I/O設(shè)備狀態(tài)的映像區(qū)小結(jié)I/O映像區(qū)的每一位
I/O繼電器在程序執(zhí)行期間
程序?qū)斎?出的存取是通過I/O映像區(qū),而不是實際的I/O端子。使程序與外界隔開,提高了系統(tǒng)抗干擾能力。
用戶程序存取I/O映像寄存器的數(shù)據(jù)要比存取I/O端子的速度要快,提高了系統(tǒng)運行速度
外部輸入點/輸出點的存取只能按位進行,而I/O映像寄存器的存取可以按位、字節(jié)、字、雙字進行,操作更靈活。小結(jié)3.模擬量輸入映像寄存器(AI)
模擬量輸入模塊將外界輸入的模擬量信號的模擬值轉(zhuǎn)換成1個字長(16bit)的數(shù)字量,轉(zhuǎn)換后存放在模擬量輸入存儲器(AI)中,供CPU運算處理。
CPU221無此區(qū)域
地址格式:AIW[起始字節(jié)地址]
例:AIW8必須用偶數(shù)字節(jié)地址
只讀
CPU224模塊模擬量輸入映像寄存器AI的有效地址的范圍為:AIW(0~62)4.模擬量輸出映像寄存器(AQ)
CPU運算的相關(guān)結(jié)果存放在模擬量輸出映像寄存器(AQ)中,供模擬量輸出模塊將1個字長的數(shù)字值轉(zhuǎn)換為模擬量,以驅(qū)動外部模擬量控制的設(shè)備。CPU221無此區(qū)域
地址格式:AQW[起始字節(jié)地址]
例:AQW10只寫
CPU224模塊模擬量輸出映像寄存器AQ的有效地址的范圍為:AQW(0~62)必須用偶數(shù)字節(jié)地址
5.內(nèi)部標(biāo)志位存儲器(M)
○簡稱位存儲器,是一種內(nèi)部線圈○存放中間操作狀態(tài)○模擬繼電器控制系統(tǒng)中的中間繼電器內(nèi)部標(biāo)志位存儲器(M)的地址格式位地址:M[字節(jié)地址].[位地址]例M20.7字節(jié)、字、雙字地址:M[長度][起始字節(jié)地址]例MD20按位使用的M稱為中間繼電器6.特殊標(biāo)志位存儲器(SM)
■特殊內(nèi)部線圈用戶程序與系統(tǒng)程序之間的界面提供特殊的控制功能及系統(tǒng)信息用戶通知系統(tǒng)有特殊要求
每一個字節(jié)或位都有特殊含義只讀區(qū)域~~可讀寫區(qū)域●只讀區(qū)
(SMB0~SMB29)
只能用其觸點*SM0.0PLC在RUN狀態(tài)時,SM0.0總為1*SM0.1初始脈沖,PLC由STOP→RUN時,*┇SM0.1接通一個掃描周期*SMB30用于自由通信口設(shè)置*SMB34/SMB35用于定時中斷間隔時間設(shè)置*┇●可讀寫區(qū)(SMB30~SMB179)
用于特殊控制功能
特殊標(biāo)志位存儲器(SM)
的地址表示格式位地址:
SM[字節(jié)地址].[位地址]例SM86.7字節(jié)、字、雙字地址:
SM[長度][起始字節(jié)地址]例SMB867.變量存儲器(V)
存放程序執(zhí)行過程中的中間結(jié)果存放其他相關(guān)的數(shù)據(jù)全局有效全局是指同一個存儲器可以被任何程序存取(主程序、子程序或中斷程序)
V存儲器的地址格式位地址:V[字節(jié)地址].[位地址]例V10.2字節(jié)、字、雙字地址:
V[長度][起始字節(jié)地址]例VW1008.局部存儲器(L)
作暫時存儲器為子程序傳遞參數(shù)
可作為間接尋址的指針不能作為間接尋址的存儲器區(qū)存放局部變量,局部有效局部有效是指某一局部存儲器只能在某一程序分區(qū)(主程序、子程序或中斷程序)中使用。局部存儲器(L)的地址格式位地址:
L[字節(jié)地址]、[位地址]例L33.0字節(jié)、字、雙字:
L[長度][起始字節(jié)地址],例LB33
9.順序控制繼電器存儲器(S)
▲順序控制繼電器存儲器(S)用于順序控制或步進控制▲順序控制繼電器指令(SCR)是基于順序功能圖(SFC)編程的順序控制繼電器存儲器(S)
的地址格式位地址:
S[字節(jié)地址].[位地址]例S4.1字節(jié)、字、雙字地址:
S[長度][起始字節(jié)地址]例SB410.累加器(AC)
用來存儲計算的中間值,也可用來向子程序傳遞參數(shù),或從子程序返回參數(shù)CPU提供了4個32位的累加器,其地址編號:AC0~AC3
只能以字節(jié)、字、雙字為單位存取。以字節(jié)或字存取時,只能使用低8位或低16位。數(shù)據(jù)存儲長度由所用指令決定。地址格式:AC[累加器號]
例:AC0累加器(AC)
字節(jié)傳送指令字減1指令雙字取反指令11.定時器存儲器(T)
功能:相當(dāng)于時間繼電器,對時間間隔計數(shù)。時基有三種:1ms,10ms,100ms定時器的組成 當(dāng)前值存儲器(16位)+定時器位存儲器(1位)
三種類型:接通延時、有記憶接通延時、斷開延時定時器的定時值由程序賦值或外部設(shè)定
S7-200提供256個定時器(T0~T255)15870定時器當(dāng)前值
定時器位16位符號整數(shù)存儲定時器所累計的時間表征定時器狀態(tài),當(dāng)前值≥預(yù)設(shè)值該位置1或011.定時器存儲器(T)續(xù)
定時器號(位地址)區(qū)域標(biāo)識(定時器)觸點指令15870定時器當(dāng)前值
定時器位15870定時器當(dāng)前值
定時器位定時器號(當(dāng)前值地址)區(qū)域標(biāo)識(定時器)I0.6ENO字傳送指令定時器地址格式:
T[定時器號]
例:T3功能:用于累計由輸入端子或程序產(chǎn)生的脈沖個數(shù)
該脈沖頻率低于CPU掃描頻率計數(shù)器的組成 當(dāng)前值存儲器(16位)+計數(shù)器位存儲器(1位)
三種類型:加計數(shù)、減計數(shù)、加減計數(shù)計數(shù)器的預(yù)設(shè)值由程序賦值或外部設(shè)定
S7-200提供256個計數(shù)器(C0~C255)12.計數(shù)器存儲器(C)表征計數(shù)器狀態(tài),當(dāng)前值>=預(yù)設(shè)值或=0時,該位置115870計數(shù)器當(dāng)前值
計數(shù)器位232316位符號整數(shù)存儲計數(shù)器所累計的脈沖數(shù)12.計數(shù)器存儲器(C)續(xù)
15870計數(shù)器當(dāng)前值
計數(shù)器位2323計數(shù)器號(位地址)區(qū)域標(biāo)識(計數(shù)器)觸點指令15870計數(shù)器當(dāng)前值
計數(shù)器位2323計數(shù)器號(當(dāng)前值地址)區(qū)域標(biāo)識(計數(shù)器)OUT字傳送指令計數(shù)器地址格式:
C[計數(shù)器號]
例:C313.高速計數(shù)器(HC)
用來累計比CPU掃描速度更快的高速脈沖信號CPU224/226提供6個高速計數(shù)器(HC0~HC5),使用主機上的專用端子:I0.0-I0.5高速計數(shù)器地址格式:
HC[高速計數(shù)器號]例:HC1只讀當(dāng)前值只能以雙字(32bit)來訪問存儲器的范圍*CPU224存儲器的范圍V0.0-5119.7AC0-3I0.0-15.7[0.0-0.7][1.0-1.5]AI0-62Q0.0-15.7[0.0-0.7][1.0-1.1]AQ0-62M0.0-31.7HC0-5SM0.0-549.7常數(shù)常數(shù)S0.0-31.7T0-255C0-255L0.0-63.7AIW62AIB62-AIB63按位、字節(jié)、字、雙字存取按字節(jié)、字、雙字存取按位、字存取按字存取按雙字存取四、S7-200CPU的尋址方式
立即尋址
直接尋址
間接尋址
指令中如何提供操作數(shù)或操作數(shù)地址(一)立即尋址指令直接給出操作數(shù),操作數(shù)緊跟著操作碼。立即尋址方式可用來提供常數(shù)。CPU以二進制方式存儲所有常數(shù)。常數(shù)值可分為字節(jié)、字、雙字型數(shù)據(jù)。指令中可用十進制、十六進制、ASCII碼或浮點數(shù)形式來書寫常數(shù)。
例:MOVB16#0B,SMB77
MOVB485,SMB78操作數(shù)十進制常數(shù):485十六進制常數(shù):16#0BASCII常數(shù):‘INPUT’實數(shù)或浮點常數(shù):+1.112234E-10二進制常數(shù):2#01011110
(二)直接尋址
△指令直接給出操作數(shù)地址△操作數(shù)的存儲器地址應(yīng)按規(guī)定的格式表示△指令中,數(shù)據(jù)類型應(yīng)與指令標(biāo)識符相匹配
例:位尋址:LDI3.4字節(jié)尋址:MOVBVB50,VB100字尋址:MOVWVW50,VW100雙字尋址:MOVDVD50,VD100操作數(shù)操作數(shù)地址(三)間接尋址
指令間接給出操作數(shù)地址(指令給出了存放操作數(shù)地址的存儲單元的物理地址)操作數(shù)地址的地址稱為指針,即用地址指針來尋找操作數(shù)S7-200CPU只能對I、Q、V、M、S、T和C(T、C僅當(dāng)前值)等存儲器區(qū)域使用間接尋址方式存取數(shù)據(jù)無法用間接尋址的方式訪問位(bit)地址,也不能訪問AI、AQ、HC、SM或L存儲區(qū)指針用*號表示,例*AC11.建立指針將操作數(shù)所在存儲單元的物理地址(32位)移入另一存儲器或累加器中建立地址指針地址指針為雙字值只能用V、L、AC1~AC3作為指針,如*VD、*LD、*AC1“&”符號表示內(nèi)存中某存儲單元的32位物理地址?必須使用雙字傳送指令MOVD建立指針AC0不能作為地址指針2.使用指針來存取數(shù)據(jù)▲依據(jù)指針中的內(nèi)容值作為地址進行存取▲把指針處的值送入某存儲器中(如AC0)▲使用指針可以存取字節(jié)、字、雙字型數(shù)據(jù)MOVB*AC1,AC0MOVD*AC1,AC03.修改指針■處理連續(xù)存取數(shù)據(jù)時,可以通過改變指針的值來進行■由于指針是一個32位的數(shù)據(jù),要用雙字指令(如INCD)來改變指針的數(shù)值■修改指針值時,應(yīng)根據(jù)存取數(shù)據(jù)的長度來進行調(diào)整: *字節(jié):指針值加/減1 *字:指針值加/減2 *雙字:指針值加/減4
五、程序的組織結(jié)構(gòu)
主程序(程序的主體)子程序(可選,被調(diào)用時)中斷程序(可選,中斷事件發(fā)生時)※在CPU的每個掃描周期,主程序的指令按順序執(zhí)行一次※合理優(yōu)化程序結(jié)構(gòu),可減少掃描時間構(gòu)成
六、編程的一般規(guī)約
網(wǎng)絡(luò)
梯形圖(LAD)允許輸入端、允許輸出端
條件輸入/無條件輸入
無允許輸出端的指令
1.網(wǎng)絡(luò)
每個輸出元素(線圈或方框)可以構(gòu)成一個梯級,每個梯級可由多個支路組成每個網(wǎng)絡(luò)由一個或多個梯級組成梯形圖中,把不可分割的最小程序段稱之為網(wǎng)絡(luò)編寫程序時,不同的網(wǎng)絡(luò)應(yīng)有對應(yīng)的網(wǎng)絡(luò)號,否則編譯出錯梯級網(wǎng)絡(luò)梯級梯級2.梯形圖(LAD)梯形圖由若干網(wǎng)絡(luò)組成梯形圖或網(wǎng)絡(luò)是觸點、線圈和功能框等“元件”的有序排列,輸入在圖形的左邊,輸出在圖形的右邊,即觸點與左母線相連,線圈或功能框終止右母線。左、右母線之間是一個完整的“電路”,不允許“短路”、“開路”,也不允許“能流”反向“流動”。觸點線圈功能框能流左母線右母線(可省略)線圈只能引用一次,而觸點可以用無數(shù)多次3.允許輸入端/允許輸出端允許輸入端:允許輸入端(EN)必須存在“能流”(EN=1),才能執(zhí)行該功能框的功能允許輸入端允許輸出端ENO端允許功能框的布爾量輸出如果(EN)存在“能流”,且功能框準確無誤地執(zhí)行了其功能,那么允許輸出端(ENO)將把“能流”傳到下一個功能框的元件。(即ENO=1,實現(xiàn)級聯(lián))如果執(zhí)行過程中存在錯誤,那么“能流”就在出現(xiàn)錯誤的功能框終止,即ENO=0。允許輸出端4.條件輸入/無條件輸入
條件輸入:LAD中,不直接與左母線連接的與“能流”有關(guān)的功能框或線圈。無條件輸入:直接與左母線連接的與“能流”無關(guān)的線圈或功能框。5.無允許輸出端的指令
★功能框中沒有允許輸出端(ENO)★該指令方框不能用于級聯(lián)控制第二節(jié)
S7-200PLC基本指令及編程方法基本邏輯指令立即I/O指令邏輯堆棧指令取非觸點指令正/負跳變觸點指令定時器、計數(shù)器指令順序控制繼電器指令移位寄存器指令比較觸點指令一、基本邏輯指令
基本邏輯指令以位邏輯操作為主數(shù)據(jù)類型是Bool標(biāo)準觸點指令輸出指令置位和復(fù)位指令
LADSTL功能LDbitAbitObitLDNbitANbitONbit裝載指令(常開觸點與左母線連接)與指令(常開觸點串聯(lián))或指令(常開觸點并聯(lián))取反后裝載指令(常閉觸點與左母線連接)取反后與指令(常閉觸點串聯(lián))取反后或指令(常閉觸點并聯(lián))bitbit標(biāo)準觸點指令標(biāo)準觸點指令操作數(shù)數(shù)據(jù)類型bit(LAD、STL)I、Q、M、SM、T、C、V、S、LBOOL(一)標(biāo)準觸點指令
1.梯形圖(LAD)
標(biāo)準觸點指令有常開和常閉觸點指令兩種標(biāo)準觸點指令代表CPU對存儲器的某個位地址(bit)進行讀操作,故常開(閉)觸點使用次數(shù)不受限制當(dāng)bit=1時:常開觸點閉合、常閉觸點斷開當(dāng)bit=0時:常開觸點斷開、常閉觸點閉合常開觸點常閉觸點軟觸點動作無先后順序2.語句表(STL)(一)標(biāo)準觸點指令
STL通過邏輯堆棧(Stack)實現(xiàn)邏輯處理邏輯堆棧: 9級深度 1位寬度后進先出邏輯堆棧(Stack)棧頂棧頂用于存儲邏輯運算的結(jié)果其余8層用于存儲中間運算結(jié)果棧裝載指令LD(Load)將存儲區(qū)某位(bit)值裝入棧頂。(堆棧最后一級內(nèi)容丟失)
LD對應(yīng)梯形圖中一個邏輯梯級常開觸點的編程開始。邏輯“與”指令A(yù)(And)A對應(yīng)梯形圖中常開觸點串聯(lián)將某bit值“與”棧頂值,運算結(jié)果存入棧頂I0.1·I0.0堆棧沒有壓入和彈出操作邏輯“或”指令O(or)
O對應(yīng)梯形圖中常開觸點的并聯(lián)I0.2+I0.3將某bit值“或”棧頂值,運算結(jié)果仍存入棧頂I0.2堆棧沒有壓入和彈出操作LDN、AN、ON指令對常閉觸點編程將操作數(shù)的bit值取反后,再作相應(yīng)的“裝載”、“與”、“或”操作。I0.2LDN對應(yīng)梯形圖中一個邏輯梯級常閉觸點的編程開始。將I0.2的位值取反后,裝入棧頂。(二)輸出指令
STL功能=bit線圈輸出bit()(二)輸出指令
在(LAD)中表示繼電器輸出線圈編程輸出指令代表CPU對存儲器的某個位地址(bit)進行寫操作,由于PLC自上而下掃描,故每個線圈只能使用1次,若多于一次,其狀態(tài)以最后一次為準線圈左側(cè)觸頭組成邏輯運算關(guān)系: 運算結(jié)果為1,則“能流”到達線圈,使線圈通電,則bit=1 運算結(jié)果為0,則“能流”未到達線圈,使線圈斷電,則bit=0
在(STL)中輸出指令把棧頂值復(fù)制到由操作數(shù)地址指定的存儲器的對應(yīng)位中堆棧操作過程中,傳送前后堆棧值不變Q0.0(二)輸出指令
(三)置位和復(fù)位指令
LADSTL功能Sbit,NRbit,N從起始位(bit)開始的N個元件置1從起始位(bit)開始的N個元件清0bit(S)Nbit(R)N置位和復(fù)位點數(shù)
N:1~255
在梯形圖(LAD)中能流到(常開觸點脈沖前沿觸發(fā)時),就執(zhí)行置位指令(線圈通電鎖存)或復(fù)位指令(線圈斷電鎖存)執(zhí)行置位指令時,把從指令操作數(shù)指定的地址開始的N個點都被置位且保持,置位后即使能流斷,仍保持置位執(zhí)行復(fù)位指令時,把從指令操作數(shù)指定的地址開始的N個點都被復(fù)位且保持,復(fù)位后即使能流斷,仍保持復(fù)位由于掃描工作方式,程序中寫在后面的指令有優(yōu)先權(quán)(三)置位和復(fù)位指令
置位和復(fù)位指令中允許雙線圈輸出電動機起、??刂圃谡Z句表(STL)中當(dāng)棧頂值為1時,執(zhí)行置位(或復(fù)位)指令執(zhí)行置位指令時,把從指令操作數(shù)(bit)指定的地址開始的N個點都被置位且保持,置位后即使棧頂值變?yōu)?,仍保持置位執(zhí)行復(fù)位指令時,把從指令操作數(shù)(bit)指定的地址開始的N個點都被復(fù)位且保持,復(fù)位后即使棧頂值變?yōu)?,仍保持復(fù)位1(三)置位和復(fù)位指令
思考:閱讀以下程序,理解位邏輯指令網(wǎng)絡(luò)1LDI0.0=Q0.3SQ0.4,1RQ0.5,2
I0.0Q0.3Q0.4Q0.5Q0.6上述指令遵循CPU的掃描規(guī)則,程序執(zhí)行過程中梯形圖中各輸入繼電器觸點、輸出繼電器觸點的狀態(tài)從I/O映像寄存器中讀取。程序運算的結(jié)果在輸出刷新階段,將輸出映像區(qū)的內(nèi)容集中轉(zhuǎn)存到輸出鎖存寄存器。然后傳送到各相應(yīng)的輸出端子,驅(qū)動實際輸出負載。小結(jié)二、立即I/O指令★為了加快輸入輸出響應(yīng)速度★采用直接處理方式★引入立即I/O指令:立即觸點指令立即輸出指令立即置位/復(fù)位指令輸入端子觸點或指令中的I表示立即之意觸點或指令中的I表示立即之意
LAD
STL功能
LDIbitAIbitOIbitLDNIbitANIbitONIbit立即裝載指令(常開立即觸點與左母線連接)立即與指令(常開立即觸點串聯(lián))立即或指令(常開立即觸點并聯(lián))取反后立即裝載指令(立即常閉觸點與左母線連接)取反后立即與指令(常閉立即觸點串聯(lián))取反后立即或指令(常閉立即觸點并聯(lián))bitIbitI立即觸點指令操作數(shù)數(shù)據(jù)類型bit(LAD、STL)IBOOL
(一)立即觸點指令
※直接讀取物理輸入點的值,但輸入映像寄存器內(nèi)容不更新※
指令操作數(shù)僅限于物理輸入點的值(一)立即觸點指令
常開立即觸點常閉立即觸點梯形圖(LAD)中當(dāng)某物理輸入點的bit=1時,則常開立即觸點閉合,常閉立即觸點斷開;當(dāng)某物理輸入點的bit=0時,則常開立即觸點斷開,常閉立即觸點閉合。(一)立即觸點指令
語句表(STL)中常開立即觸點編程執(zhí)行LDI(立即裝載)指令
把物理輸入點的位(bit)值立即裝入棧頂執(zhí)行AI(立即與)指令
把物理輸入點的位(bit)值“與”棧頂值,運算結(jié)果仍存入棧頂執(zhí)行OI(立即或)指令
把物理輸入點的位(bit)值“或”棧頂值,運算結(jié)果仍存入棧頂
常閉立即觸點編程執(zhí)行LDNI、ANI、ONI指令把物理輸入點的位(bit)值取反后,再作相應(yīng)的“裝載”,“與”,“或”操作觸點或指令中的I表示立即之意觸點或指令中的I表示立即之意(二)立即輸出指令
LAD
STL功能=Ibit立即線圈輸出,立即邏輯置位指令bit(I)立即輸出指令操作數(shù)數(shù)據(jù)類型bit(LAD、STL)QBOOL輸出端子和輸出映像寄存器(二)立即輸出指令
執(zhí)行該指令時,由操作數(shù)地址指定的物理輸出點的位(bit)值等于能流執(zhí)行該指令時,新值被寫到相應(yīng)的輸出映像寄存器同時從物理輸出點輸出。不同于一般的輸出指令,后者只是把新值寫到輸出映像寄存器。梯形圖(LAD)中棧頂值被同時立即復(fù)制到物理輸出點和相應(yīng)的輸出映像寄存器(立即賦值)不受掃描過程的影響(二)立即輸出指令
語句表(STL)中小結(jié)■立即觸點指令:CPU不等待輸入采樣的時刻,繞過輸入映像寄存器,直接讀入物理輸入點的狀態(tài)作為程序執(zhí)行期間的數(shù)據(jù)依據(jù)不對輸入映像寄存器作刷新處理■立即輸出指令:將結(jié)果同時立即復(fù)制到物理輸出點(以驅(qū)動實際輸出)和相應(yīng)的輸出映像寄存器而不是等待程序執(zhí)行階段結(jié)束后,轉(zhuǎn)入輸出刷新階段時才把結(jié)果傳送到物理輸出點允許對輸入/出物理點進行快速直接存取,加快了輸入輸出響應(yīng)速度必須指出立即I/O指令是直接訪問物理輸入/輸出點的,比一般指令訪問輸入/輸出映像寄存器占用CPU時間要長。不能盲目地使用立即指令,否則,會加長掃描周期時間,反而對系統(tǒng)造成不利影響,應(yīng)利弊權(quán)衡。
(三)立即置位和立即復(fù)位指令
LAD
STL功能SIbit,NRIbit,N立即從起始位(bit)開始的N個元件置1立即從起始位(bit)開始的N個元件清0bit
(SI)N
bit
(RI)N
觸點或指令中的I表示立即之意觸點或指令中的I表示立即之意立即置位和復(fù)位點數(shù)N:1~128立即置位和立即復(fù)位指令操作數(shù)數(shù)據(jù)類型bit(LAD、STL)QBOOL輸出端子和輸出映像寄存器(三)立即置位和立即復(fù)位指令
當(dāng)能流到時執(zhí)行把從指令操作數(shù)指定的地址開始的N個物理輸出點立即置位/復(fù)位且保持(即使能流斷,仍保持置位/復(fù)位)。新值被同時寫到物理輸出點和相應(yīng)的輸出映像寄存器。
梯形圖(LAD)中在語句表(STL)中當(dāng)棧頂值為1時,執(zhí)行立即置位指令:把從指令操作數(shù)指定的地址開始的N個物理輸出點立即置位且保持,置位后即使棧頂值變?yōu)?,仍保持置位。1(三)立即置位和立即復(fù)位指令
當(dāng)棧頂值為1時,執(zhí)行立即復(fù)位指令:把從指令操作數(shù)指定的地址開始的N個物理輸出點立即復(fù)位且保持,復(fù)位后即使棧頂值變?yōu)?,仍保持復(fù)位。
1在語句表(STL)中(三)立即置位和立即復(fù)位指令
三、邏輯堆棧指令
邏輯堆棧指令只用于語句表編程使用梯形圖編程時,梯形圖編輯器會自動插入相關(guān)的指令處理堆棧操作
STL功能ALDOLDLPSLRDLPP棧裝載與(塊與)棧裝載或(塊或)邏輯推入棧邏輯讀棧邏輯彈出棧這些指令只有助記符,沒有操作數(shù)電路塊編程(一)棧裝載“與”(ALD)指令用于將梯形圖(LAD)中兩個或兩個以上的觸點組的串聯(lián),稱為并聯(lián)電路塊的串聯(lián)連接。將堆棧中的第一級和第二級的值進行邏輯與操作,結(jié)果置于棧頂,并將堆棧中的第三級至第九級的值依次上彈一級。電路塊的串聯(lián)編程(二)棧裝載“或”(OLD)指令
用于將梯形圖(LAD)中兩個或兩個以上觸點的串聯(lián)電路之間的并聯(lián),稱為串聯(lián)電路塊的并聯(lián)連接。將堆棧中的第一級和第二級的值進行邏輯或操作,結(jié)果放入棧頂,并將堆棧中其余各級的內(nèi)容依次上彈一級。電路塊的并聯(lián)編程(三)邏輯推入棧(LPS)指令
復(fù)制棧頂?shù)闹挡⑦@個值推入棧頂,原堆棧中各級棧值依次下壓一級,棧底值丟失。
一個觸點控制三個線圈S0S1S2S3S4S5S6S7S8S0S0S1S2S3S4S5S6S7...分支母線(四)邏輯讀棧(LRD)指令
復(fù)制堆棧中的第二層的值到棧頂堆棧沒有壓入或彈出的操作原棧頂值被新的復(fù)制值取代S0S1S2S3S4S5S6S7S8S1S1S2S3S4S5S6S7S8(五)邏輯彈出棧(LPP)指令
堆棧作彈出棧操作(后進先出)將棧頂?shù)闹祻椚氤绦虻牡刂分羔樦校溆喔骷壱来紊蠌椧患壴褩5诙壍闹党蔀樾碌臈m斨?/p>
S0S1S2S3S4S5S6S7S8S1S2S3S4S5S6S7S8X...合理運用LPS,LRD,LPP指令可達到簡化程序的目的。注意:LPS與LPP必須配對使用。中間的支路都使用LRD指令。最后一次讀棧操作應(yīng)使用出棧指令LPP一個獨立電路塊中,用入棧指令同時保存在堆棧中的運算結(jié)果不能超過8個。LPS:邏輯推入棧,新母線的開始LRD:讀棧LPP:彈出棧,新母線的結(jié)束,執(zhí)行后,返回原母線。開始中間最后小結(jié)思考寫出下列梯形圖的語句表程序幾個并聯(lián)支路的串聯(lián),應(yīng)將并聯(lián)支路多的安排在左面;幾個串聯(lián)支路相并聯(lián),應(yīng)將觸點多的支路安排在上面;不合理合理不合理合理四、取非和空操作指令
LAD
STL功能
NOT取反指令NOPN空操作指令NOT
NOP
N(一)取非觸點指令
改變能流的狀態(tài)觸頭左側(cè)為1時,右側(cè)為0,能量流不能到達右側(cè);觸頭左側(cè)為0時,右側(cè)為1,能量流通過觸頭到達右側(cè)將它左邊電路的邏輯運算結(jié)果取反梯形圖(LAD)中(一)取非觸點指令
對堆棧的棧頂作取反操作,改變棧頂值在語句表(STL)中(二)空操作指令
空操作指令起增加程序容量的作用。使能輸入有效時執(zhí)行該指令。將稍微延長掃描周期長度,不影響用戶程序的執(zhí)行,不會使能流輸出斷開。N為執(zhí)行空操作指令的次數(shù),N=0~255五、正/負跳變觸點指令
LADSTL功能
EUED正跳變指令負跳變指令PNEU—EdgeUpED—EdgeDown用于檢測輸入信號變化的指令用輸入邊沿觸發(fā)信號產(chǎn)生一個機器周期的掃描脈沖,通常做脈沖整形。五、正/負跳變觸點指令
正/負跳變檢測指令用觸點表示正跳變觸點:在檢測到正跳變(由off到on)信號后,讓能流接通一個掃描周期的時間。用于檢測上升沿。負跳變觸點:在檢測到負跳變(由on到off)信號后,讓能流通過一個掃描周期的時間,用于檢測下降沿。梯形圖(LAD)中一個掃描周期的寬度負跳變觸點正跳變觸點五、正/負跳變觸點指令
在語句表(STL)中正跳變指令:一旦發(fā)現(xiàn)棧頂?shù)闹党霈F(xiàn)正跳變(0變1)時,該棧頂值被置1,并持續(xù)一個掃描周期的時間。負跳變指令:一旦發(fā)現(xiàn)棧頂?shù)闹党霈F(xiàn)負跳變(1變0)時,該棧頂值被置1,并持續(xù)一個掃描周期的時間。例1:閱讀以下程序,理解位邏輯指令I(lǐng)0.0I0.1Q0.0Q0.1Q0.2接通一個掃描周期網(wǎng)絡(luò)1LDI0.0ANI0.1=Q0.0網(wǎng)絡(luò)2LDI0.0NOT=Q0.1網(wǎng)絡(luò)3LDI0.1EU=Q0.2
基本邏輯指令應(yīng)用舉例例2:啟-保-停電路基本邏輯指令應(yīng)用舉例I0.0啟動按鈕(常開)I0.1停止按鈕(常開)停止按鈕若使用常閉呢?停止按鈕若使用常閉呢?控制任務(wù):有3個搶答席和1個主持人席,每個搶答席上各有1個搶答按鈕(常開按鈕)和一盞搶答指示燈。參賽者在允許搶答時,第一個按下?lián)尨鸢粹o的搶答席上的指示燈將會亮,且釋放搶答按鈕后,指示燈仍然亮;此后另外兩個搶答席上即使再按各自的搶答按鈕,其指示燈也不會亮。這樣主持人就可以輕易的知道誰是第一個按下?lián)尨鹌鞯?。該題搶答結(jié)束后,主持人按下主持席上的復(fù)位按鈕(常閉按鈕),則指示燈熄滅,又可以進行下一題的搶答比賽。
輸入
I0.0SB0//主持席上的復(fù)位按鈕(常閉)I0.1SB1//搶答席1上搶答按鈕I0.2SB2//搶答席2上搶答按鈕I0.3SB3//搶答席3上搶答按鈕輸出Q0.1HL1//搶答席1上的指示燈Q0.2HL2//搶答席2上的指示燈Q0.3HL3//搶答席3上的指示燈例32分頻電路。將脈沖信號加到I0.0端,在第一個脈沖的上升沿到來時,M0.0產(chǎn)生一個掃描周期的單脈沖,使M0.0的常開觸點閉合,由于Q0.0的常開觸點斷開,M0.1線圈斷開,其常閉觸點M0.1閉合,Q0.0的線圈接通并自保持;第二個脈沖上升沿到來時,M0.0又產(chǎn)生一個掃描周期的單脈沖,M0.0的常開觸點又接通一個掃描周期,此時Q0.0的常開觸點閉合,M0.1線圈通電,其常閉觸點M0.1斷開,Q0.0線圈斷開;直至第三個脈沖到來時,M0.0又產(chǎn)生一個掃描周期的單脈沖,使M0.0的常開觸點閉合,由于Q0.0的常開觸點斷開,M0.1線圈斷開,其常閉觸點M0.1閉合,Q0.0的線圈又接通并自保持。以后循環(huán)往復(fù),不斷重復(fù)上過程。由下圖可見,輸出信號Q0.0是輸入信號I0.0的二分頻。LDI0.0EU=M0.0LDM0.0AQ0.0=M0.1LDM0.0OQ0.0ANM0.1=Q0.0例3:用PLC可以實現(xiàn)對輸入信號的任意分頻。六、定時器、計數(shù)器指令
定時器指令計數(shù)器指令
(一)定時器指令
LADSTL功能TONTxxx,PT接通延時定時器TONRTxxx,PT有記憶接通延時定時器TOFTxxx,PT
斷開延時定時器
定時器是根據(jù)預(yù)先設(shè)定的定時值,按一定的時間單位進行計時的裝置。定時器通過對PLC內(nèi)部時鐘脈沖進行計數(shù)實現(xiàn)計時。定時器分辨率1ms10ms100ms分辨率由定時器號決定!同一程序中不能把同一定時器號同時用作TON和TOF●定時器號范圍:(T0~T255)●定時器號有兩個相關(guān)的變量:
1.當(dāng)前值(16位):
累計時間的當(dāng)前值,存放在定時器當(dāng)前值存儲器中。
2.定時器位(1位)
:
當(dāng)定時器的當(dāng)前值等于或大于設(shè)定值時,該定時器位被置為“1”(接通延時)或“0”(斷開延時)。定時器位用來描述定時器延時動作的觸點狀態(tài):定時器位為1狀態(tài)觸點動作(常開觸點閉合,常閉觸點斷開)定時器位為0狀態(tài)觸點復(fù)位(常開觸點斷開,常閉觸點閉合)1.接通延時定時器TON
定時器(TON)用于單一時間間隔的定時。輸入端(IN)接通時,定時器(TON)開始計時: 定時器當(dāng)前值從0開始遞增,每來一時基脈沖,當(dāng)前值做增1計數(shù),當(dāng)前值等于或大于設(shè)定值(PT)時,該定時器位被置位為“1”。當(dāng)達到設(shè)定時間后,TON當(dāng)前值繼續(xù)累計,一直到最大值32767。輸入端(IN)斷開時,定時器TON復(fù)位(當(dāng)前值為0,定時器位為0)。LDI2.3TONT37,+30LDT37=Q0.0設(shè)定時間T設(shè)定時間T=設(shè)定值PT×分辨率TON是模擬通電延時型物理時間繼電器功能T=30×100ms=3s2.有記憶接通延時定時器TONR
定時器(TONR)累計多次輸入信號的接通時間輸入端(IN)接通時,定時器(TONR)開始計時:定時器當(dāng)前值累計遞增,當(dāng)前值=>設(shè)定值時,定時器位被置1。當(dāng)當(dāng)前值達到設(shè)定值后,繼續(xù)累計,一直計到最大值32767輸入端(IN)斷開時,定時器(TONR)的當(dāng)前值保持不變,定時器位不變(與TON不同)當(dāng)輸入端再次接通,定時器當(dāng)前值從原保持值開始再往上繼續(xù)累計,繼續(xù)計時LDI0.1TONRT65,+500LDT65=Q0.1可利用復(fù)位指令(R)清除定時器(TONR)的當(dāng)前值和定時器位。上電周期或首次掃描時,定時器(TONR)的定時器位為0,當(dāng)前值保持2.有記憶接通延時定時器TONR
3.?dāng)嚅_延時定時器(TOF)
輸入端IN接通時,定時器位置1,并把當(dāng)前值清0(相當(dāng)于復(fù)位)當(dāng)輸入端斷開時,定時器開始計時,當(dāng)前值=>設(shè)定值時,達到設(shè)定時間,定時器位為“0”,并停止計時TOF必須用輸入信號的ON→OFF的負跳變啟動計時模擬斷電延時型物理時間繼電器功能LDI0.0TOFT33,+200LDT33=Q0.0小結(jié)
定時器類型接通IN當(dāng)前值>=設(shè)定值斷開INTON從0計時T位=1當(dāng)前值繼續(xù)累計停止計時,復(fù)位(T位=0,當(dāng)前值=0)TONR累計計時T位=1當(dāng)前值繼續(xù)累計停止計時,不變(T位和當(dāng)前值保持)TOF不計時,復(fù)位(T位=1,當(dāng)前值=0)T位=0當(dāng)前值停止累計從0計時注意
TON和TOF定時器號不可重復(fù)使用
使用復(fù)位(R)指令對定時器(TONR、TON)復(fù)位進行時,定時器位=0,定時器當(dāng)前值清零有記憶接通延時定時器(TONR)只能通過復(fù)位指令使定時器當(dāng)前值清零對斷開延時定時器(TOF),需在輸入端有一個負跳變(ON→OFF)的輸入信號才能啟動計時。不同分辨率的定時器當(dāng)前值的刷新周期是不同的。!T當(dāng)前值的刷新
1ms分辯率定時器每隔1ms刷新一次在大于1ms的一個掃描周期中要刷新多次,而不與掃描周期同步。ON一個掃描周期
定時時間到后,只有在該處刷新,Q0.0才會接通一個掃描周期
正確用法10ms分辯率定時器在每次掃描周期的開始刷新在一個掃描周期內(nèi)定時器當(dāng)前值保持不變永遠不會被置位
ON一個掃描周期
正確用法100ms分辨率定時器在定時器指令執(zhí)行時刷新如果該定時器的指令不是每個周期都執(zhí)行,比如條件跳轉(zhuǎn)時,定時器不能及時刷新,可能出錯。T39常開觸點每隔3s閉合一次,且每次持續(xù)一個掃描周期自復(fù)位式定時器利用該特性產(chǎn)生脈寬為一個掃描周期的脈沖信號。改變定時器的設(shè)定值就可以改變脈沖的頻率100ms定時器結(jié)論:100ms定時器只能用于每個掃描周期內(nèi)同一定時器指令執(zhí)行一次,且僅執(zhí)行一次的場合。不宜用在子程序和中斷程序中在主程序中不能重復(fù)使用同一個100ms的定時器號注意定時器指令應(yīng)用舉例例1:介紹3種10ms定時器的工作特性的程序片斷,其中T35為接通延時定時器,T2為有記憶接通延時定時器,T36為斷開延時定時器。定時器特性電機順序起動例2:電機順序起動例3:用接在I0.0輸入端的光電開關(guān)檢測傳送帶上通過的產(chǎn)品。有產(chǎn)品通過時I0.0為ON,如果在10s內(nèi)沒有產(chǎn)品通過,由Q0.0發(fā)出報警信號,用I0.1輸入端外接的開關(guān)解除報警信號。梯形圖例4:閃爍電路。下圖中I0.0的常開觸點接通后(I0.0端子上的啟動按鈕能自鎖),T37的IN輸入端為1狀態(tài),T37開始定時。2S后定時時間到,T37的常開觸點接通,使Q0.0變?yōu)镺N,同時T38開始計時。3s后T38的定時時間到,它的常閉觸點斷開,使T37的IN輸入端變?yōu)?狀態(tài),T37的常開觸點斷開,Q0.0變?yōu)镺FF,同時使T38的IN輸入端變?yōu)?狀態(tài),其常閉觸點接通,T37又開始定時,以后Q0.0的線圈將這樣周期性地“通電”和“斷電”,直到I0.0變?yōu)镺FF,Q0.0線圈“通電”時間等于T38的設(shè)定值,“斷電”時間等于T37的設(shè)定值。
例4:閃爍電路。圖7-31閃爍電路
(二)計數(shù)器指令
對外部的或由程序產(chǎn)生的計數(shù)脈沖進行計數(shù)
計數(shù)器是累計其計數(shù)輸入端的計數(shù)脈沖電平由低到高(上升沿)的次數(shù)
思考:若要對輸入端脈沖的下降沿進行計數(shù)該如何處理?計數(shù)器類型:增計數(shù)器減計數(shù)器增/減計數(shù)器LADSTL功能CTUCxxx,PV增計數(shù)器CTDCxxx,PV減計數(shù)器CTUDCxxx,PV
增減計數(shù)器(二)計數(shù)器指令
●計數(shù)器號范圍:C(0~255)●計數(shù)器號有兩個相關(guān)的變量: 1.當(dāng)前值(16位):
計數(shù)器累計計數(shù)的當(dāng)前值,存放在計數(shù)器的當(dāng)前值存儲器中。 2.計數(shù)器位(1位):
當(dāng)計數(shù)器的當(dāng)前值大于等于設(shè)定值(CTU、CTUD)或等于0(CTD)時,計數(shù)器位置“1”。1.增計數(shù)器指令(CTU)
計數(shù)輸入端復(fù)位輸入端當(dāng)計數(shù)輸入端(CU)有一個上升沿信號時,計數(shù)器當(dāng)前值從0開始作增1計數(shù)當(dāng)計數(shù)器當(dāng)前值=>設(shè)定值(PV)時,該計數(shù)器位被置1。當(dāng)前值可繼續(xù)累計,至32767時停止計數(shù)。當(dāng)復(fù)位端(R)有效時,計數(shù)器復(fù)位(當(dāng)前值清0,C位=0)也可利用復(fù)位指令(R)復(fù)位計數(shù)器計數(shù)設(shè)定范圍:(0~32767)
2.減計數(shù)器指令(CTD)當(dāng)計數(shù)輸入端(CD)有一個上升沿信號時,計數(shù)器當(dāng)前值從設(shè)定值開始作減1計數(shù)當(dāng)當(dāng)前值=0時,停止計數(shù),同時計數(shù)器位被置1當(dāng)裝載輸入端(LD)有效時,計數(shù)器復(fù)位(C位為0,并把設(shè)定值(PV)裝入當(dāng)前值寄存器中,為下次計數(shù)做好準備
▲減計數(shù)器指令無復(fù)位端▲當(dāng)裝載輸入端LD接通時,計數(shù)器復(fù)位,并把設(shè)定值裝入當(dāng)前值寄存器中計數(shù)設(shè)定范圍:(0~32767)
計數(shù)輸入端裝載輸入端3.增/減計數(shù)器指令(CTUD)在每一個CU輸入端的上升沿作增1計數(shù)在每一個CD輸入端的上升沿作減1計數(shù)當(dāng)當(dāng)前值=>預(yù)置值時,該計數(shù)器位被置1當(dāng)復(fù)位輸入端(R)有效時,計數(shù)器被復(fù)位(當(dāng)前值清0,C位為0)
計數(shù)器在達到計數(shù)最大值32767后,下一個CU輸入端上升沿將使計數(shù)值變?yōu)樽钚≈担?32768)在達到最小計數(shù)值(-32768)后,下一個CD輸入端上升沿將使計數(shù)值變?yōu)樽畲笾担?2767)當(dāng)用復(fù)位指令(R)復(fù)位計數(shù)器時,計數(shù)器位為0,并且當(dāng)前值清零計數(shù)范圍:+32767~
-327683.增/減計數(shù)器指令(CTUD)續(xù)注意在一個程序中,同一計數(shù)器號不要重復(fù)使用!計數(shù)器指令應(yīng)用舉例
例1:循環(huán)計數(shù)——自復(fù)位式計數(shù)器
以上三種類型的計數(shù)器如果在使用時,將計數(shù)器位的常開觸點作為復(fù)位輸入信號,則可以實現(xiàn)循環(huán)計數(shù)。自復(fù)位式計數(shù)器例2:用計數(shù)器和定時器配合增加延時時間,試分析以下程序中實際延時為多長時間。計數(shù)器應(yīng)用例子返回本節(jié)M0.03000s1個掃描周期300010s七、順序控制繼電器指令(SequentialControlRelay)
順序控制順序功能圖
SCR指令的功能使用SCR指令的限制編程舉例(一)順序控制
所謂順序控制,是使生產(chǎn)過程按工藝要求事先安排的順序自動地進行控制。什么是順序控制?四臺電機的順序啟動(二)順序功能圖SFC
(SequentialFunctionChart)順序功能圖——
IEC1131標(biāo)準頒布的一種PLC編程語言。一種基于工藝流程的高級語言。
順序編程思想
順序編程的基本思想:將系統(tǒng)的控制過程分為若干個順序相連的程序段,即步(在圖中用方框表示)。并用編程元件(如M10.4)來表示它。步的劃分依據(jù)輸出量的變化,同一步內(nèi)輸出量狀態(tài)不變,相鄰兩步的輸出狀態(tài)則不同。步分為初始步及普通步。某時刻被激活的步稱為活動步。初始步編程元件普通步順序功能圖SFC組成
轉(zhuǎn)換條件有向連線每步任務(wù)每步任務(wù)步轉(zhuǎn)換條件順序控制設(shè)計即是用轉(zhuǎn)換條件控制代表各步的編程元件,讓它們的狀態(tài)按一定的順序變化,然后用代表各步的編程元件去控制可編程序控制器的各輸出位。順序功能圖SFC類型
1)單序列:反映按順序排列的步相繼激活這樣一種基本的進展情況dacb123Q0.0Q0.1Q0.2順序功能圖SFC類型
kijgfedcbh12637845a2)選擇序列:—個活動步之后,緊接著有幾個后續(xù)步可供選擇的結(jié)構(gòu)形式稱為選擇序列。順序功能圖SFC類型
dafeb278c34563)并行序列:當(dāng)轉(zhuǎn)換的實現(xiàn)導(dǎo)致幾個分支同時激活時,采用并行序列。其有向連線的水平部分用雙線表示。順序編程的要點
程序的執(zhí)行過程是活動步的順序流轉(zhuǎn)過程。順序編程的要點是步的激活與屏蔽,即下一個(多個)步被激活,上一個(多個)步被屏蔽。常用的方法有:
啟-保-停電路
置位-復(fù)位指令步0步1步2步3步4步5步的激活與屏蔽
步0步1步2步2步1啟-保-停電路當(dāng)某一步變?yōu)榛顒硬綍r,對應(yīng)的編程元件狀態(tài)為1,當(dāng)轉(zhuǎn)換條件滿足時,下一個步變?yōu)榛顒硬剑⑹贡静叫葜梗ň幊淘顟B(tài)為0)。由于轉(zhuǎn)換條件大都是短暫有效,因此應(yīng)使用有自鎖功能的程序段來維持代表步的編程元件的狀態(tài)為1。前級步為活動步轉(zhuǎn)換條件滿足步的激活與屏蔽續(xù)
步0步1置位和復(fù)位指令步0步1(三)順序控制繼電器(SCR)指令
基于SFC的編程方式它依據(jù)被控對象的順序功能圖進行編程將控制程序進行邏輯分段優(yōu)點:
編制的程序清晰、明了、統(tǒng)一性強、簡單、易學(xué)。編程效率高,調(diào)試方便。步之間轉(zhuǎn)換簡單,新激活的步序可以自動關(guān)閉前步序程序的功能。(三)順序控制繼電器(SCR)指令
LADSTL功能LSCRSbitSCRTSbitSCRE
SCR段的開始SCR段的轉(zhuǎn)移SCR段的結(jié)束操作數(shù)S為順序控制繼電器存儲器其編號為S0.0~S31.7,可以位、字節(jié)、字及雙字地址訪問但作為順控繼電器使用時只能為位地址訪問在一個SCR段中,必須有段開始和段結(jié)束指令(三)順序控制繼電器(SCR)指令
使用SCR指令進行順序編程時,采用順控繼電器(Sx.x)代表控制過程中的一個步序。步SCR指令的使用
SCR程序段段的開始段的結(jié)束段的轉(zhuǎn)換段的任務(wù)1.段開始指令(SCR/LSCRSbit)在LAD中,當(dāng)SCR程序段的S位置“1”時,允許該SCR程序段工作。在STL中,LSCR指令把S位的值裝載到SCR堆棧和邏輯堆棧棧頂。SCR堆棧的值決定該SCR段是否執(zhí)行,為1則執(zhí)行。
SCR段的開始2.段轉(zhuǎn)換指令SCRT執(zhí)行SCR程序段的轉(zhuǎn)換功能:①使當(dāng)前SCR程序段的S位復(fù)位,停止該SCR程序段工作;②使下一個SCR程序段S位置位,以便下一個SCR程序段工作。SCR段的轉(zhuǎn)換S0.1=0S0.2=1
3.段結(jié)束指令SCRE它使程序退出當(dāng)前的SCR程序段SCR程序段必須由SCRE指令結(jié)束
程序段的結(jié)束
(四)使用SCR指令的限制
同一地址的S位不可用于不同的程序分區(qū)在SCR段中不能使用的指令:跳轉(zhuǎn)指令JMP、LBL;循環(huán)指令FOR、NEXT;有條件結(jié)束指令END。段外可使用跳轉(zhuǎn)指令JMP、LBL;循環(huán)指令FOR、NEXT指令。(五)SCR指令的編程舉例
課題:根據(jù)舞臺燈光效果的要求,控制紅、綠、黃三色燈。要求:紅燈先亮,2秒后綠燈亮,再過3秒后黃燈亮。待紅、綠、黃燈全亮3分鐘后,全部熄滅。試用SCR指令設(shè)計其控制程序。(五)SCR指令的編程舉例
步(0~1)步2步3步4、停止此SCR段無段轉(zhuǎn)移指令思考?以上實例如何變成自動循環(huán)SM0.1SCR程序段的三個要素①輸出對象: 本步序的工作任務(wù)②轉(zhuǎn)換條件: 滿足什么條件后,可實現(xiàn)SCR段的轉(zhuǎn)換③轉(zhuǎn)換目標(biāo): 轉(zhuǎn)換到哪個步序去輸出對象轉(zhuǎn)換條件轉(zhuǎn)換目標(biāo)輸出對象!注意在輸出對象時可選用輸出指令實現(xiàn):普通輸出在本步序退出時輸出即停止置位輸出在本步序退出時輸出仍舊保持,直到在某個活動步序中安排有關(guān)復(fù)位指令為止八、移位寄存器指令(SHRB)移位寄存器指令可以進行順序控制、物流及數(shù)據(jù)流控制。LADSTL功能
SHRBDATA,S_BIT,N
把輸入端(DATA)的數(shù)值移入移位寄存器,并進行移位該移位寄存器位于哪個存儲區(qū)域及長度是由S-BIT和N決定的S-BIT指定移位寄存器的最低位N指定移位寄存器的長度和移位的方向N為正數(shù)表示正向移位(DATA數(shù)據(jù)從最低位S-BIT移入,最高位移出),N為負數(shù)表示反向移位(DATA數(shù)據(jù)從最高位移入,最低位S-BIT移出)SHRB指令移出的每一位都相繼被放在溢出位SM1.1中使用該指令時,每個掃描周期,整個移位寄存器將移動一位。I0.2移位寄存器最高有效位地址的計算計算:由最低有效位(S_BIT)和長度(N)計算最高有效位(MSB.b)的地址。計算公式:
字節(jié)MSB=S_BIT的字節(jié)號+[(|N|-1+S_BIT的位號)÷8]的商的整數(shù)部分
位b=[(|N|-1+S_BIT的位號)÷8]的商的余數(shù)部分
舉例:如果S_BIT是V22.5,N是8,那么:
MSB.b=V22+(8-1+5)÷8=V22+12÷8=V22+1(余數(shù)為4)=V23.4字節(jié)號位號■當(dāng)允許輸入端(EN)有效時:在EN端的每個上升沿時刻對DATA端采樣一次,把輸入端(DATA)的數(shù)值移入移位寄存器。使移位寄存器各位在每個掃描周期都移動一位。I0.2I0.2正向移位正向移位時,輸入數(shù)據(jù)從移位寄存器的最低有效位移入,從最高有效位移出BYTE型數(shù)據(jù)類型N≤64Bool型數(shù)據(jù)類型移出的數(shù)據(jù)送入溢出存儲器位(SM1.1)思考梯形圖中不用正跳變觸點指令行嗎?在I0.1的上升沿處開始,每隔一個掃描周期移位一次,且移位期間每次放入寄存器中的數(shù)總是同一個數(shù)例1:用PLC構(gòu)成噴泉的控制。用燈L1~L12分別代表噴泉的12個噴水注。(1)控制要求:按下起動按鈕后,隔燈閃爍,L1亮0.5秒后滅,接著L2亮0.5秒后滅,接著L3亮0.5秒后滅,接著L4亮0.5秒后滅,接著L5、L9亮0.5秒后滅,接著L6、L10亮0.5秒后滅,接著L7、L11亮0.5秒后滅,接著L8、L12亮0.5秒后滅,L1亮0.5秒后滅,如此循環(huán)下去,直至按下停止按鈕。I/O分配(常開)起動按鈕:I0.0(常閉)停止按鈕:I0.1L1:Q0.0L5、L9:Q0.4L2:Q0.1L6、L10:Q0.5L3:Q0.2L7、L11:
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國智能水份測定儀市場調(diào)查研究報告
- 2025年中國摩托車水晶轉(zhuǎn)向燈市場調(diào)查研究報告
- 2025年中國慣力車市場調(diào)查研究報告
- 個人轉(zhuǎn)讓車輛合同范例
- 內(nèi)蒙古平房買賣合同范例
- 2025年中國五妙水仙膏市場調(diào)查研究報告
- 2025年中國三/四翼軸式旋轉(zhuǎn)門市場調(diào)查研究報告
- 產(chǎn)品預(yù)留合同范例
- 買房用購房合同范例
- 企業(yè)并購合同范例
- 船舶輪機長常規(guī)命令
- 餐券模板(A4紙15張)
- DIN5480_德標(biāo)花鍵計算表格
- 急性腎盂腎炎護理查房ppt課件
- 脫水機房設(shè)備安裝方案
- 致愛麗絲鋼琴曲五線譜
- 初中物理命題雙向細目表(人教版)
- 氣體放電基礎(chǔ)分析
- 專業(yè)技術(shù)人員年度(任期)考核登記表
- 人際反應(yīng)指數(shù)量表
- 萜類及揮發(fā)油
評論
0/150
提交評論