i have this probleme who can help me please
Posts by Difallah WALID
-
-
hi please i need the default user and password for YUIMI ABB Robot please ?
-
Code
Display MoreMODULE DualGripperProgram ! Define constants and positions CONST robtarget home := [X, Y, Z, Q1, Q2, Q3, Q4]; CONST robtarget pick_a1 := [X, Y, Z, Q1, Q2, Q3, Q4]; CONST robtarget pick_a2 := [X, Y, Z, Q1, Q2, Q3, Q4]; CONST robtarget pick_a3 := [X, Y, Z, Q1, Q2, Q3, Q4]; CONST robtarget pick_a4 := [X, Y, Z, Q1, Q2, Q3, Q4]; CONST robtarget pick_a5 := [X, Y, Z, Q1, Q2, Q3, Q4]; CONST robtarget pick_b1 := [X, Y, Z, Q1, Q2, Q3, Q4]; CONST robtarget pick_b2 := [X, Y, Z, Q1, Q2, Q3, Q4]; CONST robtarget pick_b3 := [X, Y, Z, Q1, Q2, Q3, Q4]; CONST robtarget pick_b4 := [X, Y, Z, Q1, Q2, Q3, Q4]; CONST robtarget pick_b5 := [X, Y, Z, Q1, Q2, Q3, Q4]; CONST robtarget place1 := [X, Y, Z, Q1, Q2, Q3, Q4]; CONST robtarget place2 := [X, Y, Z, Q1, Q2, Q3, Q4]; CONST robtarget place3 := [X, Y, Z, Q1, Q2, Q3, Q4]; CONST robtarget place4 := [X, Y, Z, Q1, Q2, Q3, Q4]; CONST robtarget place5 := [X, Y, Z, Q1, Q2, Q3, Q4]; CONST robtarget place6 := [X, Y, Z, Q1, Q2, Q3, Q4]; CONST robtarget place7 := [X, Y, Z, Q1, Q2, Q3, Q4]; ! Tool definitions PERS tooldata gripperA := [TRUE, [X, Y, Z, Q1, Q2, Q3, Q4], [X, Y, Z, Q1, Q2, Q3, Q4, 0.001, 0.001, 0.001]]; PERS tooldata gripperB := [TRUE, [X, Y, Z, Q1, Q2, Q3, Q4], [X, Y, Z, Q1, Q2, Q3, Q4, 0.001, 0.001, 0.001]]; ! Variables for states VAR bool A_picked := FALSE; VAR bool B_picked := FALSE; VAR bool A_placed := FALSE; VAR bool B_placed := FALSE; PROC main() MoveJ home, v1000, fine, tool0; ! Initial strokes PickA(); PickB(); WHILE TRUE DO ! Gripper A places PlaceA(); ! Gripper B places PlaceB(); ! Repeat picking and placing for Gripper A PickA(); PlaceA(); ! Repeat picking and placing for Gripper B PickB(); PlaceB(); ! Ending condition MoveJ home, v1000, fine, tool0; EXIT; ENDWHILE ENDPROC PROC PickA() MoveJ pick_a1, v1000, fine, gripperA; ! Add vacuum on command for gripperA here A_picked := TRUE; ENDPROC PROC PickB() MoveJ pick_b1, v1000, fine, gripperB; ! Add vacuum on command for gripperB here B_picked := TRUE; ENDPROC PROC PlaceA() IF A_picked THEN MoveJ place1, v1000, fine, gripperA; ! Add vacuum off command for gripperA here A_picked := FALSE; A_placed := TRUE; EnsureOKOrRetry(gripperA, place1); ENDIF ENDPROC PROC PlaceB() IF B_picked THEN MoveJ place1, v1000, fine, gripperB; ! Add vacuum off command for gripperB here B_picked := FALSE; B_placed := TRUE; EnsureOKOrRetry(gripperB, place1); ENDIF ENDPROC PROC EnsureOKOrRetry(gripper TOOL, position robtarget) ! Logic to verify placement and retry if necessary WaitTime 1; ! Simulate check time ! If placement is not okay, retry logic should be implemented here ENDPROC ENDMODULE
- Replace the placeholders ([X, Y, Z, Q1, Q2, Q3, Q4]) with actual coordinates for the home, pick, and place positions.
- Implement the actual vacuum on/off commands according to your setup.
- Refine the EnsureOKOrRetry procedure to include the actual logic for verifying placements and retrying if necessary.