工業(yè)機(jī)器人現(xiàn)場(chǎng)編程-機(jī)器人程序的流程控制編程-課件_第1頁
工業(yè)機(jī)器人現(xiàn)場(chǎng)編程-機(jī)器人程序的流程控制編程-課件_第2頁
工業(yè)機(jī)器人現(xiàn)場(chǎng)編程-機(jī)器人程序的流程控制編程-課件_第3頁
工業(yè)機(jī)器人現(xiàn)場(chǎng)編程-機(jī)器人程序的流程控制編程-課件_第4頁
工業(yè)機(jī)器人現(xiàn)場(chǎng)編程-機(jī)器人程序的流程控制編程-課件_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

機(jī)器人程序的流程控制編程機(jī)器人程序的流程控制編程1主要內(nèi)容If分支編程Switch-case分支編程循環(huán)編程1)無限循環(huán)編程2)計(jì)數(shù)循環(huán)編程3)當(dāng)型循環(huán)編程4)直到型循環(huán)編程5)等待函數(shù)編程主要內(nèi)容If分支編程2If分支編程If分支是用于將程序分為多個(gè)路徑,給程序多個(gè)選擇,判斷后執(zhí)行其后面的指令。使用if分支后,便可以只在特定的條件下執(zhí)行程序段。帶選擇語句分支沒有選擇的分支語句If分支編程If分支是用于將程序分為多個(gè)路徑,給程序多個(gè)選擇3使用if分支的示例左圖為沒有可選的if分支。先聲明一個(gè)整數(shù)類型的變量,并開始初始化,再進(jìn)行if指令的條件判斷,如果出現(xiàn)錯(cuò)誤等于5的時(shí)候,則執(zhí)行then后的指令,讓機(jī)器人移動(dòng)至P21點(diǎn),否則執(zhí)行endif。左圖為有可選分支的if分支。如果變量不等于5,則要執(zhí)行else后的指令,讓機(jī)器人移動(dòng)到P22點(diǎn)。使用if分支的示例左圖為沒有可選的if分支。左圖為有可選分支4使用if分支的示例左圖為有復(fù)雜執(zhí)行條件的if分支語句當(dāng)執(zhí)行條件復(fù)雜,有不止一個(gè)的時(shí)候,if指令會(huì)分別進(jìn)行判斷,然后選擇執(zhí)行的指令。左圖為有布爾表達(dá)式的分支。如果聲明一個(gè)布爾變量,有布爾表達(dá)式的if分支,也是同樣的執(zhí)行方式,分支中表達(dá)式IFno_error==TRUETHEN可以簡(jiǎn)化為

IFno_errorTHEN,省略始終表示為真。使用if分支的示例左圖為有復(fù)雜執(zhí)行條件的if分支語句左圖為有5Switch-case分支編程Switch-case分支是一個(gè)分支或多重分支,并且用于不同情況,用switch-case指令則能達(dá)到區(qū)分多種情況并為每種情況執(zhí)行不同操作的目的。Switch-case分支編程Switch-case分支是一6Switch-case分支可以和INT數(shù)據(jù)類型、CHAR數(shù)據(jù)類型和枚舉詩句類型結(jié)合使用。INT整數(shù)的使用CHAR單個(gè)字符的使用枚舉數(shù)據(jù)類型的使用Switch-case分支可以和INT數(shù)據(jù)類型、CHAR數(shù)據(jù)7左圖是無替代路徑的情況僅含定義的switch-case分支,當(dāng)編號(hào)不等于1或2或3時(shí),則直接跳到endswitch,不執(zhí)行指令。左圖是有一種替代路徑的情況僅含定義的switch-case分支和一種替代情況,當(dāng)編號(hào)不等于1或2或3時(shí),則直接跳入default,以執(zhí)行其指令。左圖是case具有多種情況當(dāng)編號(hào)不等于3或4或5時(shí),則直接跳入下一個(gè)case,以執(zhí)行其指令。左圖是無替代路徑的情況左圖是有一種替代路徑的情況左圖是cas8Switch-case分支舉例無替代情況的switch-case分支首先聲明變量error_nr,當(dāng)

