通过接触位置确定后续坐标位置

描述

传感器

LIN SUCHEN VB=350[mm/s] RobWzg=1Base=26 Fern=M28 Vred=10% Nah=M29 P

大众标注特有的轨迹搜索程序

5: Tech_ Baseverschiebung Suchlauf Base 31 setzen  - - - xyz-MaxWeg:- Nahsensor=M29 EIN 

当M29被触发后当前位置被报存为BASE31,从而后续使用BASE31的轨迹点的轨迹点实现偏移.

接触工件位置M29

LIN VB=700[mm/s] VE=0% ACC=100% RobWzg=20 Base=31 SPSTrig=5[1/100s]P

返回测量位置

LIN VB=400[mm/s] VE=0% ACC=100% RobWzg=31 Base=31 SPSTrig=5[1/100s]P

抓件位置

 

Tech_Baseverschiebung Suchlauf Base 31 setzen - - - xyz-MaxWeg:- Nahsensor=M29 EIN

 VW_USER (#USR_ADV,105,11,0,0,0,0,29,TRUE)

------------------ADC------------------------

CASE 105 ; 上级组  0, 下级组 5 提前执行

Sensor fuer Dehnfuge  传感器的伸缩缝

IF(PAR7==TRUE)THEN

  SWITCH PAR1

  CASE 1当P1设置为1时当前位置的BASE坐标村到BASE31里(这里我们不使用).

    CONTINUE

    Base_Data[31] = BASE_DATA[VW_MPARA_ACT.BASE_NO]

.................

  CASE 11

    CONTINUE

    WHILE ($CYCFLAG[PAR6]==TRUE)  M(P6)

      MLD(22,#QuitMsg) ;搜索运行接近传感器故障

    ENDWHILE

;ENDFOLD

-----------------------MAIN--------------

CASE 105 ; 上级组  0, 下级组 5 在轨迹当前步 执行

设置搜索运行基数

IF(PAR7==TRUE)THEN

  SWITCH PAR1

  CASE 1; 只在于执行里执行

  CASE 11; ---------成功搜索后设置基数

  CONTINUE

  WHILE(VW_MPARA_ACT.BASE_NO<1) 当使用的BASE号不能是0

    MLD(18,#QuitMsg); 如果是0提示BASE值不正确

  ENDWHILE

  IF $FLAG[Fehler_Suchlauf]==TRUE THEN  F533开启搜索指令

    MLD(16,#QuitMsg);没有提示信息

  ENDIF

  --------如果坐标号是31的话---------------

  IF(BASE_TYPE[VW_MPARA_ACT.BASE_NO]==#BASE)THEN当前BASE的类型是#BASE

    CONTINUE

    $BASE=$NULLFRAME-------坐标值零----------

     $BASE=$pos_act  当前坐标保存位BASE坐标值

    BASE_DATA[31]=$BASE  保存在BASE31

    IF NOT $EXT THEN  不是外部自动会有提示信息,,并停止程序

       MeldNr(4)   ;这样的,新基坐标已定

       HALT

     ENDIF

  ENDIF

 

 

审核编辑 :李倩


打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分