how to calculate the position of the robot in $world and without a tool during the run where a different base and tool is used, in a sub interpreter
Posts by Jozef Karas
-
-
GLOBAL INTERRUPT DECL 2 WHEN bIR_HALT==TRUE DO IR_HALT()
INTERRUPT ON 3
GLOBAL DEF IR_HALT()
INTERRUPT OFF 2
bIR_HALT=FALSE
BRAKE
WAIT SEC 0.8
HALT
INTERRUPT ON 2
END -
Hello, how do I set the interrupt, I set $PRO_ACT=FALSE?
-
I use inline forms for tool1 and "raw" KRL for tool2
How is your program structured? Are you using Inline Forms or programming "raw" KRL?
In raw KRL, it would be roughly:
Code$TOOL = TOOL_DATA[1] PTP {X 0,Y 0,Z 100,A 0,B 0,C 0} : P1 ; approach 100mm above P1 LIN P1 ; open gripper here LIN {X 0,Y 0,Z 75,A 0,B 0,C 0} : P1 ; depart 75mm above P1 $TOOL = TOOL_DATA[2] PTP {X 0,Y 0,Z 75,A 0,B 0,C 0} : P1 ; approach 75mm above P1 LIN P1 ; close gripper here LIN {X 0,Y 0,Z 100,A 0,B 0,C 0} : P1 ; depart 100mm above P1
-
I have a point where there is a piece that I will remove with Gripper A for P1 and then insert it into P1 with Gripper B
Of course, I have to zoom out, but I don't know how to replace gripperA with gripperB -
You grasp it well, I want to take a piece from both grippers and then put it away.
But then
P1 TOOL #1
P1 TOOL #2 -
I am solving palletization, where there are 60 points, but I have 2 grippers on 6 axes. How to make the points fit for one and the other gripper? Gripper1A replaces gripper2B after turning 180 degrees
-
Hello, which mode to choose AUT or EXT, plc will not be used, I/O will be used, where there will be a start and stop button. How to solve it correctly?
-
-
-
-
Hello, I am solving a struct for a signal. It is for 3 identical machines, where I will choose the given machine through the array.
How to write this correctly so that the inputs and outputs work for me?Code
Display MoreSTRUC MACHINE_CONFIG DECL BOOL ENABLE_Station DECL SIGNAL INPUT_Chucks_Open DECL SIGNAL INPUT_Chucks_Close DECL SIGNAL INPUT_Release_Pick DECL SIGNAL INPUT_Release_Drop DECL SIGNAL INPUT_Door_Open DECL SIGNAL INPUT_Door_Close DECL SIGNAL OUTPUT_Chucks_Open DECL SIGNAL OUTPUT_Chucks_Close DECL SIGNAL OUTPUT_Part_Unloaded DECL SIGNAL OUTPUT_Part_Loaded DECL SIGNAL OUTPUT_Door_Open DECL SIGNAL OUTPUT_Door_Close DECL SIGNAL OUTPUT_Start_Of_Cycle DECL INT CNC_Station DECL E6POS BASE_POSITION DECL E6POS ENTRY_POSITION DECL E6POS EXIT_POSITION ENDSTRUC MACHINE_CONFIG machine[3] = { {ENABLE_Station TRUE, INPUT_Chucks_Open $IN[1], INPUT_Chucks_Close $IN[2], INPUT_Release_Pick $IN[3], INPUT_Release_Drop $IN[4], INPUT_Door_Open $IN[5], INPUT_Door_Close $IN[6], OUTPUT_Chucks_Open $OUT[1], OUTPUT_Chucks_Close $OUT[2], OUTPUT_Part_Unloaded $OUT[3], OUTPUT_Part_Loaded $OUT[4], OUTPUT_Door_Open $OUT[5], OUTPUT_Door_Close $OUT[6], OUTPUT_Start_Of_Cycle $OUT[7], CNC_Station 1, BASE_POSITION {X 1000, Y 0, Z 500, A 0, B 0, C 0}, ENTRY_POSITION {X 500, Y 500, Z 500, A 0, B 0, C 0}, EXIT_POSITION {X 500, Y -500, Z 500, A 0, B 0, C 0}}, {ENABLE_Station TRUE, INPUT_Chucks_Open $IN[7], INPUT_Chucks_Close $IN[8], INPUT_Release_Pick $IN[9], INPUT_Release_Drop $IN[10], INPUT_Door_Open $IN[11], INPUT_Door_Close $IN[12], OUTPUT_Chucks_Open $OUT[8], OUTPUT_Chucks_Close $OUT[9], OUTPUT_Part_Unloaded $OUT[10], OUTPUT_Part_Loaded $OUT[11], OUTPUT_Door_Open $OUT[12], OUTPUT_Door_Close $OUT[13], OUTPUT_Start_Of_Cycle $OUT[14], CNC_Station 2, BASE_POSITION {X 1000, Y 0, Z 500, A 0, B 0, C 0}, ENTRY_POSITION {X 500, Y 500, Z 500, A 0, B 0, C 0}, EXIT_POSITION {X 500, Y -500, Z 500, A 0, B 0, C 0}}, {ENABLE_Station TRUE, INPUT_Chucks_Open $IN[13], INPUT_Chucks_Close $IN[14], INPUT_Release_Pick $IN[15], INPUT_Release_Drop $IN[16], INPUT_Door_Open $IN[17], INPUT_Door_Close $IN[18], OUTPUT_Chucks_Open $OUT[15], OUTPUT_Chucks_Close $OUT[16], OUTPUT_Part_Unloaded $OUT[17], OUTPUT_Part_Loaded $OUT[18], OUTPUT_Door_Open $OUT[19], OUTPUT_Door_Close $OUT[20], OUTPUT_Start_Of_Cycle $OUT[21],CNC_Station 3, BASE_POSITION {X 1000, Y 0, Z 500, A 0, B 0, C 0}, ENTRY_POSITION {X 500, Y 500, Z 500, A 0, B 0, C 0}, EXIT_POSITION {X 500, Y -500, Z 500, A 0, B 0, C 0}} }