等于1或2或3或4時(shí),執(zhí)行其后的指令,否則跳至endswitch,不執(zhí)行指令。有替代選擇的分支示例在error_nr不等于1或2或3或4時(shí),執(zhí)行default后的指令,將機(jī)器人駛至起始位置。Switch-case分支舉例無替代情況的switch-ca9Switch-case分支舉例枚舉示例定義顏色的枚舉變量和常量,進(jìn)行聲明和初始化后,執(zhí)行switch指令,當(dāng)顏色符合定義的case,則執(zhí)行指令,否則跳至endswitch,不執(zhí)行指令。Switch-case分支舉例枚舉示例10循環(huán)編程循環(huán)是用來控制結(jié)構(gòu)的流程,它可以不斷重復(fù)執(zhí)行程序的指令,直到出現(xiàn)讓其中斷的條件才會(huì)結(jié)束循環(huán),并且不允許從外部跳入循環(huán)結(jié)構(gòu)中。循環(huán)可以相互嵌套,有不同的循環(huán)類型,如下:1)無限循環(huán)2)計(jì)數(shù)循環(huán)3)條件循環(huán)其中條件循環(huán)又分為當(dāng)型循環(huán)和直到型循環(huán)。循環(huán)編程循環(huán)是用來控制結(jié)構(gòu)的流程,它可以不斷重復(fù)執(zhí)行程序的指11無限循環(huán)編程無限循環(huán)即是每次運(yùn)行完之后都會(huì)重新運(yùn)行的循環(huán),具體句法如下:左圖是無限循環(huán)的程序流程圖在運(yùn)行過程中,只有通過外部控制來終止,可直接用EXIT退出,如果是兩個(gè)無限循環(huán)相互嵌套,則需要兩個(gè)EXIT指令來退出兩個(gè)循環(huán)。無限循環(huán)編程無限循環(huán)即是每次運(yùn)行完之后都會(huì)重新運(yùn)行的循環(huán),具12使用無限循環(huán)編程的示例左圖為無中斷的無限循環(huán)。程序中有一個(gè)無限循環(huán),并且沒有編輯退出語句,所以從編程的技術(shù)上來講,機(jī)器人永遠(yuǎn)不會(huì)移動(dòng)到P5,移至循環(huán)移動(dòng)點(diǎn)P1、P2、P3、P4。左圖為帶中斷的無限循環(huán)。在無限循環(huán)中編輯中斷的條件,在無限循環(huán)中插入if指令,如果滿足條件則會(huì)中斷循環(huán),沒有滿足則會(huì)無限循環(huán)下去。使用無限循環(huán)編程的示例左圖為無中斷的無限循環(huán)。左圖為帶中斷的13計(jì)數(shù)循環(huán)編程計(jì)數(shù)循環(huán)是一種可以通過規(guī)定重復(fù)次數(shù)執(zhí)行一個(gè)或多個(gè)指令的控制結(jié)構(gòu)。在進(jìn)行計(jì)數(shù)循環(huán)前,先聲明一個(gè)整型變量的循環(huán)計(jì)數(shù)器counter。執(zhí)行計(jì)數(shù)循環(huán)時(shí)從值start開始并最遲在last時(shí)結(jié)束,循環(huán)可借助EXIT立即退出,并可以按照指定的步幅計(jì)數(shù)。步幅時(shí)可以通過關(guān)鍵詞STEP指定為某個(gè)整數(shù),如下圖為帶步幅的計(jì)數(shù)循環(huán)句法。如果沒有借助STEP指定步幅時(shí),會(huì)自動(dòng)使用步幅+1,如下圖所示。計(jì)數(shù)循環(huán)編程計(jì)數(shù)循環(huán)是一種可以通過規(guī)定重復(fù)次數(shù)執(zhí)行一個(gè)或多個(gè)14計(jì)數(shù)循環(huán)又分為遞減計(jì)數(shù)和遞增計(jì)數(shù),遞減計(jì)數(shù)是起始值大于等于終值,指定了負(fù)向的步數(shù),逐步遞減。遞增計(jì)數(shù)則是相反。計(jì)數(shù)循環(huán)流程圖如下所示。

