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