ABB機(jī)器人RAPID指令中文翻譯_第1頁(yè)
ABB機(jī)器人RAPID指令中文翻譯_第2頁(yè)
ABB機(jī)器人RAPID指令中文翻譯_第3頁(yè)
ABB機(jī)器人RAPID指令中文翻譯_第4頁(yè)
ABB機(jī)器人RAPID指令中文翻譯_第5頁(yè)
已閱讀5頁(yè),還剩117頁(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)介

ABB機(jī)器人RAPID指令中文翻譯指令張建輝韓鵬1.指令1.1.AccSet—降低加速度用途: 當(dāng)處理較大負(fù)載時(shí)使用AccSet指令。它承諾減慢加速度和減速度,使機(jī)器人有一個(gè)更平滑的運(yùn)動(dòng)。該指令只能在主任務(wù)T_ROB1中使用,或者如果處于多運(yùn)動(dòng)系統(tǒng),在Motion任務(wù)中。差不多范例:AccSet的差不多范例講明如下。AccSet50,100;加速度備限制到正常值的50%。AccSet100,50;加速度斜線限制到正常值的50%。項(xiàng)目:AccSetAccRampAcc:數(shù)據(jù)類(lèi)型:num(數(shù)值)加速度和減速度作為正常值的百分比。100%對(duì)應(yīng)最大加速度。最大值:100%。輸入值<20%則給出最大加速度的20%。Ramp 數(shù)據(jù)類(lèi)型:num(數(shù)值) 加速度和減速度的增加作為正常值的百分比的比例(如圖)。通過(guò)減小那個(gè)數(shù)值能夠限制震動(dòng)。100%對(duì)應(yīng)最大比例。最大值:100%,輸入值<10%則給出最大比例的10%。 下圖講明減小加速度能夠平滑運(yùn)動(dòng)。 加速度加速度加速度時(shí)刻時(shí)刻時(shí)刻AccSet100,100正常加速度AccSet30,100AccSet100,30程序執(zhí)行: 該加速度值應(yīng)用到機(jī)器人和外部軸,直到一個(gè)新的AccSet指令執(zhí)行。 缺省值(100%)在以下情形是自動(dòng)設(shè)置:冷啟動(dòng)加載了新的程序從頭開(kāi)始執(zhí)行程序時(shí)語(yǔ)法: AccSet[AccSet“:=”]<數(shù)值表達(dá)式(IN)>“,”[Ramp“:=”]<數(shù)值表達(dá)式(IN)>“;”有關(guān)信息:有關(guān)信息參看在世界坐標(biāo)系統(tǒng)中操縱加速度第590頁(yè)WorldAccLim--在世界坐標(biāo)系統(tǒng)中操縱加速度沿著路徑降低TCP加速度第265頁(yè)P(yáng)athAccLim—沿路徑降低TCP加速度定位指令RAPID參考手冊(cè)-RAPID概述,RAPID摘要部分-運(yùn)動(dòng)1.2.ActUnit—激活一個(gè)機(jī)械單元用途: ActUnit用來(lái)激活一個(gè)機(jī)械單元。 例如當(dāng)使用一般驅(qū)動(dòng)單元的時(shí)候,它能夠用來(lái)決定哪一個(gè)單元被激活。 該指令只能在主任務(wù)T_ROB1中使用,或者如果處于多運(yùn)動(dòng)系統(tǒng),在Motion任務(wù)中。差不多范例: ActUnit的差不多范例講明如下:例1ActUnitorbit_a; orbit_a機(jī)械單元的激活。項(xiàng)目: AccUnitMechUnitMechUnit: 機(jī)械單元 數(shù)據(jù)類(lèi)型:mecunit(機(jī)械單元) 要激活的機(jī)械單元的名稱。程序執(zhí)行: 當(dāng)機(jī)器人的和外部軸的實(shí)際路徑預(yù)備好以后,整個(gè)路徑被清理同時(shí)特定的機(jī)械單元被激活。這意味著它被機(jī)器人操縱和監(jiān)視。 如果多個(gè)機(jī)械單元共享一個(gè)一般驅(qū)動(dòng)單元,這些單元中的一個(gè)的激活,也將把該單元連接到一般驅(qū)動(dòng)單元。 如果在該指令之前有一個(gè)運(yùn)動(dòng)指令,那個(gè)指令的程序中必須帶有停止點(diǎn)(區(qū)域數(shù)據(jù)fine),而不是一個(gè)通過(guò)點(diǎn),否則將不能進(jìn)行電源失敗后的重啟。 AccUnit指令不能在連接到以下任何特定的系統(tǒng)事件的RAPID程序中執(zhí)行:電源上電,停止,Q停止,重啟或者復(fù)位。語(yǔ)法: ActUnit[MechUnit“:=”]<機(jī)械單元變量(VAR)>“;”有關(guān)信息:有關(guān)信息參照廢止機(jī)械單元第69頁(yè)DeactUnit—廢止一個(gè)機(jī)械單元機(jī)械單元第969頁(yè)MecUnit—機(jī)械單元更多例子第69頁(yè)DeactUnit—廢止一個(gè)機(jī)械單元1.3.Add—增加一個(gè)數(shù)字?jǐn)?shù)值用途:Add用于增加一個(gè)數(shù)值到一個(gè)數(shù)字變量或恒量,或者從一個(gè)數(shù)字變量或者恒量中減去一個(gè)數(shù)值。差不多范例: Add的差不多范例講明如下:Addreg1,3;3被增加到reg1,即reg1=reg1+3。Addreg1,—reg2從reg1減去reg2,即reg1=reg1-reg2。項(xiàng)目: AddNameAddValueName:數(shù)據(jù)類(lèi)型:數(shù)字將要改變的變量或者恒量的名稱。AddValue: 數(shù)據(jù)類(lèi)型:數(shù)字 要增加的數(shù)值。語(yǔ)法: Add[Name“:=”]<數(shù)字的變量或者恒量(INOUT)>“,”[AddValue“:=”]<數(shù)字表達(dá)式(IN)>“;”有關(guān)信息:有關(guān)的信息參看給變量加1Incr—增加1,第117頁(yè)改變量減1Decr—減1,第71頁(yè)使用一個(gè)任意的表達(dá)式改變數(shù)據(jù),例如乘法“:=”—賦值,第19頁(yè)1.4.AliasIO—用別名定義I/O用途:AliasIO用來(lái)用別名定義一個(gè)任意類(lèi)型的信號(hào),或者用來(lái)在內(nèi)置(built-in)任務(wù)模塊中使用信號(hào)。 在不同的機(jī)器人安裝中,帶別名的信號(hào)能夠被用來(lái)預(yù)定義常規(guī)程序,而不用在運(yùn)行之前進(jìn)行任何的程序更新。 在任何實(shí)際信號(hào)的使用之前,必須運(yùn)行AliasIO指令。參看第17頁(yè)的差不多范例來(lái)加載模塊,第18頁(yè)更多范例來(lái)安裝模塊。差不多范例: 指令A(yù)liasIO的差不多范例講明如下: 也可參看第18頁(yè)更多范例例1 VARsignaldoalias_do; PROCProg_start() AliasIOconfig_do,alias_do; ENDPROC 程序prog_start鏈接到系統(tǒng)參數(shù)的START事件。程序定義的數(shù)字輸出信號(hào)alias_do鏈接到程序開(kāi)頭配置的數(shù)字輸出信號(hào)config_do。項(xiàng)目: AliasIOFromSignal,ToSignal;FromSignal: 數(shù)據(jù)類(lèi)型:signalxx或者字符串。加載的模塊:信號(hào)標(biāo)識(shí)符按照配置(數(shù)據(jù)類(lèi)型signalxx)命名,信號(hào)描述符也從配置中復(fù)制。信號(hào)必須在IO配置中定義。安裝的模塊或者加載的系統(tǒng)模塊:一個(gè)有關(guān)(CONST、VAR、PERS或者它們的參數(shù))包含信號(hào)(數(shù)據(jù)類(lèi)型string字符串)的名稱,從該信號(hào)中,信號(hào)描述符在系統(tǒng)中搜索后被復(fù)制。信號(hào)必須在IO配置中定義。ToSignal: 數(shù)據(jù)類(lèi)型:signalxx 信號(hào)標(biāo)識(shí)符按照程序(數(shù)據(jù)類(lèi)型signalxx)命名,信號(hào)描述符復(fù)制到該系統(tǒng)中。信號(hào)必須在RAPID程序中聲明。 FromSignal和ToSignal項(xiàng)目必須使用(或者找到)相同的數(shù)據(jù)類(lèi)型,同時(shí)必須是類(lèi)型signalxx(signalai,signalao,signaldi,signaldo,signalgi或者signalgo)中的一個(gè)。程序執(zhí)行: 信號(hào)描述符數(shù)值從FromSignal項(xiàng)目給出的信號(hào)復(fù)制到ToSignal項(xiàng)目給出的信號(hào)。更多范例: 指令A(yù)liasIO的更多范例講明如下。VARsignaldialias_di;PROCprog_start() CONSTstringconfig_string:=”config_di”; AliasIOconfig_string,alias_di;ENDPROC 程序prog_start鏈接到系統(tǒng)參數(shù)中的START事件。程序定義的數(shù)字輸入信號(hào)alias_di鏈接到程序開(kāi)頭配置的數(shù)字輸入信號(hào)config_di(通過(guò)常量config_string)。當(dāng)開(kāi)始程序的時(shí)候,別名信號(hào)直到AliasIO指令執(zhí)行之后才能使用。 指令A(yù)liasIO必須放置在或者在程序開(kāi)始(事件START)時(shí)執(zhí)行的事件程序中或者在每一個(gè)程序開(kāi)始之后(信號(hào)使用之前)執(zhí)行的程序部分。為了防止錯(cuò)誤,不舉薦使用把AliasIO信號(hào)動(dòng)態(tài)重新鏈接到不同的物理信號(hào)。語(yǔ)法: AliasIO[FromSignal“:=”]<任意類(lèi)型的有關(guān)(REF)>“,”[ToSignal“:=”]<任意類(lèi)型的變量(VAR)>“;”有關(guān)信息:有關(guān)信息參看輸入/輸出指令RAPID參考手冊(cè)-RAPID概述,RAPID摘要部分-輸入和輸出信號(hào)通常的輸入輸出功能性RAPID參考手冊(cè)-RAPID概述,運(yùn)動(dòng)和I/O原理部分-I/O原理I/O配置技術(shù)有關(guān)手冊(cè)-系統(tǒng)參數(shù)定義事件程序技術(shù)有關(guān)手冊(cè)-系統(tǒng)參數(shù)加載/安裝任務(wù)模塊技術(shù)有關(guān)手冊(cè)-系統(tǒng)參數(shù)1.5.“:=”—賦值用途: “:=”指令用來(lái)給數(shù)據(jù)賦一個(gè)新值。這一個(gè)值能夠是包括從常量值到任意的表達(dá)式中的任何一個(gè)。例如reg1+5*reg3。差不多范例: 指令的差不多范例講明如下。 也可參見(jiàn)第19頁(yè)更多范例。reg1:=5;數(shù)值5賦給reg1。reg1:=reg2-reg3;reg2-reg3運(yùn)算返回的數(shù)值賦給reg1。counter:=counter+1;counter增加1。項(xiàng)目: Data:=ValueData: 數(shù)據(jù)類(lèi)型:所有 將被賦新值的數(shù)據(jù)。Value: 數(shù)據(jù)類(lèi)型:和Data一樣。 期望的數(shù)值。更多范例: 該指令的更多范例講明如下。tool1.tframe.trans.x:=tool1.tframe.trans.x+20;tool1的TCP在X方向上移動(dòng)20毫米。pallet{5,8}:=Abs(value)pallet矩陣的一個(gè)元素被給予一個(gè)等于value變量的絕對(duì)值的數(shù)值。 數(shù)據(jù)(將被改變數(shù)值的)不能夠是: 常量 非數(shù)值數(shù)據(jù)類(lèi)型 數(shù)值或者數(shù)據(jù)必須有相似的(相同的或者別名的)數(shù)據(jù)類(lèi)型。語(yǔ)法: (EBNF) <賦值目標(biāo)>“:=”<表達(dá)式>“;” <賦值目標(biāo)>::=<變量>|<恒量>|<參數(shù)>|<VAR>有關(guān)信息:有關(guān)信息參看表達(dá)式RAPID參考手冊(cè)-RAPID概述,差不多特性部分-表達(dá)式非數(shù)值數(shù)據(jù)類(lèi)型RAPID參考手冊(cè)-RAPID概述,差不多特性部分-數(shù)據(jù)類(lèi)型給數(shù)據(jù)賦一個(gè)初始數(shù)值操作員手冊(cè)-IRC5和FlexPendant,F(xiàn)lexPendant部分編輯數(shù)據(jù)實(shí)例1.6.BitClear—在一個(gè)字節(jié)數(shù)據(jù)中清除一個(gè)特定位用途: BitClear用來(lái)清除(設(shè)為0)定義的字節(jié)數(shù)據(jù)中一個(gè)特定的位。差不多范例: 該指令的差不多范例講明如下。CONSTnumparity_bit:=8;VARbytedata1:=130;BitCleardata1,parity_bit; 變量data1中位號(hào)8(parity_bit)將設(shè)為0,例如變量data1的內(nèi)容將從130變成2(整數(shù)表示法)。當(dāng)使用BitClear時(shí)數(shù)據(jù)類(lèi)型byte的位操作在下圖有講明。項(xiàng)目: BitClearBitDataBitPosBitData: 數(shù)據(jù)類(lèi)型:字節(jié) 整型表示法的位數(shù)據(jù),將被改變的數(shù)據(jù)。BitPos: 數(shù)據(jù)類(lèi)型:數(shù)字 BitData中將被設(shè)為零的位的位置(1-8)。 字節(jié)數(shù)據(jù)類(lèi)型的范疇是十進(jìn)制的0-255。 有效的位的位置為1-8。語(yǔ)法: BitClear[BitData‘:=’]<字節(jié)變量或者恒量(INOUT)>’,’[BitPos’:=’]<數(shù)字表達(dá)式(IN)>’;’有關(guān)信息:有關(guān)信息參看在字節(jié)數(shù)據(jù)中設(shè)定一個(gè)特定的位BitSet—在字節(jié)數(shù)據(jù)中設(shè)定一個(gè)特定的位,第23頁(yè)檢查字節(jié)數(shù)據(jù)中特定的位是否被設(shè)置BitCheck—檢查字節(jié)數(shù)據(jù)中特定的位是否被設(shè)置,第654頁(yè)位的其他功能RAPID參考手冊(cè)-RAPID概述,RAPID摘要部分-數(shù)學(xué)-位功能1.7.BitSet—在字節(jié)數(shù)據(jù)中設(shè)定一個(gè)特定的位用途: BitSet用來(lái)在定義的字節(jié)數(shù)據(jù)中把一個(gè)特定位設(shè)為1。差不多范例: 該指令的差不多范例講明如下。CONSTnumparity_bit:=8;VARbytedata1:=2;BitSetdata1parity_bit;變量data1中位號(hào)8(parity_bit)將設(shè)為1,例如變量data1的內(nèi)容將從2變成130(整數(shù)表示法)。當(dāng)使用BitClear時(shí)數(shù)據(jù)類(lèi)型byte的位操作在下圖有講明。項(xiàng)目: BitSetBitDataBitPosBitData: 數(shù)據(jù)類(lèi)型:字節(jié) 整型表示法的位數(shù)據(jù),將被改變的數(shù)據(jù)。BitPos: 位的位置 數(shù)據(jù)類(lèi)型:數(shù)字 BitData中將被設(shè)為零的位的位置(1-8)。 字節(jié)數(shù)據(jù)類(lèi)型的范疇是十進(jìn)制的0-255。 有效的位的位置為1-8。語(yǔ)法: BitSet[BitData‘:=’]<字節(jié)變量或者恒量(INOUT)>’,’[BitPos’:=’]<數(shù)字表達(dá)式(IN)>’;’有關(guān)信息:有關(guān)信息參看在字節(jié)數(shù)據(jù)中清除一個(gè)特定的位BitClear—在字節(jié)數(shù)據(jù)中清除一個(gè)特定的位,第23頁(yè)檢查字節(jié)數(shù)據(jù)中特定的位是否被設(shè)置BitCheck—檢查字節(jié)數(shù)據(jù)中特定的位是否被設(shè)置,第654頁(yè)位的其他功能RAPID參考手冊(cè)-RAPID概述,RAPID摘要部分-數(shù)學(xué)-位功能1.8.BookErrNo—定制一個(gè)RAPID系統(tǒng)錯(cuò)誤號(hào)碼用途: BookErrNo用來(lái)定制一個(gè)新的RAPID系統(tǒng)錯(cuò)誤號(hào)碼。差不多范例: 該指令的差不多范例講明如下:!Introduceanewerrornumberinagluesystem!Note:Thenewerrorvariablemustbedeclaredwiththeinitialvalue–1;VARerrnumERR_GLUEFLOW:=-1;!BookthenewRAPIDsystemerrornumberBookErrNoERR_GLUEFLOW; 變量ERR_GLUEFLOW將被賦給一個(gè)閑暇的系統(tǒng)錯(cuò)誤號(hào)碼,將在RAPID代碼中使用。 !Usethenewerrornumber IFdil=0THEN RAISEERR_GLUEFLOW; ELSE … ENDIF Errorhandling ERROR IFERRNO=ERR_GLUEFLOWTHEN …. ELSE … ENDIF 如果數(shù)字輸入dil是0,新定制的錯(cuò)誤號(hào)碼將被提出同時(shí)系統(tǒng)錯(cuò)誤變量ERRNO將被設(shè)定到新定制的錯(cuò)誤號(hào)碼。這些用戶產(chǎn)生的錯(cuò)誤的錯(cuò)誤處理然后能夠像平常一樣在錯(cuò)誤處理器中處理。項(xiàng)目: BookErrNoErrorNameErrorName: 數(shù)據(jù)類(lèi)型:errnum 新的RAPID系統(tǒng)錯(cuò)誤變量名稱。 新的錯(cuò)誤變量不能夠像程序變量一樣被聲明。 新的錯(cuò)誤變量必須帶初始值-1聲明,這就給出一個(gè)信息:該錯(cuò)誤應(yīng)該是一個(gè)RAPID系統(tǒng)錯(cuò)誤。語(yǔ)法: BookErrNo[ErrorName‘:=’]<errnum的變量(VAR)>‘;’有關(guān)信息:有關(guān)信息參看錯(cuò)誤處理RAPID參考手冊(cè)-RAPID概述,差不多特性部分-錯(cuò)誤復(fù)原錯(cuò)誤號(hào)碼Errnum—錯(cuò)誤號(hào)碼,第941頁(yè)調(diào)用一個(gè)錯(cuò)誤處理器RAISE—調(diào)用一個(gè)錯(cuò)誤處理器,第303頁(yè)1.9.Break—跳出程序執(zhí)行用途: Break用來(lái)在程序執(zhí)行中制造一個(gè)趕忙跳出,為了RAPID程序代碼調(diào)試的目的。差不多范例: 該指令的差不多范例講明如下?!?.Break…. 程序執(zhí)行停止,為了調(diào)試目的的分析變量、數(shù)值等成為可能。程序執(zhí)行: 該指令趕忙停止程序執(zhí)行,不用等機(jī)器人或者外部軸到達(dá)他們編程的當(dāng)時(shí)運(yùn)動(dòng)的目的點(diǎn)。程序執(zhí)行然后能從下一條指令重新開(kāi)始。 如果在一些事件程序中有Break指令,程序的執(zhí)行將被打斷,同時(shí)沒(méi)有停止事件程序?qū)⒈粓?zhí)行。下次同一事件發(fā)生的時(shí)候事件程序?qū)拈_(kāi)頭執(zhí)行。語(yǔ)法: Break‘;’有關(guān)信息:有關(guān)信息參看程序活動(dòng)停止Stop—停止程序執(zhí)行,第438頁(yè)致命錯(cuò)誤后停止EXIT—終止程序執(zhí)行,第92頁(yè)終止程序執(zhí)行EXIT—終止程序執(zhí)行,第92頁(yè)只停止機(jī)器人運(yùn)動(dòng)StopMove—停止機(jī)器人運(yùn)動(dòng),第442頁(yè)1.10.CallByVar—通過(guò)一個(gè)變量調(diào)用程序用途:CallByVar(CallByVariable)能夠使用一個(gè)特定的名稱,例如proc_name1,proc_name2,proc_name3…proc_namex通過(guò)一個(gè)變量調(diào)用程序。差不多范例: 該指令的差不多范例講明如下: 也可參照第28頁(yè)更多范例。reg1:=2;CallByVar“proc”,reg1; 程序proc2被調(diào)用。項(xiàng)目: CallByVarNameNumberName: 數(shù)據(jù)類(lèi)型:字符串 程序名稱的第一部分,例如proc_name。Number: 數(shù)據(jù)類(lèi)型:數(shù)字 程序號(hào)碼的數(shù)字?jǐn)?shù)值。該數(shù)值將被轉(zhuǎn)換成一個(gè)字符串,給出程序名稱的第二部分,例如,1。數(shù)值必須是一個(gè)正整數(shù)。更多范例: 如何作出程序調(diào)用的動(dòng)態(tài)和靜態(tài)選擇的更多范例。程序調(diào)用的靜態(tài)選擇。TESTreg1CASE1: Lf_doordoor_loc;Case2: Rf_doordoor_loc;Case3: Lr_doordoor_loc;Case4: Rr_doordoor_loc;DEFAULT:EXIT;ENDTEST 取決于寄存器reg1的數(shù)值是1、2、3或者4,來(lái)調(diào)用不同的程序來(lái)對(duì)選擇的門(mén)完成合適的工作,門(mén)位于項(xiàng)目door_loc。用RAPID語(yǔ)法動(dòng)態(tài)選擇程序調(diào)用。Reg1:=2;%”proc”+NumToStr(reg1,0)%door_loc; 程序proc2和項(xiàng)目door_loc被調(diào)用。用CallByVar動(dòng)態(tài)選擇程序調(diào)用。Reg1:=2;CallByVar“proc”,reg1; 只能被用來(lái)調(diào)用不帶參數(shù)的程序。 不能用來(lái)調(diào)用LOCAL(本地)程序。 CallByVar的執(zhí)行比一般的程序調(diào)用要占用多一點(diǎn)的時(shí)刻。錯(cuò)誤處理: 如果Number項(xiàng)目小于零或者不是一個(gè)整數(shù),系統(tǒng)參數(shù)ERRNO被設(shè)成ERR_ARGVALERR。 如果有關(guān)到一個(gè)未知的程序,系統(tǒng)參數(shù)ERRNO被設(shè)成ERR_REFUNKPRC。 如果程序調(diào)用錯(cuò)誤(不是程序錯(cuò)誤),系統(tǒng)參數(shù)ERRNO被設(shè)成ERR_CALLPROC。 這些錯(cuò)誤能夠在錯(cuò)誤處理器中進(jìn)行處理。語(yǔ)法: CallByVar[名稱‘:=’]<字符串表達(dá)式(IN)>‘,’[號(hào)碼‘:=’]<數(shù)字表達(dá)式(IN)>‘;’有關(guān)信息:有關(guān)信息參照調(diào)用程序RAPID參考手冊(cè)-RAPID概述,差不多特性部分-程序操作員手冊(cè)-IRC5和FlexPendant1.11.CancelLoad—取消模塊的加載用途: CancelLoad用來(lái)取消用StartLoad指令正在加載或者差不多加載的模塊。 CancelLoad只能用在指令StartLoad和WaitLoad之間。差不多范例: 該指令的差不多范例講明如下。 也可參見(jiàn)第30頁(yè)的更多范例。ConcelLoadload1加載load1被取消。項(xiàng)目: CancelLoadLoadNoLoadNo: 數(shù)據(jù)類(lèi)型:loadsession 有關(guān)到被StartLoad所開(kāi)始的加載系列。更多范例: 如何使用該指令的更多范例講明如下。VARloadsessionload1;StartLoad“HOME:”\File:=”P(pán)ART_B.MOD”,load1; … IF… CancelLoadLoad1; StartLoad“HOME:”\File:=”P(pán)ART_C.MOD”,load1; ENDIF … WaitLoadload1; 指令CancelLoad將取消正在進(jìn)行的PART_B.MOD模塊的加載,而要使加載PART_C.MOD成為可能。錯(cuò)誤處理: 如果項(xiàng)目LoadNo指定的變量沒(méi)有在使用,也確實(shí)是講沒(méi)有進(jìn)行加載,系統(tǒng)變量ERRNO將設(shè)為ERR_LOADNO_NOUSE。那個(gè)錯(cuò)誤然后在錯(cuò)誤處理器中可能被處理。語(yǔ)法: CancelLoad[LoadNo‘:=’]<加載系列變量(VAR)>’;’有關(guān)信息:有關(guān)信息參照在執(zhí)行過(guò)程中加載一個(gè)程序模塊StartLoad—在執(zhí)行過(guò)程中加載一個(gè)程序模塊,第410頁(yè)把加載的模塊連接到任務(wù)中WaitLoad—把加載的模塊連接到任務(wù)中,第566頁(yè)加載系列Loadsession—程序加載系列,第968頁(yè)加載一個(gè)程序模塊Load—在執(zhí)行過(guò)程中加載一個(gè)程序模塊,第182頁(yè)卸載一個(gè)程序模塊Unload—在執(zhí)行過(guò)程中卸載一個(gè)程序模塊,第553頁(yè)同意未解決的有關(guān)技術(shù)有關(guān)手冊(cè)-系統(tǒng)參數(shù),標(biāo)題操縱器部分-任務(wù)類(lèi)型-檢查未解決的有關(guān)1.12.CirPathMode—在圓形路徑過(guò)程中工具再定位用途:CirPathMode(圓形路徑模式)使在圓周運(yùn)動(dòng)中選擇不同的模式再定位工具成為可能。 該指令只能被使用在主任務(wù)T_ROB1,或者如果在多運(yùn)動(dòng)系統(tǒng)中,使用在運(yùn)動(dòng)任務(wù)中。差不多范例: 該指令的差不多范例講明如下:CirPathMode\PathFrame在所有成功的圓形運(yùn)行過(guò)程中,從開(kāi)始點(diǎn)到ToPoint的實(shí)際路徑格式中工具再定位的標(biāo)準(zhǔn)模式。這是系統(tǒng)中的缺省值。CirPathMode\ObjectFrame在所有成功的圓形運(yùn)行過(guò)程中,從開(kāi)始點(diǎn)到ToPoint的實(shí)際對(duì)象格式中工具再定位的修改的模式。CirPathMode\CirPointOri在所有成功的圓形運(yùn)行過(guò)程中,從開(kāi)始點(diǎn)通過(guò)程序中的CirPoint再定位到ToPoint的工具再定位的標(biāo)準(zhǔn)模式。描述:PathFrame 以下表格中的圖顯示了標(biāo)準(zhǔn)模式\PathFrame下的工具再定位。講明描述箭頭顯示了工具從腕部中心點(diǎn)到工具中心點(diǎn)也確實(shí)是編程點(diǎn)。腕部中心點(diǎn)的路徑在圖中用虛線點(diǎn)出。\PathFrame模式使工具繞圓柱得到相同的角度變得容易。機(jī)器人手腕將不能突破CirPoint中編程的方向。以下表格中的圖顯示了用固定工具方向的標(biāo)準(zhǔn)模式\PathFrame的使用。講明描述該圖片顯示了用傾斜工具和\PathFrame模式在圓的中心獲得的工具方向。和下圖中使用\ObjectFrame模式的相比較。ObjectFrame 下表中的圖顯示了修改的模式\ObjectFrame和固定工具方向的使用。講明描述該圖片顯示了用傾斜工具和\ObjectFrame模式在圓的中心獲得的工具方向。該模式將做出和MoveL用相同方法的工具的線性再定位。機(jī)器人手腕將不能穿過(guò)CirPoint中編程的方向。和上圖中使用\PathFrame模式的相比較。CirPointOri 以下表格中的圖顯示了標(biāo)準(zhǔn)模式\PathFrame和修改的模式\CirPointOri之間不同的工具再定位。講明描述箭頭顯示了工具從腕部中心點(diǎn)到工具中心點(diǎn)也確實(shí)是編程點(diǎn)。腕部中心點(diǎn)的不同路徑在圖中用虛線點(diǎn)出。\CirPointOri模式使機(jī)器人手腕突破CirPoint中編程的方向。項(xiàng)目: CirPathMode[\PathFrame]|[\ObjectFrame]|[\CirPointOri][\PathFrame] 數(shù)據(jù)類(lèi)型:switch 在圓周運(yùn)動(dòng)過(guò)程中,工具的再定位在實(shí)際路徑格式中的從開(kāi)始點(diǎn)方向到ToPoint方向連續(xù)完成。這是系統(tǒng)中的標(biāo)準(zhǔn)模式。[\ObjectFrame] 數(shù)據(jù)類(lèi)型:switch 在圓周運(yùn)動(dòng)中,工具的再定位在實(shí)際對(duì)象格式中從開(kāi)始點(diǎn)方向到ToPoint方向連續(xù)完成。[\CirPointOri]數(shù)據(jù)類(lèi)型:switch 在圓周運(yùn)動(dòng)中,工具的再定位在實(shí)際對(duì)象格式中從開(kāi)始點(diǎn)方向到程序中CirPoint方向再到ToPoint方向連續(xù)完成。只有編程的CirPointMode;沒(méi)有任何轉(zhuǎn)換導(dǎo)致和CirPointMode\PathFrame相同的結(jié)果。程序執(zhí)行: 特定的圓形工具再定位模式應(yīng)用于下一個(gè)執(zhí)行的機(jī)器人任意類(lèi)型的圓周運(yùn)動(dòng)(MoveC,SearchC,TriggC,MoveCDO,MoveCSync,ArcC,PaintC…)同時(shí)直到新的CirPathMode(或者舊的CirPathReori)指令執(zhí)行之前都有效。 標(biāo)準(zhǔn)的圓形再定位程序(CirPathMode\PathFrame)在以下情形下自動(dòng)設(shè)定:冷啟動(dòng)當(dāng)加載一個(gè)新的程序當(dāng)從開(kāi)頭執(zhí)行程序時(shí) 該指令只阻礙圓周運(yùn)動(dòng)。 當(dāng)使用\CirPointOri模式時(shí),CirPoint必須在點(diǎn)A和點(diǎn)B之間,按照下圖是圓周運(yùn)動(dòng)在CirPoint突破程序中的方向。如果工作在手腕單一點(diǎn)區(qū)域鄰近同時(shí)SingArea\Wrist指令差不多被執(zhí)行,指令CirPathMode將沒(méi)有阻礙,因?yàn)橄到y(tǒng)那時(shí)候選擇另一種圓周運(yùn)動(dòng)(關(guān)節(jié)插補(bǔ))的工具再定位模式。該指令代替舊的指令CirPathReori(即使在今后也能夠使用,然而在文檔中不再介紹。語(yǔ)法: CirPathMode‘;’[‘\’PathFrame]|[‘\’ObjectFrame]|[‘\’CirPointOri]有關(guān)信息:有關(guān)信息參照插補(bǔ)RAPID參考手冊(cè)-RAPID概述,運(yùn)動(dòng)和I/O原理部分-程序執(zhí)行過(guò)程中的定位運(yùn)動(dòng)設(shè)定數(shù)據(jù)Motsetdata—運(yùn)動(dòng)設(shè)定數(shù)據(jù),第971頁(yè)圓周運(yùn)動(dòng)指令MoveC—使機(jī)器人圓周運(yùn)動(dòng),第209頁(yè)1.13.Clear—清除數(shù)值用途: Clear用來(lái)清除一個(gè)數(shù)字變量或恒量,即把它設(shè)為零。差不多范例: 該指令的差不多范例講明如下。Clearreg1;Reg1被清除,即reg1:=0。項(xiàng)目: ClearNameName: 數(shù)據(jù)類(lèi)型:數(shù)字 馬上清除的變量或恒量的名稱。語(yǔ)法: Clear[Name‘:=’]<數(shù)字的變量或者恒量(INOUT)>‘;’有關(guān)信息:有關(guān)信息參看給變量加1Incr—給變量加1,第117頁(yè)使變量減1Decr—變量減1,第71頁(yè)給變量增加任何值A(chǔ)dd—增加數(shù)字?jǐn)?shù)值,第16頁(yè)使用任意值改變數(shù)據(jù)“:=”—給變量賦值,第19頁(yè)1.14.ClearIOBuff—清除串行通道的輸入緩沖器用途: ClearIOBuff用來(lái)清理串行通道的輸入緩沖器。所有來(lái)自串口通道的緩沖的字母將被丟棄。差不多范例: 該指令的差不多范例講明如下。VARiodevchannel2;…Open“com2:”,channel2\Bin;ClearIOBuffchannel2;WaitTime0.1; 有關(guān)到channel2的串行通道的輸入緩沖器被清空。等待時(shí)刻保證足夠時(shí)刻來(lái)完成清空操作。項(xiàng)目: ClearIOBuffIODeviceIODevice: 數(shù)據(jù)類(lèi)型:iodev 將被清空緩沖器的串行通道的名稱(有關(guān))。程序執(zhí)行: 所有輸入串行通道的緩沖器的字母被清除。下一個(gè)讀取指令將等待來(lái)自通道的新的指令。 該指令只能被串行通道使用。不等待操作完成的通知。在每一次使用中,舉薦在指令后使用0.1秒的等待時(shí)刻,來(lái)給操作足夠的時(shí)刻。錯(cuò)誤處理: 如果要在一個(gè)文件上使用該指令(清除文件),系統(tǒng)變量ERRNO將被設(shè)成ERR_FILEACC。該錯(cuò)誤能夠在錯(cuò)誤處理器中處理。語(yǔ)法: ClearIOBuff[IODevice‘:=’]<iodev的變量(VAR)>‘;’有關(guān)信息:有關(guān)信息參看打開(kāi)一個(gè)串行通道RAPID參考手冊(cè)-RAPID概述,RAPID摘要部分-通訊1.15.ClearPath—清除當(dāng)前路徑用途: ClearPath清除當(dāng)前運(yùn)動(dòng)路徑層次上(差不多層次或者StorePath層次)的整個(gè)運(yùn)動(dòng)路徑。 運(yùn)動(dòng)路徑是指在ClearPath執(zhí)行的時(shí)候,從RAPID差不多執(zhí)行然而機(jī)器人沒(méi)有完成的運(yùn)動(dòng)開(kāi)始所有的運(yùn)動(dòng)段落。 在ClearPath指令執(zhí)行前機(jī)器人必須在停止點(diǎn)位置,或者用StopMove指令停止機(jī)器人。差不多范例: 該指令的差不多范例講明如下。在下列程序例子中,機(jī)器人從初始位置到達(dá)p1點(diǎn)。在點(diǎn)px,信號(hào)dil將指示有效負(fù)載被丟掉。在陷阱程序gohome中,連續(xù)執(zhí)行。機(jī)器人將在px停止運(yùn)動(dòng)(開(kāi)始跳出),路徑將被清除,機(jī)器人將移動(dòng)到初始位置。錯(cuò)誤將被提升到調(diào)用minicycle程序,同時(shí)整個(gè)用戶定義的程序循環(huán)proc1,proc2將被再次從開(kāi)始執(zhí)行。VARintnumdrop_payload;CONSTerrnumERR_DROP_LOAD:=-1;PROCminicycle() BookErrNoERR_DROP_LOAD; Proc1; … ERROR(ERR_DROP_LOAD) RETRY;ENDPROCPROCproc1() … proc2; …ENDPROCPROCproc2()CONNECTdrop_payloadWITHgohome;IsignalDI\Single,dil,1,drop_payload;MoveLp1,v500,fine,gripper;………….Ideletedrop_payloadENDPROCTRAPgohomeStopMove\Quick;ClearPath;Ideletedrop_payload;MoveLhome,v500,fine,gripper;RAISEERR_DROP_LOAD;ERRORRAISE;ENDTROP 如果正在運(yùn)行相同的程序,然而在陷阱程序gohome中沒(méi)有使用StopMove和ClearPath,在回到初始位置home之前機(jī)器人將連續(xù)運(yùn)動(dòng)到p1位置。 如果編程時(shí)在MoveLhome中使用飛點(diǎn)(zone)代替停止點(diǎn)(fine),在調(diào)用minicycle程序中的錯(cuò)誤處理器的過(guò)程中,運(yùn)動(dòng)將會(huì)連續(xù)同時(shí)直到運(yùn)動(dòng)預(yù)備好。語(yǔ)法: ClearPath‘;’有關(guān)信息:有關(guān)信息參看停止機(jī)器人運(yùn)動(dòng)StopMove—停止機(jī)器人運(yùn)動(dòng),第442頁(yè)錯(cuò)誤復(fù)原RAPID參考手冊(cè)-RAPID概述,RAPID摘要部分-錯(cuò)誤復(fù)原RAPID參考手冊(cè)-RAPID概述,差不多特性部分-錯(cuò)誤復(fù)原1.16.ClearRawBytes—清除原始字節(jié)數(shù)據(jù)的內(nèi)容用途: ClearRawBytes用來(lái)把原始字節(jié)變量的所有內(nèi)容設(shè)為0。差不多范例: 指令的差不多范例講明如下。VARrawbytesraw_data;VARnuminteger:=8VARnumfloat:=13.4;PackRawBytesinteger,raw_data,1\IntX:=DINT;PackRawBytesfloat,raw_data,(RawBytesLen(raw_data)+1)\Float4;ClearRawBytesraw_data\FromIndex:=5; 在前4個(gè)字節(jié)里,放入integer的數(shù)值(從索引1開(kāi)始),從索引5開(kāi)始的后4個(gè)字節(jié)里放入了float的數(shù)值。 例子中的最后一個(gè)指令清除了Raw_data的內(nèi)容,從索引5開(kāi)始,例如float將被清除,然而integer被儲(chǔ)存在raw_data中。當(dāng)前Raw_data中有效字節(jié)的長(zhǎng)度被設(shè)為4。項(xiàng)目: ClearRawbytesRawData[\FromIndex]RawData: 數(shù)據(jù)類(lèi)型:原始字節(jié) RawData是將被清除的數(shù)據(jù)容器。[\FromIndex]: 數(shù)據(jù)類(lèi)型:數(shù)字 帶有指定的[\FromIndex],將從[\FromIndex]開(kāi)始清除RawData的內(nèi)容。 一直到頭的所有東西都被清除。 如果沒(méi)有指定[\FromIndex],從索引1開(kāi)始的所有數(shù)據(jù)將被清除。程序執(zhí)行: 在指定的變量中,從索引1(缺?。╅_(kāi)始或者從\FromIndex開(kāi)始的數(shù)據(jù)被復(fù)位到0。 指定變量中有效字節(jié)的當(dāng)前長(zhǎng)度被設(shè)為0(缺省)或者如果\FromIndex使用的話為(\FromIndex-1)。語(yǔ)法: ClearRawBytes[RawData‘:=’]<原始字節(jié)類(lèi)型的變量(VAR)>[‘\’FromIndex’:=’<數(shù)字類(lèi)型的表達(dá)式(IN)>]’;’有關(guān)信息:有關(guān)信息參看原始字節(jié)的數(shù)據(jù)Rawbytes—原始數(shù)據(jù),第994頁(yè)得到原始字節(jié)數(shù)據(jù)的長(zhǎng)度RawBytesLen—得到原始字節(jié)數(shù)據(jù)的長(zhǎng)度,第806頁(yè)復(fù)制原始字節(jié)數(shù)據(jù)的內(nèi)容CopyRawBytes—復(fù)制原始字節(jié)數(shù)據(jù)的內(nèi)容,第58頁(yè)將設(shè)備網(wǎng)標(biāo)題打包進(jìn)原始字節(jié)數(shù)據(jù)PackDNHeader—將設(shè)備網(wǎng)標(biāo)題打包進(jìn)原始字節(jié)數(shù)據(jù),第258頁(yè)將數(shù)據(jù)打包進(jìn)原始字節(jié)數(shù)據(jù)PackRawBytes—將數(shù)據(jù)打包進(jìn)原始字節(jié)數(shù)據(jù),第261頁(yè)寫(xiě)入原始字節(jié)數(shù)據(jù)WriteRawBytes—寫(xiě)入原始字節(jié)數(shù)據(jù),第604頁(yè)讀取原始字節(jié)數(shù)據(jù)ReadRawBytes—讀取原始字節(jié)數(shù)據(jù),第319頁(yè)從原始字節(jié)數(shù)據(jù)將數(shù)據(jù)拆包UnpackRawBytes—從原始字節(jié)數(shù)據(jù)中將數(shù)據(jù)拆包,第556頁(yè)1.17.ClkReset—復(fù)位一個(gè)用來(lái)計(jì)時(shí)的時(shí)鐘用途: ClkReset用來(lái)復(fù)位一個(gè)用來(lái)計(jì)時(shí)的停止監(jiān)視功能的時(shí)鐘。該指令在使用時(shí)鐘指令之前使用,用來(lái)確保它歸零。差不多范例: 該指令的差不多范例講明如下。CleResetClock1;時(shí)鐘Clock1被復(fù)位。項(xiàng)目: ClkResetClockClock: 數(shù)據(jù)類(lèi)型:時(shí)鐘 要復(fù)位的時(shí)鐘的名稱。程序執(zhí)行: 當(dāng)時(shí)鐘被復(fù)位,它被設(shè)為0。 如果時(shí)鐘正在運(yùn)行,它將被停止然后復(fù)位。語(yǔ)法: ClkReset[Clock‘:=’]<時(shí)鐘類(lèi)型的變量(VAR)>‘;’有關(guān)信息:有關(guān)信息參看其他時(shí)鐘指令RAPID參考手冊(cè)-RAPID概述,RAPID摘要部分-系統(tǒng)和時(shí)刻1.18.ClkStart—開(kāi)始一個(gè)用來(lái)計(jì)時(shí)的時(shí)鐘用途: ClkStart用來(lái)開(kāi)始一個(gè)用于計(jì)時(shí)的停止-監(jiān)視功能的時(shí)鐘。差不多范例: 該指令的差不多范例講明如下。 也可參看第43頁(yè)的更多范例。ClkStartClock1時(shí)鐘Clock1開(kāi)始計(jì)時(shí)。項(xiàng)目: ClkStartClockClock: 數(shù)據(jù)類(lèi)型:時(shí)鐘 將要開(kāi)始計(jì)時(shí)的時(shí)鐘的名稱。程序執(zhí)行: 當(dāng)時(shí)鐘開(kāi)始計(jì)時(shí),它將運(yùn)行同時(shí)連續(xù)計(jì)秒直到它停止。當(dāng)讓它開(kāi)始計(jì)時(shí)的程序停止的時(shí)候,時(shí)鐘連續(xù)運(yùn)行。然而,你想要計(jì)時(shí)的事件可能不再有效。例如,如果程序測(cè)量輸入的等待時(shí)刻,當(dāng)程序停止的時(shí)候,輸入差不多被接收。在這種情形下,當(dāng)程序停止的時(shí)候,程序?qū)⒉荒堋翱吹健笔录陌l(fā)生。 當(dāng)機(jī)器人電源斷電的時(shí)候,只要備份電池保留包含時(shí)鐘變量的程序,始終將連續(xù)運(yùn)行。 如果時(shí)鐘正在運(yùn)行,它能夠被讀取、停止或者復(fù)位。更多范例: 該指令的更多范例講明如下。VARclockclock2;VARnumtime;ClkResetclock2;ClkStartclock2;WaitUntildil=1; ClkStopclock2;Time:=ClkRead(clock2); Dil變成1的等待時(shí)刻被測(cè)量。錯(cuò)誤處理: 如果時(shí)鐘運(yùn)行了4,294,967秒(49天17個(gè)小時(shí)2分鐘47秒),它將超載同時(shí)系統(tǒng)變量ERRNO被設(shè)成ERR_OVERFLOW。 該錯(cuò)誤能夠在錯(cuò)誤處理器中處理。語(yǔ)法: ClkStart[Clock‘:=’]<時(shí)鐘類(lèi)型的變量(VAR)>‘;’有關(guān)信息:有關(guān)信息描述在其他時(shí)鐘指令RAPID參考手冊(cè)-RAPID概述,RAPID摘要部分-系統(tǒng)和時(shí)刻1.19.ClkStop—停止一個(gè)用來(lái)計(jì)時(shí)的時(shí)鐘用途: ClkStop用來(lái)停止一個(gè)用于計(jì)時(shí)的停止-監(jiān)視功能的時(shí)鐘。差不多范例: 該指令的差不多范例講明如下。 ClkStopClock1時(shí)鐘Clock1停止計(jì)時(shí)。項(xiàng)目: ClkStopClockClock: 數(shù)據(jù)類(lèi)型:時(shí)鐘 將要停止計(jì)時(shí)的時(shí)鐘的名稱。程序執(zhí)行: 當(dāng)時(shí)鐘停止計(jì)時(shí),它將停止運(yùn)行。 如果時(shí)鐘被停止,它能夠被讀取、再次開(kāi)始或者復(fù)位。錯(cuò)誤處理: 如果時(shí)鐘運(yùn)行了4,294,967秒(49天17個(gè)小時(shí)2分鐘47秒),它將超載同時(shí)系統(tǒng)變量ERRNO被設(shè)成ERR_OVERFLOW。 該錯(cuò)誤能夠在錯(cuò)誤處理器中處理。語(yǔ)法: ClkStop[Clock‘:=’]<時(shí)鐘類(lèi)型的變量(VAR)>‘;’有關(guān)信息:有關(guān)信息參看其他時(shí)鐘指令RAPID參考手冊(cè)-RAPID概述,RAPID摘要部分-系統(tǒng)和時(shí)刻更多例子ClkStart—開(kāi)始一個(gè)用來(lái)計(jì)時(shí)的時(shí)鐘,第43頁(yè)1.20.Close—關(guān)閉一個(gè)文件或者串行通道用途: Close用來(lái)關(guān)閉一個(gè)文件或者串行通道。差不多范例: 該指令的差不多范例講明如下。Closechannel2;被channel2有關(guān)到的串行通道被關(guān)閉。項(xiàng)目: CloseIODeviceIODevice: 數(shù)據(jù)類(lèi)型:iodev 將要被關(guān)閉的文件或者串行通道的名稱(有關(guān))。程序執(zhí)行: 指定的文件或者串行通道被關(guān)閉同時(shí)在讀或?qū)懼氨仨氈匦麓蜷_(kāi)。如果它差不多被關(guān)閉,該指令被忽略。語(yǔ)法: Close[IODevice‘:=’]<iodev類(lèi)型的變量(VAR)>‘;’有關(guān)信息:有關(guān)信息參看打開(kāi)一個(gè)文件或者串行通道RAPID參考手冊(cè)-RAPID概述,RAPID摘要部分-通訊1.21.CloseDir—關(guān)閉一個(gè)名目用途: CloseDir用來(lái)關(guān)閉一個(gè)名目,和OpenDir達(dá)到平穩(wěn)。差不多范例: 該指令的差不多范例講明如下。PROClsdir(stringdirname)VARdirdirectory;VARstringfilename;OpenDirdirectory,dirname;WHILEReadDir(directory,filename)DO TPWritefilename;ENDWHILECloseDirdirectory;ENDPEOC 該例子打印出指定名目下所有文件或者子名目名稱。項(xiàng)目: CloseDirDevDev: 數(shù)據(jù)類(lèi)型:dir 一個(gè)有關(guān)到OpenDir指令取得的名目的變量。語(yǔ)法: CloseDir[Dev’:=’]<dir類(lèi)型的變量(VAR)>‘;’有關(guān)信息:有關(guān)信息參看名目Dir—文件名目結(jié)構(gòu),第938頁(yè)制作一個(gè)名目MakeDir—?jiǎng)?chuàng)建一個(gè)新的名目,第192頁(yè)打開(kāi)一個(gè)名目OpenDir—打開(kāi)一個(gè)名目,第256頁(yè)讀取一個(gè)名目ReadDir—在一個(gè)名目中讀取下一個(gè)入口,第810頁(yè)刪除一個(gè)名目RemoveDir—?jiǎng)h除一個(gè)名目,第322頁(yè)刪除一個(gè)文件RemoveFile—?jiǎng)h除一個(gè)文件,第324頁(yè)重新命名一個(gè)文件RenameFile—重新命名一個(gè)文件,第325頁(yè)1.22.comment—注釋用途: comment只是用來(lái)使程序容易懂得。對(duì)程序的執(zhí)行沒(méi)有阻礙。差不多范例: 該指令的差不多范例講明如下。!GotothepositionabovepalletMoveLp100,v500,z20,tool1; 一個(gè)注釋被插入程序,使程序更容易懂得。項(xiàng)目: !CommentComment: 文本字符串。 任何文本。程序執(zhí)行: 執(zhí)行該指令的時(shí)候可不能發(fā)生什么。語(yǔ)法: (EBNF) ‘!’{<字母>}<newline>有關(guān)信息:有關(guān)信息參看注釋中承諾的字母RAPID參考手冊(cè)-RAPID概述,差不多特點(diǎn)部分-差不多元素?cái)?shù)據(jù)或者程序聲明中的注釋RAPID參考手冊(cè)-RAPID概述,差不多特點(diǎn)部分-差不多元素1.23.CompactIF—如果滿足一個(gè)條件,那么。。。(執(zhí)行一個(gè)指令)用途: 如果滿足一個(gè)給定的條件,只有將執(zhí)行一個(gè)單一指令的時(shí)候才使用CompactIF。 如果不同的指令將被執(zhí)行,取決于給定的條件是否滿足,使用IF指令。差不多范例: 該指令的差不多范例講明如下:IFreg1>5GOTOnext;如果reg1大于5,程序連續(xù)從下一個(gè)標(biāo)簽執(zhí)行。IFconter>10Setdo1;如果conter>10,那么do1信號(hào)被設(shè)置。項(xiàng)目: IFCondition…Condition: 數(shù)據(jù)類(lèi)型:bool 指令的執(zhí)行必須滿足的條件。語(yǔ)法: (EBNF) IF<條件表達(dá)式>(<指令>|<SMT>)‘;’有關(guān)信息:有關(guān)信息參看條件(邏輯表達(dá)式)RAPID參考手冊(cè)-RAPID概述,差不多特性部分-表達(dá)式IF帶多個(gè)指令I(lǐng)F—如果一個(gè)條件滿足,那么。。。;否則。。。,第115頁(yè)1.24.ConfJ—在關(guān)節(jié)運(yùn)動(dòng)過(guò)程中操縱配置用途: ConfJ(配置關(guān)節(jié))用來(lái)指定在關(guān)節(jié)運(yùn)動(dòng)過(guò)程中是否操縱機(jī)器人配置。如果不操縱,機(jī)器人有時(shí)候會(huì)使用與程序中不同的配置。 ConfJ\Off時(shí),機(jī)器人不能轉(zhuǎn)變主軸配置-它將查找和當(dāng)前途徑具有相同主軸配置的途徑,然而它移動(dòng)到軸4和軸6的最近的腕配置。 該指令只能使用在主任務(wù)中,或者在多運(yùn)動(dòng)系統(tǒng)中,使用在運(yùn)動(dòng)任務(wù)中。差不多范例: 該指令的差不多范例講明如下。ConfJ\Off;MoveJ*,v1000,fine,tool1; 機(jī)器人移動(dòng)到編程位置和方向。如果該位置能夠用多種不同的方式到達(dá)、用多種軸配置,將選擇最近的可能位置。ConfJ\On;MoveJ*,v1000,fine,tool1; 機(jī)器人移動(dòng)到程序中的位置、方向和軸配置。如果這是不可能的,程序執(zhí)行將停止。項(xiàng)目: ConfJ[\On]|[\Off][\On]: 數(shù)據(jù)類(lèi)型:switch 機(jī)器人通常移動(dòng)到遍編程中的軸配置。如果不能使用編程中的位置和方向,程序執(zhí)行停止。 IRB5400機(jī)器人將移動(dòng)到程序中的軸配置或者是接近程序中的軸配置的軸配置。如果它不能到達(dá)程序中的軸配置的話,程序的執(zhí)行也可不能停止。[\Off]: 數(shù)據(jù)類(lèi)型:switch 機(jī)器人通常運(yùn)動(dòng)到最接近的軸配置。程序執(zhí)行: 如果選擇了項(xiàng)目\On(或者沒(méi)有選擇項(xiàng)目),機(jī)器人通常運(yùn)動(dòng)到編程的軸位置。只是不能使用程序中的位置和方向,在運(yùn)動(dòng)開(kāi)始之前程序執(zhí)行就停止。 如果選擇了項(xiàng)目\Off,機(jī)器人通常運(yùn)動(dòng)到最近接的軸配置。如果配置被錯(cuò)誤地手動(dòng)指定,或者如果執(zhí)行了程序移植,這將可能和程序中的不一樣。 操縱配置(ConfJ\On)是缺省值。這被自動(dòng)設(shè)置:冷啟動(dòng)時(shí)新程序被加載從頭開(kāi)始程序執(zhí)行語(yǔ)法: ConfJ[‘\’On]|[‘\’Off]‘;’有關(guān)信息:有關(guān)信息參看處理不同的配置RAPID參考手冊(cè)-RAPID概述,運(yùn)動(dòng)和I/O原理部分-機(jī)器人配置線性運(yùn)動(dòng)中的機(jī)器人配置ConfL—在線性運(yùn)動(dòng)過(guò)程中監(jiān)視配置,第52頁(yè)1.25.ConfL—在線性運(yùn)動(dòng)過(guò)程中監(jiān)視配置用途: ConfJ(配置關(guān)節(jié))用來(lái)指定在線性或者圓周運(yùn)動(dòng)過(guò)程中是否監(jiān)視機(jī)器人配置。如果不監(jiān)視,執(zhí)行時(shí)候的配置可能和程序中的配置不一樣。當(dāng)模式改變?yōu)殛P(guān)節(jié)運(yùn)動(dòng)的時(shí)候,也可能導(dǎo)致不可預(yù)知的清掃機(jī)器人運(yùn)動(dòng)。 該指令只能使用在主任務(wù)中,或者在多運(yùn)動(dòng)系統(tǒng)中,使用在運(yùn)動(dòng)任務(wù)中。 注意!在IRB5400機(jī)器人中,不管在ConfL中如何指定,監(jiān)視總是關(guān)閉的。差不多范例: 該指令的差不多范例講明如下。ConfL\On;MoveL*,v1000,fine,tool1;當(dāng)從當(dāng)前位置不能到達(dá)程序中的配置時(shí),程序執(zhí)行停止。SingArea\Wrist;ConfL\On;MoveL*,v1000,fine,tool1; 機(jī)器人運(yùn)動(dòng)到編程位置、方向和腕部軸配置。如果不能到達(dá),程序執(zhí)行停止。ConfL\Off;MoveJ*,v1000,fine,tool1; 機(jī)器人移動(dòng)到程序中的位置和方向,然而到達(dá)最近的可能軸配置,這可能和程序中的軸位置不同。項(xiàng)目: ConfL[\On]|[\Off][\On]: 數(shù)據(jù)類(lèi)型:switch 機(jī)器人配置被監(jiān)視。[\Off]: 數(shù)據(jù)類(lèi)型:switch 機(jī)器人配置不被監(jiān)視。程序執(zhí)行: 在線性或者圓周運(yùn)動(dòng)過(guò)程中,機(jī)器人通常運(yùn)動(dòng)到擁有最接近的可能軸配置的程序中的位置和方向。如果選擇了項(xiàng)目\On(或者沒(méi)有選擇項(xiàng)目),如果有從當(dāng)前位置不能到達(dá)程序中的位置的風(fēng)險(xiǎn),程序執(zhí)行趕忙停止。然而,盡管腕部軸可能連續(xù)朝錯(cuò)誤的配置運(yùn)動(dòng),仍舊能夠重啟程序。在停止點(diǎn),機(jī)器人將檢查所有軸的配置是否都到達(dá),不僅僅是腕部軸。 如果也使用了SingArea\Wrist,機(jī)器人總是運(yùn)動(dòng)到程序中的腕部軸配置,同時(shí)在停止點(diǎn)將檢查剩余的軸配置。 如果選擇了項(xiàng)目\Off,就沒(méi)有監(jiān)視。 關(guān)于ConfL\On和\Off,幸免咨詢題的一個(gè)簡(jiǎn)單的規(guī)則確實(shí)是插入中間點(diǎn),使點(diǎn)之間的每一個(gè)軸的運(yùn)動(dòng)小于90度。更精確地講,任意一對(duì)軸(1+4),(1+6),(3+4),(3+6)的運(yùn)動(dòng)的和不應(yīng)該超過(guò)180度。 如果在一個(gè)大運(yùn)動(dòng)中使用了ConfL\Off,帶錯(cuò)誤50050位置不能到達(dá)或者錯(cuò)誤50080位置不匹配的程序,可能導(dǎo)致直截了當(dāng)或者延遲停止。在帶有ConfL\Off的程序中,舉薦運(yùn)動(dòng)到帶“ConfJ\On+MoveJ”或者“ConfL\On+SingArea\Wrist+MoveL”作為為不同的程序部分的開(kāi)始點(diǎn)的已知配置點(diǎn)。 監(jiān)視被激活是缺省值。這被自動(dòng)設(shè)置:冷啟動(dòng)時(shí)新程序被加載從頭開(kāi)始程序執(zhí)行語(yǔ)法: ConfL[‘\’On]|[‘\’Off]‘;’有關(guān)信息:有關(guān)信息參看處理不同的配置RAPID參考手冊(cè)-RAPID概述,運(yùn)動(dòng)和I/O原理部分-機(jī)器人配置關(guān)節(jié)運(yùn)動(dòng)中的機(jī)器人配置ConfJ—在關(guān)節(jié)運(yùn)動(dòng)過(guò)程中操縱配置,第52頁(yè)在單一點(diǎn)周?chē)x插補(bǔ)SingArea—在單一點(diǎn)周?chē)x插補(bǔ),第377頁(yè)1.26,CONNECT—把中斷連接到陷阱程序用途: CONNECT用來(lái)找到中斷的特性,同時(shí)把它連接到陷阱程序。中斷通過(guò)給中斷事件排序和指定他的特性定義。如此,當(dāng)事件發(fā)生的時(shí)候,陷阱程序自動(dòng)執(zhí)行。差不多范例: 該指令的差不多范例講明如下:VARintnumfeeder_low;CONNECTfeeder_lowWITHfeeder_empty;IsignalDIdil,1,feeder_low; 創(chuàng)建了一個(gè)中斷特性,該特性連接到陷阱程序feeder_empty。當(dāng)輸入dil變高的時(shí)候?qū)⒂幸粋€(gè)中斷。用另一句話講,當(dāng)信號(hào)變高的時(shí)候,feeder_empty陷阱程序?qū)⒈粓?zhí)行。項(xiàng)目: CONNECTInterruptWITHTraproutineInterrupt: 數(shù)據(jù)類(lèi)型:中斷號(hào)碼 將被中斷特性賦值的變量。它必須在一個(gè)程序中(routinedata)聲明。Traproutine: 標(biāo)示符。 陷阱程序的名稱。程序執(zhí)行: 變量被給予一個(gè)中斷特性,當(dāng)排序或者廢止中斷的時(shí)候應(yīng)當(dāng)使用該特性。該特性也連接到指定的陷阱程序。 注意! 當(dāng)程序指針設(shè)定到任務(wù)的主程序的時(shí)候任務(wù)中的所有中斷取消,必須重新連接。電源失敗或者熱啟動(dòng)可不能阻礙中斷。 一個(gè)中斷(中斷特性)不能連接到多個(gè)中斷程序。然而,不同的中斷能夠連接到相同的陷阱程序。 當(dāng)一個(gè)中斷被連接到一個(gè)陷阱程序后,不能重新連接或者轉(zhuǎn)換到另一個(gè)程序;它第一必須使用Idelete指令刪除。 當(dāng)程序執(zhí)行停止的時(shí)候到來(lái)的中斷或者沒(méi)有處理的中斷將被忽略。當(dāng)在程序中步進(jìn)的時(shí)候,也不考慮中斷。錯(cuò)誤處理: 如果中斷變量差不多連接到陷阱程序,系統(tǒng)變量ERRNO被設(shè)成ERR_ALRDYCNT。 如果中斷變量不是一個(gè)有關(guān)到的變量,系統(tǒng)變量ERRNO被設(shè)成ERR_CNTNOTVAR。 如果沒(méi)有更多可用的中斷號(hào),系統(tǒng)變量ERRNO被設(shè)成ERR_INOMAX。 這些錯(cuò)誤能夠在錯(cuò)誤處理器中進(jìn)行處理。語(yǔ)法: (EBNF) CONNECT<connecttarget>WITH<trap>‘;’ <connecttarget>::=<variable> |<parameter> |<VAR> <trap>::=<identifier>有關(guān)信息:有關(guān)信息參看中斷摘要RAPID參考手冊(cè)—RAPID概述,RAPID摘要—中斷部分中斷治理得更多信息RAPID參考手冊(cè)—RAPID概述,差不多特點(diǎn)—中斷部分中斷的數(shù)據(jù)類(lèi)型第955頁(yè)intnum—中斷特性取消一個(gè)中斷第109頁(yè)IDelete—取消一個(gè)中斷1.27.CopyFile—復(fù)制一個(gè)文件用途: CopyFile用來(lái)對(duì)一個(gè)已存文件進(jìn)行復(fù)制。差不多范例: 指令CopyFile的差不多范例講明如下:CopyFile“HOME:/myfile”,“HOME:/yourfile”;文件myfile復(fù)制到y(tǒng)ourfile。這兩個(gè)文件是相同的。CopyFile“HOME:/myfile”,“HOME:/mydir/yourfile”;文件myfile復(fù)制到mydir中的yourfile。項(xiàng)目: CopyFileOldPathNewPathOldPath: 數(shù)據(jù)類(lèi)型:字符串。復(fù)制文件源的完整路徑。NewPath: 數(shù)據(jù)類(lèi)型:字符串。 文件要復(fù)制到的位置的完整路徑。程序執(zhí)行: 指定的OldPath中的文件復(fù)制到NewPath中指定的文件。錯(cuò)誤處理: 如果NewPath中指定的文件差不多存在,系統(tǒng)變量ERRNO設(shè)為ERR_FILEEXIST。該錯(cuò)誤能夠在錯(cuò)誤處理器中進(jìn)行處理。語(yǔ)法: CopyFile [OldPath’:=’]<字符串表達(dá)式(IN)>‘,’ [NewPath’:=’]<字符串表達(dá)式(IN)>’;’有關(guān)信息: 有關(guān)信息參看制作一個(gè)路徑第192頁(yè)MakeDir—?jiǎng)?chuàng)建一個(gè)新路徑刪除一個(gè)路徑第322頁(yè)RemoveDir—?jiǎng)h除一個(gè)路徑重命名一個(gè)文件第325頁(yè)RenameFile—重命名一個(gè)文件刪除一個(gè)文件第324頁(yè)RemoveFile—?jiǎng)h除一個(gè)文件檢查文件類(lèi)型第745頁(yè)IsFile—檢查一個(gè)文件的類(lèi)型查看文件大小第718頁(yè)FileSize—重新得到一個(gè)文件的大小檢查文件系統(tǒng)大小第724頁(yè)FSSize—重新獲得一個(gè)文件系統(tǒng)的大小1.28.CopyRawBytes—復(fù)制rawbytes數(shù)據(jù)的內(nèi)容用途: CopyRawBytes用來(lái)從原始數(shù)據(jù)變量中復(fù)制所有或者部分內(nèi)容到另一個(gè)中。差不多范例: 指令的差不多范例講明如下:VARrawbytesfrom_raw_data;VARrawbytesto_raw_data;VARnuminteger:=8VARnumfloat:=13.4;ClearRawBytesfrom_raw_data;PackRawBytesinteger,from_raw_data,1\IntX:=DINT;PackRawBytesfloat,from_raw_data,(RawBytesLen(from_raw_data)+1)\Float4;CopyRawBytesfrom_raw_data,1,to_raw_data,3,RawBytesLen(from_raw_data); 在本例中,rawbytes類(lèi)型的from_raw_data第一被清除,即所有字節(jié)設(shè)為0。然后integer的數(shù)值放置在前四個(gè)字節(jié),后四個(gè)字節(jié)中放置float的數(shù)值。 在用數(shù)據(jù)填充from_raw_data后,8個(gè)字節(jié)的內(nèi)容被復(fù)制到to_raw_data,從位置3開(kāi)始。項(xiàng)目: CopyRawBytesFromRawDataFromIndexToRawDataToIndex[\NoOfBytes]FromRawData: 數(shù)據(jù)類(lèi)型:rawdata FromRawData是一個(gè)數(shù)據(jù)容器,rawbytes數(shù)據(jù)從那個(gè)地點(diǎn)復(fù)制。FromIndex: 數(shù)據(jù)類(lèi)型:num FromIndex是指FromRawData中的一個(gè)位置,要復(fù)制的數(shù)據(jù)從那個(gè)地點(diǎn)開(kāi)始,索引從1開(kāi)始。ToRawData: 數(shù)據(jù)類(lèi)型:rawbytes ToRawData是一個(gè)數(shù)據(jù)容器,rawbytes數(shù)據(jù)被復(fù)制到那個(gè)地點(diǎn)。ToIndex: 數(shù)據(jù)類(lèi)型:num ToIndex是ToRawData中的中的一個(gè)位置,要復(fù)制的數(shù)據(jù)放置在那個(gè)地點(diǎn)。每一個(gè)東西都復(fù)制到結(jié)尾。索引從1開(kāi)始。[\NoOfBytes]: 數(shù)據(jù)類(lèi)型:num 用\NoOfBytes指定的數(shù)據(jù)是從FromRawData復(fù)制到ToRawData的字節(jié)數(shù)。 如果\NoOfBytes沒(méi)有指定,F(xiàn)romRawData中的所有從FromIndex到FromRawData的有效字節(jié)的當(dāng)前長(zhǎng)度的末尾都被復(fù)制。程序執(zhí)行: 在程序執(zhí)行過(guò)程中,數(shù)據(jù)從一個(gè)rawbytes變量復(fù)制到另一個(gè)變量。 變量ToRawData中有效字節(jié)的當(dāng)前長(zhǎng)度被設(shè)為:ToIndex+復(fù)制的字節(jié)數(shù)-1如果完整的復(fù)制操作在原有變量ToRawData中有效字節(jié)的當(dāng)前長(zhǎng)度范疇內(nèi),變量ToRawData中有效字節(jié)的當(dāng)前長(zhǎng)度不改變。 CopyRawBytes不能用來(lái)從一個(gè)rawbytes變量中的一些數(shù)據(jù)復(fù)制到同一個(gè)rawbytes變量的其它部分。語(yǔ)法: CopyRawBytes [FromRawData‘:=’]<rawbytes類(lèi)型的變量(VAR)>’,‘ [FromIndex’:=’]<num類(lèi)型的表達(dá)式(IN)>‘,’ [ToRawData’:=’]<rawbytes類(lèi)型的變量(VAR)>’,‘ [ToIndex’:=’]<num類(lèi)型的表達(dá)式(IN)> [‘\’NoOfBytes’:=’<num類(lèi)型的表達(dá)式(IN)>]’;’有關(guān)信息:有關(guān)信息參看Rawbytes數(shù)據(jù)第994頁(yè)rawbytes—原始數(shù)據(jù)獲得rawbytes數(shù)據(jù)的長(zhǎng)度第806頁(yè)RawBytesLen—獲得rawbytes數(shù)據(jù)的長(zhǎng)度清除rawbytes數(shù)據(jù)的內(nèi)容第40頁(yè)ClearRawBytes—清除rawbytes數(shù)據(jù)的內(nèi)容把設(shè)備網(wǎng)的標(biāo)題打包進(jìn)rawbytes數(shù)據(jù)第258頁(yè)P(yáng)ackDNHeader—把設(shè)備網(wǎng)標(biāo)題打包進(jìn)rawbytes數(shù)據(jù)把數(shù)據(jù)打包進(jìn)rawbytes數(shù)據(jù)第261頁(yè)P(yáng)ackRawBytes—把數(shù)據(jù)打包進(jìn)rawbytes數(shù)據(jù)寫(xiě)rawbytes數(shù)據(jù)第604頁(yè)WriteRawBytes—寫(xiě)rawbytes數(shù)據(jù)讀rawbytes數(shù)據(jù)第319頁(yè)ReadRawBytes—讀rawbytes數(shù)據(jù)從rawbytes數(shù)據(jù)解壓數(shù)據(jù)第556頁(yè)UnpackRawBytes—從rawbytes數(shù)據(jù)中解壓數(shù)據(jù)1.29.CorrClear—?jiǎng)h除所有修正發(fā)生器描述: CorrClear用來(lái)刪除所有連接的修正發(fā)生器。該指令用來(lái)刪除所有之前由修正發(fā)生器提供的偏移。差不多范例: 該指令的差不多范例講明如下:CorrClear;該指令刪除所有連接的修正發(fā)生器。注意:確保所有修正發(fā)生器(已連接的)在程序開(kāi)始的時(shí)候都被刪除的一個(gè)簡(jiǎn)單方法是在START事件routine中運(yùn)行CorrClear。參看系統(tǒng)參數(shù)—標(biāo)題:操縱器語(yǔ)法: CorrClear‘;’有關(guān)信息:有關(guān)信息參看連接到修正發(fā)生器第61頁(yè)CorrCon—連接到一個(gè)修正發(fā)生器從修正發(fā)生器斷開(kāi)連接第66頁(yè)CorrDiscon—從修正發(fā)生器斷開(kāi)連接寫(xiě)修正發(fā)生器第67頁(yè)CorrWrite寫(xiě)修正發(fā)生器讀取當(dāng)前總偏移量第685頁(yè)CorrRead—讀取當(dāng)前總偏移量修正描述符第934頁(yè)corrdescr—修正發(fā)生器描述符1.30.CorrCon—連接到一個(gè)修正發(fā)生器用途: CorrCon用來(lái)連接到一個(gè)修正發(fā)生器。差不多范例: 該指令的差不多范例講明如下: 也可參照第61頁(yè)更多范例。VARcorrdescrid;…CorrConid; 參考的修正發(fā)生器符合變臉id的預(yù)定。項(xiàng)目: CorrConDescrDescr: 數(shù)據(jù)類(lèi)型:corrdescr 修正發(fā)生器的描述符。更多范例: 該指令得更多范例講明如下:路徑坐標(biāo)系統(tǒng): 所有路徑修正(路徑上的偏移量)都被加入路徑坐標(biāo)系統(tǒng)。路徑坐標(biāo)系統(tǒng)按照以下講明定義: P=路徑坐標(biāo)系統(tǒng) T=工具坐標(biāo)系統(tǒng)路徑坐標(biāo)X軸作為路徑的正切值被給出。路徑坐標(biāo)Y軸由工具坐標(biāo)軸Z和路徑坐標(biāo)軸X交叉產(chǎn)生。路徑坐標(biāo)軸Z由路徑坐標(biāo)軸X和路徑坐標(biāo)軸Y交叉產(chǎn)生。應(yīng)用范例: 用路徑修正的一個(gè)應(yīng)用實(shí)例是機(jī)器人拿著裝有兩個(gè)傳感器的工具,監(jiān)測(cè)到到工作對(duì)象的垂直和水平距離。下圖講明了路徑修正裝置。程序范例: CONSTnumTARGET_DIST:=5; CONSTnumSCALE_FACTOR:=0.5; VARintnumintno1; VARcorrdeschori_id; VARcorrdescvert_id; VARpostotal_offset; VARsignalaihori_sig; VARsignalaivert_sig; VARposwrite_offset; PROCPathRoutine() !連接到修正發(fā)生器查找水平和垂直方向。 CorrConhori_id; CorrConVert_id; !設(shè)定一個(gè)5赫茲的計(jì)時(shí)器中斷。陷阱程序?qū)⒆x取傳感器數(shù)值并運(yùn)算路徑修正值。 CONNECTintno1WITHReadSensors; Itimer\singel0.2,intno1 !計(jì)時(shí)器跟蹤開(kāi)始的位置。 MoveJP10,v100,z10,tool1; !用垂直和水平方向運(yùn)行MoveL。 MoveLp20,v100,z10,tool1\Corr; !讀取所有修正發(fā)生器增加的總的修正值。 Total_offset:=CorrRead(); !在示教器上寫(xiě)出垂直修正的總數(shù)。 TPWrite“垂直修正的總數(shù)是:”\Num:=total_offset.z; !斷開(kāi)垂直方向上修正發(fā)生器的連接。誰(shuí)拼修正將不受阻礙。 CorrDisconvert_id; !只在水平中斷方向上運(yùn)行MoveL。 MoveLp30,v100,z10,tool1\Corr; !刪除所有突出連接的修正發(fā)生器。!在這種情形下,僅存的修正發(fā)生器確實(shí)是水平方向的修正發(fā)生器。 CorrClear; !刪除計(jì)時(shí)器中斷。 IDeleteintno1; ENDPROC TRAPReadSensors !運(yùn)算水平修正值并進(jìn)行修正。 Write_offset.x:=0; Write_offset.y:=(hori_sig–TARGET_DIST)*SCALE_FACTOR; Write_offset.z:=0; CorrWritehori_id,write_offset; !運(yùn)算垂直修正值并進(jìn)行修正。 Write_offset.x:=0; Write_offset.y:=0; Write_offset.z:=(vert_sig–TARGET_DIST)*SCALE_FACTOR; CorrWritevert_id,write_offset; !再次設(shè)定中斷。 IDeleteintno1; CONNECTintno1WITHR誒的Sensors; ITimer\singel0.2,intno1; ENDTRAP程序講明: 兩個(gè)修正發(fā)生器用指令CorrCon連接。每一個(gè)修正發(fā)生器用一個(gè)獨(dú)立的corrdesc類(lèi)型的描述符(hori_id和vert_id)參考。兩個(gè)傳感器每一個(gè)都用一個(gè)修正發(fā)生器。 設(shè)置了一個(gè)計(jì)時(shí)器中斷以5赫茲的頻率來(lái)調(diào)用陷阱程序ReadSensors。路徑修正需要的偏移量在陷阱程序中運(yùn)算同時(shí)通過(guò)指令CorrWrite被寫(xiě)到相應(yīng)的修正發(fā)生器(由hori_id和vert_id參考)。所有的修正將會(huì)趕忙對(duì)路徑起阻礙。當(dāng)使用路徑修正器的時(shí)候,MoveL指令必須使用可選項(xiàng)目Corr來(lái)編程。否則,將可不能執(zhí)行修正。 當(dāng)?shù)谝粋€(gè)MoveL指令預(yù)備好的時(shí)候,用CorrRead功能來(lái)讀取由所有連接的修正發(fā)生器提供的所有的修正的總數(shù)(路徑修正總數(shù))。總的垂直路徑的修正的結(jié)果用TPWrite指令寫(xiě)到示教器上。 CorrDiscon將斷開(kāi)垂直修正(由描述符vert_id參考)的修正發(fā)生器。由該修正發(fā)生器添加的所有修正將從總路徑修正中刪除。由水平修正的修正發(fā)生器添加的修正仍舊保留。 最后,CorrClear功能將刪除所有保留的連接修正發(fā)生器和之前累加的修正。在這種情形下,只有水平修正的修正發(fā)生器將被刪除。計(jì)時(shí)器中斷也將由Idelete指令刪除。修正發(fā)生器:XYXYz路徑坐標(biāo)軸003垂直修正發(fā)生器,帶有它自身修正的總數(shù)010水平路徑發(fā)生器,帶有它則身修正的總數(shù)---沒(méi)連接的修正發(fā)生器---沒(méi)連接的修正發(fā)生器---沒(méi)連接的修正發(fā)生器013由所有連接的修正發(fā)生器完成的所有修正的總數(shù) 最多能夠同時(shí)連接5個(gè)修正發(fā)生器。連接的修正發(fā)生器操縱重視啟后不能幸存。語(yǔ)法: CorrCon [Descr‘:=’]<corrdiscr類(lèi)型的變量(VAR)>‘;’有關(guān)信息:有關(guān)信息參看斷開(kāi)修正發(fā)生器第66頁(yè)CorrDiscon—斷開(kāi)修正發(fā)生器寫(xiě)入修正發(fā)生器第67頁(yè)CorrWrite—寫(xiě)入修正發(fā)生器讀取當(dāng)前總偏移量第685頁(yè)CorrRead—讀取當(dāng)前總偏移量刪除所有修正發(fā)生器第60頁(yè)CorrClear—?jiǎng)h除所有修正發(fā)生器修正發(fā)生器描述符第934頁(yè)corrdescr—修正發(fā)生器描述符1.31.CorrDiscon-斷開(kāi)修正發(fā)生器1.32.CorrWrite-向修正發(fā)生器寫(xiě)數(shù)據(jù)1.33.DeactUnit-解除一個(gè)機(jī)械單元1.34.Decr-(讓變量或恒量的數(shù)值)減11.35.DitherAct-激活一個(gè)軟件伺服的抖動(dòng)1.36.DitherDeact-解除一個(gè)軟件伺服的抖動(dòng)1.37.DropSensor-丟棄傳感器上的對(duì)象1.38.DropWObject-丟棄conveyor上的工作對(duì)象1.39.EoffsOff-解除一個(gè)外部軸的偏移1.40.EoffsOn-激活一個(gè)外部軸的偏移1.41.EoffsSet-用一個(gè)已知的數(shù)值激活一個(gè)外部軸的偏移1.42.EraseModule-擦除一個(gè)程序模塊1.43.ErrLog-寫(xiě)一個(gè)錯(cuò)誤信息1.44.ErrRaise-寫(xiě)一個(gè)警告同時(shí)調(diào)用一個(gè)錯(cuò)誤處理句柄1.45.ErrWrite-寫(xiě)一個(gè)錯(cuò)誤信息1.46.EXIT-終止程序執(zhí)行1.47.ExitCycle-跳出當(dāng)前循環(huán)并執(zhí)行下一個(gè)指令1.48.FOR-重復(fù)給定數(shù)量的次數(shù)1.49.GetDataVal-獲得數(shù)據(jù)對(duì)象的數(shù)值1.50.GetSysData-獲得系統(tǒng)數(shù)據(jù)1.51.GetTrapData-獲得當(dāng)前TRAP的中斷數(shù)據(jù)1.52.GOTO-執(zhí)行一個(gè)新指令1.53.GripLoad-定義機(jī)器人的有效載荷1.54.HollowWristReset-復(fù)位IRB5402和IRB5403的凹形腕部1.55.Idelete-取消一個(gè)中斷1.56.Idisable-廢止一個(gè)中斷1.57.Ienable-使能中斷1.58.Ierror-定制一個(gè)錯(cuò)誤處理的中斷1.59.IF-如果滿足一個(gè)條件,那么。。。;否則。。。。。1.60.Incr-(用來(lái)給一個(gè)數(shù)字型的變量和恒量)加11.61.IndAMove-獨(dú)立絕對(duì)位置移動(dòng)1.62.IndCMove-獨(dú)立連續(xù)運(yùn)動(dòng)1.63.IndDMove-獨(dú)立相對(duì)位置運(yùn)動(dòng)1.64.IndReset-獨(dú)立復(fù)位1.65.IndRMove-獨(dú)立有關(guān)位置移動(dòng)1.66.InvertDO-改變數(shù)字輸出信號(hào)的數(shù)值(0->1,1->0)1.67.IOBusState-獲得I/O總線的狀態(tài)1.68.IODisable-廢止I/O單元1.69.IOEnable-使能一個(gè)I/O單元1.70.Ipers-恒變量的數(shù)值改變的時(shí)候發(fā)生中斷1.71.IsignalAI-從模擬輸入信號(hào)發(fā)生中斷1.72.IsignalAO-從模擬輸出信號(hào)發(fā)生中斷1.73.IsignalDI-從數(shù)字輸入信號(hào)中定制一個(gè)中斷1.74.IsignalDO-從一個(gè)數(shù)字輸出信號(hào)中發(fā)生中斷1.75.IsignalGI-從組數(shù)字輸入信號(hào)中發(fā)生中斷1.76.IsignalGO-從組數(shù)字輸出信號(hào)中發(fā)生中斷1.77.Isleep-解除一個(gè)中斷1.78.Itimer-定制一個(gè)定時(shí)的中斷1.79.IvarValue-定制一個(gè)可變的數(shù)值中斷1.80.Iwatch-激活一個(gè)中斷1.81.label-行名稱1.82.Load-在執(zhí)行過(guò)程中加載一個(gè)程序模塊1.83.LoadId-加載一個(gè)工具或有效載荷的辨識(shí)符1.84.MakeDir-創(chuàng)建一個(gè)新路徑1.85.ManLoadIdProc-加載IRBP機(jī)械手的辨識(shí)符1.86.MechUnitLoad-為機(jī)械單元定義一個(gè)有效載荷1.87.MotionSup-解除/激活運(yùn)動(dòng)監(jiān)視1.88.MoveAbsJ—把機(jī)器人移動(dòng)到絕對(duì)軸位置用途: MoveAbsJ(絕對(duì)關(guān)節(jié)移動(dòng))用來(lái)把機(jī)器人或者外部軸移動(dòng)到一個(gè)絕對(duì)位置,該位置在軸定位中定義。 使用實(shí)例:終點(diǎn)是一個(gè)單一點(diǎn)關(guān)于IR6400C中的不明確的位置,例如攜帶超過(guò)機(jī)器人范疇的工具運(yùn)動(dòng)。MoveAbsJ指令中機(jī)器人的最終位置,既不受工具或者工作對(duì)象的阻礙,也不受激活程序更換的阻礙。然而機(jī)器人要用到這些數(shù)據(jù)來(lái)運(yùn)算負(fù)載、TCP速度和轉(zhuǎn)角點(diǎn)。相同的工具能夠被用在相鄰的運(yùn)動(dòng)指令中。機(jī)器人和外部軸沿著一個(gè)非直線的路徑移動(dòng)到目標(biāo)位置。所有軸在同一時(shí)刻運(yùn)動(dòng)到目標(biāo)位置。該指令只能被用在主任務(wù)T_ROB1中,或者在多運(yùn)動(dòng)系統(tǒng)中的運(yùn)動(dòng)任務(wù)中。差不多范例: 該指令的差不多范例講明如下。 也可參看第207頁(yè)更多范例。MoveAbsJp50,v1000,z50,tool2;機(jī)器人將攜帶工具tool2沿著一個(gè)非線性路徑到絕對(duì)軸位置p50,以速度數(shù)據(jù)v1000和zone數(shù)據(jù)z50。MoveAbsJ*,v1000\T:=5,fine,grip3;機(jī)器人將攜帶工具grip3沿著一個(gè)非線性路徑到一個(gè)

溫馨提示

  • 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)論