一般的KUKA程序:
1 PTP P0
2 SPLINE
3 SPL P1
4 SPL P2
5 SPL P3
6 SPL P4
7 SCIRC P5, P6
8 SPL P7
9 SLIN P8
10 ENDSPLINE
而大众版的KUKA程序有很大的区别,它将真实的轨迹程序全都隐藏了你看到的只是一件外套.
程序外表基础编程表单:
PTP VB=100% VE=0% ACC=100% RobWzg=1 Base=1 SPSTrig=5[1/100s]P 轨迹段
1: FB PSPS = EIN SPS条件程序
2: A23 = AUS
3: WARTE BIS !E16 & E23
4: Tech_ EZSP Zange =Nr1 ProgNr = 99 Offset = 0 [1/10 mm] Weg = 0 [1/10 mm] S-Punkt =3428 Fzg-Typ = 81 EIN ---------------用户程序
5: bin2 ( EIN ) = 103
6: WARTE BIS !E129 + E26
7: SPSMAKRO80 = EIN
8: WARTE BIS E23
9: A23 = EIN
10: FB PSPS = E42 & E44 & E45 & E46 &E49 & E80 & M30 & M95
实际程序:
VW_MPARA_ACT=P7_D 轨迹设置条件程序
DECL VW_MPARA_TYP P7_D={TOOL_NO 1,BASE_NO 1,VB 100,VE 0,ACC 100,TRG_TIME 5,MOVE_TYPE #PTP_MOTION}
Act_P1 =P7 轨迹坐标位置变量转存
Act_P2 =P7 轨迹坐标位置变量转存
DECL E6POS P7={X 450.032104,Y -206.769699,Z -16.95224,A -179.587296,B 81.4899063,C 85.0538025,S 6,T 59,E1 13.6000004,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}
VW(#MPARA,TRUE) 执行轨迹所需要的一些设置如: 加速度,逼近,BASE/TOOL
SPS_FERTIG=FALSE
TRIGGER WHENDISTANCE=1 DELAY=-50 DO SPS_TRIG(7) PRIO=-1 激活执行SPS程序提前0.05S
VW_USR_R(#USR_ADV,101,10,99,0,0,3428,81,TRUE) 预执行用户程序
IF (($PRO_MODE==#GO) OR ($EXT)) THEN 偏差计算
CONTINUE
act_P1.E1=(act_P1.E1-(MyCorrValue*SZ1_Z1_AHV))
MyTest=act_P1.E1
ENDIF
IF (VW_MPARA_ACT.MOVE_TYPE==#PTP_MOTION) THEN
CONTINUE
PTP act_P1 预执行轨迹程序
PTP P7 执行PTP轨迹程序
$ADVANCE=1
WAIT FORSPS_FERTIG 不是过渡步
VW_USER (#USR_MAIN,101,10,99,0,0,3428,81,TRUE) 执行P7步后的用户程序
IF (($PRO_MODE==#GO) OR ($EXT)) THEN
Weg=PAR4 远离的补偿量
MyCorrWeg=$NULLFRAME 变量归零
MyCorrWeg.X=-(Weg*0.1)
IF (Weg>9) THEN 远离值大于9执行轨迹偏移
PTP $Pos_act:MyCorrWeg C_PTP 执行轨迹后
ENDIF
ENDIF
审核编辑:郭婷
全部0条评论
快来发表一下你的评论吧 !