Robots stops shortly when output is switched off

Started by Brodesser83, September 03, 2019, 01:21:53 PM

Previous topic - Next topic

Brodesser83

Hi everybody. I'm working an extrusions and I try to switch the extruder on and off at different points of my printed geometry. I want to compensate for some lag in the equipment. I switch it off before it reaches the end of the geometry. At this point the robot stops briefly and then continues.
The option for the continuous movement on the output is set to true.
Does anybody have an idea on how to get a continuous movement without the short stop?
Thanks

Johannes @ Robots in Architecture

Hello,

With continuous movement it shouldn't stop, can you copy/paste a representative part of the generated KRL code?

Thanks,
Johannes

Brodesser83

&ACCESS RVP
&REL 1
&PARAM TEMPLATE = C:\KRC\Roboter\Template\vorgabe
&PARAM EDITMASK = *
DEF tamlogo5015out ( )

EXT tamlogo5015out_1()
EXT tamlogo5015out_2()
EXT tamlogo5015out_3()

;FOLD INI
;FOLD BASISTECH INI
GLOBAL INTERRUPT DECL 3 WHEN $STOPMESS==TRUE DO IR_STOPM ( )
INTERRUPT ON 3
BAS (#INITMOV,0 )
;ENDFOLD (BASISTECH INI)
;ENDFOLD (INI)

;FOLD STARTPOSITION - BASE IS 6, TOOL IS 6, SPEED IS 15%, POSITION IS A1 79,A2 -53,A3 62,A4 87,A5 -78,A6 -80,E1 0,E2 0,E3 0,E4 0
$BWDSTART = FALSE
PDAT_ACT = {VEL 15,ACC 100,APO_DIST 50}
BAS(#PTP_DAT)
FDAT_ACT = {TOOL_NO 6,BASE_NO 6,IPO_FRAME #BASE}
BAS (#FRAMES)
BAS (#VEL_PTP,15)
PTP  {A1 79,A2 -53,A3 62,A4 87,A5 -78,A6 -80,E1 0,E2 0,E3 0,E4 0}
;ENDFOLD

;FOLD LIN SPEED IS 0.6 m/sec, INTERPOLATION SETTINGS IN FOLD
$VEL.CP=0.6
$ADVANCE=5
;ENDFOLD

tamlogo5015out_1()
tamlogo5015out_2()
tamlogo5015out_3()

END

Brodesser83

And here is a part of the first program.


LIN {E6POS: X 742.649, Y 275.085, Z 300, A 0, B 0, C 180, E1 0, E2 0, E3 0, E4 0} C_DIS
LIN {E6POS: X 739.257, Y 284.081, Z 300, A 0, B 0, C 180, E1 0, E2 0, E3 0, E4 0} C_DIS
LIN {E6POS: X 735.866, Y 293.077, Z 300, A 0, B 0, C 180, E1 0, E2 0, E3 0, E4 0} C_DIS
LIN {E6POS: X 732.474, Y 302.073, Z 300, A 0, B 0, C 180, E1 0, E2 0, E3 0, E4 0} C_DIS
LIN {E6POS: X 613.4, Y 167.151, Z 400, A 0, B 0, C 180, E1 0, E2 0, E3 0, E4 0} C_DIS
$OUT[8]=TRUE
LIN {E6POS: X 613.4, Y 167.151, Z 300, A 0, B 0, C 180, E1 0, E2 0, E3 0, E4 0} C_DIS
LIN {E6POS: X 613.4, Y 167.151, Z 300, A 0, B 0, C 180, E1 0, E2 0, E3 0, E4 0} C_DIS
LIN {E6POS: X 610.389, Y 176.084, Z 300, A 0, B 0, C 180, E1 0, E2 0, E3 0, E4 0} C_DIS
LIN {E6POS: X 607.377, Y 185.017, Z 300, A 0, B 0, C 180, E1 0, E2 0, E3 0, E4 0} C_DIS
LIN {E6POS: X 604.366, Y 193.95, Z 300, A 0, B 0, C 180, E1 0, E2 0, E3 0, E4 0} C_DIS
LIN {E6POS: X 601.354, Y 202.883, Z 300, A 0, B 0, C 180, E1 0, E2 0, E3 0, E4 0} C_DIS
LIN {E6POS: X 598.343, Y 211.815, Z 300, A 0, B 0, C 180, E1 0, E2 0, E3 0, E4 0} C_DIS
LIN {E6POS: X 588.984, Y 211.826, Z 300, A 0, B 0, C 180, E1 0, E2 0, E3 0, E4 0} C_DIS
LIN {E6POS: X 579.625, Y 211.836, Z 300, A 0, B 0, C 180, E1 0, E2 0, E3 0, E4 0} C_DIS
LIN {E6POS: X 570.266, Y 211.846, Z 300, A 0, B 0, C 180, E1 0, E2 0, E3 0, E4 0} C_DIS
LIN {E6POS: X 560.907, Y 211.856, Z 300, A 0, B 0, C 180, E1 0, E2 0, E3 0, E4 0} C_DIS
LIN {E6POS: X 551.548, Y 211.866, Z 300, A 0, B 0, C 180, E1 0, E2 0, E3 0, E4 0} C_DIS
LIN {E6POS: X 542.189, Y 211.876, Z 300, A 0, B 0, C 180, E1 0, E2 0, E3 0, E4 0} C_DIS
LIN {E6POS: X 532.83, Y 211.886, Z 300, A 0, B 0, C 180, E1 0, E2 0, E3 0, E4 0} C_DIS
LIN {E6POS: X 523.471, Y 211.897, Z 300, A 0, B 0, C 180, E1 0, E2 0, E3 0, E4 0} C_DIS
LIN {E6POS: X 520.221, Y 202.95, Z 300, A 0, B 0, C 180, E1 0, E2 0, E3 0, E4 0} C_DIS
$OUT[8]=FALSE
LIN {E6POS: X 516.972, Y 194.003, Z 300, A 0, B 0, C 180, E1 0, E2 0, E3 0, E4 0} C_DIS
LIN {E6POS: X 513.722, Y 185.055, Z 300, A 0, B 0, C 180, E1 0, E2 0, E3 0, E4 0} C_DIS
LIN {E6POS: X 510.473, Y 176.108, Z 300, A 0, B 0, C 180, E1 0, E2 0, E3 0, E4 0} C_DIS
LIN {E6POS: X 507.223, Y 167.161, Z 300, A 0, B 0, C 180, E1 0, E2 0, E3 0, E4 0} C_DIS
LIN {E6POS: X 516.875, Y 167.16, Z 300, A 0, B 0, C 180, E1 0, E2 0, E3 0, E4 0} C_DIS
LIN {E6POS: X 526.528, Y 167.16, Z 300, A 0, B 0, C 180, E1 0, E2 0, E3 0, E4 0} C_DIS
LIN {E6POS: X 536.18, Y 167.159, Z 300, A 0, B 0, C 180, E1 0, E2 0, E3 0, E4 0} C_DIS
LIN {E6POS: X 545.833, Y 167.158, Z 300, A 0, B 0, C 180, E1 0, E2 0, E3 0, E4 0} C_DIS
LIN {E6POS: X 555.485, Y 167.157, Z 300, A 0, B 0, C 180, E1 0, E2 0, E3 0, E4 0} C_DIS
LIN {E6POS: X 565.138, Y 167.156, Z 300, A 0, B 0, C 180, E1 0, E2 0, E3 0, E4 0} C_DIS
LIN {E6POS: X 574.79, Y 167.155, Z 300, A 0, B 0, C 180, E1 0, E2 0, E3 0, E4 0} C_DIS
LIN {E6POS: X 584.443, Y 167.154, Z 300, A 0, B 0, C 180, E1 0, E2 0, E3 0, E4 0} C_DIS
LIN {E6POS: X 594.095, Y 167.153, Z 300, A 0, B 0, C 180, E1 0, E2 0, E3 0, E4 0} C_DIS
LIN {E6POS: X 603.748, Y 167.152, Z 300, A 0, B 0, C 180, E1 0, E2 0, E3 0, E4 0} C_DIS
LIN {E6POS: X 613.4, Y 167.151, Z 300, A 0, B 0, C 180, E1 0, E2 0, E3 0, E4 0} C_DIS
LIN {E6POS: X 532.455, Y 394.75, Z 400, A 0, B 0, C 180, E1 0, E2 0, E3 0, E4 0} C_DIS
$OUT[8]=TRUE
LIN {E6POS: X 532.455, Y 394.75, Z 300, A 0, B 0, C 180, E1 0, E2 0, E3 0, E4 0} C_DIS
LIN {E6POS: X 532.455, Y 394.75, Z 300, A 0, B 0, C 180, E1 0, E2 0, E3 0, E4 0} C_DIS
LIN {E6POS: X 527.919, Y 393.742, Z 300, A 0, B 0, C 180, E1 0, E2 0, E3 0, E4 0} C_DIS
LIN {E6POS: X 524.155, Y 391.061, Z 300, A 0, B 0, C 180, E1 0, E2 0, E3 0, E4 0} C_DIS
LIN {E6POS: X 521.718, Y 387.827, Z 300, A 0, B 0, C 180, E1 0, E2 0, E3 0, E4 0} C_DIS
LIN {E6POS: X 519.722, Y 383.637, Z 300, A 0, B 0, C 180, E1 0, E2 0, E3 0, E4 0} C_DIS
LIN {E6POS: X 516.136, Y 374.617, Z 300, A 0, B 0, C 180, E1 0, E2 0, E3 0, E4 0} C_DIS
LIN {E6POS: X 512.55, Y 365.597, Z 300, A 0, B 0, C 180, E1 0, E2 0, E3 0, E4 0} C_DIS
LIN {E6POS: X 508.964, Y 356.577, Z 300, A 0, B 0, C 180, E1 0, E2 0, E3 0, E4 0} C_DIS
LIN {E6POS: X 505.378, Y 347.556, Z 300, A 0, B 0, C 180, E1 0, E2 0, E3 0, E4 0} C_DIS

Johannes @ Robots in Architecture

Hello,

I just tested it with the most recent release and if you set the Continuous input to TRUE, you should get $OUT_C[8]=FALSE instead of $OUT[8]=FALSE
As a stop gap to test it with your file, you could also just search/replace in the text file.
Just note that the output will be triggered once the advance pointer moves over it, so it could be active a bit early.

Best,
Johannes

Brodesser83

Hi,
thanks for this hint. That works as you said. I could easly integrate it with custom krl as well. After talking to KUKA I found the following command which won't be read in advance: TRIGGER WHEN DISTANCE=0 DELAY=0 DO $OUT[8]=FALSE.
Cheers
Tim

Johannes @ Robots in Architecture