電氣控制 第5章 -3_第1頁(yè)
電氣控制 第5章 -3_第2頁(yè)
電氣控制 第5章 -3_第3頁(yè)
電氣控制 第5章 -3_第4頁(yè)
電氣控制 第5章 -3_第5頁(yè)
已閱讀5頁(yè),還剩24頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、1、有條件結(jié)束指令 END5.3.6 程序控制指令是有條件結(jié)束指令,根據(jù)前面的邏輯關(guān)系,終止用戶主程序,并返回主程序起始點(diǎn),它只能用于主程序,不能用于子程序和中斷程序。如左圖,當(dāng)I0.0接通,結(jié)束主程序。STEP7 自動(dòng)在主程序中增加無(wú)條件結(jié)束指令(MEND)2 暫停指令 STOP功能是使CPU立即終止程序執(zhí)行,強(qiáng)迫CPU從RUN方式轉(zhuǎn)為STOP方式。如果暫停指令在中斷程序中執(zhí)行,該中斷立即停止,但繼續(xù)掃描主程序剩余部分,直至本次掃描完成終止程序的執(zhí)行例:下圖程序中,I0.0接通Q0.0有輸出。若I0.1接通,Q0.0仍保持接通,但不會(huì)執(zhí)行以下的程序,并返回主程序的起點(diǎn)。若I0.1斷開(kāi),I0.

2、2接通則Q0.1有輸出,若I0.3接通,則Q0.0,Q0.1均復(fù)位,CPU轉(zhuǎn)為STOP方式。3、監(jiān)視定時(shí)器復(fù)位指令 WDR跳轉(zhuǎn)及標(biāo)號(hào)指令成對(duì)出現(xiàn)在程序中跳轉(zhuǎn)指令(JMP)可使程序流程轉(zhuǎn)移到同一程序中指定的標(biāo)號(hào)(n)處。標(biāo)號(hào)指令(LBL)是使程序跳轉(zhuǎn)到指定的目標(biāo)位置(n)。4、跳轉(zhuǎn)與標(biāo)號(hào)指令 JMP、LBL例:右圖程序執(zhí)行順序是,當(dāng)JMP條件滿足,(即I0.0為ON)程序跳轉(zhuǎn)執(zhí)行LBL標(biāo)號(hào)后的指令,即使I0.1接通Q0.1也不會(huì)有輸出。JMP條件不滿足時(shí),當(dāng)I0.1接通,Q0.1有輸出。注意:1、跳轉(zhuǎn)和標(biāo)號(hào)指令可以用在主程序、子程序及中斷程序中,但不能從主程序跳到子程序和中斷程序,同樣也不能從子

3、程序或中斷程序跳出。操作數(shù)n:0255。 2、執(zhí)行跳轉(zhuǎn)后,被跳過(guò)程序段中各元件的狀態(tài)各有不同 :Q、M、S、C等保持跳轉(zhuǎn)前的位狀態(tài)FOR和NEXT之間的程序段稱為循環(huán)體,每執(zhí)行一次循環(huán)體,當(dāng)前計(jì)數(shù)值增1 ,并且將其結(jié)果同終值比較,如果大于終值,則終止循環(huán)。循環(huán)指令可嵌套,最多8層5、循環(huán)指令 FOR和NEXTFOR:循環(huán)開(kāi)始指令,用來(lái)標(biāo)記 循環(huán)體的開(kāi)始。NEXT:循環(huán)結(jié)束指令,表示循環(huán)體結(jié)束,無(wú)操作數(shù)INDX為當(dāng)前循環(huán)計(jì)數(shù)器。執(zhí)行循環(huán)指令時(shí),必須指定初值(INIT)和終值(FINAL)。如:給定INIT為1,F(xiàn)INAL為10,那么隨著當(dāng)前計(jì)數(shù)值INDX從1增加到10,F(xiàn)OR和NEXT之間指令被

