午夜精品人妻久久久-成年美女很黄的网站-在线看片免费人成视久网app-国产精品美女无遮挡一区二区-91精品国产综合久久久久-国产的免费视频又猛又爽又刺激-在线看片免费人成视久网app-久久香蕉国产精品视频-av一区二区三区高清

庫卡機器人編程之SearchL功能

更多內(nèi)容請點擊 R工控人
【庫卡機器人編程之SearchL功能】********************************
如何獲取更多經(jīng)典文章?
R工控人,定期分享實用資料與技術(shù)解答!!!
一.指令簡介:
當沿直線移動工具中心點時,( )用于搜索位置 。在移動時,機器人會監(jiān)控一個數(shù)字輸入信號或持續(xù)變量 。當信號持續(xù)變量的值變?yōu)樗?需值時,機器人立即讀取當前位置 。當由機械臂固定的工具為用于表面探測的探針時,通??墒褂迷撝噶?。使用 指令,可獲得工件的概略坐標 。
本指令僅可用于主任務,或者如果在系統(tǒng)中 , 則可用于運動任務 中 。使用搜索指令時 , 重要的是配置I/O系統(tǒng),以便為設置系統(tǒng)物理信號留以極短的時間,從而獲得關(guān)于設置的信息(使用I/O設備以及中斷控制 , 而非查詢控制) 。如何進行上 述操作,不同的現(xiàn)場總線可能會采用不同的方法 。如果使用,則ABB單元 DSQC 651(AD Combi I/O)和DSQC 652(數(shù)字I/O)將留以短暫的時間庫卡機器人故障代碼,因為他們 正在使用狀態(tài)變化型連接 。如果使用其他現(xiàn)場總線庫卡機器人故障代碼,則確保以正確的方式來配置網(wǎng)絡,從而獲得正確的條件 。
二.指令的使用:
1.語法:
2.案例說明:
例 1SearchL di1, sp, p10, v100, probe;以v100的速度 , 使probe的TCP沿直線朝位置p10 移動 。當信號di1的值改變?yōu)橛行r,將位置儲存在sp中 。例 2SearchL Stop, di2, sp, p10, v100, probe;將probe的TCP沿直線朝位置p10移動 。當信號di2的數(shù)值改變?yōu)橛行r,將位置儲存在sp中,且機械臂立即停止 。例 3PERS bool mypers:=FALSE;...SearchL mypers, sp, p10, v100, probe;probe 的 TCP 朝位置 p10 以直線方式移動 , 速度為 v100 。當持續(xù)變量 mypers 變?yōu)?TRUE 時,位置存儲到 sp 。
三.庫卡上實現(xiàn)指令:
如果要在庫卡機器人上實現(xiàn)功能的話 , 這里需要使用到中斷功能,在實現(xiàn)之前 , 可以先回顧下有關(guān)中斷的知識點 。可以參見之前的文章:庫卡機器人編程之中斷
當你完全清楚了庫卡機器人中斷相關(guān)指令及知識,接下來的程序(具體可以參照Volvo標準)就會得心應手(程序純粹摘錄,僅供提供思路,如需實際使用可以依照改寫):
代碼如下:
GLOBAL DEFFCT BOOL SEARCHL(InPno :IN,StopPosition :OUT,EndPosition :IN,VelPara :IN,ToolName :IN,PartDataName :IN,ExtendedLoad :IN )DECL INT InPnoDECL E6POS StopPositionDECL E6POS EndPositionREAL VelParaDECL ToolType ToolNameDECL LOAD ExtendedLoad;Extended LoadDECL PartDataType PartDataNameDECL LOAD ActualLoadTool, ActualLoadPartFound=FALSEChkSub ( )INTERRUPT DECL 1 WHEN $MEAS_PULSE[InPno]FALSE DO Not_Much ( )CPPara (VelPara,ACT_ACC_CP ) ; path velocity and acceleration$ADVANCE=0IF VarState("ExtendedLoad")==#Initialized ThenActualLoadTool=ExtendedLoadActualLoadPart=ExtendedLoadELSEActualLoadTool=ToolName.TLoadActualLoadPart=PartDataName.PartLoadEndIfIF ToolName.External THENSetExtTool (ToolName ) ; set the $BaseSetFlange (PartDataName,ActualLoadPart ) ; set the $Tool, $Load$IPO_MODE=#TCPELSESetTool (ToolName,ActualLoadTool )SetBase (PartDataName )$IPO_MODE=#BASEENDIFWAIT FORTRUESearch (EndPosition );搜尋過程如果提前獲得結(jié)果則觸發(fā)中斷,提前跳出;IF Found==TRUE THENStopPosition=FoundPositionENDIFRETURNFoundENDFCT-----------------------------------------------------------------DEF Search (EndPosition :IN );*************************************************;Function: SearchL.src files;*************************************************DECL E6POS EndPositionWAIT SEC SEARCHWAITINTERRUPT ON 1LINEndPosition$ADVANCE=0INTERRUPT OFF 1END-----------------------------------------------------------------DEF Not_Much ( )INTERRUPT OFF 1BRAKEFoundPosition=$POS_INTFound=TRUERESUMEEND
本文到此結(jié)束,希望對大家有所幫助 。