中斷及高速處理指令_第1頁
中斷及高速處理指令_第2頁
中斷及高速處理指令_第3頁
中斷及高速處理指令_第4頁
中斷及高速處理指令_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第7章 中斷(zhngdun)及高速處理指令7.1 中斷(zhngdun)程序與中斷(zhngdun)指令 所謂中斷,是當(dāng)控制系統(tǒng)執(zhí)行正常程序時,系統(tǒng)中出現(xiàn)了某些急需處理的異常情況或特殊請求,這時系統(tǒng)暫時中斷現(xiàn)行程序,轉(zhuǎn)去對隨機(jī)發(fā)生的更緊迫事件進(jìn)行處理(執(zhí)行中斷服務(wù)程序),當(dāng)該事件處理完畢后,系統(tǒng)自動回到原來被中斷的程序繼續(xù)執(zhí)行。共四十六頁7.1.1 中斷(zhngdun)程序中斷程序必須由三部分構(gòu)成:中斷程序標(biāo)號(即中斷事件的編號)、中斷程序指令和無條件返回指令。在中斷程序中不能使用DISI、ENI、HDEF、LSCR和END指令。在主程序和中斷程序之間正確共享數(shù)據(jù)的編程技巧(jqio)有以

2、下3條:(1)STL程序共享單個變量(2)LAD程序共享單個變量(3)STL或LAD程序共享多個變量共四十六頁7.1.2 中斷(zhngdun)指令各種中斷(zhngdun)指令的LAD指令格式如圖7-1所示。LAD指令名稱及STL指令格式如表7-1所示,指令的有效操作數(shù)見表7-2。共四十六頁表7-1 中斷指令的LAD名稱(mngchng)及STL指令格式LADSTL描述RETICRETI從中斷程序有條件返回ENIENI允許中斷DISIDISI禁止中斷ATCHATCH INT, EVNT連接中斷事件和中斷程序DTCHDTCH EVNT斷開中斷事件和中斷程序的連接CLR_EVNTCEVNT EV

3、NT消除中斷事件共四十六頁表7-2 中斷(zhngdun)指令的有效操作數(shù)輸入/輸出數(shù)據(jù)類型操作數(shù)范圍INBYTE常數(shù)(027)EVNTBYTE常數(shù) CPU221和CPU222:012,1923和2733CPU224:023和2733 CPU224XP和CPU226:033共四十六頁1全局性的中斷允許指令(zhlng)與中斷禁止指令(zhlng)中斷允許指令(ENI,Enable Interrupt)全局性地允許所有被連接的中斷事件。禁止中斷指令(DISI,Disable Interrupt)全局性地禁止處理所有中斷事件,允許中斷排隊(duì)等候(dnghu),但是不允許執(zhí)行中斷程序,直到用全局中斷允

4、許指令ENI重新允許中斷。進(jìn)入RUN模式時自動禁止中斷。中斷程序有條件返回指令(CRETI,conditional Return from Interrupt)在控制它的邏輯條件滿足時從中斷程序返回。共四十六頁2中斷連接(linji)指令與中斷分離指令中斷連接指令(ATCH,Attach Interrupt)用來建立中斷事件EVNT(由中斷事件號指定)和處理(chl)此事件的中斷程序INT(由中斷程序號指定)之間的聯(lián)系,并使能該中斷事件。中斷分離指令(DTCH,Detach Interrupt)用來斷開中斷事件(EVNT)與中斷程序(INT)之間的聯(lián)系,并禁止該中斷事件。消除中斷事件指令(CE

5、VNT,Clear Event)從中斷隊(duì)列中清除所有EVNT類型的中斷事件。共四十六頁7.1.3 中斷(zhngdun)源1中斷源及種類中斷源是中斷事件向PLC發(fā)出中斷請求的來源。S7-200 CPU最多可以有34個中斷源,這些中斷源大致分為三大類:通信口中斷、輸入(shr)/輸出(I/O)中斷和時基中斷。(1)通信口中斷(2)I/O中斷I/O中斷包括上升沿中斷或下降沿中斷、高速計(jì)數(shù)器(HSC)中斷和脈沖串輸出(PTO)中斷。CPU可用輸入點(diǎn)I0.0I0.3的上升沿或下降沿產(chǎn)生中斷。共四十六頁【例7-1】在I0.0的上升(shngshng)沿通過中斷使Q0.0立即置位。在I0.1的下降沿通過中