4、執(zhí)行10次。指令格式:FOR INDX,INIT,F(xiàn)INALNEXT例:右圖,當(dāng)I0.0為ON時(shí),所示的外循環(huán)執(zhí)行2次,由VW100累積循環(huán)次數(shù)。當(dāng)I0.1為ON時(shí),外循環(huán)每執(zhí)行1次,所示的內(nèi)循環(huán)執(zhí)行3次,由VW110累計(jì)循環(huán)次數(shù)。1)建立子程序通過(guò)編程軟件完成,2)子程序調(diào)用和返回 CALL6、子程序調(diào)用與返回指令對(duì)一些需要經(jīng)常執(zhí)行的程序段,可以設(shè)計(jì)成子程序的形式,每個(gè)子程序賦予不同的編號(hào),在程序執(zhí)行過(guò)程中,可隨時(shí)調(diào)用某個(gè)編號(hào)的子程序。子程序調(diào)用指令CALL的功能是將程序執(zhí)行轉(zhuǎn)移到編號(hào)為n的子程序。子程序入口用SBR n表示,在子程序執(zhí)行過(guò)程中,如果條件返回指令CRET條件滿足,則結(jié)束該子程

5、序,返回到原調(diào)用處繼續(xù)執(zhí)行,否則,執(zhí)行子程序到最后一條,這時(shí)執(zhí)行無(wú)條件返回指令RET,結(jié)束子程序的運(yùn)行,返回到原調(diào)用處。3)子程序調(diào)用的特點(diǎn)在子程序(n)調(diào)用過(guò)程中,CPU把程序控制權(quán)交給子程序(n),系統(tǒng)將當(dāng)前邏輯堆棧的數(shù)據(jù)自動(dòng)保存,并將棧頂置1,堆棧中的其它數(shù)據(jù)置0。當(dāng)子程序結(jié)束后,通過(guò)返回指令自動(dòng)恢復(fù)原來(lái)邏輯堆棧的數(shù)據(jù)。把程序控制權(quán)重新交給原調(diào)用程序。允許嵌套調(diào)用,深度為8層。1、高速計(jì)數(shù)器指令5.3.7 特殊指令高速計(jì)數(shù)器處理比掃描頻率高的輸入信號(hào)的任務(wù)。常用于電動(dòng)機(jī)的轉(zhuǎn)速檢測(cè)場(chǎng)合1) 高速計(jì)數(shù)器的狀態(tài)字節(jié) 為了監(jiān)視高速計(jì)數(shù)器的工作狀態(tài),執(zhí)行由高速計(jì)數(shù)器引起的中斷事件,每個(gè)高速計(jì)數(shù)器在

6、特殊繼電器區(qū)SMB安排一個(gè)狀態(tài)字節(jié)。2) 高速計(jì)數(shù)器的工作模式 每個(gè)高速計(jì)數(shù)器都有多種工作模式,可通過(guò)編程使用定義高速計(jì)數(shù)器指令HDEF來(lái)選定工作模式。下面以HC1為例說(shuō)明高速計(jì)數(shù)器的工作模式。具有內(nèi)部方向控制的單相增/減計(jì)數(shù)器具有外部方向控制的單相增/減計(jì)數(shù)器具有增/減計(jì)數(shù)脈沖輸入端的雙相計(jì)數(shù)器A/B相正交計(jì)數(shù)器 外部輸入I0.6是A相脈沖輸入,I0.7是B相脈沖輸入。當(dāng)A相脈沖超前B相脈沖90時(shí),計(jì)數(shù)方向?yàn)檫f增計(jì)數(shù),當(dāng)B相脈沖超前A相脈沖90時(shí),計(jì)數(shù)方向?yàn)檫f減計(jì)數(shù)。正交計(jì)數(shù)器有兩種工作狀態(tài):計(jì)數(shù)倍率為1計(jì)數(shù)倍率為43) 高速計(jì)數(shù)器指令定義高速計(jì)數(shù)器指令HDEF 每個(gè)高速計(jì)數(shù)器使用前,都要用

