第8章 程序控制類指令設(shè)計(jì)_第1頁
第8章 程序控制類指令設(shè)計(jì)_第2頁
第8章 程序控制類指令設(shè)計(jì)_第3頁
第8章 程序控制類指令設(shè)計(jì)_第4頁
第8章 程序控制類指令設(shè)計(jì)_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第8章程序控制類指令程序設(shè)計(jì)8.1主控指令及其應(yīng)用8.3跳轉(zhuǎn)指令及其應(yīng)用8.2看門狗指令及其應(yīng)用8.4子程序指令8.5中斷指令及其應(yīng)用8.6循環(huán)指令8.7程序控制指令實(shí)訓(xùn)8.1主控指令及其應(yīng)用MC/MCR指令屬于基本指令,但對程序結(jié)構(gòu)有影響。8.2看門狗指令及其應(yīng)用看門狗指令WDT是用來檢測程序有無死機(jī)的指令,對應(yīng)D8000作為監(jiān)視定時器,初始設(shè)定值為200ms。程序中加入看門狗指令后,如果在D8000設(shè)定時間內(nèi)沒有完成一次掃描,則認(rèn)為死機(jī),系統(tǒng)通過重啟動恢復(fù)運(yùn)行。CJ跳轉(zhuǎn)、FOR/NEXT循環(huán)等,可能導(dǎo)致程序執(zhí)行時間過長,可以在程序中加上WDT指令,監(jiān)視定時器復(fù)位。未出現(xiàn)死機(jī),每次掃描結(jié)束監(jiān)視定時器D8000將重新計(jì)時,可通過程序段調(diào)整監(jiān)視定時器的設(shè)定值。8.3跳轉(zhuǎn)指令及其應(yīng)用跳轉(zhuǎn)指令是用來跳過暫且不執(zhí)行的程序段,轉(zhuǎn)去執(zhí)行其它程序段的指令。它改變了原掃描周期和程序執(zhí)行順序。8.3.1跳轉(zhuǎn)指令說明及對掃描過程的影響當(dāng)X0置1,跳轉(zhuǎn)指令CJP1執(zhí)行條件滿足,將跳至標(biāo)號P1處,僅執(zhí)行該梯形圖中X5后面的程序。跳轉(zhuǎn)指令意義:在滿足跳轉(zhuǎn)條件X0為ON之后的各個掃描周期中,PLC將不再掃描執(zhí)行跳轉(zhuǎn)指令CALLP1與跳轉(zhuǎn)指針P1間的程序,跳到以指針P1為入口的程序段執(zhí)行。直到跳轉(zhuǎn)條件不再滿足,停止跳轉(zhuǎn)。8.3.2跳轉(zhuǎn)程序段中元器件的工作狀態(tài)程序段中的輸出繼電器、輔助繼電器、狀態(tài)寄存器,工作狀態(tài)保持跳轉(zhuǎn)發(fā)生前的狀態(tài)不變。8.3.2跳轉(zhuǎn)程序段中元器件的工作狀態(tài)程序段中的時間繼電器、計(jì)數(shù)器,當(dāng)前值保持不變;跳轉(zhuǎn)中止后計(jì)時、計(jì)數(shù)繼續(xù)進(jìn)行8.3.3使用跳轉(zhuǎn)指令的要點(diǎn)在同一程序中因跳轉(zhuǎn)而不會被同時執(zhí)行的同一線圈,不被視為雙線圈8.3.3使用跳轉(zhuǎn)指令的要點(diǎn)可以有多條跳轉(zhuǎn)指令使用同一標(biāo)號8.3.3使用跳轉(zhuǎn)指令的要點(diǎn)標(biāo)號一般設(shè)在相關(guān)的跳轉(zhuǎn)指令之后,也可以設(shè)在跳轉(zhuǎn)指令之前。但要注意防止造成死循環(huán)8.3.4跳轉(zhuǎn)指令的應(yīng)用及實(shí)例同一套設(shè)備在不同的條件下,有兩種工作方式,需運(yùn)行兩套不同程序時可用跳轉(zhuǎn)指令。圖8-11編排兩段程序,手動為

B段,自動為A段。設(shè)立一個手動B段/自動A段轉(zhuǎn)換開關(guān)對程序段進(jìn)行選。圖8-118.4子程序指令8.4.1子程序指令的使用要素子程序是為一定控制目編制的相對獨(dú)立的程序,排在主程序結(jié)束的FEND后8.4.2子程序的執(zhí)行過程當(dāng)X01、X03或X05置1,執(zhí)行子程序調(diào)用指令CALLP10,執(zhí)行P10子程序,遇到SRET后返回繼續(xù)執(zhí)行原程序,相當(dāng)于在其中加入了一段程序。8.4.3子程序應(yīng)用實(shí)例數(shù)據(jù)處理程序,要求:

將D9-D0中的數(shù)按由大到小排序,再將D8-D1進(jìn)行平均。得出的值放到D10去。8.5中斷指令及其應(yīng)用8.5.1中斷指令說明中斷指令用于實(shí)現(xiàn)中斷功能,即是在主程序執(zhí)行過程中遇到中斷條件,轉(zhuǎn)去執(zhí)行中斷程序,完成后繼續(xù)執(zhí)行原程序的過程。8.5.1中斷指令說明中斷程序特點(diǎn):中斷是由外部(內(nèi)部)條件隨機(jī)地向CPU發(fā)出請求,要求響應(yīng)時間小于機(jī)器掃描周期、或者定時工作時使用。

