Hello all,
I have a problem with reaching a smooth robot movement in my application and after hours of testing a couldn't find the solution for that and I wonder if anyone of you can help, or give me some ideas that i didn't come up with.
The robot is KR 30 2100 with KRC5 controller
So the robot seems to be very simple. It is simple pick&place application. The program is divided into 3 segments.
First is main program with INIT block and starting variables, then waiting for info from plc about which program has to be executed.
Next is 3 subprograms with simple pick&place movement with just one simple SWITCH instruction where we chose position to reached by the robot (info is coming from PLC)
And The last one is the homing program, which is executed before every program, this program contains 3 blocks:
1. Contains going back instructions based on zone in which robot is in exact time (they are based on simple if instructions like
if XPos_Act.Z < 700 THEN XPos_Act.Z = 800 LIN XPos_Act C_Dis)
2. Contains going back to safe approach point which is declared before the pick or place point to make sure robot is in safe position before moving into another one
3. Contains the next movement to another approach position (All the movements have the C_Dis instruction included)
And so my problem is that in case when i start program and move to pick position i have to move robot back to home position and then to place position, and with this order of movements robot stops for some reason in home position and moves to place position.
When i execute place program without going back to home the robot makes a normal continous move without stopping.
I tried to set $ADVANCE parameter to 5 - nothing changed. I can see that that program interpreter stops for some reason while executing home position, but it doesn't stop while setting the place program (See the screenshot). Furthermore it stops in a line that shouldn't make it stop referring to manual which describes which commands actually do it.
There might be something that i just simply don't understand about continous movement.
I was thinking that robot is making more calculations during the homing program, but it is not more than for the other programs. It simply just Reset position outputs (I've added continous instruction before avery output reset), than it uses the GET_CURRENT)ROBOT_POS function to check where the robot is and based on results it executes the going back movemnt, than it returns to safe psoition and moves to another safe positon and executes desired program.
If you have any ideas what could cause the robot not executing continous movement i would be grateful.
Tell me if you need anymore information.