''Sequence to determine the least travel to move for TC, CW or CCW
'atp = Actual tool position, rtp = Requested tool positon
'Sub LeastTravel()
   NewTool = GetSelectedTool()
   OldTool = GetCurrentTool()
   NTool =24 ' Number of tools changer holds
   CWPos = GetSelectedTool() - GetCurrentTool() ' Assume a CW move
   If CWPos < 0 Then ' CWPos < 0 ==> rtp < atp
      CWPos = CWPos + NTool
      'Call CW()
      
   End If
   CCWPos = NTool - CWPos
   If CWPos < CCWPos Then
      Call CW()
   Else
      Call CCW()
   End If
'End Sub

Function CW()'Rotation CW
   Dim x As Integer
   Dim CTPos As Integer 'Carrousel Tool Position Relative to OldTool Position
   CTPos=0
   ActivateSignal(OUTPUT16)'UnLock Pin
   While IsActive (OEMTRIG12)=1
   Wend
   ActivateSignal(OUTPUT15)'Turns Carousel CW
   Sleep(600)

   For x=1 To CWPos
           While IsActive(OEMTRIG11)=0
      Sleep(50)
      Wend
           While IsActive(OEMTRIG11)=1
      Sleep(50)
      Wend
        Next x
    CTPos=x
   DeactivateSignal(OUTPUT15)
   Deactivatesignal(OUTPUT16)
   SetUserDro(1224,NewTool)
  SetUserDro(1220,NewTool)
  SetCurrentTool(NewTool)
  DeActivateSignal(Output17)
  While IsMoving
  Wend

End Function

Function CCW()'Rotation CCW
   Dim y As Integer
   Dim CTPos As Integer 'Carrousel Tool Position Relative to OldTool Position
   CTPos=0
   ActivateSignal(Output16)'UnLock Pin
   While IsActive (OEMTRIG12)=1
   Wend
   Activatesignal(OUTPUT14)'Turn Carousel CCW
   
    Sleep(600)
   
     For y=1 To CCWPos
           While IsActive(OEMTRIG11)=0
      Sleep(50)
      Wend
           While IsActive(OEMTRIG11)=1
      Sleep(50)
      Wend
        Next y
   CTPos=y
   DeactivateSignal(OUTPUT14)
   Deactivatesignal(OUTPUT16)
   SetUserDro(1224,NewTool)
  SetUserDro(1220,NewTool)
  SetCurrentTool(NewTool)
  DeActivateSignal(Output17)
  While IsMoving
  Wend

End Function 
  
  SetUserDro(1224,NewTool)
  SetUserDro(1220,NewTool)
  SetCurrentTool(NewTool)
  DeActivateSignal(Output17)
  While IsMoving
  Wend
  End                             