6、斷使Q0.0立即復(fù)位。程序設(shè)計(jì)如圖7-2所示。共四十六頁(3)時基中斷(zhngdun)時基中斷(Timed Interrupt)包括定時中斷和定時器T32/T96中斷??捎枚〞r中斷來執(zhí)行一個周期性的操作,以1ms為增量單位,周期的時間可取(kq)lms255ms。對定時中斷0,必須把周期時間寫入SMB34;對定時中斷1,必須把周期時間寫入SMB35。定時中斷一旦被允許,中斷就會周期性地不斷產(chǎn)生,每當(dāng)定時時間到時,就會執(zhí)行被連接的中斷程序。如果退出RUN狀態(tài)或定時中斷被分離,定時中斷被禁止。如果執(zhí)行了全局中斷禁止指令,定時中斷事件仍會連續(xù)出現(xiàn),每個定時中斷事件都會進(jìn)入中斷隊(duì)列,直到中斷隊(duì)列滿。

7、共四十六頁【例7-2】定時中斷的定時時間最長為255ms,用定時中斷1實(shí)現(xiàn)周期為2s的高精度定時。為了實(shí)現(xiàn)周期為2s的高精度周期性操作的定時,將定時中斷的定時時間間隔設(shè)為250ms,在定時中斷1的中斷程序中,將VB0加1,然后用比較觸點(diǎn)指令“LD=”判斷VB0是否等于8。若相等(中斷了8次,對應(yīng)的時間間隔為2s),在中斷程序中執(zhí)行每2s一次的操作,例如采集模擬量輸入的數(shù)值和使QB0加1,程序設(shè)計(jì)如圖7-3所示。對于定時間隔不同(b tn)的任務(wù),可以計(jì)算出它們的定時時間的最大公約數(shù),以此作為定時中斷的預(yù)置時間。在中斷程序中對中斷事件進(jìn)行計(jì)數(shù),根據(jù)計(jì)數(shù)值來處理不同(b tn)的任務(wù)。共四十六頁共

8、四十六頁2中斷(zhngdun)優(yōu)先級給中斷源指定處理的次序就是給中斷源確定中斷優(yōu)先級。中斷按以下固定的優(yōu)先級順序執(zhí)行:通信(tng xn)(最高優(yōu)先級)、IO中斷和定時中斷(最低優(yōu)先級)。在上述3個優(yōu)先級范圍內(nèi),CPU按照先來先服務(wù)的原則處理中斷,任何時刻只能執(zhí)行一個用戶中斷程序。3個中斷隊(duì)列及其能保存的最大中斷個數(shù)如表7-4所示。 如果發(fā)生中斷過于頻繁,使中斷產(chǎn)生的速率比可處理的速率快,或中斷被DISI指令禁止,中斷隊(duì)列溢出狀態(tài)位被置1,如表7-5所示。只應(yīng)在中斷程序中使用這些位,因?yàn)楫?dāng)隊(duì)列變空或返回主程序時,這些位會被復(fù)位。共四十六頁隊(duì)列CPU221、CPU222、CPU224CPU22

9、4XP、CPU226通信中斷隊(duì)列4IO中斷隊(duì)列16定時中斷隊(duì)列8表7-4各中斷(zhngdun)隊(duì)列的最大中斷(zhngdun)個數(shù)描述(0=不溢出,1=溢出)SM位通信中斷隊(duì)列溢出SM4.0IO中斷隊(duì)列溢出SM4.1定時中斷隊(duì)列溢出SM4.2表7-5 中斷隊(duì)列(duli)溢出標(biāo)志位共四十六頁3中斷(zhngdun)控制經(jīng)過中斷判優(yōu)后,將優(yōu)先級最高的中斷請求送給CPU,CPU響應(yīng)中斷后自動保存邏輯堆棧、累加器和某些特殊標(biāo)志寄存器位,即保護(hù)現(xiàn)場。中斷處理完成后,又自動恢復(fù)這些單元(dnyun)保存起來的數(shù)據(jù),即恢復(fù)現(xiàn)場。共四十六頁7.2 高速處理(chl)指令高速處理指令有高速計(jì)數(shù)指令和高速脈沖

