Hello everyone, I have a question for you, since I'm new in programming KUKA.
When I am in T1 or T2 I wish that some outputs are disabled when leave the dead man button.
How can I do?
I have to create some conditions in the SPS?
Thank you.
Man dead stop outputs
-
MrNico -
April 16, 2017 at 10:59 AM -
Thread is marked as Resolved.
-
-
Hello
Place it in a file SPS.sub
IF (($MODE_OP == #T1) OR ($MODE_OP == #T2)) THEN
IF $PERI_RDY THEN
$OUT[2]=TRUE
ELSE
$OUT[2]=FALSE
ENDIF
ENDIFThe choice of exits is yours $OUT[?]
-
Ok, then $PERI_RDY is the system Variable that indicate the dead man button?
Thank you. -
Ok, $PERI_RDY is the variable for the driver.
Thank you again. -
Quote
Ok, then $PERI_RDY is the system Variable that indicate the dead man button?
Yes.
-
[size=3]Why would you want to turn off outputs when drives are not enabled? is this part of a safety requirement? (to turn off tool for example)?[/size]
[size=3]if so, turning outputs off by some non-safe program task would be dangerous and wrong because it is not tamper resistant.[/size]
[size=3]Any IO system will have option to power outputs from separate source. this way outputs are killed when safety circuit tells so and no matter what programmer or user choses to do.[/size]
-
No, don't worry, nothing safe.
I have a gun glazing and when I do the program, I do not want to glaze all the time. -
If it is possible I would like to do another question.
If instead of using the dead man's button, I want to use the run button which system variable should I use?
When I'm doing the program I would move the robot but the outputs must stay OFF, and when I push the run button the output goes ON -
[font=verdana, sans-serif][size=0px]not sure i understand.... you want to:[/size][/font]
[font=verdana, sans-serif][size=0px]set output to true using robot program. [/size][/font]
[font=verdana, sans-serif][size=0px]reset it by SPS when program is deselected or deadman is released...?[/size][/font] -
Sorry, but my English is very poor.
The program for example is about:
LIN P1
LIN P2
$OUT[1]=TRUE
LIN P3
LIN P4
LIN P5
$OUT[1]=FALSE
LIN P6
LIN P7
When I Touchup LIN P3,P4,P5 the $OUT[1] is always TRUE even while I'm doing the manual movement.
I would that the $OUT[1] goes FALSE when I'm moving the Robot in manual mode between the point P3,P4,P5. -
-
Oh my God, it is all right, it was too simple, it isn't the best solution for me, but work fine.
Thank you very much. -
I tried to do as you say, but it does not work well, it is uncomfortable, it would be better to find a solution that work in the SPS with the Run button.
Can I use the system variable $MOVE_ENABLE ? -
you should first read manuals and check what $MOVE_ENABLE does.
you did not explain what is it that you are trying to do or what is uncomfortable about it?
are you familiar with GripperTech or UserTech? -
This is the real program.
When I change the point if I want to try the spry after the linesIF $MODE_OP<>#T1 THEN
$OUT[1]=TRUE
ENDIFwhen I change from T1 to T2 the outputs remain OFF otherwise, I have to start from begin.
I hope I have explained.
I used the GripperTech at the Kuka College. -
-
Okay, I'll try, it should work fine.
Can I use a global Boolean variable like the flag? -
yes, it would need to be a global variable of some sort (system or user) and of type BOOL. I just used output 111 as an illustration...