




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
華數(shù)II工業(yè)機(jī)器人的指令系統(tǒng)工業(yè)機(jī)器人的示教編程1.工業(yè)機(jī)器人示教編程是操作人員通過示教器或者直接牽引機(jī)械臂使機(jī)器人的末端執(zhí)行器到達(dá)指定的姿態(tài)和位置,記錄機(jī)器人位資數(shù)據(jù)并編寫機(jī)器人運(yùn)動(dòng)控制指令,完成機(jī)器人在正常作業(yè)中的軌跡規(guī)劃、位資等關(guān)節(jié)數(shù)據(jù)信息的采集、記錄。示教編程是目前工業(yè)現(xiàn)場應(yīng)用非常廣泛的一種機(jī)器人編程技術(shù)。如圖5-1所示的智能制造單元中,采用機(jī)器人進(jìn)行生產(chǎn)線上料,首先由操作人員控制機(jī)器人分別到達(dá)取料位置和機(jī)床上料點(diǎn)進(jìn)行示教,然后示教從料倉到機(jī)床上料點(diǎn)的各個(gè)過渡位置,最后使用運(yùn)動(dòng)指令與IO指令按示教位置的到達(dá)順序與動(dòng)作順序完成機(jī)器人的編程。如圖5-2是一種協(xié)作機(jī)器人,它的示教是通過直接牽引機(jī)械臂進(jìn)行的。工業(yè)機(jī)器人的離線編程機(jī)器人離線編程可分為兩類:基于文本的編程和基于圖形的編程。基于文本的編程早期研究如POWER語言,是一種機(jī)器人專用語言,而這種編程方法缺少可視性,在現(xiàn)實(shí)中基本不采用。基于圖形的編程是利用計(jì)算機(jī)圖形學(xué)的成果,建立起計(jì)算機(jī)及其工作環(huán)境的幾何模型,并利用計(jì)算機(jī)語言及其相關(guān)算法,通過圖形的控制與操作,在離線情況下進(jìn)行機(jī)器人作業(yè)軌跡的規(guī)劃。離線編程與示教編程的比較示教編程離線編程需要實(shí)際機(jī)器人系統(tǒng)和工作環(huán)境不需要實(shí)際的機(jī)器人,只需要機(jī)器人系統(tǒng)和工作環(huán)境的圖形模型編程時(shí)機(jī)器人需要停止工作編程時(shí)不影響機(jī)器人正常工作在機(jī)器人系統(tǒng)上測試程序通過仿真軟件測試程序,可預(yù)先優(yōu)化操作方案和運(yùn)行周期示教精度取決于編程者的經(jīng)驗(yàn)可用CAD方法進(jìn)行最佳路徑規(guī)劃難以實(shí)現(xiàn)復(fù)雜的機(jī)器人運(yùn)行軌跡可實(shí)現(xiàn)復(fù)雜運(yùn)行軌跡的編程程序的修改和可移植性差程序修改簡單,易移植工業(yè)機(jī)器人自主編程技術(shù)圖是一種基于結(jié)構(gòu)光的路徑自主編程。基于結(jié)構(gòu)光的路徑自主規(guī)劃其原理是將結(jié)構(gòu)光傳感器安裝在機(jī)器人的末端,形成“眼在手上”的工作方式,利用焊縫跟蹤技術(shù)逐點(diǎn)測量焊縫的中心坐標(biāo),建立起焊縫軌跡數(shù)據(jù)庫,在焊接時(shí)作為焊槍的路徑。華數(shù)II型工業(yè)機(jī)器人文件組成華數(shù)II型機(jī)器人控制系統(tǒng)中的程序文件有PRG和LIB文件兩種。其中PRG為主程序文件類型,通常是為了完成某一特定任務(wù)而編寫,故又可稱其為主程序。LIB為子程序文件類型,為包含某一特定功能模塊的任務(wù),主要用來被主程序調(diào)用。華數(shù)II型工業(yè)機(jī)器人文件管理1.新建命令當(dāng)在目錄結(jié)構(gòu)樹種選定一個(gè)文件夾之后,點(diǎn)擊新建按鈕,彈出如圖5-8所示的新建對話框。三個(gè)單選按鈕提供了可以創(chuàng)建的類型有程序、子程序與文件夾三種。編輯框是要?jiǎng)?chuàng)建元素的名稱。選擇所需的類型,填寫名稱后,點(diǎn)擊確定,即可在選中的文件夾中創(chuàng)建相應(yīng)的文件或者目錄。注意:創(chuàng)建程序和子程序時(shí),不需要填寫程序文件和子程序文件的后綴名。華數(shù)II型工業(yè)機(jī)器人文件管理用戶程序在編寫完成后,必須將程序加載到控制器的內(nèi)存中,才能夠進(jìn)行程序的調(diào)試與運(yùn)行。當(dāng)在導(dǎo)航器右側(cè)選中某個(gè)程序文件后,點(diǎn)擊加載,即可將選中的文件加載到編輯器中,同時(shí)會(huì)顯示運(yùn)行光標(biāo),如圖所示為加載MAIN.PRG文件完成后的界面。華數(shù)II型工業(yè)機(jī)器人文件管理3.打開命令當(dāng)在導(dǎo)航器右側(cè)選中某個(gè)程序或者子程序文件后,點(diǎn)擊打開,即可打開選中的文件進(jìn)行編輯。編輯結(jié)束,點(diǎn)擊左側(cè)的關(guān)閉按鈕會(huì)提示是否保存。4.刪除命令當(dāng)在導(dǎo)航器右側(cè)選中某個(gè)程序、子程序文件或者文件夾后,點(diǎn)擊刪除,會(huì)彈出確認(rèn)刪除對話框,點(diǎn)擊確定,會(huì)將選中的文件或者文件夾移除。5.備份/恢復(fù)命令在進(jìn)行操作之前,首先要確定已經(jīng)設(shè)置好備份/恢復(fù)的路徑。選擇主菜單->文件->備份還原設(shè)置,打開備份還原設(shè)置界面,如圖5-10所示。分別設(shè)置備份路徑和還原路徑,點(diǎn)擊確定保存設(shè)置。設(shè)置完成后,選中要備份的文件,點(diǎn)擊備份,彈出確認(rèn)對話框,點(diǎn)擊確定完成備份。如果要從設(shè)置的路徑恢復(fù)文件到示教器,則點(diǎn)擊恢復(fù)按鈕,提示框會(huì)列出所有設(shè)置路線下的程序文件,選擇需要恢復(fù)的文件,點(diǎn)擊確定按鈕完成文件還原。1
運(yùn)動(dòng)指令運(yùn)動(dòng)指令是機(jī)器人示教時(shí)最常用的指令,它實(shí)現(xiàn)將機(jī)器人的工具點(diǎn)(TCP)以指定速度、路徑軌跡等從一個(gè)位置移動(dòng)到另一個(gè)指定位置。運(yùn)動(dòng)指令包含了動(dòng)作類型、位置數(shù)據(jù)及附加運(yùn)動(dòng)指令。動(dòng)作類型是指定采用什么運(yùn)動(dòng)方式來控制到達(dá)指定位置的運(yùn)動(dòng)路徑。在華數(shù)II型機(jī)器人編程中有三種動(dòng)作類型即:MOVE、MOVES、CIRCLE。位置數(shù)據(jù)是指定運(yùn)動(dòng)的目標(biāo)位置。位置數(shù)據(jù)包括位置和機(jī)器人姿態(tài)。位置數(shù)據(jù)被劃分兩種類型。一種是關(guān)節(jié)坐標(biāo)系下的關(guān)節(jié)坐標(biāo)(J1,J2,J3,J4,J5,J6),各個(gè)數(shù)據(jù)反映了每個(gè)關(guān)節(jié)的角度位置定義,沒有姿態(tài)信息;另一種是在直角坐標(biāo)系下的位置和姿態(tài)兩種信息(X,Y,Z,A,B,C),其中位置(X,Y,Z):代表在直角坐標(biāo)系下TCP的三維坐標(biāo)。姿態(tài)(A,B,C):代表在直角坐標(biāo)系下,繞X軸、Y軸、Z軸的角位移。附加運(yùn)動(dòng)指令是指定機(jī)器人在運(yùn)動(dòng)過程中的指令。包含了速度(VCRUISE)、加速比(ACC)、減速比(DEC)、圓滑過渡(BLENDINGFACTOR)等。(1)MOVE指令MOVE指令用于選擇一個(gè)點(diǎn)位之后,當(dāng)前點(diǎn)機(jī)器人位置與選擇點(diǎn)之間的任意運(yùn)動(dòng),運(yùn)動(dòng)過程中不進(jìn)行軌跡控制和姿態(tài)控制,故常用于快速定位到指定位置。如下列語句序列:MOVEROBOTP1//從當(dāng)前點(diǎn)運(yùn)動(dòng)到P1點(diǎn)MOVEROBOTP2//從P1點(diǎn)運(yùn)動(dòng)到P2點(diǎn)MOVEROBOTLR[100]//從P2點(diǎn)運(yùn)動(dòng)到LR[100]點(diǎn)MOVEROBOTLR[101]//從LR[100]點(diǎn)運(yùn)動(dòng)到LR[101]點(diǎn)。MOVEROBOTJR[1]//若JR[1]為機(jī)器人零點(diǎn),則該句實(shí)現(xiàn)機(jī)器人回零。其運(yùn)動(dòng)軌跡可表示為圖5-17所示。順序運(yùn)動(dòng)的兩個(gè)點(diǎn)之間的運(yùn)動(dòng)軌跡是由機(jī)器人控制器依據(jù)當(dāng)前點(diǎn)與終止點(diǎn)進(jìn)行自主規(guī)劃的。因此,在使用MOVE指令時(shí),要充分估計(jì)機(jī)器人運(yùn)動(dòng)軌跡的可能范圍內(nèi),不會(huì)發(fā)生運(yùn)動(dòng)干涉現(xiàn)象。(2)MOVES指令
MOVES指令用于選擇一個(gè)點(diǎn)位之后,當(dāng)前點(diǎn)機(jī)器人位置與記錄點(diǎn)之間的直線運(yùn)動(dòng)。由于MOVES指令常用于控制機(jī)器人做直線運(yùn)動(dòng),因此常用于快速定位后的精確控制。圖5-18的方形就可以采用MOVES來實(shí)現(xiàn)。其語句序列為:MOVEROBOTLR[200]//快速移動(dòng)到LR[200]MOVESROBOTLR[201]//從LR[200]運(yùn)動(dòng)到LR[201]MOVESROBOTLR[202]//從LR[201]運(yùn)動(dòng)到LR[202]MOVESROBOTLR[203]//從LR[202]運(yùn)動(dòng)到LR[203](3)CIRCLE命令
CIRCLE指令為畫圓弧指令,其指令格式為:CIRCLEROBOTCirclePointTargetPoint機(jī)器人示教圓弧的當(dāng)前位置與選擇的兩個(gè)點(diǎn)形成一個(gè)圓弧,即三點(diǎn)畫圓弧(CIRCLE指令以當(dāng)前位置為起點(diǎn),CirclePoint為中間點(diǎn),TargetPoint為終點(diǎn),控制機(jī)器人在笛卡爾空間進(jìn)行圓弧軌跡運(yùn)動(dòng),同時(shí)附帶姿態(tài)的補(bǔ)差)。如CIRCLEROBOTP2P3若當(dāng)前位置為P1,則該句執(zhí)行畫P1、P2、P3圓弧,如圖5-19所示。例題1寫出圓弧指令畫一個(gè)整圓的指令序列。如圖5-20所示。命令序列為:MOVEROBOTP1//快速移動(dòng)到P1位置CIRCLEROBOTP3P2//畫出上半圓CIRCLEROBOTP4P1//畫出下半圓例題2寫出完成圖所示心形圖形的運(yùn)動(dòng)指令序列。其中P1、P2、P3之間以及P5、P6、P1之間近似為圓弧,P3到P4和P4到P5之間近似為直線。MOVEROBOTP1//快速移動(dòng)到P1位置CIRCLEROBOTP2P3//經(jīng)過P2圓弧運(yùn)動(dòng)到P3MOVESROBOTP4//直線運(yùn)動(dòng)到P4MOVESROBOTP5//直線運(yùn)動(dòng)到P5CIRCLEROBOTP6P1//經(jīng)過P6圓弧運(yùn)動(dòng)到P12IO指令數(shù)字輸入指令(D_IN)和數(shù)字輸出指令(D_OUT)是可以被用戶控制的輸入輸出信號(hào)。(1)數(shù)字量輸入指令機(jī)器人的數(shù)字量輸入指令用于獲取外圍PLC或者傳感器的開關(guān)量信號(hào)。當(dāng)有信號(hào)傳入時(shí),相應(yīng)的端口置位為1(或ON)。可以通過D_IN[i]獲取第i個(gè)端口的狀態(tài)。(2)數(shù)字量輸出指令機(jī)器人的數(shù)字量輸出指令用于對機(jī)器人控制的外設(shè)發(fā)送置位(或ON)或者復(fù)位(或OFF)信號(hào)。其指令格式為:D_OUT[i]=ON/OFF其中i為數(shù)字量輸出端口號(hào)。3等待指令(1)——WAIT指令該指令用來等待某一指定的輸入或輸出的狀態(tài)等于設(shè)定值。若指定的輸入或輸出的狀態(tài)不滿足,程序會(huì)一直阻塞在該指令行,直到滿足位置。WAIT指令需要使用CALL指令來調(diào)用。其指令格式為:CALLWAIT(D_IN[i]/D_OUT[i],ON/OFF)指令的第一個(gè)參數(shù)IO口,第二個(gè)參數(shù)為該IO口期望的狀態(tài)值。示例:CALLWAIT(D_IN[10],ON)MOVEROBOTJR[1]該語句序列在執(zhí)行時(shí),若當(dāng)前D_IN[10]為OFF狀態(tài),則程序會(huì)阻塞在等待指令處,直到D_IN[10]變?yōu)镺N狀態(tài),機(jī)器人才會(huì)繼續(xù)執(zhí)行下面的運(yùn)動(dòng)指令。3等待指令(2)——WAITUNTIL指令該指令同WAIT指令類似,都是用來等待某一指定的輸入或輸出的狀態(tài)等于設(shè)定值。不同的是增加了延時(shí)時(shí)間參數(shù)以及延時(shí)標(biāo)識(shí)。當(dāng)指令等待IO狀態(tài)超過設(shè)定值時(shí),該指令不管IO狀態(tài)是否滿足,直接返回,并置延時(shí)標(biāo)識(shí)為TRUE。其指令格式為:CALLWAITUNTIL(D_IN[i]/D_OUT[i],ON/OFF,time,flag)該指令的第一個(gè)參數(shù)為IO口,第二個(gè)參數(shù)為IO口期望的狀態(tài)值,第三個(gè)參數(shù)為設(shè)定的延時(shí)時(shí)間,單位為毫秒,第四個(gè)參數(shù)為延時(shí)標(biāo)識(shí)。示例:DIMflagASLONG=-1//定義一個(gè)flag變量作為標(biāo)識(shí)D_OUT[20]=OFFCALLWAIT(D_OUT[20],ON,3000,flag)程序首先復(fù)位了D_OUT[20]的狀態(tài),然后執(zhí)行WAITUNTIL指令。該指令會(huì)判斷D_OUT[20]的狀態(tài)是否為設(shè)定的狀態(tài),且等待時(shí)間為3000ms。如果在3秒之內(nèi),D_OUT[20]的狀態(tài)切到ON,則指令立即返回,且置flag標(biāo)識(shí)為FALSE。如果D_OUT[20]一直處于OFF狀態(tài),那么3秒過后,該指令也會(huì)返回,且置flag的值為TRUE。4脈沖指令——PULSEPULSE指令的作用是生成一個(gè)固定時(shí)間長度的IO脈沖。其指令格式為:CALLPULSE(D_IN[i]/D_OUT[i],time)該指令的第一個(gè)參數(shù)為IO口,第二個(gè)參數(shù)為脈沖的時(shí)間。示例:D_OUT[1]=OFFCALLPULSE(D_OUT[1],500)程序首先將程序首先將D_OUT[1]復(fù)位,接著調(diào)用PULSE指令。此時(shí)PULSE會(huì)將D_OUT[1]的狀態(tài)置為ON,并且保持500ms,然后將D_OUT[1]的狀態(tài)置為OFF。5延時(shí)指令(1)DELAY指令用來延時(shí)機(jī)器人的運(yùn)動(dòng),最小延時(shí)時(shí)間為2,單位是毫秒(ms)。其指令格式為:DELAYROBOTtime(2)SLEEP指令SLEEP指令的作用是延時(shí)程序(任務(wù))的執(zhí)行,最短延時(shí)時(shí)間為1,單位是毫秒(ms)。其指令格式為:SLEEPtime運(yùn)動(dòng)指令與延時(shí)指令的配合使用在華數(shù)II型機(jī)器人控制系統(tǒng)中,運(yùn)動(dòng)指令與邏輯指令的執(zhí)行會(huì)存在某種意義上的超前執(zhí)行行為。如下面的語句序列:MOVEROBOTP1MOVEROBOTP2D_OUT[10]=ONMOVEROBOTP3D_OUT[10]=OFF該段語句序列的執(zhí)行過程如下:S1:執(zhí)行MOVEROBOTP1運(yùn)動(dòng)指令,機(jī)器人從當(dāng)前點(diǎn)向P1點(diǎn)運(yùn)動(dòng);S2:執(zhí)行MOVEROBOTP2運(yùn)動(dòng)指令,機(jī)器人從P1向P2運(yùn)動(dòng);S3:當(dāng)S2開始執(zhí)行時(shí)(機(jī)器人處于P1點(diǎn),準(zhǔn)備向P2點(diǎn)運(yùn)動(dòng)),D_OUT[10]輸出ON;S4:直到S2執(zhí)行完成(機(jī)器人運(yùn)動(dòng)到P2點(diǎn)),系統(tǒng)開始執(zhí)行MoveROBOTP3行,機(jī)器人從P2點(diǎn)往P3點(diǎn)移動(dòng);S5:當(dāng)MOVEROBOTP3開始執(zhí)行時(shí),D_OUT[1]輸出OFF;S6:直到S4執(zhí)行完成(機(jī)器人運(yùn)動(dòng)到P3點(diǎn)),程序運(yùn)行完成,結(jié)束;為了解決超前執(zhí)行問題,通常需要在運(yùn)動(dòng)指令與邏輯指令之間插入DELAY指令,用于暫停機(jī)器人的運(yùn)動(dòng),使機(jī)器人運(yùn)動(dòng)結(jié)束之后再執(zhí)行邏輯指令。例題將一個(gè)圓柱體從A位置搬運(yùn)到B位置。已知機(jī)器人氣動(dòng)卡爪的夾緊和松開信號(hào)和到位信號(hào)如表5-1所示。寫出搬運(yùn)所需的程序代碼序列。功能信號(hào)卡爪夾緊D_OUT[10]=ON卡爪松開D_OUT[10]=OFF夾緊到位D_IN[10]=ON松開到位D_IN[11]=ON取料示教位置LR[100]放料示教位置LR[110]高度增量LR[120]起點(diǎn)位置JR[1]參考答案MOVEROBOTJR[1]//運(yùn)動(dòng)機(jī)器人到起點(diǎn)位置MOVEROBOTLR[100]+LR[120]//運(yùn)動(dòng)機(jī)器人到取料位置的上方MOVESROBOTLR[100]//直線運(yùn)動(dòng)到機(jī)器人的取料位置DELAYROBOT10//確認(rèn)機(jī)器人運(yùn)動(dòng)到位D_OUT[10]=ON//夾緊卡爪CALLWAIT(D_IN[10],ON)//等待卡爪夾緊到位MOVESROBOTLR[100]+LR[120]//直線運(yùn)動(dòng)到機(jī)器人取料位置的上方MOVEROBOTLR[110]+LR[120]//運(yùn)動(dòng)到機(jī)器人放料位置的上方MOVESROBOTLR[110]//直線運(yùn)動(dòng)到機(jī)器人放料位置DELAYROBOT10//確認(rèn)機(jī)器人運(yùn)動(dòng)到位D_OUT[10]=OFF//打開卡爪CALLWAIT(D_IN[11],ON)//等待卡爪松開到位MOVESROBOTLR[110]+LR[120]//直線運(yùn)動(dòng)到機(jī)器人放料位置的上方MOVEROBOTJR[1]//運(yùn)動(dòng)機(jī)器人到起點(diǎn)位置6流程控制指令程序結(jié)構(gòu)一般可分為順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)三種。每種程序結(jié)構(gòu)都有各自的流程控制機(jī)制,相互配合使用可以實(shí)現(xiàn)功能強(qiáng)大的程序。1.順序結(jié)構(gòu)順序結(jié)構(gòu)是指組成程序的所有語句按照由上而下的順序依次執(zhí)行的一種結(jié)構(gòu),它不需要任何流程控制語句,只是程序語句的簡單羅列。順序結(jié)構(gòu)是最基本的程序結(jié)構(gòu),也是其他程序機(jī)構(gòu)中的重要組成部分。前面項(xiàng)目中的程序段都是典型的順序結(jié)構(gòu)。2.選擇結(jié)構(gòu)選擇結(jié)構(gòu)也稱為分支結(jié)構(gòu),是根據(jù)一定條件選擇執(zhí)行不同的操作、實(shí)現(xiàn)不同功能的一種程序結(jié)構(gòu)。選擇結(jié)構(gòu)的條件判斷需要使用條件語句。在華數(shù)II型機(jī)器人控制指令中,提供了IF指令語句用于選擇結(jié)構(gòu)。3.循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)用于解決有規(guī)律的重復(fù)性的問題。在循環(huán)結(jié)構(gòu)中,被重復(fù)執(zhí)行的語句塊稱為循環(huán)體,控制循環(huán)流程的語句稱為循環(huán)條件。在華數(shù)II型機(jī)器人控制指令中,提供了WHILE指令語句用于循環(huán)結(jié)構(gòu)。流程控制指令——IF語句1.IF指令I(lǐng)F指令的選擇結(jié)構(gòu)有兩種結(jié)構(gòu)形式,其格式如下:(1)單分支結(jié)構(gòu)IFexpressionTHENstatementsENDIF如果條件表達(dá)式expression為真,執(zhí)行IF與ENDIF之間的指令序列statements;如果條件表達(dá)式expression為假,則跳過該指令序列。(2)雙分支結(jié)構(gòu)IFexpressionTHENstatements1ELSEstatements2ENDIF如果條件表達(dá)式expression為真,執(zhí)行指令序列statements1;如果條件表達(dá)式expression為假,則執(zhí)行指令序列statements2。IF語句可以互相嵌套,即根據(jù)實(shí)際需要在一個(gè)IF語句中再嵌套一個(gè)或多個(gè)IF語句,以實(shí)現(xiàn)比較復(fù)雜的功能。但是必須保證選擇結(jié)構(gòu)的完整性。流程控制指令——WHILE語句WHILE指令實(shí)現(xiàn)了循環(huán)結(jié)構(gòu),其調(diào)用格式如下:WHILEexpressionstatementsENDWHILE其中,expression語句是循環(huán)條件表達(dá)式,statements是循環(huán)體語句。當(dāng)執(zhí)行WHILE語句時(shí),首先會(huì)檢測表達(dá)式expression,如果其值為TRUE,則執(zhí)行循環(huán)體中的循環(huán)體語句statements,執(zhí)行完后再次檢測expression,若仍為TRUE,則循環(huán)執(zhí)行循環(huán)體中的語句;一旦expression為假,不再執(zhí)行循環(huán)體語句,結(jié)束循環(huán),跳轉(zhuǎn)到ENDWHILE之后的指令執(zhí)行。流程控制指令——GOTO語句GOTO指令實(shí)現(xiàn)了硬跳轉(zhuǎn),即無條件跳轉(zhuǎn)。在同一個(gè)程序中,無條件地從程序的一行跳轉(zhuǎn)到另一行去執(zhí)行,即將程序控制轉(zhuǎn)移到指定的標(biāo)簽。在使用GOTO指令之前要先定義標(biāo)簽,標(biāo)簽的定義采用如下格式定義:LABELnumbernumber是標(biāo)簽序號(hào)。GOTO指令的調(diào)用格式為:GOTOLABELnumber其中LABELnumber是要跳轉(zhuǎn)到的標(biāo)簽序號(hào)和標(biāo)簽關(guān)鍵字的組合。如下面的命令序列:IFIR[10]=1THENGOTOLABEL10ENDIF…LABEL10:MOVEROBOTJR[1]該命令序列依據(jù)IR[10]的值進(jìn)行判斷,當(dāng)IR[10]=1時(shí),程序忽略ENDIF之后的語句直接跳轉(zhuǎn)到LABEL10:之后的一句開始執(zhí)行。例題使用華數(shù)II型機(jī)器人從A處將相距100mm的三個(gè)相同工件,搬運(yùn)到B處,且相距為50mm。設(shè)計(jì)搬運(yùn)的程序序列。功能信號(hào)卡爪夾緊D_OUT[10]=ON卡爪松開D_OUT[10]=OFF夾緊到位D_IN[10]=ON松開到位D_IN[11]=ON取料示教位置LR[100]放料示教位置LR[110]高度增量LR[120]起點(diǎn)位置JR[1]循環(huán)變量IR[10]取料偏移量LR[130]放料偏移量LR[140]參考答案MOVEROBOTJR[1]//運(yùn)動(dòng)機(jī)器人到起點(diǎn)位置IR[10]=0//循環(huán)變量設(shè)置初始值WHILEIR[10]<3//循環(huán)開始,總共要搬運(yùn)3次LR[101]=LR[100]+IR[10]*LR[130]//計(jì)算取料位置LR[102]=LR[101]+LR[120]//計(jì)算取料位置上方某個(gè)位置LR[111]=LR[110]+IR[10]*LR[140]//計(jì)算放料位置LR[112]=LR[111]+LR[120]//計(jì)算放料位置上方某個(gè)位置MOVEROBOTLR[102]//運(yùn)動(dòng)機(jī)器人到取料位置的上方MOVESROBOTLR[101]//直線運(yùn)動(dòng)到機(jī)器人的取料位置DELAYROBOT10//確認(rèn)機(jī)器人運(yùn)動(dòng)到位D_OUT[10]=ON//夾緊卡爪CALLWAIT(D_IN[10],ON)//等待卡爪夾緊到位MOVESROBOTLR[102]//直線運(yùn)動(dòng)到機(jī)器人取料位置的上方MOVEROBOTLR[112]//運(yùn)動(dòng)到機(jī)器人放料位置的上方MOVESROBOTLR[111]//直線運(yùn)動(dòng)到機(jī)器人放料位置DELAYROBOT10//確認(rèn)機(jī)器人運(yùn)動(dòng)到位D_OUT[10]=OFF//打開卡爪CALLWAIT(D_IN[11],ON)//等待卡爪松開到位MOVESROBOTLR[112]//直線運(yùn)動(dòng)到機(jī)器人放料位置的上方MOVEROBOTJR[1]//運(yùn)動(dòng)機(jī)器人到起點(diǎn)位置ENDWHILE子程序指令該指令用于定義子程序,可以帶參數(shù),但該子程序不能有返回值,類似于高級(jí)語言中的過程。必須定義在獨(dú)立的文件中,文件名稱與子程序名稱相同,且使用CALL指令進(jìn)行調(diào)用。子程序文件的擴(kuò)展名為LIB。其指令的定義格式為:SUBsubname(<parameter1>,<parameter2>,…)<subcodetoexecute>ENDSUB子程序示例PUBLICSUBMoveOneMOVEROBOTLR[200]//運(yùn)動(dòng)機(jī)器人到取料位置的上方MOVESROBOTLR[201]//直線運(yùn)動(dòng)到機(jī)器人的取料位置DELAYROBOT10//確認(rèn)機(jī)器人運(yùn)動(dòng)到位D_OUT[10]=ON//夾緊卡爪CALLWAIT(D_IN[10],ON)//等待卡爪夾緊到位MOVESROBOTLR[200]//直線運(yùn)動(dòng)到機(jī)器人取料位置的上方MOVEROBOTLR[210]//運(yùn)動(dòng)到機(jī)器人放料位置的上方MOVESROBOTLR[211]//直線運(yùn)動(dòng)到機(jī)器人放料位置DELAYROBOT10//確認(rèn)機(jī)器人運(yùn)動(dòng)到位D_OUT[10]=OFF//打開卡爪CALLWAIT(D_IN[11],ON)//等待卡爪松開到位MOVESROBOTLR[210]//直線運(yùn)動(dòng)到機(jī)器人放料位置的上方ENDSUB子程序示例示例2:PUBLICSUBCaculatePos(indexasLong)LR[101]=LR[100]+index*LR[130]//計(jì)算取料位置LR[102]=LR[101]+LR[120]//計(jì)算取料位置上方某個(gè)位置LR[111]=LR[110]+index*LR[140]//計(jì)算放料位置LR[112]=LR[111]+LR[120]//計(jì)算放料位置上方某個(gè)位置ENDSUB示例2的子程序?qū)崿F(xiàn)了位置的計(jì)算,包含一個(gè)參數(shù)為index,當(dāng)index=1時(shí),其調(diào)用語句為:CALLCaculatePos(1)。綜合實(shí)例某智能制造系統(tǒng)中,工業(yè)機(jī)器人負(fù)責(zé)對加工中心進(jìn)行上下料。工作流程為:機(jī)器人從料倉取料送往RFID讀寫器,向總控PLC發(fā)送讀RFID信號(hào),在收到總控PLC讀寫完成信號(hào)后,向加工中心發(fā)送卡盤松開信號(hào),將工件放入加工中心,松開卡爪后向加工中心發(fā)送卡盤夾緊信號(hào),加工中心卡盤加緊到位后,機(jī)器人退出加工中心后,向加工中心發(fā)送開始加工信號(hào),等待加工完成。機(jī)器人收到加工完成信號(hào)后,向加工中心發(fā)送卡盤松開信號(hào),當(dāng)收到松開到位信號(hào)后,機(jī)器人去加工中心取料并將工件放置到RFID,向總控PLC發(fā)送讀RFID信號(hào),在收到總控PLC讀寫完成信號(hào)后,機(jī)器人將工件放回料倉原位置。功能信號(hào)卡爪夾緊D_OUT[10]=ON卡爪松開D_OUT[10]=OFF夾緊到位D_IN[10]=ON松開到位D_IN[11]=ON加工中心卡盤夾緊到位D_IN[12]=ON加工中心卡盤松開到位D_IN[13]=ONRFID讀寫完成D_IN[14]=ON加工中心加工完成D_IN[15]=ONRFID讀信號(hào)D_OUT[11]=ON加工中心卡盤夾緊D_OUT[12]=ON且D_OUT[13]=OFF加工中心卡盤松開D_OUT[13]=ON且D_OUT[12]=OFF加工中心開始加工D_OUT[14]=ON料倉示教位置LR[100]RFID示教位置LR[110]加工中心示教位置LR[120]高度增量LR[150]起點(diǎn)位置JR[1]加工中心外機(jī)器人等待位置JR[2]示例代碼LR[200]=LR[100]+LR[150]//計(jì)算料倉取料位置上方的位置LR[201]=LR[100]//將料倉取料位置賦值給LR[201]LR[210]=LR[110]+LR[150]//計(jì)算RFID示教位置的上方的位置LR[211]=LR[120]//將RFID示教位置賦值給LR[211]CALLMoveOne//調(diào)用子程序MoveOne,實(shí)現(xiàn)搬運(yùn)DELAYROBOT10//延時(shí)目的是等待運(yùn)動(dòng)指令完成CALLPULSE(D_OUT[11],3000)//向總控PLC發(fā)送RFID讀信號(hào),持續(xù)3秒CALLWAIT(D_IN[14],ON)//等待RFID讀寫完成LR[200]=LR[110]+LR[150]//計(jì)算RFID示教位置的上方的位置LR[201]=LR[120]//將RFID示教位置賦值給LR[201]LR[210]=LR[120]+LR[150]//計(jì)算加工中心放料位置的上方位置LR[211]=LR[120]//將加工中心放料位置賦值給LR[211]D_OUT[13]=OND_OUT[12]=OFF//加工中心卡盤松開CALLWAIT(D_IN[13],ON)//等待松開到位信號(hào)CALLMoveOne//實(shí)現(xiàn)加工中心上料DELAYROBOT10//等待運(yùn)動(dòng)指令完成D_OUT[13]=OFFD_OUT[12]=ON//加工中心卡盤夾緊DELAYROBOT10//等待信號(hào)完成MOVEROBOTJR[2
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 微課在高中物理教學(xué)中的應(yīng)用
- 中藥炮制模擬考試題(附參考答案)
- 市場調(diào)查預(yù)測測試題(含參考答案)
- 2025年西藏日喀則區(qū)南木林高級(jí)中學(xué)高三第二次聯(lián)考英語試卷含答案
- 江西省上饒市2024-2025學(xué)年高一下學(xué)期4月期中地理試題(原卷版+解析版)
- 液化石油氣企業(yè)成本控制與預(yù)算管理考核試卷
- 棉花加工機(jī)械的制造信息化平臺(tái)建設(shè)考核試卷
- 玻璃制造中的光電器件應(yīng)用考核試卷
- 皮具修理的工藝保護(hù)與可持續(xù)發(fā)展考核試卷
- 船舶拆除相關(guān)法律考核試卷
- 租電動(dòng)車電子合同協(xié)議
- 紡織服裝產(chǎn)業(yè)鏈的韌性及其空間演變研究
- 福建省漳州地區(qū)校聯(lián)考2024-2025學(xué)年七年級(jí)下學(xué)期期中考試語文試卷(含答案)
- 2025年便利店店員勞動(dòng)合同
- 2025-2030中國公路瀝青行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報(bào)告
- 2025年人教版五年級(jí)(下)期中數(shù)學(xué)試卷
- GB/T 196-2025普通螺紋基本尺寸
- 2025年陜西省漢中市寧強(qiáng)縣中考一模道德與法治試題(含答案)
- 國開2024年秋中國建筑史(本)終考任務(wù)答案
- 中華人民共和國農(nóng)村集體經(jīng)濟(jì)組織法
- GB/T 25052-2024連續(xù)熱浸鍍層鋼板和鋼帶尺寸、外形、重量及允許偏差
評論
0/150
提交評論