循環(huán)運(yùn)行的原理(以遞增計(jì)數(shù)為例):首先循環(huán)計(jì)數(shù)器被用起始值進(jìn)行初始化:counter=某個(gè)整數(shù)。然后,循環(huán)計(jì)數(shù)器在endfor時(shí)會(huì)以步幅step遞增計(jì)數(shù),循環(huán)又從for行開始,能夠接著進(jìn)行循環(huán)的條件是計(jì)數(shù)變量必須小于等于指定的終值,否則會(huì)結(jié)束循環(huán)。根據(jù)檢查結(jié)果的不同,循環(huán)計(jì)數(shù)器會(huì)再次遞增計(jì)數(shù)或結(jié)束循環(huán),結(jié)束循環(huán)后程序在endfor行后繼續(xù)運(yùn)行。計(jì)數(shù)循環(huán)又分為遞減計(jì)數(shù)和遞增計(jì)數(shù),遞減計(jì)數(shù)是起始值大于等于終15計(jì)數(shù)循環(huán)編程實(shí)例左圖為未指定步幅的單層計(jì)數(shù)循環(huán)。步幅自動(dòng)定為+1,也就是說counter從等于1開始,每次+1,直到等于51時(shí),停止循環(huán),這是遞增計(jì)數(shù)循環(huán)。左圖為指定步幅的單層計(jì)數(shù)循環(huán)。該循環(huán)只會(huì)運(yùn)行兩次。一次以起始數(shù)值counter=1,步幅是+2,所以另一次則以counter=3,計(jì)數(shù)值為5時(shí),循環(huán)立即終止。左圖為指定步幅的雙層計(jì)數(shù)循環(huán)。該循環(huán)是兩個(gè)計(jì)數(shù)循環(huán)嵌套在一起,每次都會(huì)先運(yùn)行內(nèi)部循環(huán),然后運(yùn)行外部循環(huán)。計(jì)數(shù)循環(huán)編程實(shí)例左圖為未指定步幅的單層計(jì)數(shù)循環(huán)。左圖為指定步16當(dāng)型循環(huán)的編程當(dāng)型循環(huán)也被稱為前測(cè)試循環(huán),它是用于先檢測(cè)是否開始某個(gè)重復(fù)過程,只要某一執(zhí)行條件得到滿足,這種循環(huán)就會(huì)一直將過程重復(fù)下去,如要完成循環(huán),必須滿足執(zhí)行條件,執(zhí)行條件不滿足時(shí)會(huì)導(dǎo)致立即結(jié)束循環(huán),并執(zhí)行ENDWHILE后的指令。當(dāng)型循環(huán)可通過EXIT指令立即退出。當(dāng)型循環(huán)的編程當(dāng)型循環(huán)也被稱為前測(cè)試循環(huán),它是用于先檢測(cè)是否17當(dāng)型循環(huán)編程示例左圖為具有簡(jiǎn)單執(zhí)行條件的當(dāng)型循環(huán)。設(shè)定輸入端:41為部件在庫中,執(zhí)行條件是部件備好在庫中,只要條件得到滿足,循環(huán)就會(huì)將接下來的指令重復(fù)下去,如果條件不滿足,則結(jié)束循環(huán)。左圖為具有簡(jiǎn)單否定型執(zhí)行條件的當(dāng)型循環(huán)。設(shè)定輸入端:42為庫中是空的,執(zhí)行條件是否定條件,表明部件在庫中。左圖為具有復(fù)合執(zhí)行條件的當(dāng)型循環(huán)。是多個(gè)條件一起執(zhí)行。AND相連的執(zhí)行條件都要滿足,OR連接的條件是滿足其中一個(gè)即可。當(dāng)型循環(huán)編程示例左圖為具有簡(jiǎn)單執(zhí)行條件的當(dāng)型循環(huán)。左圖為具有18直到型循環(huán)的編程直到型循環(huán)也稱為后測(cè)試循環(huán)。這種循環(huán)會(huì)在第一次執(zhí)行完循環(huán)的指令部分后,測(cè)試退出循環(huán)的條件是否已經(jīng)滿足。條件滿足時(shí),退出循環(huán),執(zhí)行UNTIL后的指令。條件不滿足時(shí),在REPEAT處重新開始循環(huán)。直到型循環(huán)可通過EXIT指令立即退出。直到型循環(huán)的編程直到型循環(huán)也稱為后測(cè)試循環(huán)。這種循環(huán)會(huì)在第一19直到型循環(huán)編程示例左圖為具有簡(jiǎn)單執(zhí)行條件的當(dāng)型循環(huán)。設(shè)定輸入端:41為部件在庫中,執(zhí)行條件是部件備好在庫中,只要條件得到滿足,循環(huán)就會(huì)將接下來的指令重復(fù)下去,如果條件不滿足,則結(jié)束循環(huán)。左圖為具有復(fù)雜執(zhí)行條件的直到型循環(huán)。退出循環(huán)的執(zhí)行條件是多個(gè)條件套用的,所以在檢查退出條件時(shí)要符合復(fù)雜的執(zhí)行條件。直到型循環(huán)編程示例左圖為具有簡(jiǎn)單執(zhí)行條件的當(dāng)型循環(huán)。左圖為具20等待函數(shù)編程等待函數(shù)編程可以使程序進(jìn)入等待狀態(tài),直到設(shè)定的條件或者狀態(tài)達(dá)到為止。等待函數(shù)又分為時(shí)間等待函數(shù)和信號(hào)等待函數(shù)。時(shí)間等待函數(shù)的編程在過程可以繼續(xù)運(yùn)行前,時(shí)間等待函數(shù)會(huì)等待指定的時(shí)間,具體句法如下圖所示。時(shí)間等待函數(shù)為單位s,KUKA計(jì)時(shí)器的時(shí)間單位為ms。時(shí)間值也可以用一個(gè)合適的變量來確定,最短的有意義的時(shí)間單元是0.012秒,如果給出的時(shí)間為負(fù)值,則不等待。時(shí)間等待函數(shù)觸發(fā)預(yù)進(jìn)停止,因此我們無法進(jìn)行軌跡逼近,為了直接生成預(yù)進(jìn)停止,課使用指令WAITSEC0。等待函數(shù)編程等待函數(shù)編程可以使程序進(jìn)入等待狀態(tài),直到設(shè)定的條21時(shí)間等待函數(shù)編程示例左圖為具有固定時(shí)間的時(shí)間等待函數(shù)在示例中,執(zhí)行指令移動(dòng)到點(diǎn)P1、P2,會(huì)在點(diǎn)P2處中斷運(yùn)動(dòng)等待5.25s,再移動(dòng)到P3點(diǎn)。左圖為具有計(jì)算出時(shí)間的時(shí)間等待函數(shù)在示例中,需要等待的時(shí)間值沒有直接給出,需要進(jìn)行計(jì)算得出。左圖為具有變量的時(shí)間等待函數(shù)在示例中,時(shí)間值是一個(gè)變量,我們要事先聲明一個(gè)時(shí)間變量,并對(duì)變量賦值,然后執(zhí)行時(shí)間等待函數(shù)。時(shí)間等待函數(shù)編程示例左圖為具有固定時(shí)間的時(shí)間等待函數(shù)左圖為具22信號(hào)等待函數(shù)的編程信號(hào)等到函數(shù)在滿足條件時(shí)才切換到繼續(xù)進(jìn)程,使過程得以繼續(xù)。具體句法如下圖所示。信號(hào)等待函數(shù)觸發(fā)預(yù)進(jìn)停止,因此無法軌跡逼近,盡管已滿足了條件,仍生成預(yù)進(jìn)停止,但是若在程序行中,指令CONTINUE被直接編輯到等到指令之前,如果條件及時(shí)得到滿足,就可以阻止預(yù)進(jìn)停止,則可以進(jìn)行軌跡逼近。信號(hào)等待函數(shù)的編程23信號(hào)等待函數(shù)編程示例左圖帶預(yù)進(jìn)停止的WAITFOR等待函數(shù)在示例中,機(jī)器人運(yùn)動(dòng)到P2點(diǎn)時(shí)會(huì)中斷。精確暫停后對(duì)輸出端進(jìn)行檢查。如果輸入端狀態(tài)正確,則可直接繼續(xù)運(yùn)行,否則會(huì)等待達(dá)到正確狀態(tài)。因?yàn)橛|發(fā)了預(yù)進(jìn)停止,所以無法進(jìn)行軌跡逼近。左圖為使用CONTINUE的信號(hào)等待函數(shù)在示例中,如果條件:輸入端10或輸入端20,從預(yù)進(jìn)指針開始時(shí)便是或曾是TRUE,則在點(diǎn)P2處不會(huì)發(fā)生停止,會(huì)軌跡逼近,如果是剛剛之前滿足條件,則機(jī)器人也會(huì)軌跡逼近,但如果條件滿足過遲,則機(jī)器人無法軌跡逼近并必須移至P2點(diǎn)。若不滿足條件,則機(jī)器人在P2點(diǎn)上等待直到條件滿足為止。信號(hào)等待函數(shù)編程示例左圖帶預(yù)進(jìn)停止的WAITFOR等待函數(shù)24總結(jié)通過學(xué)習(xí),掌握if分支編程、switch-case分支編程及循環(huán)編程的用法總結(jié)通過學(xué)習(xí),掌握if分支編程、switch-case分支編25機(jī)器人程序的流程控制編程機(jī)器人程序的流程控制編程26主要內(nèi)容If分支編程Switch-case分支編程循環(huán)編程1)無限循環(huán)編程2)計(jì)數(shù)循環(huán)編程3)當(dāng)型循環(huán)編程4)直到型循環(huán)編程5)等待函數(shù)編程主要內(nèi)容If分支編程27If分支編程If分支是用于將程序分為多個(gè)路徑,給程序多個(gè)選擇,判斷后執(zhí)行其后面的指令。使用if分支后,便可以只在特定的條件下執(zhí)行程序段。帶選擇語句分支沒有選擇的分支語句If分支編程If分支是用于將程序分為多個(gè)路徑,給程序多個(gè)選擇28使用if分支的示例左圖為沒有可選的if分支。先聲明一個(gè)整數(shù)類型的變量,并開始初始化,再進(jìn)行if指令的條件判斷,如果出現(xiàn)錯(cuò)誤等于5的時(shí)候,則執(zhí)行then后的指令,讓機(jī)器人移動(dòng)至P21點(diǎn),否則執(zhí)行endif。左圖為有可選分支的if分支。如果變量不等于5,則要執(zhí)行else后的指令,讓機(jī)器人移動(dòng)到P22點(diǎn)。使用if分支的示例左圖為沒有可選的if分支。左圖為有可選分支29使用if分支的示例左圖為有復(fù)雜執(zhí)行條件的if分支語句當(dāng)執(zhí)行條件復(fù)雜,有不止一個(gè)的時(shí)候,if指令會(huì)分別進(jìn)行判斷,然后選擇執(zhí)行的指令。左圖為有布爾表達(dá)式的分支。如果聲明一個(gè)布爾變量,有布爾表達(dá)式的if分支,也是同樣的執(zhí)行方式,分支中表達(dá)式IFno_error==TRUETHEN可以簡(jiǎn)化為

