ABB 机器人 IRBP系列转台的一段代码注释
生活随笔
收集整理的這篇文章主要介紹了
ABB 机器人 IRBP系列转台的一段代码注释
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
PROC IndexToStn1() //檢測變位機(jī)狀態(tài) 并設(shè)置要運行到的角度位置 并對不同的GetNextPartAdv返回值情況 進(jìn)行處理 VAR bool bActive;VAR jointtarget jtCurrent; //聲明一個位置變量IF (NOT bInterchCalib1) CalibIntch1; ! reset inpos signals used in vcReset soLS_1_INPOS;Reset soLS_2_INPOS; //復(fù)位變位機(jī)的輸出bActive:=IsMechUnitActive(INTERCH); //是否變位機(jī)激活I(lǐng)F (NOT bActive) ActInterch1; //激活變位機(jī)jtCurrent:=CJointT(); // 得到當(dāng)前角度! get parts for stationsGetNextPartAdv 1,padvTmp1\statusCode:=retCode1;//得到存儲的partdata類型的數(shù)據(jù)的值, 并將GetNextPartAdv 返回狀態(tài)賦值給retCode1GetNextPartAdv 2,padvTmp2\statusCode:=retCode2;IF (retCode1=0) THENjtCurrent.extax.eax_e:=padvTmp1.procAngle.eax_e; //如果返回成功,將partdata類型數(shù)據(jù)的eax_e的值賦值給當(dāng)前jtCurrentELSEjtCurrent.extax.eax_e:=0; //否則賦值0 并進(jìn)行處理text_res_no:=TextResTabGet("CellText");sHeader:=TextResGet(text_res_no,218);IF (retcode1=-1) THENsMsgArr{1}:=TextResGet(text_res_no,202)+" 1";sMsgArr{2}:=TextResGet(text_res_no,214);sMsgArr{3}:="";sMsgArr{4}:="";ErrWrite\W,sHeader,sMsgArr{1}\RL2:=sMsgArr{2}\RL3:=sMsgArr{3}\RL4:=sMsgArr{4};ELSEIF (retcode1=-2) THENsMsgArr{1}:=TextResGet(text_res_no,204)+" 1";sMsgArr{2}:=TextResGet(text_res_no,205)+" 1";sMsgArr{3}:=TextResGet(text_res_no,214);sMsgArr{4}:="";ErrWrite\W,sHeader,sMsgArr{1}\RL2:=sMsgArr{2}\RL3:=sMsgArr{3}\RL4:=sMsgArr{4};ENDIFENDIFIF (retCode2=0) THENjtCurrent.extax.eax_f:=padvTmp2.loadAngle.eax_f;ELSEjtCurrent.extax.eax_f:=0;text_res_no:=TextResTabGet("CellText");sHeader:=TextResGet(text_res_no,218);IF (retcode2=-1) THENsMsgArr{1}:=TextResGet(text_res_no,202)+" 2";sMsgArr{2}:=TextResGet(text_res_no,213);sMsgArr{3}:="";sMsgArr{4}:="";ErrWrite\W,sHeader,sMsgArr{1}\RL2:=sMsgArr{2}\RL3:=sMsgArr{3}\RL4:=sMsgArr{4};ELSEIF (retcode2=-2) THENsMsgArr{1}:=TextResGet(text_res_no,204)+" 2";sMsgArr{2}:=TextResGet(text_res_no,205)+" 2";sMsgArr{3}:=TextResGet(text_res_no,213);sMsgArr{4}:="";ErrWrite\W,sHeader,sMsgArr{1}\RL2:=sMsgArr{2}\RL3:=sMsgArr{3}\RL4:=sMsgArr{4};ENDIFENDIF! apply interchange positionjtCurrent.extax.eax_d:=nInterchStn1; //將存儲的變位機(jī)水平軸位置賦值給當(dāng)前IF (TaskRunRob()) THEN //判定程序運行于哪個平臺MoveAbsJ jtCurrent,sdInterch1,fine,tool0; ELSE%"MoveExtJ"% jtCurrent,sdInterch1,fine; //如果是外部軸 則運動到指定位置ENDIFIF (NOT RobOS()) Set soLS_1_INPOS; //并設(shè)置相應(yīng)的變位機(jī)狀態(tài)給PLCWaitTime nTorqueTime; IF (NOT bActive) DeactInterch1; //如果在運行這段程序之前 變位機(jī)沒有激活 則 運行這段程序之后也保持運行之前的狀態(tài) ENDPROC
總結(jié)
以上是生活随笔為你收集整理的ABB 机器人 IRBP系列转台的一段代码注释的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ABB RAPID 在 Notepad+
- 下一篇: Android USB Camera(2