10、(michng)輸出指令兩類。7.2.1 高速計(jì)數(shù)操作指令高速計(jì)數(shù)器HSC(High Speed Counter)用來累計(jì)比PLC掃描頻率高得多的脈沖輸入(30kHz),利用產(chǎn)生的中斷事件完成預(yù)定的操作。PLC的普通計(jì)數(shù)器的計(jì)數(shù)過程與掃描工作方式有關(guān)。共四十六頁1編碼器編碼器每圈發(fā)出一定數(shù)量的計(jì)數(shù)時鐘脈沖和一個復(fù)位脈沖,作為高速計(jì)數(shù)器的輸入。高速計(jì)數(shù)器有一組預(yù)置值,開始運(yùn)行時裝入第一個預(yù)置值,當(dāng)前(dngqin)計(jì)數(shù)值小于當(dāng)前(dngqin)預(yù)置值時,設(shè)置的輸出有效。當(dāng)前(dngqin)計(jì)數(shù)值等于預(yù)置值或有外部復(fù)位信號時,產(chǎn)生中斷。發(fā)生當(dāng)前(dngqin)計(jì)數(shù)值等于預(yù)置值的中斷時,裝載入新的預(yù)

11、置值,并設(shè)置下一階段的輸出。有復(fù)位中斷事件發(fā)生時,設(shè)置第一個預(yù)置值和第一個輸出狀態(tài),循環(huán)又重新開始。用高速計(jì)數(shù)器可實(shí)現(xiàn)高速運(yùn)動的精確控制。共四十六頁編碼器分為以下2種類型:(1)增量式編碼器根據(jù)(gnj)輸出信號的個數(shù),有3種增量式編碼器:1)單通道增量式編碼器2)雙通道增量式編碼器3)三通道增量式編碼器共四十六頁共四十六頁(2)絕對(judu)式編碼器N位絕對式編碼器有N個碼道,最外層的碼道對應(yīng)編碼的最低位。每一碼道有一個光電耦合器,用來讀取該碼道的0、1數(shù)據(jù)。絕對式編碼器輸出的N位二進(jìn)制數(shù)反映了運(yùn)動物體所處的絕對位置,根據(jù)位置的變化情況,可以判別出旋轉(zhuǎn)的方向。共四十六頁2高速計(jì)數(shù)器的工作模

12、式(msh)與外部輸入信號(1)高速計(jì)數(shù)器的工作模式 高速計(jì)數(shù)器的工作模式分為下面的4大類:1)無外部方向輸入信號的單相加減計(jì)數(shù)器(即帶有內(nèi)部方向控制(kngzh)的單相計(jì)數(shù)器)(模式02)2)有外部方向輸入信號的單相加減計(jì)數(shù)器(模式35)3)有加計(jì)數(shù)時鐘脈沖和減計(jì)數(shù)時鐘脈沖輸入的雙相計(jì)數(shù)器(模式68)4)AB相正交計(jì)數(shù)器(模式911)共四十六頁共四十六頁(2)高速計(jì)數(shù)器的外部(wib)輸入信號各計(jì)數(shù)器有專用的時鐘脈沖、方向控制、復(fù)位(f wi)及啟動輸入端子,有的計(jì)數(shù)器只有部分輸入端子。各高速計(jì)數(shù)器的外部輸入信號如表7-6和表7-7所示。只有CPU224、CPU226和CPU226XM有HS

13、C1和HSC2。共四十六頁表7-7 HSC1和HSC2的外部(wib)輸入信號HSC1HSC2模 式I0.6I0.7I1.0I1.1I1.2I1.3I1.4I1.50時鐘時鐘1時鐘復(fù)位時鐘復(fù)位2時鐘復(fù)位啟動時鐘復(fù)位啟動3時鐘方向時鐘方向4時鐘方向復(fù)位時鐘方向復(fù)位5時鐘方向復(fù)位啟動時鐘方向復(fù)位啟動6加時鐘減時鐘加時鐘減時鐘7加時鐘減時鐘復(fù)位加時鐘減時鐘復(fù)位8加時鐘減時鐘復(fù)位啟動加時鐘減時鐘復(fù)位啟動9A相時鐘B相時鐘A相時鐘B相時鐘10A相時鐘B相時鐘復(fù)位A相時鐘B相時鐘復(fù)位11A相時鐘B相時鐘復(fù)位啟動A相時鐘B相時鐘復(fù)位啟動共四十六頁(3)高速計(jì)數(shù)器的中斷事件類型高速計(jì)數(shù)器的中斷事件大致可分為三