IFno_errorTHEN,省略始終表示為真。使用if分支的示例左圖為有復(fù)雜執(zhí)行條件的if分支語句左圖為有30Switch-case分支編程Switch-case分支是一個(gè)分支或多重分支,并且用于不同情況,用switch-case指令則能達(dá)到區(qū)分多種情況并為每種情況執(zhí)行不同操作的目的。Switch-case分支編程Switch-case分支是一31Switch-case分支可以和INT數(shù)據(jù)類型、CHAR數(shù)據(jù)類型和枚舉詩句類型結(jié)合使用。INT整數(shù)的使用CHAR單個(gè)字符的使用枚舉數(shù)據(jù)類型的使用Switch-case分支可以和INT數(shù)據(jù)類型、CHAR數(shù)據(jù)32左圖是無替代路徑的情況僅含定義的switch-case分支,當(dāng)編號(hào)不等于1或2或3時(shí),則直接跳到endswitch,不執(zhí)行指令。左圖是有一種替代路徑的情況僅含定義的switch-case分支和一種替代情況,當(dāng)編號(hào)不等于1或2或3時(shí),則直接跳入default,以執(zhí)行其指令。左圖是case具有多種情況當(dāng)編號(hào)不等于3或4或5時(shí),則直接跳入下一個(gè)case,以執(zhí)行其指令。左圖是無替代路徑的情況左圖是有一種替代路徑的情況左圖是cas33Switch-case分支舉例無替代情況的switch-case分支首先聲明變量error_nr,當(dāng)