7、HDEF指令來(lái)定義工作模式。HSC端指定編號(hào):05,MODE端指定工作模式號(hào):011執(zhí)行高速計(jì)數(shù)器指令HSC 該指令是根據(jù)與高速計(jì)數(shù)器相關(guān)的特殊繼電器確定的控制方式和工作狀態(tài),使高速計(jì)數(shù)器的設(shè)置有效,安照指定的工作模式執(zhí)行操作。N端指定計(jì)數(shù)器編號(hào):05,當(dāng)EN有效時(shí),啟動(dòng)N號(hào)高速計(jì)數(shù)器工作。4) 高速計(jì)數(shù)器的控制字節(jié) 每個(gè)高速計(jì)數(shù)器對(duì)應(yīng)一個(gè)特殊繼電器的控制字節(jié),通過(guò)對(duì)控制字節(jié)指定位的編程,確定高速計(jì)數(shù)器的工作方式。5)高速計(jì)數(shù)器的當(dāng)前值寄存器和設(shè)定值寄存器6)高速計(jì)數(shù)器的初始化 一般以子程序的形式進(jìn)行初始化,下面以HC1為例,介紹初始化的步驟。利用SM0.1調(diào)用一個(gè)初始化子程序。在初始化子程序

8、中,根據(jù)需要向SMB47裝入控制字節(jié),例如SMB47=16#F8,其意義是:允許計(jì)數(shù),允許寫入新的當(dāng)前值,允許寫入新的設(shè)定值,計(jì)數(shù)方向?yàn)樵鲇?jì)數(shù),啟動(dòng)和復(fù)位信號(hào)均為高電平有效。執(zhí)行HDEF指令,其輸入?yún)?shù)為:HSC端為1(選擇1號(hào)高速計(jì)數(shù)器),MODE端為011中的一個(gè)數(shù),對(duì)應(yīng)12個(gè)工作模式中的一個(gè)。將希望的當(dāng)前計(jì)數(shù)值裝入SMD48(裝入0可進(jìn)行計(jì)數(shù)器清0操作)將希望的設(shè)定值裝入SMD52。如果希望捕獲當(dāng)前值等于設(shè)定值的中斷事件,編寫中斷事件號(hào)13相關(guān)聯(lián)的中斷服務(wù)程序。執(zhí)行ENI(全局開(kāi)中斷)指令。執(zhí)行HSC指令。退出初始化子程序。7)高速計(jì)數(shù)器應(yīng)用舉例 某產(chǎn)品包裝生產(chǎn)線應(yīng)用高速計(jì)數(shù)器對(duì)產(chǎn)品進(jìn)行

9、累計(jì)和包裝。每檢測(cè)到1000個(gè),自動(dòng)啟動(dòng)包裝機(jī)包裝。計(jì)數(shù)方向可由外部信號(hào)控制。設(shè)計(jì)步驟:選擇高速計(jì)數(shù)器,確定工作模式。 本例選擇HC0,工作模式3,采用當(dāng)前值等于設(shè)定值的中斷事件,中斷事件號(hào)12,啟動(dòng)包裝機(jī)工作子程序。用SM0.1調(diào)用初始化子程序SBR_1寫入控制字SMB37=16#F8執(zhí)行HDEF指令,輸入?yún)?shù)HSC為0,MODE為3.寫入當(dāng)前值SMD38=0。寫入設(shè)定值SMD42=1000執(zhí)行建立中斷連接指令A(yù)TCH,輸入?yún)?shù):INT為INT_0,EVNT為12。編寫中斷服務(wù)程序INT0是調(diào)用包裝機(jī)子程序,子程序號(hào)SBR_2。執(zhí)行全局開(kāi)中斷指令ENI執(zhí)行HSC指令,對(duì)高速計(jì)數(shù)器編程并投入運(yùn)行。2、 中斷指令中斷允許 當(dāng)進(jìn)入RUN模式時(shí),所有中斷被禁止,執(zhí)行ENI指令后,可以全局地允許所有的被連接的中斷事件。中斷禁止 全局地禁止所有中斷事件,允許中斷事件排隊(duì),但不激活中斷服務(wù)程序。中斷連接 ATCH 把一個(gè)中斷事件(EVNT)和一個(gè)中斷服務(wù)程序(INT)聯(lián)系起來(lái),并允許這個(gè)中斷事件。INT和EVNT都是常數(shù)。中斷分離(DTCH) 截?cái)嘀袛嗍录退兄袛喾?wù)程序的聯(lián)系,并禁止該中斷。中斷指令舉例 在應(yīng)用高速計(jì)數(shù)器指令時(shí),為了在計(jì)數(shù)值等于

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論