14、種方式(1)所有的計(jì)數(shù)器模式都會在當(dāng)前值等于預(yù)置值時產(chǎn)生中斷;(2)使用外部復(fù)位端的計(jì)數(shù)模式支持(zhch)外部復(fù)位中斷;(3)除去模式0、1和2之外,所有計(jì)數(shù)器模式都支持計(jì)數(shù)方向改變中斷(參見圖7-7)。每種中斷條件都可以分別使能或者禁止。當(dāng)使用外部復(fù)位中斷時,不要寫入初始值,或者是在該中斷服務(wù)程序中先禁止再允許高速計(jì)數(shù)器工作,否則會產(chǎn)生一個致命錯誤。共四十六頁3高速(o s)計(jì)數(shù)器指令高速計(jì)數(shù)器指令有兩條:高速計(jì)數(shù)器定義指令(HDEF)和高速計(jì)數(shù)器指令(HSC)。其LAD及STL指令格式如圖7-7所示,指令的有效操作數(shù)見表7-8。(1)高速計(jì)數(shù)器定義指令(HDEF):為指定的高速計(jì)數(shù)器(H

15、SC)設(shè)置(shzh)一種工作模式,即用來建立高速計(jì)數(shù)器與工作模式之間的聯(lián)系,模式的選擇決定了高速計(jì)數(shù)器的時鐘方向、啟動和復(fù)位功能。(2)高速計(jì)數(shù)器指令(HSC):根據(jù)高速計(jì)數(shù)器特殊存儲器位的狀態(tài),并按照HDEF指令指定的工作模式,設(shè)置高速計(jì)數(shù)器并控制其工作。共四十六頁共四十六頁4高速計(jì)數(shù)器相關(guān)(xinggun)的特殊存儲器(1)高速(o s)計(jì)數(shù)器的狀態(tài)字節(jié) 每個高速計(jì)數(shù)器都有一個狀態(tài)字節(jié),給出了當(dāng)前計(jì)數(shù)方向和當(dāng)前值是否大于或等于預(yù)置值,如表7-9所示。(2)高速計(jì)數(shù)器的控制字節(jié) 只有定義了高速計(jì)數(shù)器和它的計(jì)數(shù)模式,才能對高速計(jì)數(shù)器的動態(tài)參數(shù)進(jìn)行編程。共四十六頁共四十六頁共四十六頁圖7-8中

16、所示的復(fù)位(f wi)和啟動操作適用于使用復(fù)位(f wi)和啟動輸入的所有模式。圖中復(fù)位(f wi)輸入和啟動輸入都被編程為高電平有效。共四十六頁(3)初始值和預(yù)置(y zh)值的設(shè)置各高速計(jì)數(shù)器均有一個32位的預(yù)置值和一個32位的初始值,預(yù)置值和初始值均為有符號雙字整數(shù)。高速計(jì)數(shù)器的當(dāng)前值可以用存儲器類型標(biāo)志符HC(高速計(jì)數(shù)器當(dāng)前值)后面跟高速計(jì)數(shù)器編號(bin ho)(HCx的格式,x=05)的格式讀出,高速計(jì)數(shù)器的當(dāng)前值為只讀數(shù)據(jù)。共四十六頁5高速(o s)計(jì)數(shù)器的程序設(shè)計(jì)對高速計(jì)數(shù)器編程的步驟如下:(1)定義高速計(jì)數(shù)器選擇工作模式;(2)設(shè)置控制(kngzh)字節(jié);(3)設(shè)置初始值和預(yù)

