工業(yè)機器人現(xiàn)場編程-機器人程序的流程控制編程教案_第1頁
工業(yè)機器人現(xiàn)場編程-機器人程序的流程控制編程教案_第2頁
工業(yè)機器人現(xiàn)場編程-機器人程序的流程控制編程教案_第3頁
工業(yè)機器人現(xiàn)場編程-機器人程序的流程控制編程教案_第4頁
工業(yè)機器人現(xiàn)場編程-機器人程序的流程控制編程教案_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、工業(yè)機器人現(xiàn)場編程-機器人程序的流程控制編程教案機器人程序的流程控制編程主要內(nèi)容 If 分支編程 Switch-case分支編程 循環(huán)編程1)無限循環(huán)編程2)計數(shù)循環(huán)編程3)當型循環(huán)編程4)直到型循環(huán)編程5)等待函數(shù)編程If分支編程If分支是用于將程序分為多個路徑,給程序多個選擇,判斷后執(zhí)行其后面的指令。使用if分支后,便可以只在特定的條件下執(zhí)行程序段。帶選擇語句分支沒有選擇的分支語句使用if分支的示例左圖為沒有可選的if分支。先聲明一個整數(shù)類型的變量,并開始初始化,再進行if指令的條件判斷,如果出現(xiàn)錯誤等于5的時候,則執(zhí)行then后的指令,讓機器人移動至P21點,否則執(zhí)行endif。左圖為有

2、可選分支的if分支。如果變量不等于5,則要執(zhí)行else后的指令,讓機器人移動到P22點。使用if分支的示例左圖為有復雜執(zhí)行條件的if分支語句當執(zhí)行條件復雜,有不止一個的時候,if指令會分別進行判斷,然后選擇執(zhí)行的指令。左圖為有布爾表達式的分支。如果聲明一個布爾變量,有布爾表達式的if分支,也是同樣的執(zhí)行方式,分支中表達式IF no_error=TRUE THEN 可以簡化為 IF no_errorTHEN,省略始終表示為真。Switch-case分支編程Switch-case分支是一個分支或多重分支,并且用于不同情況,用switch-case指令則能達到區(qū)分多種情況并為每種情況執(zhí)行不同操作的目

3、的。Switch-case分支可以和INT數(shù)據(jù)類型、CHAR數(shù)據(jù)類型和枚舉詩句類型結(jié)合使用。INT整數(shù)的使用CHAR單個字符的使用枚舉數(shù)據(jù)類型的使用左圖是無替代路徑的情況僅含定義的switch-case分支,當編號不等于1或2或3時,則直接跳到endswitch,不執(zhí)行指令。左圖是有一種替代路徑的情況僅含定義的switch-case分支和一種替代情況,當編號不等于1或2或3時,則直接跳入default,以執(zhí)行其指令。左圖是case具有多種情況當編號不等于3或4或5時,則直接跳入下一個case,以執(zhí)行其指令。Switch-case分支舉例無替代情況的switch-case分支首先聲明變量erro

4、r_nr,當 等于1或2或3或4時,執(zhí)行其后的指令,否則跳至endswitch,不執(zhí)行指令。有替代選擇的分支示例在error_nr不等于1或2或3或4時,執(zhí)行default后的指令,將機器人駛至起始位置。Switch-case分支舉例枚舉示例定義顏色的枚舉變量和常量,進行聲明和初始化后,執(zhí)行switch指令,當顏色符合定義的case,則執(zhí)行指令,否則跳至endswitch,不執(zhí)行指令。循環(huán)編程循環(huán)是用來控制結(jié)構(gòu)的流程,它可以不斷重復執(zhí)行程序的指令,直到出現(xiàn)讓其中斷的條件才會結(jié)束循環(huán),并且不允許從外部跳入循環(huán)結(jié)構(gòu)中。循環(huán)可以相互嵌套,有不同的循環(huán)類型,如下:1)無限循環(huán)2)計數(shù)循環(huán)3)條件循環(huán)其

