Hi all,
I'm new to KRL (I worked with a Panasonic before) and I'm having notification messages that I'm trying to resolve but I'm not successful so far.
System used:
KR3 R540 C4SR
KSS 8.3.38
Prog 'dprd576_0003'
; GRIPPER APPROCH
;FOLD SPTP P6 Vel=3 % PDAT4 Tool[2]:dprd-576_centergripper Base[1]:dprd-576_basegripper;%{PE}%R 8.3.48,%MKUKATPBASIS,%CSPLINE,%VSPTP_SB,%P 1:SPTP_SB, 2:P6, 3:, 5:3, 7:PDAT4
SPTP XP6 WITH $VEL_AXIS[1]= SVEL_JOINT( 3), $TOOL= STOOL2( FP6), $BASE= SBASE( FP6.BASE_NO),$IPO_MODE= SIPO_MODE( FP6.IPO_FRAME), $LOAD= SLOAD( FP6.TOOL_NO), $ACC_AXIS[1]= SACC_JOINT( PPDAT4), $GEAR_JERK[1]= SGEAR_JERK( PPDAT4)
;ENDFOLD
…going though different points/commands
; SAFE POSITION
;FOLD SPTP P1 CONT Vel=25 % PDAT1 Tool[2]:dprd-576_centergripper Base[1]:dprd-576_basegripper;%{PE}%R 8.3.48,%MKUKATPBASIS,%CSPLINE,%VSPTP_SB,%P 1:SPTP_SB, 2:P1, 3:C_DIS, 5:25, 7:PDAT1
SPTP XP1 WITH $VEL_AXIS[1]= SVEL_JOINT( 25), $TOOL= STOOL2( FP1), $BASE= SBASE( FP1.BASE_NO),$IPO_MODE= SIPO_MODE( FP1.IPO_FRAME), $LOAD= SLOAD( FP1.TOOL_NO), $ACC_AXIS[1]= SACC_JOINT( PPDAT1), $APO= SAPO_PTP( PPDAT1), $GEAR_JERK[1]= SGEAR_JERK( PPDAT1) C_SPL
;ENDFOLD
Display More
Prog 'dprd576_0004'
; SAFE POSITION
;FOLD SPTP P14 Vel=25 % PDAT5 Tool[2]:dprd-576_centergripper Base[1]:dprd-576_basegripper;%{PE}%R 8.3.48,%MKUKATPBASIS,%CSPLINE,%VSPTP_SB,%P 1:SPTP_SB, 2:P14, 3:, 5:25, 7:PDAT5
SPTP XP14 WITH $VEL_AXIS[1]= SVEL_JOINT( 25), $TOOL= STOOL2( FP14), $BASE= SBASE( FP14.BASE_NO),$IPO_MODE= SIPO_MODE( FP14.IPO_FRAME), $LOAD= SLOAD( FP14.TOOL_NO), $ACC_AXIS[1]= SACC_JOINT( PPDAT5), $GEAR_JERK[1]= SGEAR_JERK( PPDAT5)
;ENDFOLD
…going though different points/commands
; SAFE POSITION
;FOLD SPTP P14 CONT Vel=25 % PDAT5 Tool[2]:dprd-576_centergripper Base[1]:dprd-576_basegripper;%{PE}%R 8.3.48,%MKUKATPBASIS,%CSPLINE,%VSPTP_SB,%P 1:SPTP_SB, 2:P14, 3:C_DIS, 5:25, 7:PDAT5
SPTP XP14 WITH $VEL_AXIS[1]= SVEL_JOINT( 25), $TOOL= STOOL2( FP14), $BASE= SBASE( FP14.BASE_NO),$IPO_MODE= SIPO_MODE( FP14.IPO_FRAME), $LOAD= SLOAD( FP14.TOOL_NO), $ACC_AXIS[1]= SACC_JOINT( PPDAT5), $APO= SAPO_PTP( PPDAT5), $GEAR_JERK[1]= SGEAR_JERK( PPDAT5) C_SPL
;ENDFOLD
Display More
Those 2 programs are subprograms of this program 'dprd576_0000':
FOR counter = 1 TO 2
; PICKING SUBPROGRAM
dprd576_0001()
;FOLD ; LASER CHECK
dprd576_0002()
IF $IN[1]==TRUE THEN
GOTO end_peeling
ENDIF
;ENDFOLD
; PEELING SUBPROGRAM
dprd576_0003()
; DROPPING SUBPROGRAM
dprd576_0004()
end_peeling:
; SAFE POSITION
;FOLD SPTP P1 Vel=25 % PDAT1 Tool[2]:dprd-576_centergripper Base[1]:dprd-576_basegripper;%{PE}%R 8.3.48,%MKUKATPBASIS,%CSPLINE,%VSPTP_SB,%P 1:SPTP_SB, 2:P1, 3:, 5:25, 7:PDAT1
SPTP XP1 WITH $VEL_AXIS[1]= SVEL_JOINT( 25), $TOOL= STOOL2( FP1), $BASE= SBASE( FP1.BASE_NO),$IPO_MODE= SIPO_MODE( FP1.IPO_FRAME), $LOAD= SLOAD( FP1.TOOL_NO), $ACC_AXIS[1]= SACC_JOINT( PPDAT1), $GEAR_JERK[1]= SGEAR_JERK( PPDAT1)
;ENDFOLD
ENDFOR
;FOLD SPTP HOME Vel=25 % DEFAULT Tool[2]:dprd-576_centergripper Base[1]:dprd-576_basegripper;%{PE}%R 8.3.48,%MKUKATPBASIS,%CSPLINE,%VSPTP_SB,%P 1:SPTP_SB, 2:HOME, 3:, 5:25, 7:DEFAULT
SPTP XHOME WITH $VEL_AXIS[1]= SVEL_JOINT( 25), $TOOL= STOOL2( FHOME), $BASE= SBASE( FHOME.BASE_NO),$IPO_MODE= SIPO_MODE( FHOME.IPO_FRAME), $LOAD= SLOAD( FHOME.TOOL_NO), $ACC_AXIS[1]= SACC_JOINT( PDEFAULT), $GEAR_JERK[1]= SGEAR_JERK( PDEFAULT)
;ENDFOLD
Display More
When I'm running the program dprd576_0000 in T1 (or T2) GO mode, I get the following notification:
"Approximated positioning not possible (module dprd576_0003, block#)(=>1442)"
followed by "Sequence of instructions that cannot be approximated (module dprd576_0004, block#)"
In fact I have those notifications too between sub prog 0001 and 0002 but not between sub prog 0002 and 0003.
I tried many things such as:
- removing the CONT when I had it
- using PTP instead SPTP
- adding an advance run stop with a WAIT SEC 0
- removing APO_MODE=C_DIS in the dat files
None of this worked.
So here are my questions:
1. Any idea why it's trying to approximate these points even though its not requested in the code?
2. What the number after "block" is referring too? obviously not the line number because it doesn't correspond (for example notification would say block86 but I have only 50 lines)
Thanks in advance