DoF - a Robotiq Community
Warning sign
The Dof Community was shut down in June 2023. This is a read-only archive.
If you have questions about Robotiq products please reach our support team.
JopsonL

The way i created a homing program was by setting a variable to every way point and then setting the variable to one when the robot moves to that certain way point, off this i could write a subprogram which would move the robot home using way points. Don't forget to set the variable back to zero after each way point. 

If you have your home position in before start then change it to a relative position instead of fixed position. The robot would not home unless this was set, unsure why. 

Set these as installation variables. 
RobotTracker
currentSubProg

Below is a portion of the program which is relevant to the homing of the robot. 

 Program
   BeforeStart
     Home_Tracker≔'Is the robot at home?'
     If Home_Tracker ≟  True 
       RobotTracker≔1                      
       currentSubProg≔1                
     MoveJ
       Home_position                         //this is the way point which is set to fixed position 

 Robot Program
     If currentSubProg ≟ 1
       Call part_pick
       Call move_to_tool
       Call Load_unload_part
       Call move_to_conveyor
       Call deposit_on_conveyor
       If Stop_request≥1 and ppcount≟0
         Set Conveyor_Forwd=Off
         Halt
     ElseIf currentSubProg ≟ 2
       Call Homing_Function
   Event Home_Button ≟  True  
     currentSubProg≔2
     Wait: 5.0
     sync()

 Homing_Function
     'Homing from Part Pick'
     If RobotTracker≟1
       MoveJ
         Above_pallet
         Home_position_1
         RobotTracker≔0
         StopVar≔1
     'Homing from Move To Tool'
     If RobotTracker≟2
       MoveJ
         Ready_to_load
         Clear_door_pos2
         Clear_door_pos1
         Home_position_2
         RobotTracker≔0
         StopVar≔1
     ElseIf RobotTracker≟3
       MoveJ
         Clear_door_pos2
         Clear_door_pos1
         Home_position_3
         RobotTracker≔0
         StopVar≔1
currentSubProg≔1 
If StopVar≟1
        StopVar≔0
        Halt


Hope this makes sense.