5、中條件循環(huán)又分為當型循環(huán)和直到型循環(huán)。無限循環(huán)編程無限循環(huán)即是每次運行完之后都會重新運行的循環(huán),具體句法如下:左圖是無限循環(huán)的程序流程圖在運行過程中,只有通過外部控制來終止,可直接用EXIT退出,如果是兩個無限循環(huán)相互嵌套,則需要兩個EXIT指令來退出兩個循環(huán)。使用無限循環(huán)編程的示例左圖為無中斷的無限循環(huán)。程序中有一個無限循環(huán),并且沒有編輯退出語句,所以從編程的技術(shù)上來講,機器人永遠不會移動到P5,移至循環(huán)移動點P1、P2、P3、P4。左圖為帶中斷的無限循環(huán)。在無限循環(huán)中編輯中斷的條件,在無限循環(huán)中插入if指令,如果滿足條件則會中斷循環(huán),沒有滿足則會無限循環(huán)下去。計數(shù)循環(huán)編程計數(shù)循環(huán)是一種可以

6、通過規(guī)定重復次數(shù)執(zhí)行一個或多個指令的控制結(jié)構(gòu)。在進行計數(shù)循環(huán)前,先聲明一個整型變量的循環(huán)計數(shù)器counter。執(zhí)行計數(shù)循環(huán)時從值start開始并最遲在last時結(jié)束,循環(huán)可借助EXIT立即退出,并可以按照指定的步幅計數(shù)。步幅時可以通過關(guān)鍵詞STEP指定為某個整數(shù),如下圖為帶步幅的計數(shù)循環(huán)句法。如果沒有借助STEP指定步幅時,會自動使用步幅+1,如下圖所示。 計數(shù)循環(huán)又分為遞減計數(shù)和遞增計數(shù),遞減計數(shù)是起始值大于等于終值,指定了負向的步數(shù),逐步遞減。遞增計數(shù)則是相反。計數(shù)循環(huán)流程圖如下所示。 循環(huán)運行的原理(以遞增計數(shù)為例): 首先循環(huán)計數(shù)器被用起始值進行初始化:counter=某個整數(shù)。然后,

7、循環(huán)計數(shù)器在endfor時會以步幅step遞增計數(shù),循環(huán)又從for行開始,能夠接著進行循環(huán)的條件是計數(shù)變量必須小于等于指定的終值,否則會結(jié)束循環(huán)。根據(jù)檢查結(jié)果的不同,循環(huán)計數(shù)器會再次遞增計數(shù)或結(jié)束循環(huán),結(jié)束循環(huán)后程序在endfor行后繼續(xù)運行。計數(shù)循環(huán)編程實例左圖為未指定步幅的單層計數(shù)循環(huán)。步幅自動定為+1,也就是說counter從等于1開始,每次+1,直到等于51時,停止循環(huán),這是遞增計數(shù)循環(huán)。左圖為指定步幅的單層計數(shù)循環(huán)。該循環(huán)只會運行兩次。一次以起始數(shù)值counter=1,步幅是+2,所以另一次則以counter=3,計數(shù)值為5時,循環(huán)立即終止。左圖為指定步幅的雙層計數(shù)循環(huán)。該循環(huán)是兩個

8、計數(shù)循環(huán)嵌套在一起,每次都會先運行內(nèi)部循環(huán),然后運行外部循環(huán)。當型循環(huán)的編程當型循環(huán)也被稱為前測試循環(huán),它是用于先檢測是否開始某個重復過程,只要某一執(zhí)行條件得到滿足,這種循環(huán)就會一直將過程重復下去,如要完成循環(huán),必須滿足執(zhí)行條件,執(zhí)行條件不滿足時會導致立即結(jié)束循環(huán),并執(zhí)行ENDWHILE后的指令。當型循環(huán)可通過EXIT指令立即退出。當型循環(huán)編程示例左圖為具有簡單執(zhí)行條件的當型循環(huán)。設(shè)定輸入端:41為部件在庫中,執(zhí)行條件是部件備好在庫中,只要條件得到滿足,循環(huán)就會將接下來的指令重復下去,如果條件不滿足,則結(jié)束循環(huán)。左圖為具有簡單否定型執(zhí)行條件的當型循環(huán)。設(shè)定輸入端:42為庫中是空的,執(zhí)行條件是否