中斷源:能夠觸發(fā)PLC中斷的中斷源,F(xiàn)X2N有外部(端口)、定時器和(外部)計(jì)數(shù)器。外部中斷為X0-X5。為不同中斷規(guī)定了中斷標(biāo)號:外部中斷定時器中斷中斷標(biāo)號:I

□0□

中斷標(biāo)號:I□

□□10~99ms中斷封鎖輔助繼電器M8050~M8055中斷封鎖輔助繼電器M8056~M80588.5.1中斷指令說明外部中斷從輸入端子送入,用于外部突發(fā)事件執(zhí)行;定時中斷用于周期性工作場合。PLC默認(rèn)處于禁止中斷狀態(tài),用EI允許,可通過M8050-M8058控制各中斷是否允許響應(yīng)。根據(jù)號數(shù)由小到大決定中斷優(yōu)先順序。

一次中斷請求中斷程序一般僅能執(zhí)行一次。

8.5.2中斷指令的應(yīng)用實(shí)例例1:分析帶有外部中斷子程序梯形圖程序的動作過程。圖8-19主程序運(yùn)行到EI到DI間時允許中斷,X1控制M8050決定是否允許X0端口的中斷執(zhí)行。當(dāng)X1=0,X0出現(xiàn)1次上升沿,執(zhí)行一次I1開頭的中斷程序,執(zhí)行完返回主程序。中斷程序的內(nèi)容常用M8000作為驅(qū)動條件。例2:一段試驗(yàn)性質(zhì)的時間中斷子程序。8.5.2中斷指令的應(yīng)用實(shí)例當(dāng)X17為ON時,每隔50ms執(zhí)行一次中斷程序,D0加1;當(dāng)加到1000時使Y2置1。在主程序段中設(shè)有時間繼電器T0,控制Y1作為對照。當(dāng)X20由ON至OFF并經(jīng)歷50s后,Y1及Y2應(yīng)同時置1。8.5.3輸入輸出有關(guān)指令——輸入輸出刷新REF為了發(fā)揮中斷程序及時反應(yīng)的優(yōu)勢,提供了REF輸入輸出刷新指令,用于需要最新的輸入信息以及希望立即輸出運(yùn)算結(jié)果的場合?!纠?.4】輸入X0為ON時,快速驅(qū)動Y0為ON,X0為OFF,則Y0快速為OFF。利用X0上升沿和下降沿兩個中斷,使得程序進(jìn)入中斷程序,上升沿置1,下降沿清0,然后刷新輸出。8.6循環(huán)指令8.6.1程序循環(huán)指令的要素由FOR及NEXT二條指令構(gòu)成。這兩條指令總是成對出現(xiàn)【例8.5】當(dāng)X0為ON,計(jì)算D0-D99的8位的累加和,所有寄存器需將高位移至低位,而低位運(yùn)算時需屏蔽高位,將最后2個字(8位),作檢驗(yàn)碼用,送入D100中,試編程實(shí)現(xiàn)。8.7PLC結(jié)構(gòu)指令電路的實(shí)訓(xùn)8.7.1實(shí)訓(xùn)項(xiàng)目內(nèi)容1:圖8-22接線,SB1-SB4、SB6、SB7為按鈕,并接入接線并調(diào)試程序。編寫如【例8.2】的程序并進(jìn)行調(diào)試,測試中斷時間與普通的定時器的一致性。內(nèi)容2:編寫一個向后跳轉(zhuǎn)程序,跳轉(zhuǎn)前Y0為ON,跳轉(zhuǎn)中Y1為ON,跳轉(zhuǎn)后Y2為ON。測試觀察什么情況?內(nèi)容3:編寫一個含F(xiàn)OR/NEXT指令的應(yīng)用程序,或編制嵌套程序,并測試循環(huán)掃描時間,分別測試循環(huán)程序運(yùn)行時間小于循環(huán)掃描時間,循環(huán)程序運(yùn)行時間大于循環(huán)掃描時間,再修改循環(huán)掃描時間。內(nèi)容4:重新設(shè)計(jì)機(jī)械手程序,定義并設(shè)計(jì)一個自動程序和一個手動程序。內(nèi)容5:設(shè)計(jì)一個急停的中斷按鈕,并用輸出刷新立即輸出。8.7.2實(shí)訓(xùn)思考題1、用中斷時間計(jì)數(shù),普通的定時器做同值得輸出脈沖計(jì)數(shù),哪一個更準(zhǔn)。2、編寫一個向后跳轉(zhuǎn)程序,做一個D0-D99的平均數(shù)計(jì)算,在一個掃描周期里做完。3、編寫一個含F(xiàn)OR/NEXT指令的應(yīng)用程序,做D0-D99的冒泡程序(把其中最大的數(shù)挑出來)。本章小結(jié)常見的程序結(jié)構(gòu)類型有以下幾種。1.簡單結(jié)構(gòu)也稱線性結(jié)構(gòu)。指令平鋪直述地寫下來,執(zhí)行時也是平鋪直述地運(yùn)

溫馨提示

  • 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

提交評論