等于1或2或3或4時(shí),執(zhí)行其后的指令,否則跳至endswitch,不執(zhí)行指令。有替代選擇的分支示例在error_nr不等于1或2或3或4時(shí),執(zhí)行default后的指令,將機(jī)器人駛至起始位置。Switch-case分支舉例無替代情況的switch-ca34Switch-case分支舉例枚舉示例定義顏色的枚舉變量和常量,進(jìn)行聲明和初始化后,執(zhí)行switch指令,當(dāng)顏色符合定義的case,則執(zhí)行指令,否則跳至endswitch,不執(zhí)行指令。Switch-case分支舉例枚舉示例35循環(huán)編程循環(huán)是用來控制結(jié)構(gòu)的流程,它可以不斷重復(fù)執(zhí)行程序的指令,直到出現(xiàn)讓其中斷的條件才會(huì)結(jié)束循環(huán),并且不允許從外部跳入循環(huán)結(jié)構(gòu)中。循環(huán)可以相互嵌套,有不同的循環(huán)類型,如下:1)無限循環(huán)2)計(jì)數(shù)循環(huán)3)條件循環(huán)其中條件循環(huán)又分為當(dāng)型循環(huán)和直到型循環(huán)。循環(huán)編程循環(huán)是用來控制結(jié)構(gòu)的流程,它可以不斷重復(fù)執(zhí)行程序的指36無限循環(huán)編程無限循環(huán)即是每次運(yùn)行完之后都會(huì)重新運(yùn)行的循環(huán),具體句法如下:左圖是無限循環(huán)的程序流程圖在運(yùn)行過程中,只有通過外部控制來終止,可直接用EXIT退出,如果是兩個(gè)無限循環(huán)相互嵌套,則需要兩個(gè)EXIT指令來退出兩個(gè)循環(huán)。無限循環(huán)編程無限循環(huán)即是每次運(yùn)行完之后都會(huì)重新運(yùn)行的循環(huán),具37使用無限循環(huán)編程的示例左圖為無中斷的無限循環(huán)。程序中有一個(gè)無限循環(huán),并且沒有編輯退出語句,所以從編程的技術(shù)上來講,機(jī)器人永遠(yuǎn)不會(huì)移動(dòng)到P5,移至循環(huán)移動(dòng)點(diǎn)P1、P2、P3、P4。左圖為帶中斷的無限循環(huán)。在無限循環(huán)中編輯中斷的條件,在無限循環(huán)中插入if指令,如果滿足條件則會(huì)中斷循環(huán),沒有滿足則會(huì)無限循環(huán)下去。使用無限循環(huán)編程的示例左圖為無中斷的無限循環(huán)。左圖為帶中斷的38計(jì)數(shù)循環(huán)編程計(jì)數(shù)循環(huán)是一種可以通過規(guī)定重復(fù)次數(shù)執(zhí)行一個(gè)或多個(gè)指令的控制結(jié)構(gòu)。在進(jìn)行計(jì)數(shù)循環(huán)前,先聲明一個(gè)整型變量的循環(huán)計(jì)數(shù)器counter。執(zhí)行計(jì)數(shù)循環(huán)時(shí)從值start開始并最遲在last時(shí)結(jié)束,循環(huán)可借助EXIT立即退出,并可以按照指定的步幅計(jì)數(shù)。步幅時(shí)可以通過關(guān)鍵詞STEP指定為某個(gè)整數(shù),如下圖為帶步幅的計(jì)數(shù)循環(huán)句法。如果沒有借助STEP指定步幅時(shí),會(huì)自動(dòng)使用步幅+1,如下圖所示。計(jì)數(shù)循環(huán)編程計(jì)數(shù)循環(huán)是一種可以通過規(guī)定重復(fù)次數(shù)執(zhí)行一個(gè)或多個(gè)39計(jì)數(shù)循環(huán)又分為遞減計(jì)數(shù)和遞增計(jì)數(shù),遞減計(jì)數(shù)是起始值大于等于終值,指定了負(fù)向的步數(shù),逐步遞減。遞增計(jì)數(shù)則是相反。計(jì)數(shù)循環(huán)流程圖如下所示。