9、定條件,表明部件在庫中。左圖為具有復合執(zhí)行條件的當型循環(huán)。是多個條件一起執(zhí)行。AND相連的執(zhí)行條件都要滿足,OR連接的條件是滿足其中一個即可。直到型循環(huán)的編程直到型循環(huán)也稱為后測試循環(huán)。這種循環(huán)會在第一次執(zhí)行完循環(huán)的指令部分后,測試退出循環(huán)的條件是否已經(jīng)滿足。條件滿足時,退出循環(huán),執(zhí)行UNTIL后的指令。條件不滿足時,在REPEAT處重新開始循環(huán)。直到型循環(huán)可通過EXIT指令立即退出。直到型循環(huán)編程示例左圖為具有簡單執(zhí)行條件的當型循環(huán)。設(shè)定輸入端:41為部件在庫中,執(zhí)行條件是部件備好在庫中,只要條件得到滿足,循環(huán)就會將接下來的指令重復下去,如果條件不滿足,則結(jié)束循環(huán)。左圖為具有復雜執(zhí)行條件的直

10、到型循環(huán)。退出循環(huán)的執(zhí)行條件是多個條件套用的,所以在檢查退出條件時要符合復雜的執(zhí)行條件。等待函數(shù)編程等待函數(shù)編程可以使程序進入等待狀態(tài),直到設(shè)定的條件或者狀態(tài)達到為止。等待函數(shù)又分為時間等待函數(shù)和信號等待函數(shù)。時間等待函數(shù)的編程在過程可以繼續(xù)運行前,時間等待函數(shù)會等待指定的時間,具體句法如下圖所示。時間等待函數(shù)為單位s,KUKA計時器的時間單位為ms。時間值也可以用一個合適的變量來確定,最短的有意義的時間單元是秒,如果給出的時間為負值,則不等待。時間等待函數(shù)觸發(fā)預進停止,因此我們無法進行軌跡逼近,為了直接生成預進停止,課使用指令WAIT SEC 0。 時間等待函數(shù)編程示例左圖為具有固定時間的時

11、間等待函數(shù)在示例中,執(zhí)行指令移動到點P1、P2,會在點P2處中斷運動等待,再移動到P3點。左圖為具有計算出時間的時間等待函數(shù)在示例中,需要等待的時間值沒有直接給出,需要進行計算得出。左圖為具有變量的時間等待函數(shù)在示例中,時間值是一個變量,我們要事先聲明一個時間變量,并對變量賦值,然后執(zhí)行時間等待函數(shù)。 信號等待函數(shù)的編程信號等到函數(shù)在滿足條件時才切換到繼續(xù)進程,使過程得以繼續(xù)。具體句法如下圖所示。信號等待函數(shù)觸發(fā)預進停止,因此無法軌跡逼近,盡管已滿足了條件,仍生成預進停止,但是若在程序行中,指令CONTINUE被直接編輯到等到指令之前,如果條件及時得到滿足,就可以阻止預進停止,則可以進行軌跡逼近。 信號等待函數(shù)編程示例左圖帶預進停止的WAIT FOR等待函數(shù)在示例中,機器人運動到P2點時會中斷。精確暫停后對輸出端進行檢查。如果輸入端狀態(tài)正確,則可直接繼續(xù)運行,否則會等待達到正確狀態(tài)。因為觸發(fā)了預進停止,所以無法進行軌跡逼近。左圖為使用CONTINUE的信號等待

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論