機(jī)器人編程指令集_第1頁
機(jī)器人編程指令集_第2頁
機(jī)器人編程指令集_第3頁
機(jī)器人編程指令集_第4頁
機(jī)器人編程指令集_第5頁
已閱讀5頁,還剩7頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1.SEND"ENTERROBOTSPEED"TOETHSEND:將讀取的文件的數(shù)據(jù)轉(zhuǎn)發(fā)到寫入文件。本語句是將"ENTERROBOTSPEED"(robot的初始速度)寫入ETH中。CALL:*Go_HomeCALL:在同一個工程項(xiàng)目程序內(nèi)跳出本程序去選擇另一個程序運(yùn)行。本語句是跳出正在運(yùn)行的程序去選擇*Go_Home程序運(yùn)行。GOSUB*COM_PCGOSUB:跳轉(zhuǎn)選擇子程序語句。本語句是在同一程序內(nèi)跳轉(zhuǎn)選擇子程序*COM_PC運(yùn)行。夫COM_PC夫COM_PC、夫Go_Home程序標(biāo)簽。*START_RUN:GOSUB*COM_PC'ASPEEDI20%SELECTCASEA0$CASE"Site"GOSUB*PALLET_TPCASE"Result"GOSUB*TP_PALLETCASE"QrCode"GOSUB*QRCODECASE"Laser"'GOSUB*LASERCASE"GoHome"GOSUB*BIRANGCASE"GoBack"標(biāo)簽選擇*COM_PC子程序定義外部速度為整數(shù)(%)I20條件選擇語句,字符串A0($)條件1“site”(位置)PALLET_TP托盤)條件2”result”(結(jié)果)條件3”QrCode”二維碼掃描條件4”Laser”鐳射檢查條件5“GoHmoe”拍照避讓條件6放回原位GOSUB*GOBACKCASEELSE若無一條件成立,則執(zhí)行CASEELSE,然后執(zhí)行下一語句SEND"Commandisnotfound,@"TOCMU將讀出的文件數(shù)據(jù)〃Commandisnotfound''轉(zhuǎn)發(fā)到寫入CMU中PRINT"Commandisnotfound"PRINT輸出語句,輸出commandisnotfoundENDSELECT結(jié)束條件選擇語句GOTO*START_RUN跳轉(zhuǎn)語句(GOTO),跳轉(zhuǎn)^0*START_RUNBO標(biāo)簽語句PMOVE(1,SGI1),Z=0.00PMOVE語句是托盤移動語句指令,本指令默認(rèn)為1號機(jī)器人,編號為1號托盤,SGI1托盤點(diǎn)位,第三軸(Z軸)抬升到0.00mm。CASEELSEDO(21,20)=&B01DO:是輸出至并行端口,本語句使并行端口DO21置OFF,DO20置ON。DRIVE(3,0.00)DRIVE:以軸位單位的絕對移動指令。本指令是默認(rèn)為一號機(jī)器人,第三軸(Z軸)絕對移動量為0.00mm。MOVEP,P1,Z=0.00MOVE:移動指令。本指令是以PTP移動到P1點(diǎn)并且Z軸抬升到0.00mm。WART_ARMWART_ARM:等待機(jī)器人動作結(jié)束指令。LEN(BB$)LEN:是獲取字符串BB$的長度。MID$(BB$,L_NO%,1)MID$:從指定位置獲取字符串。本指令是將BB$的第L_NO%字符開始的1個字符賦給MID$。VAL(B2$)VAL:將字符串轉(zhuǎn)換為數(shù)值。將字符串表達(dá)式B2$里的字符轉(zhuǎn)換為數(shù)值。%,!,$%:整數(shù)?。簩?shí)數(shù)$:字符,字符串DELAY1000DELAY延時指令語句。本指令是延時1000ms。MOVEP,P50,Z=0.00,S=25本語句表示以PTP移動倒是P50點(diǎn)位,并且Z軸抬升到0.00mm的位置,移動速度為25個脈沖單位。普通命令DIMDIM:聲明數(shù)組變量。注意:最多只能聲明三維數(shù)組格式:DIM<數(shù)組名><類型%、!、$>(角標(biāo))例:DIMA%(10)定義整型一維數(shù)組變量A%(0)~A%(10)的11個元素。DIMC%(2,2),D!(10)定義整型數(shù)組C%(0,0)~C%(2,2)與實(shí)數(shù)型數(shù)組D!(0)~D!(10)DIMB!(2,3,4)定義實(shí)數(shù)型三維數(shù)組變量B!(0,0,0)~B!(2,3,4)的60個元素。LET.LET:賦值語句。格式:[LET]<類型>=<表達(dá)式〉[LET]V算術(shù)變量〉=V表達(dá)式〉V并行輸出變量〉V內(nèi)部輸出變量〉V機(jī)械臂鎖定輸出變量〉V定時輸出變量〉V串行輸出變量〉例:A!=B!+1B%(1,2,3)=INT(10.88)DO2()=&B00101101MO(21,20)=2LO(00)=1TO(01)=0SO12()=255.LET:字符串賦值語句格式:[LET]<字符串變量〉=<字符串表達(dá)式>例:A$=”YAMAHA”B$=〃ROBOT”C$=A$+〃-+“B$Resulrt:YAMAHA-ROBOT⑶.LET:坐標(biāo)點(diǎn)賦值語句格式:[LET]<坐標(biāo)點(diǎn)變量>=<坐標(biāo)點(diǎn)表達(dá)式〉例:P1=P10將坐標(biāo)點(diǎn)10賦值給坐標(biāo)點(diǎn)1P20=P20+P5將坐標(biāo)點(diǎn)20與坐標(biāo)點(diǎn)5分別加上各個元素,并賦值給P20P30=P30P3將坐標(biāo)點(diǎn)30至坐標(biāo)點(diǎn)3分別減去各個元素,并賦值給P30P80=P70*4將坐標(biāo)點(diǎn)70的各元素乘以4,并賦值給P80P60=P5/3將坐標(biāo)點(diǎn)5的各元素乘以1/3,并賦值給P60(4).移位賦值語句格式:[LET]<移位變量〉=<移位表達(dá)式〉例:S1=S0將位移0賦值給位移1S2=S1+S0將位移1與位移0分別加上每個元素,并賦值給位移2REMREM:插入標(biāo)注。REM或〃’〃以后的字符被視作注釋。不執(zhí)行注釋語句。〃’〃也可寫入行的中間。例:REM***MAINPROGRAM***字符串操作CHR$CHR$:計算帶有指定字符編碼的字符。例:A$=CHR$(65)將A賦值給A$即:65在ASCCII表中對應(yīng)的是A,CHR$意為將數(shù)值對應(yīng)的ASCCII表中的字符賦給字符串人$的作用。LEFT$LEFT$:從一個字符串左端抽出n個字符賦給另一個字符串。例:B$=LEFT$(A$,4)將A$中的最左端的4個字符抽出賦給B$。RIGHT$RIGHT$:從一個字符串右端抽出n個字符賦給另一個字符串。例:B$=RIGHT$(A$,4)將A$中的最右端的4個字符抽出賦給B$。LENLEN:獲取字符串的長度。格式:LEN(<字符串表達(dá)式〉)即:返回V字符串表達(dá)式〉中表示的字符串長度(字節(jié)數(shù))。例:B=LEN(A$)MID$(BB$,L_NO%,1)MID$:從指定位置獲取字符串。本指令是將BB$的第L_NO%字符開始的1個字符賦給MID$。VALVAL:將字符串轉(zhuǎn)化為數(shù)值。I4%=VAL(B5$)將B5$里的值轉(zhuǎn)化為實(shí)際的數(shù)值賦給I4%。7.STR$STR$:將數(shù)值轉(zhuǎn)化為字符串。將V表達(dá)式〉中指定的值轉(zhuǎn)換為字符串。V表達(dá)式〉中可指定整數(shù)型及實(shí)數(shù)型的數(shù)值。格式:B$=STR$(10.01)將數(shù)值10.01轉(zhuǎn)化為字符串賦給B$。8.ORDORD:獲得指定字符串的起始字符的字符編碼。即計算字符編碼。計算V字符串表達(dá)式〉起始字符的字符編碼。例:A=ORD(〃B〃)將66(二&H42)賦值給A。字符"B”在ASCCII表中對應(yīng)的數(shù)值為66。坐標(biāo)點(diǎn)、坐標(biāo)、位移坐標(biāo)CHANGECHANGE:對指定的機(jī)器人的機(jī)械手進(jìn)行切換。通過CHANGE進(jìn)行V機(jī)器人編號〉指定機(jī)器人的機(jī)械手的切換。指定為OFF時,表示無機(jī)械手設(shè)定。V機(jī)器人編號〉可以省略。當(dāng)進(jìn)行省略時,機(jī)器人1被指定。在切換機(jī)械手之前,請利用HAND語句對機(jī)械手進(jìn)行定義。格式:CHANGE[<機(jī)器人編號>]Hn/OFF例:HANDH1=0150.00.0HANDH2=-500020.000.0P1=150.00300.000.000.000.000.00CHANGEH2更改為機(jī)械手2MOVEP,P1機(jī)械手2的前端向P1移動(1)CHANGEH1更改為機(jī)械手1MOVEP,P1機(jī)械手1的前端向P1移動(2)HALTHANDHAND:對指定機(jī)器人的機(jī)械手進(jìn)行定義。定義語句:HAND:<機(jī)器人編號〉]Hn=V第1參數(shù)〉V第2參數(shù)〉V第3參數(shù)〉[R]選擇語句:CHANGE:<機(jī)器人編號>]Hn前提水平多關(guān)節(jié)機(jī)器人時(1).未指定〈第四參數(shù)>R時。機(jī)械手(工裝治具)是固定在基準(zhǔn)第二機(jī)械臂前端的。〈第一參數(shù)〉:機(jī)械手n基準(zhǔn)點(diǎn)與基準(zhǔn)第二機(jī)械臂基準(zhǔn)點(diǎn)之間的脈沖偏移量。逆時針方向?yàn)?脈沖。<第二參數(shù)>:機(jī)械手n基準(zhǔn)點(diǎn)與基準(zhǔn)第二機(jī)械臂基準(zhǔn)點(diǎn)之間的長度差(mm)?!吹谌齾?shù)>:機(jī)械手n的Z軸的偏移量(mm)。例:HANDH1=0150.00.0HANDH2=-500020.000.0P1=150.00300.000.000.000.000.00CHANGEH2更改為機(jī)械手2MOVEP,P1機(jī)械手2的前端向P1移動(1)CHANGEH1更改為機(jī)械手1MOVEP,P1機(jī)械手1的前端向P1移動(2)HALT(2).指定〈第四參數(shù)〉R時R軸為伺服時,成為從R軸旋轉(zhuǎn)中心偏移的機(jī)械手。〈第一參數(shù)>:設(shè)R軸的當(dāng)前位置為0.00時,正交坐標(biāo)+x與機(jī)械手n之間的角度,逆時針為正度數(shù)。<第二參數(shù)>:機(jī)械手n的長度(mm)>0?!吹谌齾?shù)>:機(jī)械手「的偏移量mm。LOCx、LOCy、LOCz、LOCr以軸位單位或者以位移數(shù)據(jù)為要素單位來設(shè)定或者獲取坐標(biāo)點(diǎn)數(shù)據(jù)。格式:LOCX<坐標(biāo)點(diǎn)表達(dá)式>/〈位移表達(dá)式>=<表達(dá)式〉例:LOCX(P10)=A(1)將P10的第一軸(X軸)數(shù)據(jù)變更為數(shù)組A(1)的值。LOCY(S1)=B將S1的第二軸(Y軸)數(shù)據(jù)變更為B的值。(A1)=LOCX(P10)將P10的第一軸的數(shù)據(jù)賦給數(shù)組A(1)。B=LOCY(S1)將位移數(shù)據(jù)的第二軸數(shù)據(jù)賦給B。JTOXY/XYJOTJTOXY:以軸單位制轉(zhuǎn)換,將脈沖轉(zhuǎn)換成毫米。將關(guān)節(jié)坐標(biāo)數(shù)據(jù)轉(zhuǎn)化為指定機(jī)器人的正交坐標(biāo)數(shù)據(jù)。例:P10=JTOXY(WHERE)將當(dāng)前位置數(shù)據(jù)轉(zhuǎn)化成正交坐標(biāo)數(shù)據(jù)。XYJOT:將正交坐標(biāo)數(shù)據(jù)(mm)轉(zhuǎn)化為軸坐標(biāo)數(shù)據(jù)(脈沖)。將坐標(biāo)點(diǎn)變量的正交數(shù)據(jù)轉(zhuǎn)化為指定機(jī)器人的關(guān)節(jié)坐標(biāo)數(shù)據(jù)。例:P10=XYJOT(P10)LEFTY/RIGHTYLEFTY:將水平多關(guān)節(jié)機(jī)器人的手系系統(tǒng)設(shè)置為左手系。此命令對水平多關(guān)節(jié)機(jī)器人有效。RIGHTY:將水平多關(guān)節(jié)機(jī)器人的手系系統(tǒng)設(shè)置為手系。此命令對水平多關(guān)節(jié)機(jī)器人有效。格式:LEFTY(機(jī)器人編號)注:機(jī)器人編號可以省略。例:RIGHTYMOVEP,P1LEFTYMOVEP,P1RIGHTYHALTPn/SnPn:在程序中定義點(diǎn)位坐標(biāo)。Sn:在程序中定義位移坐標(biāo)。6.SHIFTSHIFT:設(shè)置位移坐標(biāo)。格式:<機(jī)器人編號〉(位移變量)例:SHIFTS1MOVEP,P1SHIFTS[A]MOVEP,P2HALT分支命令FOR~NEXTFOR~NEXT:反復(fù)執(zhí)行FOR的下一條語句至NEXT的上一條語句,直至變量超過指定值為止,將跳出循環(huán),執(zhí)行下一條語句。格式:FOR<控制變量>=<開始值>TO<結(jié)束值>[STOP<步驟>]<命令區(qū)〉NEXT[<控制變量>]例:FORA=1TO10MOVEP,P1MOVEL,P2MOVEP,P3PRINT“YAMAHA”;ANEXTAHALT2.GOSUB?RETURNGOSUB~RETURN:通過GOSUB跳轉(zhuǎn)到標(biāo)簽子程序,并執(zhí)行標(biāo)簽子程序,在通過RETURN返回到主程序繼續(xù)執(zhí)行。格式:MAINGOSUB<標(biāo)簽>HALT<標(biāo)簽>RETURN例:*ST:MOVEP,P0GOSUB*CLOSEHANDMOVEP,P1GOSUB*OPENHANDGOTO*STHALT’SUBROUTINE*CLOSEHAND:DO(20)=1RETURN*OPENHAND:DO(20)=0RETURN3.GOTOGOTO:無條件跳轉(zhuǎn)至標(biāo)簽所指定的語句。格式:MAIN<標(biāo)簽>GOTO<標(biāo)簽〉例:’MAINROUTINE*ST:MOVEP,P0,P1IFDI(20)=1THENGOTO*FINENDIFGOTO*ST*FIN:HALT4.IF(1).IF:更據(jù)條件分支控制流程。格式:MAINIF<條件表達(dá)式>THEN<標(biāo)簽>/<命令語句>ELSE<標(biāo)簽>/<命令語句〉HALT例:’MAINROUTINE*ST:MOVEP,P0,P1IFDI(20)=1THEN*L1DI(20)為1時,則跳轉(zhuǎn)至*L1DO(20)=1DELAY100*L1:IFDI(21)=1THEN*STELSE*FINDI(21)為1時,則跳轉(zhuǎn)至*ST。如果不是,則跳轉(zhuǎn)至*FIN*FIN:HALT(2).區(qū)塊IF語句IF<條件表達(dá)式1>THEN〈命令區(qū)1>ELSEIF〈條件表達(dá)式2>FHEN<命令區(qū)2>ELSE〈命令區(qū)3>ENDIF例:’MAINROUTINE*ST:MOVEP,P0,P1IFDI(21,20)=1THENDO(20)=1DELAY100WAITDI(20)=0ELSEIFDI(21,20)=2THENDELAY100ELSEGOTO*FINENDIFGOTO*ST*FIN:HALT5.ON~GOTOON~GOTO:根據(jù)條件跳轉(zhuǎn)至標(biāo)簽所指定的行。例:’MAINROUTINE*ST:ONDI3()GOTO*L1,*L2,*L3根據(jù)DI3()的值跳轉(zhuǎn)至*L1*L3GOTO*ST返回*STHALT’SUBROUTINE*L1:MOVEP,P10,Z=0GOTO*ST*L2:DO(30)=1GOTO*ST*L3:DO(30)=0GOTO*STWHILE~WENDWHILE~WEND:在條件成立時,反復(fù)執(zhí)行WHILE與WEND之間的語句;在條件不成立時,則跳出WHILE~WEND的循環(huán),執(zhí)行WEND的下一跳語句;在條件一次都不成立的時候,則WHILE~WEND語句則一次都不執(zhí)行,直接執(zhí)行WEND語句的下一條語句。格式:WHILE<條件表達(dá)式〉〈命令區(qū)〉WEND例:A=0WHILEDI3(0)=1A=A+1MOVEP,P1MOVEP,P2PRINT“COUNTER=”;AWENDNALT錯誤控制指令1.ONERRORGOTOONERRORGOTO:在發(fā)生錯誤時跳轉(zhuǎn)到指定的標(biāo)簽。含義:在執(zhí)行機(jī)器人語言程序時發(fā)生了錯誤,不停止程序,跳轉(zhuǎn)至標(biāo)簽指定位置處理錯誤例程,然后將繼續(xù)執(zhí)行。格式:1:ONERRORGOTO<標(biāo)簽〉2:ONERRORGOTO0例:ONERRORGOTO*ER1FORA=0TO9P[A+10]=P[A]NEXTA*L99:HALT’ERRORROUTINE*ER1:IFERR=&H0604THEN*NEXT1確認(rèn)是否發(fā)生T[Pointdoesn'texist]的錯誤IFERR=&H0606THEN*NEXT2確認(rèn)是否發(fā)生TESubscriptoutofrange]的錯誤ONERRORGOTO0顯示錯誤并停止執(zhí)行*NEXT1:RESUMENEXT跳轉(zhuǎn)至錯誤發(fā)生行的下一行繼續(xù)執(zhí)行*NEXT2:RESUME*L99跳轉(zhuǎn)至標(biāo)簽*L99并繼續(xù)執(zhí)行RESUMERESUME:錯誤恢復(fù)處理后恢復(fù)執(zhí)行程序從。含義:進(jìn)行錯誤恢復(fù)處理后,恢復(fù)執(zhí)行程序。按照程序恢復(fù)啟動的位置有3種方法::RESUME從錯誤錯誤原因命令開始恢復(fù)啟動程序。:RESUME從錯誤原因的下一個命令開始恢復(fù)啟動程序。:RESUME從顯示有標(biāo)簽行的命令開始恢復(fù)啟動程序。格式:RESUMENEXTRESUME<標(biāo)簽〉ERR/ERLERR:獲取錯誤編碼。ERL:獲取錯誤發(fā)生行編碼。格式:ERR〈任務(wù)編碼〉ERL〈任務(wù)編碼〉程序控制CALLCALL:調(diào)用子過程。含義:調(diào)用SUB~ENDSUB語句中定義的子過程。CALL標(biāo)簽中所指定的名稱與SUB所定義的名稱相同。(1).在實(shí)參中指定的常量和表達(dá)式為值傳遞;(2).在實(shí)參中指定的變量和數(shù)組元素時為傳遞,如果在實(shí)參前面加上ERF則變?yōu)橐脗鬟f。.在實(shí)參中指定了所有數(shù)組(數(shù)組名后面帶有())時,將變?yōu)橐脗鬟f。格式:CALL〈標(biāo)簽〉(<實(shí)參>,<實(shí)參〉)例1:X%=4Y%=5CALL*COMPARE(REFX%,REFY%)HALT’SUBROUTINE:COMPARESUB*COMPARE(A%,B%)IFA%<B%THENTEMP%=A%A%=B%B%=TEMP%ENDIFENDSUB例2;I=1CALL*TEST(I)HALT’SUBROUTINE:TESTSUB*TESTX=X+1IFX<15THENCALL*TEST(X)ENDIFENDSUBHALTHALT:停止程序并復(fù)位。含義:直接停止程序并進(jìn)行復(fù)位。HALT執(zhí)行后重新啟動程序時,程序?qū)囊婚_始進(jìn)行執(zhí)行。格式:HALT〈表達(dá)式>/<字符串〉例:’MAINROUTINE*ST:MOVEP,P0,P1IFDI(20)=1THENGOTO*FINENDIFGOTO*ST*FIN:HALT"PROGRAMFIN"HALTALLHALTALL:停止并復(fù)位所有程序。含義:直接停止并復(fù)位所有程序,當(dāng)HALTALL停止復(fù)位后重新啟動時,將從主程序或者任務(wù)一種最后執(zhí)行的程序的最前端開始執(zhí)行。格式:HALTALL<表達(dá)式>/〈字符串〉例:’MAINROUTINE*ST:MOVEP,P0,P1IFDI(20)=1THENGOTO*FINENDIFGOTO*ST*FIN:HALTALL“PROGRAMFINHOLDHOLD:暫停程序。含義:直接暫停程序。重新啟動程序時,從HOLD語句的下一句開始執(zhí)行。格式:HOLD〈表達(dá)式>/<字符串〉例:’MAINROUTINE*ST:MOVEP,P0,P1IFDI(20)=1THENHOLD"PROGRAMSTOP”ENDIFGOTO*STHALTHOLDALLHOLDALL:暫停所有的程序。含義:暫停所有的程序。當(dāng)重新啟動時,執(zhí)行了HOLDALL的程序?qū)恼Z句的下一行開始執(zhí)行,其它程序則將從中斷的執(zhí)行行開始重新運(yùn)行。例:SAMPLE’MAINROUTINE*ST:MOVEP,P0,P1IFDI(20)=1THENHOLD“PROGRAMSTOP”ENDIFGOTO*STHALT6.SWISWI:切換執(zhí)行程序。含義:切換執(zhí)行程序,并在執(zhí)行編譯后從第一行開始執(zhí)行。雖然切換程序時,輸出變量的狀態(tài)不會變化,但動態(tài)變量及數(shù)組變量將被清除。格式:SWI〈程序名〉任務(wù)控制1.STARTSTART:啟動新的任務(wù)。格式:STARTV程序名稱〉,Tn,PPGmTOC\o"1-5"\h\zm:程序編號099n:任務(wù)編號116p:任務(wù)優(yōu)先級164含義:根據(jù)任務(wù)n、優(yōu)先順序p啟動指定程序。當(dāng)省略任務(wù)編號n時,未啟動任務(wù)中編號最小的任務(wù)將會被自動指定。當(dāng)省略任務(wù)優(yōu)先順序p時,將默認(rèn)為32。省略了任務(wù)優(yōu)先級p時,為32。數(shù)字越小,優(yōu)先級越高;數(shù)字越大,優(yōu)先級越低(高1?低:64)。當(dāng)任務(wù)優(yōu)先級較高的任務(wù)處于RUNNING狀態(tài)時,優(yōu)先級較低的任務(wù)也將保持著READY狀態(tài)。例:START<SUB_PGM>,T2,33*ST:MOVEP,P0,P1GOTO*STHALT程序名稱:SUB_PGM*SUBPGM:‘SUBTASKROUTINE*SUBTASK:P100=WHEREIFLOCZ(P100)>10000THENDO(20)=1ELSEDO(20)=0ENDIFGOTO*SUBPGMEXITTASKCUTCUT:強(qiáng)制結(jié)束正在運(yùn)行的程序和暫停運(yùn)行的程序。無法結(jié)束當(dāng)前任務(wù)。格式:CUT<程序號(Tn)>EXITTASKEXITTASK:結(jié)束當(dāng)前正在執(zhí)行的任務(wù)。RESTARTRESTART:從新啟動暫停中的其他任務(wù)。格式:RESTART〈程序名稱(Tn/PGm)>例:START<SUB_PGM>,T2,33*ST:MOVEP,P0,P1GOTO*STHALT程序名稱:SUB_PGM*SUBPGM:‘SUBTASKROUTINE*SUBTASK:P100=WHEREIFLOCZ(P100)>10000THENDO(20)=1ELSEDO(20)=0ENDIFGOTO*SUBPGMEXITTASK4.SUSPENDSUSPEND:暫停正在執(zhí)行中的其它任務(wù)。時間指令DATE$DATE$:獲取日期。含義:通過yyyy/mm/dd(年/月/日)等字符串來表式日期,通過懸掛盒來顯示。例:A$=DATE$PRINTDATE$HALTTCOUNTERTCOUNTER:定時器,計數(shù)器。含義:從TCOUNTER復(fù)位開始計數(shù),每隔1ms輸出計數(shù)值。值計數(shù)至65535時,還回0。例:MOVEP,P0WAITARMRESETTCOUNTERMOVEP,P1WAITARMA=TCOUNTERPRINTTCOUNTER在手持編程器上顯示進(jìn)入?0至P1公差為止的移動時間TIME$TIME:獲取當(dāng)前時間。含義:通過hh:mm:ss(時/分/秒)形式的字符串來表示當(dāng)前時間。例:A$=TIME$PRINTTIME$TIMERTIMER:獲取當(dāng)前時間。含義:通過上午0點(diǎn)開始的秒獲取當(dāng)前時間。可用于程序運(yùn)行時間的測量等用途。時間的設(shè)置在系統(tǒng)模式的初始處理中進(jìn)行。例:A%=TIMERFORB=1TO10MOVEP,P0MOVEP,P1NEXTA%=TIMER-A%PRINTA%/60;〃:〃;A%MOD60HALT機(jī)器人動作指令CHANGECHANGE:切換機(jī)械手。DRIVEDRIVE:以軸為單位進(jìn)行絕對移動。DRIVEIDRIVEI:以軸為單位進(jìn)行相對移動。HANDHAND:機(jī)械手定義。LEFTYLEFTY:將水平多關(guān)節(jié)機(jī)器人的手系設(shè)定為左手系。RIGHTYRIGHTY:將水平多關(guān)節(jié)機(jī)器人手系設(shè)定為右手系。MOTORMOTOR:控制馬達(dá)電源狀態(tài)。含義:(1)ON開啟馬達(dá)電源。也可同時開啟所有機(jī)器人的伺服。OFF關(guān)閉馬達(dá)電源。同時關(guān)閉所有機(jī)器人的伺服,并且進(jìn)行動態(tài)制動。帶制動器的軸進(jìn)行制動并且鎖定。PWR僅開啟馬達(dá)電源。9.SERVOSERVO:控制伺服狀態(tài)對指定機(jī)器人中指定軸或所有軸的伺服ON/OFF狀態(tài)進(jìn)行控制。含義:控制指定編號的軸或所有軸的伺服ON/OFF。當(dāng)指定了V軸編號〉時,僅以指定軸作為對象;當(dāng)未指定時,則以所有全軸作為對象。ON伺服使能。未指定軸時,馬達(dá)電源也將開啟。OFF伺服禁止并啟用動力制動。帶有制動器的軸將進(jìn)行制動并鎖定。未指定軸時,馬達(dá)電源也將關(guān)閉。FREE伺服禁止并解除動力制動。帶有制動器的軸也將解除制動。未指定軸時,馬達(dá)電源也將關(guān)閉。例:SERVOON開啟所有軸的伺服。SERVOOFF針對關(guān)閉所有軸伺服且附帶制動器的軸,其制動器將被鎖定。TOC\o"1-5"\h\zSERVOFREE(3)第3軸(Z軸)伺服禁止,并解除制動。MOVEMOVE:指定機(jī)器人的所有軸進(jìn)行絕對移動。MOVEIMOVEI:指定機(jī)器人的所有軸進(jìn)行相對移動。例:MOVEIP,P0主機(jī)器人軸向相對當(dāng)前位置加上P0中指定的移動量位置進(jìn)行PTP移動。12.ORIGINORIGIN:執(zhí)行指定機(jī)器人中軸的原點(diǎn)復(fù)歸動作。獲取狀態(tài)ABSRPOSABSRPOS:獲取機(jī)器參照。含義:計算指定機(jī)器人的指定軸的機(jī)臺參考值(返回原點(diǎn)的方式僅為標(biāo)記方式時有效)。格式:ABSRPOS[V機(jī)器人編號〉](V軸編號〉)例:A=ABSRPOS(4)將機(jī)器人1中第4軸的機(jī)臺參考值賦給變量A。ARMCNDARMCND:獲取機(jī)械手的當(dāng)前機(jī)械臂狀態(tài)。含義:對水平多關(guān)節(jié)型機(jī)器人賦予當(dāng)前機(jī)械臂的狀態(tài)。當(dāng)機(jī)械臂狀態(tài)為右手系統(tǒng)時為1,左手系統(tǒng)時為2。此函數(shù)僅在使用水平多關(guān)節(jié)型機(jī)器人時有效。格式:ARMCND[V機(jī)器人編號>]例:A=ARMCND將機(jī)器人1的當(dāng)前機(jī)械臂狀態(tài)賦值給變量AIFA=1THEN右手系統(tǒng)狀態(tài)MOVEP,P100,Z=0ELSE左手系統(tǒng)狀態(tài)MOVEP,P200,Z=0ENDIFARMSELARMSEL:設(shè)定/獲取機(jī)械手的當(dāng)前手系統(tǒng)選擇。含義:設(shè)定水平多關(guān)節(jié)型機(jī)器人的當(dāng)前手系統(tǒng)選擇。當(dāng)所選手系統(tǒng)為右手系統(tǒng)時為1,左手系統(tǒng)時為2此函數(shù)僅在使用水平多關(guān)節(jié)型機(jī)器人時有效。格式:ARMSEL[V機(jī)器人編號〉]V表達(dá)式〉例:A=ARMSEL賦予機(jī)器人1的機(jī)械臂類型值IFA=1THEN機(jī)械臂類型為右手系統(tǒng)MOVEP,P100,Z=0ELSE機(jī)械臂類型為左手系統(tǒng)MOVEP,P200,Z=0ENDIFARMTYPARMTYP:獲取指定機(jī)器人的手系統(tǒng)設(shè)定。含義:設(shè)定/獲取程序復(fù)位時的手系統(tǒng)。當(dāng)所選手系統(tǒng)為右手系統(tǒng)時為1,左手系統(tǒng)時為2。此函數(shù)僅在使用水平多關(guān)節(jié)型機(jī)器人時有效。格式:ARMTYP[V機(jī)器人編號〉]V表達(dá)式〉例:A=ARMTYP賦予機(jī)器人1的機(jī)械臂類型值IFA=1THEN機(jī)械臂類型為右手系統(tǒng)MOVEP,P100,Z=0ELSE機(jī)械臂類型為左手系統(tǒng)MOVEP,P200,Z=0ENDIFHALTALL程序復(fù)位WAITARMWARTARM:等待指定機(jī)器人的軸動作結(jié)束。含義:等待V機(jī)器人編號〉指定機(jī)器人的軸動作完成(定位于公差內(nèi))。當(dāng)存在V軸編號>的指定時,指定機(jī)器人的指定軸成為對象;當(dāng)無指定時,指定機(jī)器人的所有軸成為對象V機(jī)器人編號〉1?4V軸編號〉1?6格式:WAITARM[V機(jī)器人編號>][(V軸編號〉)例:WAITARM等待機(jī)器人1的動作結(jié)束。WAITARM[2](2)等待機(jī)器人2中第2軸的動作結(jié)束。WHEREWHERE:通過關(guān)節(jié)坐標(biāo)(脈沖)讀出指定機(jī)器人機(jī)械臂的當(dāng)前位置。含義:獲取機(jī)械臂當(dāng)前位置(脈沖坐標(biāo))。根據(jù)關(guān)節(jié)坐標(biāo)獲取V機(jī)器人編號〉指定機(jī)器人的機(jī)械臂的當(dāng)前位置。V機(jī)器人編號〉可以省略。當(dāng)進(jìn)行省略時,機(jī)器人1被指定。例:P10=WHERE將當(dāng)前位置的脈沖坐標(biāo)值賦值給P10。WHRXYWHRXY:通過正交坐標(biāo)獲取機(jī)械臂當(dāng)前位置。含義:根據(jù)正交坐標(biāo)獲取V機(jī)器人編號〉指定機(jī)器人的機(jī)械臂的當(dāng)前位置。V機(jī)器人編號〉可以省略。當(dāng)進(jìn)行省略時,機(jī)器人1被指定。當(dāng)為YK500TW機(jī)器人時,還要獲取X機(jī)械臂轉(zhuǎn)數(shù)信息和Y機(jī)械臂轉(zhuǎn)數(shù)信息。例:P10=WHRXY將機(jī)器人1的當(dāng)前位置直行坐標(biāo)值賦給P10。輸入輸出控制DELAYDELAY:在指定時間等待程序執(zhí)行。格式:DELAYV表達(dá)式〉例:DELAY3500等待3,500ms(3.5秒)DELAYA*10DO將指定值輸出至DO端口LO將被指定值輸出至LO端口,并進(jìn)行軸移動的禁止或解除MO將指定值輸出至MO端口5.OUT開啟指定輸出端口的比特,并結(jié)束命令語句RESET關(guān)閉指定輸出端口的比特SET開啟指定輸出端口的比特SO將指定值輸出至SO端口TO將指定值輸出至TO端口WAIT等待直至DI/DO條件表達(dá)式成立為止(帶超時)通信指令1.ONLINEONLINE:將通信端口設(shè)置為聯(lián)機(jī)模式。含義:更改指定端口的通信模式參數(shù),并使通信模式聯(lián)機(jī)。ETH將Ethernet的通信模式參數(shù)更改為聯(lián)機(jī),并清除收發(fā)緩沖區(qū)。CMU將RS-232C的通信模式參數(shù)更改為聯(lián)機(jī),并清除通信錯誤的解除與接收緩沖區(qū)。

溫馨提示

  • 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

提交評論