循環(huán)運(yùn)行的原理(以遞增計(jì)數(shù)為例):首先循環(huán)計(jì)數(shù)器被用起始值進(jìn)行初始化:counter=某個(gè)整數(shù)。然后,循環(huán)計(jì)數(shù)器在endfor時(shí)會(huì)以步幅step遞增計(jì)數(shù),循環(huán)又從for行開始,能夠接著進(jìn)行循環(huán)的條件是計(jì)數(shù)變量必須小于等于指定的終值,否則會(huì)結(jié)束循環(huán)。根據(jù)檢查結(jié)果的不同,循環(huán)計(jì)數(shù)器會(huì)再次遞增計(jì)數(shù)或結(jié)束循環(huán),結(jié)束循環(huán)后程序在endfor行后繼續(xù)運(yùn)行。計(jì)數(shù)循環(huán)又分為遞減計(jì)數(shù)和遞增計(jì)數(shù),遞減計(jì)數(shù)是起始值大于等于終40計(jì)數(shù)循環(huán)編程實(shí)例左圖為未指定步幅的單層計(jì)數(shù)循環(huán)。步幅自動(dòng)定為+1,也就是說counter從等于1開始,每次+1,直到等于51時(shí),停止循環(huán),這是遞增計(jì)數(shù)循環(huán)。左圖為指定步幅的單層計(jì)數(shù)循環(huán)。該循環(huán)只會(huì)運(yùn)行兩次。一次以起始數(shù)值counter=1,步幅是+2,所以另一次則以counter=3,計(jì)數(shù)值為5時(shí),循環(huán)立即終止。左圖為指定步幅的雙層計(jì)數(shù)循環(huán)。該循環(huán)是兩個(gè)計(jì)數(shù)循環(huán)嵌套在一起,每次都會(huì)先運(yùn)行內(nèi)部循環(huán),然后運(yùn)行外部循環(huán)。計(jì)數(shù)循環(huán)編程實(shí)例左圖為未指定步幅的單層計(jì)數(shù)循環(huán)。左圖為指定步41當(dāng)型循環(huán)的編程當(dāng)型循環(huán)也被稱為前測(cè)試循環(huán),它是用于先檢測(cè)是否開始某個(gè)重復(fù)過程,只要某一執(zhí)行條件得到滿足,這種循環(huán)就會(huì)一直將過程重復(fù)下去,如要完成循環(huán),必須滿足執(zhí)行條件,執(zhí)行條件不滿足時(shí)會(huì)導(dǎo)致立即結(jié)束循環(huán),并執(zhí)行ENDWHILE后的指令。當(dāng)型循環(huán)可通過EXIT指令立即退出。當(dāng)型循環(huán)的編程當(dāng)型循環(huán)也被稱為前測(cè)試循環(huán),它是用于先檢測(cè)是否42當(dāng)型循環(huán)編程示例左圖為具有簡(jiǎn)單執(zhí)行條件的當(dāng)型循環(huán)。設(shè)定輸入端:41為部件在庫中,執(zhí)行條件是部件備好在庫中,只要條件得到滿足,循環(huán)就會(huì)將接下來的指令重復(fù)下去,如果條件不滿足,則結(jié)束循環(huán)。左圖為具有簡(jiǎn)單否定型執(zhí)行條件的當(dāng)型循環(huán)。設(shè)定輸入端:42為庫中是空的,執(zhí)行條件是否定條件,表明部件在庫中。左圖為具有復(fù)合執(zhí)行條件的當(dāng)型循環(huán)。是多個(gè)條件一起執(zhí)行。AND相連的執(zhí)行條件都要滿足,OR連接的條件是滿足其中一個(gè)即可。當(dāng)型循環(huán)編程示例左圖為具有簡(jiǎn)單執(zhí)行條件的當(dāng)型循環(huán)。左圖為具有43直到型循環(huán)的編程直到型循環(huán)也稱為后測(cè)試循環(huán)。這種循環(huán)會(huì)在第一次執(zhí)行完循環(huán)的指令部分后,測(cè)試退出循環(huán)的條件是否已經(jīng)滿足。條件滿足時(shí),退出循環(huán),執(zhí)行UNTIL后的指令。條件不滿足時(shí),在REPEAT處重新開始循環(huán)。直到型循環(huán)可通過EXIT指令立即退出。直到型循環(huán)的編程直到型循環(huán)也稱為后測(cè)試循環(huán)。這種循環(huán)會(huì)在第一44直到型循環(huán)編程示例左圖為具有簡(jiǎn)單執(zhí)行條件的當(dāng)型循環(huán)。設(shè)定輸入端:41為部件在庫中,執(zhí)行條件是部件備好在庫中,只要條件得到滿足,循環(huán)就會(huì)將接下來的指令重復(fù)下去,如果條件不滿足,則結(jié)束循環(huán)。左圖為具有復(fù)雜執(zhí)行條件的直到型循環(huán)。退出循環(huán)的執(zhí)行條件是多個(gè)條件套用的,所以在檢查退出條件時(shí)要符合復(fù)雜的執(zhí)行條件。直到型循環(huán)編程示例左圖為具有簡(jiǎn)單執(zhí)行條件的當(dāng)型循環(huán)。左圖為具45等待函數(shù)編程等待函數(shù)編程可以使程序進(jìn)入等待狀態(tài),直到設(shè)定的條件或者狀態(tài)達(dá)到為止。等待函數(shù)又分為時(shí)間等待函數(shù)和信號(hào)等待函數(shù)。時(shí)間等待函數(shù)的編程在過程可以繼續(xù)運(yùn)行前,時(shí)間等待函數(shù)會(huì)等待指定的時(shí)間,具體句法如下圖所示。時(shí)間等待函數(shù)為單位s,KUKA計(jì)時(shí)器的時(shí)間單位為ms。時(shí)間值也可以用一個(gè)合適的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論