17、置值;(4)執(zhí)行HDEF指令;(5)指定并使能中斷服務(wù)程序;(6)啟動高速計(jì)數(shù)器。共四十六頁7.2.2 脈沖輸出(shch)指令1脈沖輸出指令脈沖輸出指令(PLS)用于在高速輸出點(diǎn)(Q0.0或Q0.1)上實(shí)現(xiàn)脈沖串(PTO)和脈寬調(diào)制(PWW)兩種方波輸出功能。1).脈沖串(PTO)功能提供周期與脈沖數(shù)目可由用戶控制的方波(50占空比)輸出,脈沖寬度與脈沖周期之比稱為(chn wi)占空比。2).脈沖寬度調(diào)制(PWM,簡稱為脈寬調(diào)制)功能提供連續(xù)的、周期與脈沖寬度可由用戶控制的輸出。共四十六頁共四十六頁2脈沖寬度(kund)調(diào)制(PWM)操作PWM功能提供可變占空比的脈沖(michng)輸出,

18、如圖7-11(a)所示PWM的高頻輸出波形進(jìn)濾波后可以得到與占空比成正比的模擬量輸出電壓??捎孟率龅膬煞N方法改變PWM波形的特性:(1)同步更新(2)異步更新共四十六頁3脈沖(michng)串(PTO)操作PTO功能生成指定脈沖數(shù)目和周期的方波(占空比為50)脈沖串,如圖7-11(b)所示。如果周期小于兩個時間單位,周期被默認(rèn)為兩個時間單位。如果指定的脈沖數(shù)為0,則脈沖數(shù)默認(rèn)為1。PTO功能允許脈沖串“鏈接(lin ji)”或者“排隊(duì)”,形成管線有兩種管線方式:單段管線和多段管線。共四十六頁(1)單段管線在單段流水線中,需要為下一脈沖列更新特殊寄存器SM。啟動了初始PTO段后,必須按照第二段波

19、形的要求立即修改SM,并再次執(zhí)行PLS指令。(2)多段管線在多段流水線中,CPU自動從V存儲器區(qū)的包絡(luò)表中讀取各脈沖串段的特性。該模式下僅使用特殊存儲器區(qū)的控制字節(jié)和狀態(tài)字節(jié)。包絡(luò)表如表7-13所示,多段PTO的另一特點(diǎn)是可以通過編程的方式以指定的脈沖數(shù)自動增加或減少周期。(3)包絡(luò)表中數(shù)據(jù)(shj)的計(jì)算共四十六頁共四十六頁4開環(huán)運(yùn)動(yndng)控制(1)開環(huán)位置控制的一些基本概念1)最大速度與啟動/停止速度MAX_SPEED是運(yùn)行速度的最大值,它應(yīng)在電動機(jī)轉(zhuǎn)矩允許的范圍內(nèi),驅(qū)動負(fù)載所需的轉(zhuǎn)矩由摩擦力、慣性以及加速/減速時間決定。SS_SPEED通常是MAX_SPEED的5%15%。圖7-

20、13中的MIN_SPEED是最低速度。共四十六頁2)包絡(luò)包絡(luò)是一個預(yù)先定義的以位置為橫坐標(biāo)、以速度為縱坐標(biāo)的曲線(qxin),包絡(luò)是運(yùn)動的圖形描述。PTO支持兩種操作模式,即相對位置模式和單速連續(xù)轉(zhuǎn)動模式。3)包絡(luò)中的步包絡(luò)中的1步是包括加速時間或減速時間的工件運(yùn)動的一個固定距離,PTO的一個包絡(luò)最多允許29個步。共四十六頁(2)開環(huán)運(yùn)動控制與位置控制向?qū)7-200提供(tgng)了3種開環(huán)運(yùn)動控制方式:1)內(nèi)置的脈寬調(diào)制(PWM),用于速度、位置或占空比控制。2)內(nèi)置的脈沖串輸出(PTO),用于速度和位置的控制。3)使用EM253位置控制模塊控制速度和位置。共四十六頁5PTO/PWM操作的設(shè)置與控制表7-15給出PTO/PWM控制寄存器與有關(guān)的特殊存儲器。影響狀態(tài)字節(jié)的操作有:(1)狀態(tài)字節(jié)(SM66.7或SM76.7)中的

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論